xref: /aosp_15_r20/external/llvm/test/MC/ARM/basic-arm-instructions-v8.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker@ New ARMv8 A32 encodings
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-mc -triple armv8 -show-encoding < %s | FileCheck %s --check-prefix=CHECK-V8
4*9880d681SAndroid Build Coastguard Worker@ RUN: not llvm-mc -triple armv7 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-V7
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Worker@ HLT
7*9880d681SAndroid Build Coastguard Worker        hlt  #0
8*9880d681SAndroid Build Coastguard Worker        hlt  #65535
9*9880d681SAndroid Build Coastguard Worker@ CHECK-V8: hlt  #0                       @ encoding: [0x70,0x00,0x00,0xe1]
10*9880d681SAndroid Build Coastguard Worker@ CHECK-V8: hlt  #65535                   @ encoding: [0x7f,0xff,0x0f,0xe1]
11*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: error: instruction requires: armv8
12*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: error: instruction requires: armv8
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Worker@ AL condition code allowable
15*9880d681SAndroid Build Coastguard Worker        hltal  #0
16*9880d681SAndroid Build Coastguard Worker@ CHECK-V8: hlt  #0                       @ encoding: [0x70,0x00,0x00,0xe1]
17*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: error: instruction requires: armv8
18*9880d681SAndroid Build Coastguard Worker
19*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
20*9880d681SAndroid Build Coastguard Worker@ DMB (v8 barriers)
21*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
22*9880d681SAndroid Build Coastguard Worker        dmb ishld
23*9880d681SAndroid Build Coastguard Worker        dmb oshld
24*9880d681SAndroid Build Coastguard Worker        dmb nshld
25*9880d681SAndroid Build Coastguard Worker        dmb ld
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Worker@ CHECK-V8: dmb ishld @ encoding: [0x59,0xf0,0x7f,0xf5]
28*9880d681SAndroid Build Coastguard Worker@ CHECK-V8: dmb oshld @ encoding: [0x51,0xf0,0x7f,0xf5]
29*9880d681SAndroid Build Coastguard Worker@ CHECK-V8: dmb nshld @ encoding: [0x55,0xf0,0x7f,0xf5]
30*9880d681SAndroid Build Coastguard Worker@ CHECK-V8: dmb ld @ encoding: [0x5d,0xf0,0x7f,0xf5]
31*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: error: invalid operand for instruction
32*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: error: invalid operand for instruction
33*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: error: invalid operand for instruction
34*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: error: invalid operand for instruction
35*9880d681SAndroid Build Coastguard Worker
36*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
37*9880d681SAndroid Build Coastguard Worker@ DSB (v8 barriers)
38*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
39*9880d681SAndroid Build Coastguard Worker        dsb ishld
40*9880d681SAndroid Build Coastguard Worker        dsb oshld
41*9880d681SAndroid Build Coastguard Worker        dsb nshld
42*9880d681SAndroid Build Coastguard Worker        dsb ld
43*9880d681SAndroid Build Coastguard Worker
44*9880d681SAndroid Build Coastguard Worker@ CHECK-V8: dsb ishld @ encoding: [0x49,0xf0,0x7f,0xf5]
45*9880d681SAndroid Build Coastguard Worker@ CHECK-V8: dsb oshld @ encoding: [0x41,0xf0,0x7f,0xf5]
46*9880d681SAndroid Build Coastguard Worker@ CHECK-V8: dsb nshld @ encoding: [0x45,0xf0,0x7f,0xf5]
47*9880d681SAndroid Build Coastguard Worker@ CHECK-V8: dsb ld @ encoding: [0x4d,0xf0,0x7f,0xf5]
48*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: error: invalid operand for instruction
49*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: error: invalid operand for instruction
50*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: error: invalid operand for instruction
51*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: error: invalid operand for instruction
52*9880d681SAndroid Build Coastguard Worker
53*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
54*9880d681SAndroid Build Coastguard Worker@ SEVL
55*9880d681SAndroid Build Coastguard Worker@------------------------------------------------------------------------------
56*9880d681SAndroid Build Coastguard Worker        sevl
57*9880d681SAndroid Build Coastguard Worker
58*9880d681SAndroid Build Coastguard Worker@ CHECK-V8: sevl @ encoding: [0x05,0xf0,0x20,0xe3]
59*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: error: instruction requires: armv8
60