1 // RUN
: llvm-mc
-triple aarch64
-show-encoding
-mattr
=+ssbs
< %s | FileCheck
%s
2 // RUN
: llvm-mc
-triple aarch64
-show-encoding
-mattr
=+v8.5
a < %s | FileCheck
%s
3 // RUN
: llvm-mc
-triple aarch64
-show-encoding
-mcpu
=cortex-a65
< %s | FileCheck
%s
4 // RUN
: llvm-mc
-triple aarch64
-show-encoding
-mcpu
=cortex-a65ae
< %s | FileCheck
%s
5 // RUN
: llvm-mc
-triple aarch64
-show-encoding
-mcpu
=cortex-a76
< %s | FileCheck
%s
6 // RUN
: llvm-mc
-triple aarch64
-show-encoding
-mcpu
=cortex-a76ae
< %s | FileCheck
%s
7 // RUN
: llvm-mc
-triple aarch64
-show-encoding
-mcpu
=neoverse-e1
< %s | FileCheck
%s
8 // RUN
: llvm-mc
-triple aarch64
-show-encoding
-mcpu
=neoverse-n1
< %s | FileCheck
%s
9 // RUN
: not llvm-mc
-triple aarch64
-show-encoding
-mattr
=-ssbs
< %s
2>&1 | FileCheck
%s
--check-prefix
=NOSPECID
13 // CHECK
: mrs x2
, {{ssbs|SSBS
}} // encoding
: [0xc2,0x42,0x3b,0xd5]
14 // NOSPECID
: error
: expected readable system register
15 // NOSPECID-NEXT
: mrs x2
, {{ssbs|SSBS
}}
20 // CHECK
: msr {{ssbs|SSBS
}}, x3
// encoding
: [0xc3,0x42,0x1b,0xd5]
21 // CHECK
: msr {{ssbs|SSBS
}}, #1 // encoding: [0x3f,0x41,0x03,0xd5]
22 // NOSPECID
: error
: expected writable system register
or pstate
23 // NOSPECID-NEXT
: msr {{ssbs|SSBS
}}, x3
24 // NOSPECID
: error
: expected writable system register
or pstate
25 // NOSPECID-NEXT
: msr {{ssbs|SSBS
}}, #1