Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / MC / AArch64 / armv8.1a-pan.s
blobd39542c30abe5dc879c5e13661938c273eb10cf5
1 // RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8.1a -show-encoding < %s 2> %t | FileCheck %s
2 // RUN: FileCheck --check-prefix=CHECK-ERROR %s < %t
3 // RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8r -show-encoding < %s 2> %t | FileCheck %s
4 // RUN: FileCheck --check-prefix=CHECK-ERROR %s < %t
6 .text
8 msr pan, #0
9 // CHECK: msr PAN, #0 // encoding: [0x9f,0x40,0x00,0xd5]
10 msr pan, #1
11 // CHECK: msr PAN, #1 // encoding: [0x9f,0x41,0x00,0xd5]
12 msr pan, x5
13 // CHECK: msr PAN, x5 // encoding: [0x65,0x42,0x18,0xd5]
14 mrs x13, pan
15 // CHECK: mrs x13, PAN // encoding: [0x6d,0x42,0x38,0xd5]
17 msr pan, #-1
18 msr pan, #16
19 msr pan, w0
20 mrs w0, pan
21 // CHECK-ERROR: error: immediate must be an integer in range [0, 15].
22 // CHECK-ERROR: msr pan, #-1
23 // CHECK-ERROR: ^
24 // CHECK-ERROR: error: immediate must be an integer in range [0, 15].
25 // CHECK-ERROR: msr pan, #16
26 // CHECK-ERROR: ^
27 // CHECK-ERROR: error: immediate must be an integer in range [0, 15].
28 // CHECK-ERROR: msr pan, w0
29 // CHECK-ERROR: ^
30 // CHECK-ERROR: error: invalid operand for instruction
31 // CHECK-ERROR: mrs w0, pan
32 // CHECK-ERROR: ^