1 // RUN
: not llvm-mc
-triple aarch64-none-linux-gnu
-show-encoding
-mattr
=+v8.4
a < %s
2> %t | FileCheck
%s
--check-prefix
=CHECK
2 // RUN
: FileCheck
--check-prefix
=CHECK-ERROR
< %t %s
3 // RUN
: not llvm-mc
-triple aarch64-none-linux-gnu
-show-encoding
-mattr
=-v8.4
a < %s
2>&1 | FileCheck
%s
--check-prefix
=CHECK-NO-V84
5 //------------------------------------------------------------------------------
6 // ARMV8.4
-A Timing insensitivity of data processing instructions
7 //------------------------------------------------------------------------------
13 //CHECK
: msr DIT
, #1 // encoding: [0x5f,0x41,0x03,0xd5]
14 //CHECK-NEXT
: msr DIT
, x0
// encoding
: [0xa0,0x42,0x1b,0xd5]
15 //CHECK-NEXT
: mrs x0
, DIT
// encoding
: [0xa0,0x42,0x3b,0xd5]
20 //CHECK-ERROR
: error
: immediate must
be an integer in range
[0, 1].
21 //CHECK-ERROR-NEXT
: msr DIT
, #2
23 //CHECK-ERROR-NEXT
: error
: immediate must
be an integer in range
[0, 1].
24 //CHECK-ERROR-NEXT
: msr DIT
, #-1
27 //CHECK-NO-V84
: error
: expected writable system register
or pstate
28 //CHECK-NO-V84-NEXT
: msr DIT
, #1
29 //CHECK-NO-V84-NEXT
: ^
30 //CHECK-NO-V84-NEXT
: error
: expected writable system register
or pstate
31 //CHECK-NO-V84-NEXT
: msr DIT
, x0
32 //CHECK-NO-V84-NEXT
: ^
33 //CHECK-NO-V84-NEXT
: error
: expected readable system register
34 //CHECK-NO-V84-NEXT
: mrs x0
, DIT
35 //CHECK-NO-V84-NEXT
: ^
36 //CHECK-NO-V84-NEXT
: error
: expected writable system register
or pstate
37 //CHECK-NO-V84-NEXT
: msr DIT
, #2
38 //CHECK-NO-V84-NEXT
: ^
39 //CHECK-NO-V84-NEXT
: error
: expected writable system register
or pstate
40 //CHECK-NO-V84-NEXT
: msr DIT
, #-1
41 //CHECK-NO-V84-NEXT
: ^