xref: /llvm-project/llvm/test/MC/AArch64/armv8.2a-uao.s (revision f516e91715642f270d075e097f09a1442f6100f3)
1// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.2a < %s 2> %t | FileCheck %s
2// RUN: FileCheck --check-prefix=CHECK-ERROR %s < %t
3// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8r -o - %s 2> %t | FileCheck %s
4// RUN: FileCheck --check-prefix=CHECK-ERROR %s < %t
5
6  msr uao, #0
7  msr uao, #1
8// CHECK: msr     UAO, #0                 // encoding: [0x7f,0x40,0x00,0xd5]
9// CHECK: msr     UAO, #1                 // encoding: [0x7f,0x41,0x00,0xd5]
10
11  msr uao, #16
12// CHECK-ERROR: error: immediate must be an integer in range [0, 15].
13// CHECK-ERROR:   msr uao, #16
14// CHECK-ERROR:            ^
15
16  msr uao, x1
17  mrs x2, uao
18// CHECK: msr     UAO, x1                 // encoding: [0x81,0x42,0x18,0xd5]
19// CHECK: mrs     x2, UAO                 // encoding: [0x82,0x42,0x38,0xd5]
20