[PATCH] Test cleanup for v8 instructions

Bernard Ogden bernard.ogden at arm.com
Tue Oct 29 06:14:47 PDT 2013


Add some missing tests, factor out a test not specific to v8 into
its own file.

Note that one test just checks for 'error:' This is because I'm not
convinced that the error message is ideal, but I do expect some
sort of error.

Minor patch that I'm a little reluctant to bother the list with, but
I'm new enough that comitting without review feels like taking a liberty.

http://llvm-reviews.chandlerc.com/D2051

Files:
  test/MC/ARM/basic-arm-instructions-v8.s
  test/MC/ARM/basic-thumb2-instructions-v8.s
  test/MC/ARM/invalid-barrier.s

Index: test/MC/ARM/basic-arm-instructions-v8.s
===================================================================
--- test/MC/ARM/basic-arm-instructions-v8.s
+++ test/MC/ARM/basic-arm-instructions-v8.s
@@ -1,6 +1,6 @@
 @ New ARMv8 A32 encodings
 
-@ RUN: not llvm-mc -triple armv8 -show-encoding -mattr=+db < %s | FileCheck %s --check-prefix=CHECK-V8
+@ RUN: llvm-mc -triple armv8 -show-encoding < %s | FileCheck %s --check-prefix=CHECK-V8
 @ RUN: not llvm-mc -triple armv7 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-V7
 
 @ HLT
@@ -23,7 +23,6 @@
         dmb oshld
         dmb nshld
         dmb ld
-        dmb #20
 
 @ CHECK-V8: dmb ishld @ encoding: [0x59,0xf0,0x7f,0xf5]
 @ CHECK-V8: dmb oshld @ encoding: [0x51,0xf0,0x7f,0xf5]
@@ -33,7 +32,6 @@
 @ CHECK-V7: error: invalid operand for instruction
 @ CHECK-V7: error: invalid operand for instruction
 @ CHECK-V7: error: invalid operand for instruction
-@ CHECK-V7: error: immediate value out of range
 
 @------------------------------------------------------------------------------
 @ DSB (v8 barriers)
@@ -50,10 +48,12 @@
 @ CHECK-V7: error: invalid operand for instruction
 @ CHECK-V7: error: invalid operand for instruction
 @ CHECK-V7: error: invalid operand for instruction
+@ CHECK-V7: error: invalid operand for instruction
 
 @------------------------------------------------------------------------------
 @ SEVL
 @------------------------------------------------------------------------------
         sevl
 
-@ CHECK: sevl @ encoding: [0x05,0xf0,0x20,0xe3]
+@ CHECK-V8: sevl @ encoding: [0x05,0xf0,0x20,0xe3]
+@ CHECK-V7: error: instruction requires: armv8
Index: test/MC/ARM/basic-thumb2-instructions-v8.s
===================================================================
--- test/MC/ARM/basic-thumb2-instructions-v8.s
+++ test/MC/ARM/basic-thumb2-instructions-v8.s
@@ -1,6 +1,6 @@
 @ New ARMv8 T32 encodings
 
-@ RUN: not llvm-mc -triple thumbv8 -show-encoding -mattr=+db < %s | FileCheck %s --check-prefix=CHECK-V8
+@ RUN: llvm-mc -triple thumbv8 -show-encoding < %s | FileCheck %s --check-prefix=CHECK-V8
 @ RUN: not llvm-mc -triple thumbv7 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-V7
 
 @ HLT
@@ -42,7 +42,6 @@
         dmb oshld
         dmb nshld
         dmb ld
-        dmb #20
 
 @ CHECK-V8: dmb ishld @ encoding: [0xbf,0xf3,0x59,0x8f]
 @ CHECK-V8: dmb oshld @ encoding: [0xbf,0xf3,0x51,0x8f]
@@ -52,7 +51,6 @@
 @ CHECK-V7: error: invalid operand for instruction
 @ CHECK-V7: error: invalid operand for instruction
 @ CHECK-V7: error: invalid operand for instruction
-@ CHECK-V7: error: immediate value out of range
 
 @------------------------------------------------------------------------------
 @ DSB (v8 barriers)
@@ -69,6 +67,7 @@
 @ CHECK-V7: error: invalid operand for instruction
 @ CHECK-V7: error: invalid operand for instruction
 @ CHECK-V7: error: invalid operand for instruction
+@ CHECK-V7: error: invalid operand for instruction
 
 @------------------------------------------------------------------------------
 @ SEVL
@@ -82,3 +81,7 @@
 @ CHECK-V8: sevl.w @ encoding: [0xaf,0xf3,0x05,0x80]
 @ CHECK-V8: it ge @ encoding: [0xa8,0xbf]
 @ CHECK-V8: sevlge @ encoding: [0x50,0xbf]
+@ CHECK-V7: error: instruction requires: armv8
+@ CHECK-V7: error: instruction requires: armv8
+@ CHECK-V7: error:
+@ CHECK-V7: error: instruction requires: armv8
Index: test/MC/ARM/invalid-barrier.s
===================================================================
--- /dev/null
+++ test/MC/ARM/invalid-barrier.s
@@ -0,0 +1,28 @@
+@ RUN: not llvm-mc -triple=armv7   -show-encoding < %s 2>&1 | FileCheck %s
+@ RUN: not llvm-mc -triple=thumbv7 -show-encoding < %s 2>&1 | FileCheck %s
+
+ at ------------------------------------------------------------------------------
+@ DMB
+ at ------------------------------------------------------------------------------
+        dmb #0x10
+        dmb imaginary_scope
+
+@ CHECK: error: immediate value out of range
+@ CHECK: error: invalid operand for instruction
+
+ at ------------------------------------------------------------------------------
+@ DSB
+ at ------------------------------------------------------------------------------
+        dsb #0x10
+        dsb imaginary_scope
+@ CHECK: error: immediate value out of range
+@ CHECK: error: invalid operand for instruction
+
+ at ------------------------------------------------------------------------------
+@ ISB
+ at ------------------------------------------------------------------------------
+        isb #0x1f
+        isb imaginary_domain
+
+@ CHECK: error: immediate value out of range
+@ CHECK: error: invalid operand for instruction
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2051.1.patch
Type: text/x-patch
Size: 4649 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131029/4fa56968/attachment.bin>


More information about the llvm-commits mailing list