Home | History | Annotate | Download | only in AArch64
      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 
      4   .text
      5 
      6   msr pan, #0
      7 // CHECK:  msr PAN, #0           // encoding: [0x9f,0x40,0x00,0xd5]
      8   msr pan, #1
      9 // CHECK:  msr PAN, #1           // encoding: [0x9f,0x41,0x00,0xd5]
     10   msr pan, x5
     11 // CHECK:  msr PAN, x5           // encoding: [0x65,0x42,0x18,0xd5]
     12   mrs x13, pan
     13 // CHECK:  mrs x13, PAN          // encoding: [0x6d,0x42,0x38,0xd5]
     14 
     15   msr pan, #-1
     16   msr pan, #2
     17   msr pan, w0
     18   mrs w0, pan
     19 // CHECK-ERROR: error: immediate must be an integer in range [0, 1].
     20 // CHECK-ERROR:   msr pan, #-1
     21 // CHECK-ERROR:            ^
     22 // CHECK-ERROR: error: immediate must be an integer in range [0, 1].
     23 // CHECK-ERROR:   msr pan, #2
     24 // CHECK-ERROR:            ^
     25 // CHECK-ERROR: error: immediate must be an integer in range [0, 1].
     26 // CHECK-ERROR:   msr pan, w0
     27 // CHECK-ERROR:            ^
     28 // CHECK-ERROR: error: invalid operand for instruction
     29 // CHECK-ERROR:   mrs w0, pan
     30 // CHECK-ERROR:       ^
     31