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