Details
- Reviewers
jmolloy
Diff Detail
Event Timeline
Hi Christian,
The canonical way to write these tests is to use llvm-mc -show-encoding, as opposed to piping ELF output through llvm-objdump. As an example, take a look at test/MC/ARM/thumb-neon-crypto.s.
Cheers,
James
Hi Christian,
OK, LGTM. Thanks!
James
-----Original Message-----
From: Christian Pirker [mailto:cpirker@a-bix.com]
Sent: 13 May 2014 18:07
To: cpirker@a-bix.com; James Molloy
Cc: Amara Emerson; llvm-commits@cs.uiuc.edu; t.p.northover@gmail.com
Subject: Re: [PATCH] ARM: Additional test files for thumb fixupsHi James,
I modified the test files as you requested.
Thanks,
ChristianFiles:
test/MC/ARM/thumb2be-b.w-encoding.s test/MC/ARM/thumb2be-beq.w-encoding.s test/MC/ARM/thumb2be-movt-encoding.s test/MC/ARM/thumb2be-movw-encoding.sIndex: test/MC/ARM/thumb2be-b.w-encoding.s
- test/MC/ARM/thumb2be-b.w-encoding.s
+++ test/MC/ARM/thumb2be-b.w-encoding.s
@@ -1,12 +1,9 @@
- RUN: llvm-mc -triple=thumbv7-none-linux-gnueabi -mcpu=cortex-a8 -
filetype=obj < %s | llvm-objdump -arch=thumb -s - | FileCheck %s --check-
prefix=CHECK-LE
- RUN: llvm-mc -triple=thumbebv7-none-linux-gnueabi -mcpu=cortex-a8 -
filetype=obj < %s | llvm-objdump -arch=thumbeb -s - | FileCheck %s --check-
prefix=CHECK-BE
- .syntax unified
- .code 16
- .thumb_func
-foo:
- b.w bar
+@ RUN: llvm-mc -triple=thumbv7-none-linux-gnueabi -show-encoding < %s
FileCheck %s --check-prefix=CHECK-LE +@ RUN: llvm-mc -triple=thumbebv7-none-linux-gnueabi -show-encoding <
%s | FileCheck %s --check-prefix=CHECK-BE- CHECK-LE: Contents of section .text:
- CHECK-LE-NEXT: 0000 fff7febf
- CHECK-BE: Contents of section .text:
- CHECK-BE-NEXT: 0000 f7ffbffe
+b.w bar
+@ CHECK-LE: b.w bar @ encoding: [A,0xf0'A',A,0x90'A']
+@ CHECK-LE-NEXT: @ fixup A - offset: 0, value: bar, kind:
fixup_t2_uncondbranch
+@ CHECK-BE: b.w bar @ encoding: [0xf0'A',A,0x90'A',A]
+@ CHECK-BE-NEXT: @ fixup A - offset: 0, value: bar, kind:
fixup_t2_uncondbranch
+Index: test/MC/ARM/thumb2be-beq.w-encoding.s
- test/MC/ARM/thumb2be-beq.w-encoding.s
+++ test/MC/ARM/thumb2be-beq.w-encoding.s
@@ -1,12 +1,9 @@
- RUN: llvm-mc -triple=thumbv7-none-linux-gnueabi -mcpu=cortex-a8 -
filetype=obj < %s | llvm-objdump -arch=thumb -s - | FileCheck %s --check-
prefix=CHECK-LE
- RUN: llvm-mc -triple=thumbebv7-none-linux-gnueabi -mcpu=cortex-a8 -
filetype=obj < %s | llvm-objdump -arch=thumbeb -s - | FileCheck %s --check-
prefix=CHECK-BE
- .syntax unified
- .code 16
- .thumb_func
-foo:
- beq.w bar
+@ RUN: llvm-mc -triple=thumbv7-none-linux-gnueabi -show-encoding < %s
FileCheck %s --check-prefix=CHECK-LE +@ RUN: llvm-mc -triple=thumbebv7-none-linux-gnueabi -show-encoding <
%s | FileCheck %s --check-prefix=CHECK-BE- CHECK-LE: Contents of section .text:
- CHECK-LE-NEXT: 0000 3ff4feaf
- CHECK-BE: Contents of section .text:
- CHECK-BE-NEXT: 0000 f43faffe
+beq.w bar
+@ CHECK-LE: beq.w bar @ encoding: [A,0xf0'A',A,0x80'A']
+@ CHECK-LE-NEXT: @ fixup A - offset: 0, value: bar, kind:
fixup_t2_condbranch
+@ CHECK-BE: beq.w bar @ encoding: [0xf0'A',A,0x80'A',A]
+@ CHECK-BE-NEXT: @ fixup A - offset: 0, value: bar, kind:
fixup_t2_condbranch
+Index: test/MC/ARM/thumb2be-movt-encoding.s
- test/MC/ARM/thumb2be-movt-encoding.s
+++ test/MC/ARM/thumb2be-movt-encoding.s
@@ -1,12 +1,9 @@
- RUN: llvm-mc -triple=thumbv7-none-linux-gnueabi -mcpu=cortex-a8 -
filetype=obj < %s | llvm-objdump -arch=thumb -s - | FileCheck %s --check-
prefix=CHECK-LE
- RUN: llvm-mc -triple=thumbebv7-none-linux-gnueabi -mcpu=cortex-a8 -
filetype=obj < %s | llvm-objdump -arch=thumbeb -s - | FileCheck %s --check-
prefix=CHECK-BE
- .syntax unified
- .code 16
- .thumb_func
-foo:
- movt r9, :upper16:(_bar)
+@ RUN: llvm-mc -triple=thumbv7-none-linux-gnueabi -show-encoding < %s
FileCheck %s --check-prefix=CHECK-LE +@ RUN: llvm-mc -triple=thumbebv7-none-linux-gnueabi -show-encoding <
%s | FileCheck %s --check-prefix=CHECK-BE- CHECK-LE: Contents of section .text:
- CHECK-LE-NEXT: 0000 c0f20009
- CHECK-BE: Contents of section .text:
- CHECK-BE-NEXT: 0000 f2c00900
+movt r9, :upper16:(_bar)
+@ CHECK-LE: movt r9, :upper16:_bar @ encoding:
[0xc0'A',0xf2'A',0b0000AAAA,0x09]
+@ CHECK-LE-NEXT: @ fixup A - offset: 0, value: _bar, kind:
fixup_t2_movt_hi16
+@ CHECK-BE: movt r9, :upper16:_bar @ encoding:
[0xf2,0b1100AAAA,0x09'A',A]
+@ CHECK-BE-NEXT: @ fixup A - offset: 0, value: _bar, kind:
fixup_t2_movt_hi16
+Index: test/MC/ARM/thumb2be-movw-encoding.s
- test/MC/ARM/thumb2be-movw-encoding.s
+++ test/MC/ARM/thumb2be-movw-encoding.s
@@ -1,12 +1,9 @@
- RUN: llvm-mc -triple=thumbv7-none-linux-gnueabi -mcpu=cortex-a8 -
filetype=obj < %s | llvm-objdump -arch=thumb -s - | FileCheck %s --check-
prefix=CHECK-LE
- RUN: llvm-mc -triple=thumbebv7-none-linux-gnueabi -mcpu=cortex-a8 -
filetype=obj < %s | llvm-objdump -arch=thumbeb -s - | FileCheck %s --check-
prefix=CHECK-BE
- .syntax unified
- .code 16
- .thumb_func
-foo:
- movw r9, :lower16:(_bar)
+@ RUN: llvm-mc -triple=thumbv7-none-linux-gnueabi -show-encoding < %s
FileCheck %s --check-prefix=CHECK-LE +@ RUN: llvm-mc -triple=thumbebv7-none-linux-gnueabi -show-encoding <
%s | FileCheck %s --check-prefix=CHECK-BE- CHECK-LE: Contents of section .text:
- CHECK-LE-NEXT: 0000 40f20009
- CHECK-BE: Contents of section .text:
- CHECK-BE-NEXT: 0000 f2400900
+movw r9, :lower16:(_bar)
+@ CHECK-LE: movw r9, :lower16:_bar @ encoding:
[0x40'A',0xf2'A',0b0000AAAA,0x09]
+@ CHECK-LE-NEXT: @ fixup A - offset: 0, value: _bar, kind:
fixup_t2_movw_lo16
+@ CHECK-BE: movw r9, :lower16:_bar @ encoding:
[0xf2,0b0100AAAA,0x09'A',A]
+@ CHECK-BE-NEXT: @ fixup A - offset: 0, value: _bar, kind:
fixup_t2_movw_lo16
+