mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
1b5e161992
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
18 lines
668 B
ArmAsm
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]
|