1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/test/MC/AArch64/armv8.2a-uao.s
Oliver Stannard 1b5e161992 [AArch64] Add ARMv8.2-A UAO PSTATE bit
ARMv8.2-A adds a new PSTATE bit, PSTATE.UAO, which allows the LDTR/STTR
instructions to behave the same as LDR/STR with respect to execute-only
pages at higher privilege levels. New variants of the MSR/MRS
instructions are added to allow reading and writing this bit. It is a
required part of ARMv8.2-A, so no additional subtarget features are
required.

Differential Revision: http://reviews.llvm.org/D15020

llvm-svn: 254157
2015-11-26 15:32:30 +00:00

18 lines
668 B
ArmAsm

// 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]