diff options
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/MC/AArch64/armv8.2a-uao.s | 17 | ||||
-rw-r--r-- | llvm/test/MC/Disassembler/AArch64/armv8.2a-uao.txt | 19 |
2 files changed, 36 insertions, 0 deletions
diff --git a/llvm/test/MC/AArch64/armv8.2a-uao.s b/llvm/test/MC/AArch64/armv8.2a-uao.s new file mode 100644 index 00000000000..ec5e96261a8 --- /dev/null +++ b/llvm/test/MC/AArch64/armv8.2a-uao.s @@ -0,0 +1,17 @@ +// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.2a < %s 2> %t | FileCheck %s +// RUN: FileCheck --check-prefix=CHECK-ERROR %s < %t + + msr uao, #0 + msr uao, #1 +// CHECK: msr UAO, #0 // encoding: [0x7f,0x40,0x00,0xd5] +// CHECK: msr UAO, #1 // encoding: [0x7f,0x41,0x00,0xd5] + + msr uao, #2 +// CHECK-ERROR: error: immediate must be an integer in range [0, 1]. +// CHECK-ERROR: msr uao, #2 +// CHECK-ERROR: ^ + + msr uao, x1 + mrs x2, uao +// CHECK: msr UAO, x1 // encoding: [0x81,0x42,0x18,0xd5] +// CHECK: mrs x2, UAO // encoding: [0x82,0x42,0x38,0xd5] diff --git a/llvm/test/MC/Disassembler/AArch64/armv8.2a-uao.txt b/llvm/test/MC/Disassembler/AArch64/armv8.2a-uao.txt new file mode 100644 index 00000000000..b8300f4c726 --- /dev/null +++ b/llvm/test/MC/Disassembler/AArch64/armv8.2a-uao.txt @@ -0,0 +1,19 @@ +# RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8.2a --disassemble < %s | FileCheck %s +# RUN: llvm-mc -triple aarch64-none-linux-gnu --disassemble < %s 2>&1 | FileCheck --check-prefix=NO_V82A %s + +[0x7f,0x40,0x00,0xd5] +[0x7f,0x41,0x00,0xd5] +[0x7f,0x42,0x00,0xd5] +# CHECK: msr UAO, #0 +# CHECK: msr UAO, #1 +# CHECK: msr S0_0_C4_C2_3, xzr +# NO_V82A: msr S0_0_C4_C0_3, xzr +# NO_V82A: msr S0_0_C4_C1_3, xzr +# NO_V82A: msr S0_0_C4_C2_3, xzr + +[0x81,0x42,0x18,0xd5] +[0x82,0x42,0x38,0xd5] +# CHECK: msr UAO, x1 +# CHECK: mrs x2, UAO +# NO_V82A: msr S3_0_C4_C2_4, x1 +# NO_V82A: mrs x2, S3_0_C4_C2_4 |