diff options
author | Christian Pirker <cpirker@a-bix.com> | 2014-03-28 14:35:30 +0000 |
---|---|---|
committer | Christian Pirker <cpirker@a-bix.com> | 2014-03-28 14:35:30 +0000 |
commit | 1f072c36d0e248d69932a830b698458f032c644d (patch) | |
tree | 977adba973520658bf09e9ab8b1e1ae76c1f2369 /test/MC/ARM | |
parent | bd2cca79b753e9491765a5b930ecd38e7fe76d72 (diff) |
Add ARM big endian Target (armeb, thumbeb)
Reviewed at http://llvm-reviews.chandlerc.com/D3095
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205007 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/ARM')
-rw-r--r-- | test/MC/ARM/arm_fixups.s | 12 | ||||
-rw-r--r-- | test/MC/ARM/basic-arm-instructions.s | 21 | ||||
-rw-r--r-- | test/MC/ARM/basic-thumb-instructions.s | 25 | ||||
-rw-r--r-- | test/MC/ARM/basic-thumb2-instructions.s | 33 |
4 files changed, 77 insertions, 14 deletions
diff --git a/test/MC/ARM/arm_fixups.s b/test/MC/ARM/arm_fixups.s index 99eb3c53941..bd6906bae77 100644 --- a/test/MC/ARM/arm_fixups.s +++ b/test/MC/ARM/arm_fixups.s @@ -1,9 +1,13 @@ @ RUN: llvm-mc -triple armv7-unknown-unknown %s --show-encoding > %t @ RUN: FileCheck < %t %s +@ RUN: llvm-mc -triple armebv7-unknown-unknown %s --show-encoding > %t +@ RUN: FileCheck --check-prefix=CHECK-BE < %t %s bl _printf @ CHECK: bl _printf @ encoding: [A,A,A,0xeb] @ CHECK: @ fixup A - offset: 0, value: _printf, kind: fixup_arm_uncondbl +@ CHECK-BE: bl _printf @ encoding: [0xeb,A,A,A] +@ CHECK-BE: @ fixup A - offset: 0, value: _printf, kind: fixup_arm_uncondbl mov r9, :lower16:(_foo) movw r9, :lower16:(_foo) @@ -11,12 +15,20 @@ @ CHECK: movw r9, :lower16:_foo @ encoding: [A,0x90'A',0b0000AAAA,0xe3] @ CHECK: @ fixup A - offset: 0, value: _foo, kind: fixup_arm_movw_lo16 +@ CHECK-BE: movw r9, :lower16:_foo @ encoding: [0xe3,0b0000AAAA,0x90'A',A] +@ CHECK-BE: @ fixup A - offset: 0, value: _foo, kind: fixup_arm_movw_lo16 @ CHECK: movw r9, :lower16:_foo @ encoding: [A,0x90'A',0b0000AAAA,0xe3] @ CHECK: @ fixup A - offset: 0, value: _foo, kind: fixup_arm_movw_lo16 +@ CHECK-BE: movw r9, :lower16:_foo @ encoding: [0xe3,0b0000AAAA,0x90'A',A] +@ CHECK-BE: @ fixup A - offset: 0, value: _foo, kind: fixup_arm_movw_lo16 @ CHECK: movt r9, :upper16:_foo @ encoding: [A,0x90'A',0b0100AAAA,0xe3] @ CHECK: @ fixup A - offset: 0, value: _foo, kind: fixup_arm_movt_hi16 +@ CHECK-BE: movt r9, :upper16:_foo @ encoding: [0xe3,0b0100AAAA,0x90'A',A] +@ CHECK-BE: @ fixup A - offset: 0, value: _foo, kind: fixup_arm_movt_hi16 mov r2, fred @ CHECK: movw r2, fred @ encoding: [A,0x20'A',0b0000AAAA,0xe3] @ CHECK: @ fixup A - offset: 0, value: fred, kind: fixup_arm_movw_lo16 +@ CHECK-BE: movw r2, fred @ encoding: [0xe3,0b0000AAAA,0x20'A',A] +@ CHECK-BE: @ fixup A - offset: 0, value: fred, kind: fixup_arm_movw_lo16 diff --git a/test/MC/ARM/basic-arm-instructions.s b/test/MC/ARM/basic-arm-instructions.s index 29bc6c07cc6..e5e96170a77 100644 --- a/test/MC/ARM/basic-arm-instructions.s +++ b/test/MC/ARM/basic-arm-instructions.s @@ -1,4 +1,5 @@ @ RUN: llvm-mc -triple=armv7-apple-darwin -mcpu=cortex-a8 -show-encoding < %s | FileCheck %s +@ RUN: llvm-mc -triple=armebv7-unknown-unknown -mcpu=cortex-a8 -show-encoding < %s | FileCheck --check-prefix=CHECK-BE %s .syntax unified .globl _func @@ -135,8 +136,12 @@ Lforward: @ CHECK: Lback: @ CHECK: adr r2, Lback @ encoding: [A,0x20'A',0x0f'A',0xe2'A'] @ CHECK: @ fixup A - offset: 0, value: Lback, kind: fixup_arm_adr_pcrel_12 +@ CHECK-BE: adr r2, Lback @ encoding: [0xe2'A',0x0f'A',0x20'A',A] +@ CHECK-BE: @ fixup A - offset: 0, value: Lback, kind: fixup_arm_adr_pcrel_12 @ CHECK: adr r3, Lforward @ encoding: [A,0x30'A',0x0f'A',0xe2'A'] @ CHECK: @ fixup A - offset: 0, value: Lforward, kind: fixup_arm_adr_pcrel_12 +@ CHECK-BE: adr r3, Lforward @ encoding: [0xe2'A',0x0f'A',0x30'A',A] +@ CHECK-BE: @ fixup A - offset: 0, value: Lforward, kind: fixup_arm_adr_pcrel_12 @ CHECK: Lforward: @ CHECK: adr r2, #3 @ encoding: [0x03,0x20,0x8f,0xe2] @ CHECK: adr r2, #-3 @ encoding: [0x03,0x20,0x4f,0xe2] @@ -310,9 +315,13 @@ Lforward: beq _baz @ CHECK: b _bar @ encoding: [A,A,A,0xea] - @ fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbranch +@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbranch +@ CHECK-BE: b _bar @ encoding: [0xea,A,A,A] +@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbranch @ CHECK: beq _baz @ encoding: [A,A,A,0x0a] - @ fixup A - offset: 0, value: _baz, kind: fixup_arm_condbranch +@ CHECK: @ fixup A - offset: 0, value: _baz, kind: fixup_arm_condbranch +@ CHECK-BE: beq _baz @ encoding: [0x0a,A,A,A] +@ CHECK-BE: @ fixup A - offset: 0, value: _baz, kind: fixup_arm_condbranch @------------------------------------------------------------------------------ @@ -420,10 +429,16 @@ Lforward: @ CHECK: bl _bar @ encoding: [A,A,A,0xeb] @ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbl +@ CHECK-BE: bl _bar @ encoding: [0xeb,A,A,A] +@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_uncondbl @ CHECK: bleq _bar @ encoding: [A,A,A,0x0b] @ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_condbl +@ CHECK-BE: bleq _bar @ encoding: [0x0b,A,A,A] +@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_condbl @ CHECK: blx _bar @ encoding: [A,A,A,0xfa] - @ fixup A - offset: 0, value: _bar, kind: fixup_arm_blx +@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_blx +@ CHECK-BE: blx _bar @ encoding: [0xfa,A,A,A] +@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_blx @ CHECK: blls #28634268 @ encoding: [0x27,0x3b,0x6d,0x9b] @ CHECK: blx #32424576 @ encoding: [0xa0,0xb0,0x7b,0xfa] @ CHECK: blx #16212288 @ encoding: [0x50,0xd8,0x3d,0xfa] diff --git a/test/MC/ARM/basic-thumb-instructions.s b/test/MC/ARM/basic-thumb-instructions.s index dec7f5b1333..30ab733375b 100644 --- a/test/MC/ARM/basic-thumb-instructions.s +++ b/test/MC/ARM/basic-thumb-instructions.s @@ -4,6 +4,7 @@ @--- @ RUN: llvm-mc -triple=thumbv6-apple-darwin -show-encoding < %s | FileCheck %s @ RUN: llvm-mc -triple=thumbv7-apple-darwin -show-encoding < %s | FileCheck %s +@ RUN: llvm-mc -triple=thumbebv7-unknown-unknown -show-encoding < %s | FileCheck --check-prefix=CHECK-BE %s .syntax unified .globl _func @@ -90,7 +91,9 @@ _func: adr r3, #1020 @ CHECK: adr r2, _baz @ encoding: [A,0xa2] - @ fixup A - offset: 0, value: _baz, kind: fixup_thumb_adr_pcrel_10 +@ CHECK: @ fixup A - offset: 0, value: _baz, kind: fixup_thumb_adr_pcrel_10 +@ CHECK-BE: adr r2, _baz @ encoding: [0xa2,A] +@ CHECK-BE: @ fixup A - offset: 0, value: _baz, kind: fixup_thumb_adr_pcrel_10 @ CHECK: adr r5, #0 @ encoding: [0x00,0xa5] @ CHECK: adr r2, #4 @ encoding: [0x01,0xa2] @ CHECK: adr r3, #1020 @ encoding: [0xff,0xa3] @@ -132,9 +135,13 @@ _func: beq #160 @ CHECK: b _baz @ encoding: [A,0xe0'A'] - @ fixup A - offset: 0, value: _baz, kind: fixup_arm_thumb_br +@ CHECK: @ fixup A - offset: 0, value: _baz, kind: fixup_arm_thumb_br +@ CHECK-BE: b _baz @ encoding: [0xe0'A',A] +@ CHECK-BE: @ fixup A - offset: 0, value: _baz, kind: fixup_arm_thumb_br @ CHECK: beq _bar @ encoding: [A,0xd0] - @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_bcc +@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_bcc +@ CHECK-BE: beq _bar @ encoding: [0xd0,A] +@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_bcc @ CHECK: b #1838 @ encoding: [0x97,0xe3] @ CHECK: b #-420 @ encoding: [0x2e,0xe7] @ CHECK: beq #-256 @ encoding: [0x80,0xd0] @@ -174,9 +181,13 @@ _func: blx _baz @ CHECK: bl _bar @ encoding: [A,0xf0'A',A,0xd0'A'] - @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_bl +@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_bl +@ CHECK-BE: bl _bar @ encoding: [0xf0'A',A,0xd0'A',A] +@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_bl @ CHECK: blx _baz @ encoding: [A,0xf0'A',A,0xc0'A'] - @ fixup A - offset: 0, value: _baz, kind: fixup_arm_thumb_blx +@ CHECK: @ fixup A - offset: 0, value: _baz, kind: fixup_arm_thumb_blx +@ CHECK-BE: blx _baz @ encoding: [0xf0'A',A,0xc0'A',A] +@ CHECK-BE: @ fixup A - offset: 0, value: _baz, kind: fixup_arm_thumb_blx @------------------------------------------------------------------------------ @@ -272,7 +283,9 @@ _func: ldr r3, #368 @ CHECK: ldr r1, _foo @ encoding: [A,0x49] - @ fixup A - offset: 0, value: _foo, kind: fixup_arm_thumb_cp +@ CHECK: @ fixup A - offset: 0, value: _foo, kind: fixup_arm_thumb_cp +@ CHECK-BE: ldr r1, _foo @ encoding: [0x49,A] +@ CHECK-BE: @ fixup A - offset: 0, value: _foo, kind: fixup_arm_thumb_cp @ CHECK: ldr r3, [pc, #604] @ encoding: [0x97,0x4b] @ CHECK: ldr r3, [pc, #368] @ encoding: [0x5c,0x4b] diff --git a/test/MC/ARM/basic-thumb2-instructions.s b/test/MC/ARM/basic-thumb2-instructions.s index 6dacbee8e4c..a8c9cdc610f 100644 --- a/test/MC/ARM/basic-thumb2-instructions.s +++ b/test/MC/ARM/basic-thumb2-instructions.s @@ -1,4 +1,5 @@ @ RUN: llvm-mc -triple=thumbv7-apple-darwin -mcpu=cortex-a8 -show-encoding < %s | FileCheck %s +@ RUN: llvm-mc -triple=thumbebv7-unknown-unknown -mcpu=cortex-a8 -show-encoding < %s | FileCheck --check-prefix=CHECK-BE %s .syntax unified .globl _func @@ -227,12 +228,18 @@ _func: bmi.w #-183396 @ CHECK: b.w _bar @ encoding: [A,0xf0'A',A,0x90'A'] - @ fixup A - offset: 0, value: _bar, kind: fixup_t2_uncondbranch +@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_uncondbranch +@ CHECK-BE: b.w _bar @ encoding: [0xf0'A',A,0x90'A',A] +@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_uncondbranch @ CHECK: beq.w _bar @ encoding: [A,0xf0'A',A,0x80'A'] - @ fixup A - offset: 0, value: _bar, kind: fixup_t2_condbranch +@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_condbranch +@ CHECK-BE: beq.w _bar @ encoding: [0xf0'A',A,0x80'A',A] +@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_condbranch @ CHECK: it eq @ encoding: [0x08,0xbf] @ CHECK: beq.w _bar @ encoding: [A,0xf0'A',A,0x90'A'] - @ fixup A - offset: 0, value: _bar, kind: fixup_t2_uncondbranch +@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_uncondbranch +@ CHECK-BE: beq.w _bar @ encoding: [0xf0'A',A,0x90'A',A] +@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_uncondbranch @ CHECK: bmi.w #-183396 @ encoding: [0x13,0xf5,0xce,0xa9] @@ -332,9 +339,13 @@ _func: @ CHECK: cbnz r7, #6 @ encoding: [0x1f,0xb9] @ CHECK: cbnz r7, #12 @ encoding: [0x37,0xb9] @ CHECK: cbz r6, _bar @ encoding: [0x06'A',0xb1'A'] - @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_cb +@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_cb +@ CHECK-BE: cbz r6, _bar @ encoding: [0xb1'A',0x06'A'] +@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_cb @ CHECK: cbnz r6, _bar @ encoding: [0x06'A',0xb9'A'] - @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_cb +@ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_cb +@ CHECK-BE: cbnz r6, _bar @ encoding: [0xb9'A',0x06'A'] +@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_arm_thumb_cb @------------------------------------------------------------------------------ @@ -804,10 +815,16 @@ _func: @ CHECK: ldr.w r5, _foo @ encoding: [0x5f'A',0xf8'A',A,0x50'A'] @ CHECK: @ fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_12 +@ CHECK-BE: ldr.w r5, _foo @ encoding: [0xf8'A',0x5f'A',0x50'A',A] +@ CHECK-BE: @ fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_12 @ CHECK: ldr.w lr, _strcmp-4 @ encoding: [0x5f'A',0xf8'A',A,0xe0'A'] @ CHECK: @ fixup A - offset: 0, value: _strcmp-4, kind: fixup_t2_ldst_pcrel_12 +@ CHECK-BE: ldr.w lr, _strcmp-4 @ encoding: [0xf8'A',0x5f'A',0xe0'A',A] +@ CHECK-BE: @ fixup A - offset: 0, value: _strcmp-4, kind: fixup_t2_ldst_pcrel_12 @ CHECK: ldr.w sp, _foo @ encoding: [0x5f'A',0xf8'A',A,0xd0'A'] @ CHECK: @ fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_12 +@ CHECK-BE: ldr.w sp, _foo @ encoding: [0xf8'A',0x5f'A',0xd0'A',A] +@ CHECK-BE: @ fixup A - offset: 0, value: _foo, kind: fixup_t2_ldst_pcrel_12 ldr r7, [pc, #8] ldr.n r7, [pc, #8] @@ -1027,6 +1044,8 @@ _func: @ CHECK: ldrh.w r5, _bar @ encoding: [0x3f'A',0xf8'A',A,0x50'A'] @ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_12 +@ CHECK-BE: ldrh.w r5, _bar @ encoding: [0xf8'A',0x3f'A',0x50'A',A] +@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_12 @------------------------------------------------------------------------------ @@ -1096,6 +1115,8 @@ _func: @ CHECK: ldrsb.w r5, _bar @ encoding: [0x1f'A',0xf9'A',A,0x50'A'] @ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_12 +@ CHECK-BE: ldrsb.w r5, _bar @ encoding: [0xf9'A',0x1f'A',0x50'A',A] +@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_12 @------------------------------------------------------------------------------ @@ -1165,6 +1186,8 @@ _func: @ CHECK: ldrsh.w r5, _bar @ encoding: [0x3f'A',0xf9'A',A,0x50'A'] @ CHECK: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_12 +@ CHECK-BE: ldrsh.w r5, _bar @ encoding: [0xf9'A',0x3f'A',0x50'A',A] +@ CHECK-BE: @ fixup A - offset: 0, value: _bar, kind: fixup_t2_ldst_pcrel_12 @ TEMPORARILY DISABLED: @ ldrsh.w r4, [pc, #1435] |