1# RUN: llvm-mc -triple thumbv8.1m.main-arm-none-eabi -mattr=+pacbti -disassemble %s 2> /dev/null | FileCheck %s 2 30x51,0xfb,0x02,0x0f 40x5e,0xfb,0x0d,0xcf 50xaf,0xf3,0x2d,0x80 60x51,0xfb,0x12,0x0f 70xaf,0xf3,0x0f,0x80 80x61,0xfb,0x02,0xf0 90x6e,0xfb,0x0d,0xfc 100xaf,0xf3,0x1d,0x80 110xaf,0xf3,0x0d,0x80 120x80,0xf3,0x20,0x88 130x80,0xf3,0x21,0x88 140x80,0xf3,0x22,0x88 150x80,0xf3,0x23,0x88 160x80,0xf3,0x24,0x88 170x80,0xf3,0x25,0x88 180x80,0xf3,0x26,0x88 190x80,0xf3,0x27,0x88 200x80,0xf3,0xa0,0x88 210x80,0xf3,0xa1,0x88 220x80,0xf3,0xa2,0x88 230x80,0xf3,0xa3,0x88 240x80,0xf3,0xa4,0x88 250x80,0xf3,0xa5,0x88 260x80,0xf3,0xa6,0x88 270x80,0xf3,0xa7,0x88 280xef,0xf3,0x20,0x80 290xef,0xf3,0x21,0x80 300xef,0xf3,0x22,0x80 310xef,0xf3,0x23,0x80 320xef,0xf3,0x24,0x80 330xef,0xf3,0x25,0x80 340xef,0xf3,0x26,0x80 350xef,0xf3,0x27,0x80 360xef,0xf3,0xa0,0x80 370xef,0xf3,0xa1,0x80 380xef,0xf3,0xa2,0x80 390xef,0xf3,0xa3,0x80 400xef,0xf3,0xa4,0x80 410xef,0xf3,0xa5,0x80 420xef,0xf3,0xa6,0x80 430xef,0xf3,0xa7,0x80 44 45# Test softfail encodings 460xa7,0xf3,0x1d,0x80 470xab,0xf3,0x1d,0x80 480xad,0xf3,0x1d,0x80 490xae,0xf3,0x1d,0x80 500xaf,0xf3,0x1d,0x88 510xaf,0xf3,0x1d,0xa0 520xaf,0xf3,0x2d,0x80 530xab,0xf3,0x2d,0x80 540xad,0xf3,0x2d,0x80 550xae,0xf3,0x2d,0x80 560xaf,0xf3,0x2d,0x88 570xaf,0xf3,0x2d,0xa0 580xa7,0xf3,0x0f,0x80 590xab,0xf3,0x0f,0x80 600xad,0xf3,0x0f,0x80 610xae,0xf3,0x0f,0x80 620xaf,0xf3,0x0f,0x88 630xaf,0xf3,0x0f,0xa0 640xa7,0xf3,0x0d,0x80 650xab,0xf3,0x0d,0x80 660xad,0xf3,0x0d,0x80 670xae,0xf3,0x0d,0x80 680xaf,0xf3,0x0d,0x88 690xaf,0xf3,0x0d,0xa0 70 71# CHECK: autg r0, r1, r2 72# CHECK: autg r12, lr, sp 73# CHECK: aut r12, lr, sp 74# CHECK: bxaut r0, r1, r2 75# CHECK: bti 76# CHECK: pacg r0, r1, r2 77# CHECK: pacg r12, lr, sp 78# CHECK: pac r12, lr, sp 79# CHECK: pacbti r12, lr, sp 80# CHECK: msr pac_key_p_0, r0 81# CHECK: msr pac_key_p_1, r0 82# CHECK: msr pac_key_p_2, r0 83# CHECK: msr pac_key_p_3, r0 84# CHECK: msr pac_key_u_0, r0 85# CHECK: msr pac_key_u_1, r0 86# CHECK: msr pac_key_u_2, r0 87# CHECK: msr pac_key_u_3, r0 88# CHECK: msr pac_key_p_0_ns, r0 89# CHECK: msr pac_key_p_1_ns, r0 90# CHECK: msr pac_key_p_2_ns, r0 91# CHECK: msr pac_key_p_3_ns, r0 92# CHECK: msr pac_key_u_0_ns, r0 93# CHECK: msr pac_key_u_1_ns, r0 94# CHECK: msr pac_key_u_2_ns, r0 95# CHECK: msr pac_key_u_3_ns, r0 96# CHECK: mrs r0, pac_key_p_0 97# CHECK: mrs r0, pac_key_p_1 98# CHECK: mrs r0, pac_key_p_2 99# CHECK: mrs r0, pac_key_p_3 100# CHECK: mrs r0, pac_key_u_0 101# CHECK: mrs r0, pac_key_u_1 102# CHECK: mrs r0, pac_key_u_2 103# CHECK: mrs r0, pac_key_u_3 104# CHECK: mrs r0, pac_key_p_0_ns 105# CHECK: mrs r0, pac_key_p_1_ns 106# CHECK: mrs r0, pac_key_p_2_ns 107# CHECK: mrs r0, pac_key_p_3_ns 108# CHECK: mrs r0, pac_key_u_0_ns 109# CHECK: mrs r0, pac_key_u_1_ns 110# CHECK: mrs r0, pac_key_u_2_ns 111# CHECK: mrs r0, pac_key_u_3_ns 112 113# Softfail encodings 114# CHECK: pac r12, lr, sp 115# CHECK: pac r12, lr, sp 116# CHECK: pac r12, lr, sp 117# CHECK: pac r12, lr, sp 118# CHECK: pac r12, lr, sp 119# CHECK: pac r12, lr, sp 120# CHECK: aut r12, lr, sp 121# CHECK: aut r12, lr, sp 122# CHECK: aut r12, lr, sp 123# CHECK: aut r12, lr, sp 124# CHECK: aut r12, lr, sp 125# CHECK: aut r12, lr, sp 126# CHECK: bti 127# CHECK: bti 128# CHECK: bti 129# CHECK: bti 130# CHECK: bti 131# CHECK: bti 132# CHECK: pacbti r12, lr, sp 133# CHECK: pacbti r12, lr, sp 134# CHECK: pacbti r12, lr, sp 135# CHECK: pacbti r12, lr, sp 136# CHECK: pacbti r12, lr, sp 137# CHECK: pacbti r12, lr, sp 138