mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 21:32:10 +00:00
Test cleanup for v8 instructions
Add some missing tests, factor out a test not specific to v8 into its own file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193611 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1313a223ed
commit
c777b2e58c
@ -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
|
||||
|
@ -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
|
||||
|
28
test/MC/ARM/invalid-barrier.s
Normal file
28
test/MC/ARM/invalid-barrier.s
Normal file
@ -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
|
||||
|
||||
@------------------------------------------------------------------------------
|
||||
@ DMB
|
||||
@------------------------------------------------------------------------------
|
||||
dmb #0x10
|
||||
dmb imaginary_scope
|
||||
|
||||
@ CHECK: error: immediate value out of range
|
||||
@ CHECK: error: invalid operand for instruction
|
||||
|
||||
@------------------------------------------------------------------------------
|
||||
@ DSB
|
||||
@------------------------------------------------------------------------------
|
||||
dsb #0x10
|
||||
dsb imaginary_scope
|
||||
@ CHECK: error: immediate value out of range
|
||||
@ CHECK: error: invalid operand for instruction
|
||||
|
||||
@------------------------------------------------------------------------------
|
||||
@ ISB
|
||||
@------------------------------------------------------------------------------
|
||||
isb #0x1f
|
||||
isb imaginary_domain
|
||||
|
||||
@ CHECK: error: immediate value out of range
|
||||
@ CHECK: error: invalid operand for instruction
|
Loading…
Reference in New Issue
Block a user