137 lines
3.2 KiB
Text
137 lines
3.2 KiB
Text
# RUN: llvm-mc -triple thumbv8.1m.main-arm-none-eabi -mattr=+pacbti -disassemble %s 2> /dev/null | FileCheck %s
|
|
|
|
0x51,0xfb,0x02,0x0f
|
|
0x5e,0xfb,0x0d,0xcf
|
|
0xaf,0xf3,0x2d,0x80
|
|
0x51,0xfb,0x12,0x0f
|
|
0xaf,0xf3,0x0f,0x80
|
|
0x61,0xfb,0x02,0xf0
|
|
0x6e,0xfb,0x0d,0xfc
|
|
0xaf,0xf3,0x1d,0x80
|
|
0xaf,0xf3,0x0d,0x80
|
|
0x80,0xf3,0x20,0x88
|
|
0x80,0xf3,0x21,0x88
|
|
0x80,0xf3,0x22,0x88
|
|
0x80,0xf3,0x23,0x88
|
|
0x80,0xf3,0x24,0x88
|
|
0x80,0xf3,0x25,0x88
|
|
0x80,0xf3,0x26,0x88
|
|
0x80,0xf3,0x27,0x88
|
|
0x80,0xf3,0xa0,0x88
|
|
0x80,0xf3,0xa1,0x88
|
|
0x80,0xf3,0xa2,0x88
|
|
0x80,0xf3,0xa3,0x88
|
|
0x80,0xf3,0xa4,0x88
|
|
0x80,0xf3,0xa5,0x88
|
|
0x80,0xf3,0xa6,0x88
|
|
0x80,0xf3,0xa7,0x88
|
|
0xef,0xf3,0x20,0x80
|
|
0xef,0xf3,0x21,0x80
|
|
0xef,0xf3,0x22,0x80
|
|
0xef,0xf3,0x23,0x80
|
|
0xef,0xf3,0x24,0x80
|
|
0xef,0xf3,0x25,0x80
|
|
0xef,0xf3,0x26,0x80
|
|
0xef,0xf3,0x27,0x80
|
|
0xef,0xf3,0xa0,0x80
|
|
0xef,0xf3,0xa1,0x80
|
|
0xef,0xf3,0xa2,0x80
|
|
0xef,0xf3,0xa3,0x80
|
|
0xef,0xf3,0xa4,0x80
|
|
0xef,0xf3,0xa5,0x80
|
|
0xef,0xf3,0xa6,0x80
|
|
0xef,0xf3,0xa7,0x80
|
|
|
|
# Test softfail encodings
|
|
0xa7,0xf3,0x1d,0x80
|
|
0xab,0xf3,0x1d,0x80
|
|
0xad,0xf3,0x1d,0x80
|
|
0xae,0xf3,0x1d,0x80
|
|
0xaf,0xf3,0x1d,0x88
|
|
0xaf,0xf3,0x1d,0xa0
|
|
0xaf,0xf3,0x2d,0x80
|
|
0xab,0xf3,0x2d,0x80
|
|
0xad,0xf3,0x2d,0x80
|
|
0xae,0xf3,0x2d,0x80
|
|
0xaf,0xf3,0x2d,0x88
|
|
0xaf,0xf3,0x2d,0xa0
|
|
0xa7,0xf3,0x0f,0x80
|
|
0xab,0xf3,0x0f,0x80
|
|
0xad,0xf3,0x0f,0x80
|
|
0xae,0xf3,0x0f,0x80
|
|
0xaf,0xf3,0x0f,0x88
|
|
0xaf,0xf3,0x0f,0xa0
|
|
0xa7,0xf3,0x0d,0x80
|
|
0xab,0xf3,0x0d,0x80
|
|
0xad,0xf3,0x0d,0x80
|
|
0xae,0xf3,0x0d,0x80
|
|
0xaf,0xf3,0x0d,0x88
|
|
0xaf,0xf3,0x0d,0xa0
|
|
|
|
# CHECK: autg r0, r1, r2
|
|
# CHECK: autg r12, lr, sp
|
|
# CHECK: aut r12, lr, sp
|
|
# CHECK: bxaut r0, r1, r2
|
|
# CHECK: bti
|
|
# CHECK: pacg r0, r1, r2
|
|
# CHECK: pacg r12, lr, sp
|
|
# CHECK: pac r12, lr, sp
|
|
# CHECK: pacbti r12, lr, sp
|
|
# CHECK: msr pac_key_p_0, r0
|
|
# CHECK: msr pac_key_p_1, r0
|
|
# CHECK: msr pac_key_p_2, r0
|
|
# CHECK: msr pac_key_p_3, r0
|
|
# CHECK: msr pac_key_u_0, r0
|
|
# CHECK: msr pac_key_u_1, r0
|
|
# CHECK: msr pac_key_u_2, r0
|
|
# CHECK: msr pac_key_u_3, r0
|
|
# CHECK: msr pac_key_p_0_ns, r0
|
|
# CHECK: msr pac_key_p_1_ns, r0
|
|
# CHECK: msr pac_key_p_2_ns, r0
|
|
# CHECK: msr pac_key_p_3_ns, r0
|
|
# CHECK: msr pac_key_u_0_ns, r0
|
|
# CHECK: msr pac_key_u_1_ns, r0
|
|
# CHECK: msr pac_key_u_2_ns, r0
|
|
# CHECK: msr pac_key_u_3_ns, r0
|
|
# CHECK: mrs r0, pac_key_p_0
|
|
# CHECK: mrs r0, pac_key_p_1
|
|
# CHECK: mrs r0, pac_key_p_2
|
|
# CHECK: mrs r0, pac_key_p_3
|
|
# CHECK: mrs r0, pac_key_u_0
|
|
# CHECK: mrs r0, pac_key_u_1
|
|
# CHECK: mrs r0, pac_key_u_2
|
|
# CHECK: mrs r0, pac_key_u_3
|
|
# CHECK: mrs r0, pac_key_p_0_ns
|
|
# CHECK: mrs r0, pac_key_p_1_ns
|
|
# CHECK: mrs r0, pac_key_p_2_ns
|
|
# CHECK: mrs r0, pac_key_p_3_ns
|
|
# CHECK: mrs r0, pac_key_u_0_ns
|
|
# CHECK: mrs r0, pac_key_u_1_ns
|
|
# CHECK: mrs r0, pac_key_u_2_ns
|
|
# CHECK: mrs r0, pac_key_u_3_ns
|
|
|
|
# Softfail encodings
|
|
# CHECK: pac r12, lr, sp
|
|
# CHECK: pac r12, lr, sp
|
|
# CHECK: pac r12, lr, sp
|
|
# CHECK: pac r12, lr, sp
|
|
# CHECK: pac r12, lr, sp
|
|
# CHECK: pac r12, lr, sp
|
|
# CHECK: aut r12, lr, sp
|
|
# CHECK: aut r12, lr, sp
|
|
# CHECK: aut r12, lr, sp
|
|
# CHECK: aut r12, lr, sp
|
|
# CHECK: aut r12, lr, sp
|
|
# CHECK: aut r12, lr, sp
|
|
# CHECK: bti
|
|
# CHECK: bti
|
|
# CHECK: bti
|
|
# CHECK: bti
|
|
# CHECK: bti
|
|
# CHECK: bti
|
|
# CHECK: pacbti r12, lr, sp
|
|
# CHECK: pacbti r12, lr, sp
|
|
# CHECK: pacbti r12, lr, sp
|
|
# CHECK: pacbti r12, lr, sp
|
|
# CHECK: pacbti r12, lr, sp
|
|
# CHECK: pacbti r12, lr, sp
|