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
: llvm-mc
-triple aarch64
-show-encoding
-mcpu
=neoverse-n2
< %s | FileCheck
%s
10 // RUN
: not llvm-mc
-triple aarch64
-show-encoding
-mattr
=-ssbs
< %s
2>&1 | FileCheck
%s
--check-prefix
=NOSPECID
14 // CHECK
: mrs x2
, {{ssbs|SSBS
}} // encoding
: [0xc2,0x42,0x3b,0xd5]
15 // NOSPECID
: error
: expected readable system register
16 // NOSPECID-NEXT
: mrs x2
, {{ssbs|SSBS
}}
21 // CHECK
: msr {{ssbs|SSBS
}}, x3
// encoding
: [0xc3,0x42,0x1b,0xd5]
22 // CHECK
: msr {{ssbs|SSBS
}}, #1 // encoding: [0x3f,0x41,0x03,0xd5]
23 // NOSPECID
: error
: expected writable system register
or pstate
24 // NOSPECID-NEXT
: msr {{ssbs|SSBS
}}, x3
25 // NOSPECID
: error
: expected writable system register
or pstate
26 // NOSPECID-NEXT
: msr {{ssbs|SSBS
}}, #1