mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 04:33:05 +00:00
c2884320fe
This adds a new subtarget feature called FPARMv8 (implied by NEON), and predicates the support of the FP instructions and registers on this feature. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193739 91177308-0d34-0410-b5e6-96231b3b80d8
4201 lines
105 KiB
Plaintext
4201 lines
105 KiB
Plaintext
# RUN: llvm-mc -triple=aarch64 -mattr=+fp-armv8 -disassemble < %s | FileCheck %s
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Add/sub (immediate)
|
|
#------------------------------------------------------------------------------
|
|
# CHECK: add w4, w5, #0
|
|
# CHECK: add w2, w3, #4095
|
|
# CHECK: add w30, w29, #1, lsl #12
|
|
# CHECK: add w13, w5, #4095, lsl #12
|
|
# CHECK: add x5, x7, #1638
|
|
0xa4 0x0 0x0 0x11
|
|
0x62 0xfc 0x3f 0x11
|
|
0xbe 0x7 0x40 0x11
|
|
0xad 0xfc 0x7f 0x11
|
|
0xe5 0x98 0x19 0x91
|
|
|
|
# CHECK: add w20, wsp, #801
|
|
# CHECK: add wsp, wsp, #1104
|
|
# CHECK: add wsp, w30, #4084
|
|
0xf4 0x87 0xc 0x11
|
|
0xff 0x43 0x11 0x11
|
|
0xdf 0xd3 0x3f 0x11
|
|
|
|
# CHECK: add x0, x24, #291
|
|
# CHECK: add x3, x24, #4095, lsl #12
|
|
# CHECK: add x8, sp, #1074
|
|
# CHECK: add sp, x29, #3816
|
|
0x0 0x8f 0x4 0x91
|
|
0x3 0xff 0x7f 0x91
|
|
0xe8 0xcb 0x10 0x91
|
|
0xbf 0xa3 0x3b 0x91
|
|
|
|
# CHECK: sub w0, wsp, #4077
|
|
# CHECK: sub w4, w20, #546, lsl #12
|
|
# CHECK: sub sp, sp, #288
|
|
# CHECK: sub wsp, w19, #16
|
|
0xe0 0xb7 0x3f 0x51
|
|
0x84 0x8a 0x48 0x51
|
|
0xff 0x83 0x4 0xd1
|
|
0x7f 0x42 0x0 0x51
|
|
|
|
|
|
# CHECK: adds w13, w23, #291, lsl #12
|
|
# CHECK: cmn w2, #4095
|
|
# CHECK: adds w20, wsp, #0
|
|
# CHECK: cmn x3, #1, lsl #12
|
|
0xed 0x8e 0x44 0x31
|
|
0x5f 0xfc 0x3f 0x31
|
|
0xf4 0x3 0x0 0x31
|
|
0x7f 0x4 0x40 0xb1
|
|
|
|
# CHECK: cmp sp, #20, lsl #12
|
|
# CHECK: cmp x30, #4095
|
|
# CHECK: subs x4, sp, #3822
|
|
0xff 0x53 0x40 0xf1
|
|
0xdf 0xff 0x3f 0xf1
|
|
0xe4 0xbb 0x3b 0xf1
|
|
|
|
# These should really be CMN
|
|
# CHECK: cmn w3, #291, lsl #12
|
|
# CHECK: cmn wsp, #1365
|
|
# CHECK: cmn sp, #1092, lsl #12
|
|
0x7f 0x8c 0x44 0x31
|
|
0xff 0x57 0x15 0x31
|
|
0xff 0x13 0x51 0xb1
|
|
|
|
# CHECK: mov sp, x30
|
|
# CHECK: mov wsp, w20
|
|
# CHECK: mov x11, sp
|
|
# CHECK: mov w24, wsp
|
|
0xdf 0x3 0x0 0x91
|
|
0x9f 0x2 0x0 0x11
|
|
0xeb 0x3 0x0 0x91
|
|
0xf8 0x3 0x0 0x11
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Add-subtract (shifted register)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: add w3, w5, w7
|
|
# CHECK: add wzr, w3, w5
|
|
# CHECK: add w20, wzr, w4
|
|
# CHECK: add w4, w6, wzr
|
|
# CHECK: add w11, w13, w15
|
|
# CHECK: add w9, w3, wzr, lsl #10
|
|
# CHECK: add w17, w29, w20, lsl #31
|
|
# CHECK: add w21, w22, w23, lsr #0
|
|
# CHECK: add w24, w25, w26, lsr #18
|
|
# CHECK: add w27, w28, w29, lsr #31
|
|
# CHECK: add w2, w3, w4, asr #0
|
|
# CHECK: add w5, w6, w7, asr #21
|
|
# CHECK: add w8, w9, w10, asr #31
|
|
0xa3 0x0 0x7 0xb
|
|
0x7f 0x0 0x5 0xb
|
|
0xf4 0x3 0x4 0xb
|
|
0xc4 0x0 0x1f 0xb
|
|
0xab 0x1 0xf 0xb
|
|
0x69 0x28 0x1f 0xb
|
|
0xb1 0x7f 0x14 0xb
|
|
0xd5 0x2 0x57 0xb
|
|
0x38 0x4b 0x5a 0xb
|
|
0x9b 0x7f 0x5d 0xb
|
|
0x62 0x0 0x84 0xb
|
|
0xc5 0x54 0x87 0xb
|
|
0x28 0x7d 0x8a 0xb
|
|
|
|
# CHECK: add x3, x5, x7
|
|
# CHECK: add xzr, x3, x5
|
|
# CHECK: add x20, xzr, x4
|
|
# CHECK: add x4, x6, xzr
|
|
# CHECK: add x11, x13, x15
|
|
# CHECK: add x9, x3, xzr, lsl #10
|
|
# CHECK: add x17, x29, x20, lsl #63
|
|
# CHECK: add x21, x22, x23, lsr #0
|
|
# CHECK: add x24, x25, x26, lsr #18
|
|
# CHECK: add x27, x28, x29, lsr #63
|
|
# CHECK: add x2, x3, x4, asr #0
|
|
# CHECK: add x5, x6, x7, asr #21
|
|
# CHECK: add x8, x9, x10, asr #63
|
|
0xa3 0x0 0x7 0x8b
|
|
0x7f 0x0 0x5 0x8b
|
|
0xf4 0x3 0x4 0x8b
|
|
0xc4 0x0 0x1f 0x8b
|
|
0xab 0x1 0xf 0x8b
|
|
0x69 0x28 0x1f 0x8b
|
|
0xb1 0xff 0x14 0x8b
|
|
0xd5 0x2 0x57 0x8b
|
|
0x38 0x4b 0x5a 0x8b
|
|
0x9b 0xff 0x5d 0x8b
|
|
0x62 0x0 0x84 0x8b
|
|
0xc5 0x54 0x87 0x8b
|
|
0x28 0xfd 0x8a 0x8b
|
|
|
|
# CHECK: adds w3, w5, w7
|
|
# CHECK: cmn w3, w5
|
|
# CHECK: adds w20, wzr, w4
|
|
# CHECK: adds w4, w6, wzr
|
|
# CHECK: adds w11, w13, w15
|
|
# CHECK: adds w9, w3, wzr, lsl #10
|
|
# CHECK: adds w17, w29, w20, lsl #31
|
|
# CHECK: adds w21, w22, w23, lsr #0
|
|
# CHECK: adds w24, w25, w26, lsr #18
|
|
# CHECK: adds w27, w28, w29, lsr #31
|
|
# CHECK: adds w2, w3, w4, asr #0
|
|
# CHECK: adds w5, w6, w7, asr #21
|
|
# CHECK: adds w8, w9, w10, asr #31
|
|
0xa3 0x0 0x7 0x2b
|
|
0x7f 0x0 0x5 0x2b
|
|
0xf4 0x3 0x4 0x2b
|
|
0xc4 0x0 0x1f 0x2b
|
|
0xab 0x1 0xf 0x2b
|
|
0x69 0x28 0x1f 0x2b
|
|
0xb1 0x7f 0x14 0x2b
|
|
0xd5 0x2 0x57 0x2b
|
|
0x38 0x4b 0x5a 0x2b
|
|
0x9b 0x7f 0x5d 0x2b
|
|
0x62 0x0 0x84 0x2b
|
|
0xc5 0x54 0x87 0x2b
|
|
0x28 0x7d 0x8a 0x2b
|
|
|
|
# CHECK: adds x3, x5, x7
|
|
# CHECK: cmn x3, x5
|
|
# CHECK: adds x20, xzr, x4
|
|
# CHECK: adds x4, x6, xzr
|
|
# CHECK: adds x11, x13, x15
|
|
# CHECK: adds x9, x3, xzr, lsl #10
|
|
# CHECK: adds x17, x29, x20, lsl #63
|
|
# CHECK: adds x21, x22, x23, lsr #0
|
|
# CHECK: adds x24, x25, x26, lsr #18
|
|
# CHECK: adds x27, x28, x29, lsr #63
|
|
# CHECK: adds x2, x3, x4, asr #0
|
|
# CHECK: adds x5, x6, x7, asr #21
|
|
# CHECK: adds x8, x9, x10, asr #63
|
|
0xa3 0x0 0x7 0xab
|
|
0x7f 0x0 0x5 0xab
|
|
0xf4 0x3 0x4 0xab
|
|
0xc4 0x0 0x1f 0xab
|
|
0xab 0x1 0xf 0xab
|
|
0x69 0x28 0x1f 0xab
|
|
0xb1 0xff 0x14 0xab
|
|
0xd5 0x2 0x57 0xab
|
|
0x38 0x4b 0x5a 0xab
|
|
0x9b 0xff 0x5d 0xab
|
|
0x62 0x0 0x84 0xab
|
|
0xc5 0x54 0x87 0xab
|
|
0x28 0xfd 0x8a 0xab
|
|
|
|
# CHECK: sub w3, w5, w7
|
|
# CHECK: sub wzr, w3, w5
|
|
# CHECK: sub w20, wzr, w4
|
|
# CHECK: sub w4, w6, wzr
|
|
# CHECK: sub w11, w13, w15
|
|
# CHECK: sub w9, w3, wzr, lsl #10
|
|
# CHECK: sub w17, w29, w20, lsl #31
|
|
# CHECK: sub w21, w22, w23, lsr #0
|
|
# CHECK: sub w24, w25, w26, lsr #18
|
|
# CHECK: sub w27, w28, w29, lsr #31
|
|
# CHECK: sub w2, w3, w4, asr #0
|
|
# CHECK: sub w5, w6, w7, asr #21
|
|
# CHECK: sub w8, w9, w10, asr #31
|
|
0xa3 0x0 0x7 0x4b
|
|
0x7f 0x0 0x5 0x4b
|
|
0xf4 0x3 0x4 0x4b
|
|
0xc4 0x0 0x1f 0x4b
|
|
0xab 0x1 0xf 0x4b
|
|
0x69 0x28 0x1f 0x4b
|
|
0xb1 0x7f 0x14 0x4b
|
|
0xd5 0x2 0x57 0x4b
|
|
0x38 0x4b 0x5a 0x4b
|
|
0x9b 0x7f 0x5d 0x4b
|
|
0x62 0x0 0x84 0x4b
|
|
0xc5 0x54 0x87 0x4b
|
|
0x28 0x7d 0x8a 0x4b
|
|
|
|
# CHECK: sub x3, x5, x7
|
|
# CHECK: sub xzr, x3, x5
|
|
# CHECK: sub x20, xzr, x4
|
|
# CHECK: sub x4, x6, xzr
|
|
# CHECK: sub x11, x13, x15
|
|
# CHECK: sub x9, x3, xzr, lsl #10
|
|
# CHECK: sub x17, x29, x20, lsl #63
|
|
# CHECK: sub x21, x22, x23, lsr #0
|
|
# CHECK: sub x24, x25, x26, lsr #18
|
|
# CHECK: sub x27, x28, x29, lsr #63
|
|
# CHECK: sub x2, x3, x4, asr #0
|
|
# CHECK: sub x5, x6, x7, asr #21
|
|
# CHECK: sub x8, x9, x10, asr #63
|
|
0xa3 0x0 0x7 0xcb
|
|
0x7f 0x0 0x5 0xcb
|
|
0xf4 0x3 0x4 0xcb
|
|
0xc4 0x0 0x1f 0xcb
|
|
0xab 0x1 0xf 0xcb
|
|
0x69 0x28 0x1f 0xcb
|
|
0xb1 0xff 0x14 0xcb
|
|
0xd5 0x2 0x57 0xcb
|
|
0x38 0x4b 0x5a 0xcb
|
|
0x9b 0xff 0x5d 0xcb
|
|
0x62 0x0 0x84 0xcb
|
|
0xc5 0x54 0x87 0xcb
|
|
0x28 0xfd 0x8a 0xcb
|
|
|
|
# CHECK: subs w3, w5, w7
|
|
# CHECK: cmp w3, w5
|
|
# CHECK: subs w20, wzr, w4
|
|
# CHECK: subs w4, w6, wzr
|
|
# CHECK: subs w11, w13, w15
|
|
# CHECK: subs w9, w3, wzr, lsl #10
|
|
# CHECK: subs w17, w29, w20, lsl #31
|
|
# CHECK: subs w21, w22, w23, lsr #0
|
|
# CHECK: subs w24, w25, w26, lsr #18
|
|
# CHECK: subs w27, w28, w29, lsr #31
|
|
# CHECK: subs w2, w3, w4, asr #0
|
|
# CHECK: subs w5, w6, w7, asr #21
|
|
# CHECK: subs w8, w9, w10, asr #31
|
|
0xa3 0x0 0x7 0x6b
|
|
0x7f 0x0 0x5 0x6b
|
|
0xf4 0x3 0x4 0x6b
|
|
0xc4 0x0 0x1f 0x6b
|
|
0xab 0x1 0xf 0x6b
|
|
0x69 0x28 0x1f 0x6b
|
|
0xb1 0x7f 0x14 0x6b
|
|
0xd5 0x2 0x57 0x6b
|
|
0x38 0x4b 0x5a 0x6b
|
|
0x9b 0x7f 0x5d 0x6b
|
|
0x62 0x0 0x84 0x6b
|
|
0xc5 0x54 0x87 0x6b
|
|
0x28 0x7d 0x8a 0x6b
|
|
|
|
# CHECK: subs x3, x5, x7
|
|
# CHECK: cmp x3, x5
|
|
# CHECK: subs x20, xzr, x4
|
|
# CHECK: subs x4, x6, xzr
|
|
# CHECK: subs x11, x13, x15
|
|
# CHECK: subs x9, x3, xzr, lsl #10
|
|
# CHECK: subs x17, x29, x20, lsl #63
|
|
# CHECK: subs x21, x22, x23, lsr #0
|
|
# CHECK: subs x24, x25, x26, lsr #18
|
|
# CHECK: subs x27, x28, x29, lsr #63
|
|
# CHECK: subs x2, x3, x4, asr #0
|
|
# CHECK: subs x5, x6, x7, asr #21
|
|
# CHECK: subs x8, x9, x10, asr #63
|
|
0xa3 0x0 0x7 0xeb
|
|
0x7f 0x0 0x5 0xeb
|
|
0xf4 0x3 0x4 0xeb
|
|
0xc4 0x0 0x1f 0xeb
|
|
0xab 0x1 0xf 0xeb
|
|
0x69 0x28 0x1f 0xeb
|
|
0xb1 0xff 0x14 0xeb
|
|
0xd5 0x2 0x57 0xeb
|
|
0x38 0x4b 0x5a 0xeb
|
|
0x9b 0xff 0x5d 0xeb
|
|
0x62 0x0 0x84 0xeb
|
|
0xc5 0x54 0x87 0xeb
|
|
0x28 0xfd 0x8a 0xeb
|
|
|
|
# CHECK: cmn w0, w3
|
|
# CHECK: cmn wzr, w4
|
|
# CHECK: cmn w5, wzr
|
|
# CHECK: cmn w6, w7
|
|
# CHECK: cmn w8, w9, lsl #15
|
|
# CHECK: cmn w10, w11, lsl #31
|
|
# CHECK: cmn w12, w13, lsr #0
|
|
# CHECK: cmn w14, w15, lsr #21
|
|
# CHECK: cmn w16, w17, lsr #31
|
|
# CHECK: cmn w18, w19, asr #0
|
|
# CHECK: cmn w20, w21, asr #22
|
|
# CHECK: cmn w22, w23, asr #31
|
|
0x1f 0x0 0x3 0x2b
|
|
0xff 0x3 0x4 0x2b
|
|
0xbf 0x0 0x1f 0x2b
|
|
0xdf 0x0 0x7 0x2b
|
|
0x1f 0x3d 0x9 0x2b
|
|
0x5f 0x7d 0xb 0x2b
|
|
0x9f 0x1 0x4d 0x2b
|
|
0xdf 0x55 0x4f 0x2b
|
|
0x1f 0x7e 0x51 0x2b
|
|
0x5f 0x2 0x93 0x2b
|
|
0x9f 0x5a 0x95 0x2b
|
|
0xdf 0x7e 0x97 0x2b
|
|
|
|
# CHECK: cmn x0, x3
|
|
# CHECK: cmn xzr, x4
|
|
# CHECK: cmn x5, xzr
|
|
# CHECK: cmn x6, x7
|
|
# CHECK: cmn x8, x9, lsl #15
|
|
# CHECK: cmn x10, x11, lsl #63
|
|
# CHECK: cmn x12, x13, lsr #0
|
|
# CHECK: cmn x14, x15, lsr #41
|
|
# CHECK: cmn x16, x17, lsr #63
|
|
# CHECK: cmn x18, x19, asr #0
|
|
# CHECK: cmn x20, x21, asr #55
|
|
# CHECK: cmn x22, x23, asr #63
|
|
0x1f 0x0 0x3 0xab
|
|
0xff 0x3 0x4 0xab
|
|
0xbf 0x0 0x1f 0xab
|
|
0xdf 0x0 0x7 0xab
|
|
0x1f 0x3d 0x9 0xab
|
|
0x5f 0xfd 0xb 0xab
|
|
0x9f 0x1 0x4d 0xab
|
|
0xdf 0xa5 0x4f 0xab
|
|
0x1f 0xfe 0x51 0xab
|
|
0x5f 0x2 0x93 0xab
|
|
0x9f 0xde 0x95 0xab
|
|
0xdf 0xfe 0x97 0xab
|
|
|
|
# CHECK: cmp w0, w3
|
|
# CHECK: cmp wzr, w4
|
|
# CHECK: cmp w5, wzr
|
|
# CHECK: cmp w6, w7
|
|
# CHECK: cmp w8, w9, lsl #15
|
|
# CHECK: cmp w10, w11, lsl #31
|
|
# CHECK: cmp w12, w13, lsr #0
|
|
# CHECK: cmp w14, w15, lsr #21
|
|
# CHECK: cmp w16, w17, lsr #31
|
|
# CHECK: cmp w18, w19, asr #0
|
|
# CHECK: cmp w20, w21, asr #22
|
|
# CHECK: cmp w22, w23, asr #31
|
|
0x1f 0x0 0x3 0x6b
|
|
0xff 0x3 0x4 0x6b
|
|
0xbf 0x0 0x1f 0x6b
|
|
0xdf 0x0 0x7 0x6b
|
|
0x1f 0x3d 0x9 0x6b
|
|
0x5f 0x7d 0xb 0x6b
|
|
0x9f 0x1 0x4d 0x6b
|
|
0xdf 0x55 0x4f 0x6b
|
|
0x1f 0x7e 0x51 0x6b
|
|
0x5f 0x2 0x93 0x6b
|
|
0x9f 0x5a 0x95 0x6b
|
|
0xdf 0x7e 0x97 0x6b
|
|
|
|
# CHECK: cmp x0, x3
|
|
# CHECK: cmp xzr, x4
|
|
# CHECK: cmp x5, xzr
|
|
# CHECK: cmp x6, x7
|
|
# CHECK: cmp x8, x9, lsl #15
|
|
# CHECK: cmp x10, x11, lsl #63
|
|
# CHECK: cmp x12, x13, lsr #0
|
|
# CHECK: cmp x14, x15, lsr #41
|
|
# CHECK: cmp x16, x17, lsr #63
|
|
# CHECK: cmp x18, x19, asr #0
|
|
# CHECK: cmp x20, x21, asr #55
|
|
# CHECK: cmp x22, x23, asr #63
|
|
0x1f 0x0 0x3 0xeb
|
|
0xff 0x3 0x4 0xeb
|
|
0xbf 0x0 0x1f 0xeb
|
|
0xdf 0x0 0x7 0xeb
|
|
0x1f 0x3d 0x9 0xeb
|
|
0x5f 0xfd 0xb 0xeb
|
|
0x9f 0x1 0x4d 0xeb
|
|
0xdf 0xa5 0x4f 0xeb
|
|
0x1f 0xfe 0x51 0xeb
|
|
0x5f 0x2 0x93 0xeb
|
|
0x9f 0xde 0x95 0xeb
|
|
0xdf 0xfe 0x97 0xeb
|
|
|
|
# CHECK: sub w29, wzr, w30
|
|
# CHECK: sub w30, wzr, wzr
|
|
# CHECK: sub wzr, wzr, w0
|
|
# CHECK: sub w28, wzr, w27
|
|
# CHECK: sub w26, wzr, w25, lsl #29
|
|
# CHECK: sub w24, wzr, w23, lsl #31
|
|
# CHECK: sub w22, wzr, w21, lsr #0
|
|
# CHECK: sub w20, wzr, w19, lsr #1
|
|
# CHECK: sub w18, wzr, w17, lsr #31
|
|
# CHECK: sub w16, wzr, w15, asr #0
|
|
# CHECK: sub w14, wzr, w13, asr #12
|
|
# CHECK: sub w12, wzr, w11, asr #31
|
|
0xfd 0x3 0x1e 0x4b
|
|
0xfe 0x3 0x1f 0x4b
|
|
0xff 0x3 0x0 0x4b
|
|
0xfc 0x3 0x1b 0x4b
|
|
0xfa 0x77 0x19 0x4b
|
|
0xf8 0x7f 0x17 0x4b
|
|
0xf6 0x3 0x55 0x4b
|
|
0xf4 0x7 0x53 0x4b
|
|
0xf2 0x7f 0x51 0x4b
|
|
0xf0 0x3 0x8f 0x4b
|
|
0xee 0x33 0x8d 0x4b
|
|
0xec 0x7f 0x8b 0x4b
|
|
|
|
# CHECK: sub x29, xzr, x30
|
|
# CHECK: sub x30, xzr, xzr
|
|
# CHECK: sub xzr, xzr, x0
|
|
# CHECK: sub x28, xzr, x27
|
|
# CHECK: sub x26, xzr, x25, lsl #29
|
|
# CHECK: sub x24, xzr, x23, lsl #31
|
|
# CHECK: sub x22, xzr, x21, lsr #0
|
|
# CHECK: sub x20, xzr, x19, lsr #1
|
|
# CHECK: sub x18, xzr, x17, lsr #31
|
|
# CHECK: sub x16, xzr, x15, asr #0
|
|
# CHECK: sub x14, xzr, x13, asr #12
|
|
# CHECK: sub x12, xzr, x11, asr #31
|
|
0xfd 0x3 0x1e 0xcb
|
|
0xfe 0x3 0x1f 0xcb
|
|
0xff 0x3 0x0 0xcb
|
|
0xfc 0x3 0x1b 0xcb
|
|
0xfa 0x77 0x19 0xcb
|
|
0xf8 0x7f 0x17 0xcb
|
|
0xf6 0x3 0x55 0xcb
|
|
0xf4 0x7 0x53 0xcb
|
|
0xf2 0x7f 0x51 0xcb
|
|
0xf0 0x3 0x8f 0xcb
|
|
0xee 0x33 0x8d 0xcb
|
|
0xec 0x7f 0x8b 0xcb
|
|
|
|
# CHECK: subs w29, wzr, w30
|
|
# CHECK: subs w30, wzr, wzr
|
|
# CHECK: cmp wzr, w0
|
|
# CHECK: subs w28, wzr, w27
|
|
# CHECK: subs w26, wzr, w25, lsl #29
|
|
# CHECK: subs w24, wzr, w23, lsl #31
|
|
# CHECK: subs w22, wzr, w21, lsr #0
|
|
# CHECK: subs w20, wzr, w19, lsr #1
|
|
# CHECK: subs w18, wzr, w17, lsr #31
|
|
# CHECK: subs w16, wzr, w15, asr #0
|
|
# CHECK: subs w14, wzr, w13, asr #12
|
|
# CHECK: subs w12, wzr, w11, asr #31
|
|
0xfd 0x3 0x1e 0x6b
|
|
0xfe 0x3 0x1f 0x6b
|
|
0xff 0x3 0x0 0x6b
|
|
0xfc 0x3 0x1b 0x6b
|
|
0xfa 0x77 0x19 0x6b
|
|
0xf8 0x7f 0x17 0x6b
|
|
0xf6 0x3 0x55 0x6b
|
|
0xf4 0x7 0x53 0x6b
|
|
0xf2 0x7f 0x51 0x6b
|
|
0xf0 0x3 0x8f 0x6b
|
|
0xee 0x33 0x8d 0x6b
|
|
0xec 0x7f 0x8b 0x6b
|
|
|
|
# CHECK: subs x29, xzr, x30
|
|
# CHECK: subs x30, xzr, xzr
|
|
# CHECK: cmp xzr, x0
|
|
# CHECK: subs x28, xzr, x27
|
|
# CHECK: subs x26, xzr, x25, lsl #29
|
|
# CHECK: subs x24, xzr, x23, lsl #31
|
|
# CHECK: subs x22, xzr, x21, lsr #0
|
|
# CHECK: subs x20, xzr, x19, lsr #1
|
|
# CHECK: subs x18, xzr, x17, lsr #31
|
|
# CHECK: subs x16, xzr, x15, asr #0
|
|
# CHECK: subs x14, xzr, x13, asr #12
|
|
# CHECK: subs x12, xzr, x11, asr #31
|
|
0xfd 0x3 0x1e 0xeb
|
|
0xfe 0x3 0x1f 0xeb
|
|
0xff 0x3 0x0 0xeb
|
|
0xfc 0x3 0x1b 0xeb
|
|
0xfa 0x77 0x19 0xeb
|
|
0xf8 0x7f 0x17 0xeb
|
|
0xf6 0x3 0x55 0xeb
|
|
0xf4 0x7 0x53 0xeb
|
|
0xf2 0x7f 0x51 0xeb
|
|
0xf0 0x3 0x8f 0xeb
|
|
0xee 0x33 0x8d 0xeb
|
|
0xec 0x7f 0x8b 0xeb
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Add-subtract (shifted register)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: adc w29, w27, w25
|
|
# CHECK: adc wzr, w3, w4
|
|
# CHECK: adc w9, wzr, w10
|
|
# CHECK: adc w20, w0, wzr
|
|
0x7d 0x3 0x19 0x1a
|
|
0x7f 0x0 0x4 0x1a
|
|
0xe9 0x3 0xa 0x1a
|
|
0x14 0x0 0x1f 0x1a
|
|
|
|
# CHECK: adc x29, x27, x25
|
|
# CHECK: adc xzr, x3, x4
|
|
# CHECK: adc x9, xzr, x10
|
|
# CHECK: adc x20, x0, xzr
|
|
0x7d 0x3 0x19 0x9a
|
|
0x7f 0x0 0x4 0x9a
|
|
0xe9 0x3 0xa 0x9a
|
|
0x14 0x0 0x1f 0x9a
|
|
|
|
# CHECK: adcs w29, w27, w25
|
|
# CHECK: adcs wzr, w3, w4
|
|
# CHECK: adcs w9, wzr, w10
|
|
# CHECK: adcs w20, w0, wzr
|
|
0x7d 0x3 0x19 0x3a
|
|
0x7f 0x0 0x4 0x3a
|
|
0xe9 0x3 0xa 0x3a
|
|
0x14 0x0 0x1f 0x3a
|
|
|
|
# CHECK: adcs x29, x27, x25
|
|
# CHECK: adcs xzr, x3, x4
|
|
# CHECK: adcs x9, xzr, x10
|
|
# CHECK: adcs x20, x0, xzr
|
|
0x7d 0x3 0x19 0xba
|
|
0x7f 0x0 0x4 0xba
|
|
0xe9 0x3 0xa 0xba
|
|
0x14 0x0 0x1f 0xba
|
|
|
|
# CHECK: sbc w29, w27, w25
|
|
# CHECK: sbc wzr, w3, w4
|
|
# CHECK: ngc w9, w10
|
|
# CHECK: sbc w20, w0, wzr
|
|
0x7d 0x3 0x19 0x5a
|
|
0x7f 0x0 0x4 0x5a
|
|
0xe9 0x3 0xa 0x5a
|
|
0x14 0x0 0x1f 0x5a
|
|
|
|
# CHECK: sbc x29, x27, x25
|
|
# CHECK: sbc xzr, x3, x4
|
|
# CHECK: ngc x9, x10
|
|
# CHECK: sbc x20, x0, xzr
|
|
0x7d 0x3 0x19 0xda
|
|
0x7f 0x0 0x4 0xda
|
|
0xe9 0x3 0xa 0xda
|
|
0x14 0x0 0x1f 0xda
|
|
|
|
# CHECK: sbcs w29, w27, w25
|
|
# CHECK: sbcs wzr, w3, w4
|
|
# CHECK: ngcs w9, w10
|
|
# CHECK: sbcs w20, w0, wzr
|
|
0x7d 0x3 0x19 0x7a
|
|
0x7f 0x0 0x4 0x7a
|
|
0xe9 0x3 0xa 0x7a
|
|
0x14 0x0 0x1f 0x7a
|
|
|
|
# CHECK: sbcs x29, x27, x25
|
|
# CHECK: sbcs xzr, x3, x4
|
|
# CHECK: ngcs x9, x10
|
|
# CHECK: sbcs x20, x0, xzr
|
|
0x7d 0x3 0x19 0xfa
|
|
0x7f 0x0 0x4 0xfa
|
|
0xe9 0x3 0xa 0xfa
|
|
0x14 0x0 0x1f 0xfa
|
|
|
|
# CHECK: ngc w3, w12
|
|
# CHECK: ngc wzr, w9
|
|
# CHECK: ngc w23, wzr
|
|
0xe3 0x3 0xc 0x5a
|
|
0xff 0x3 0x9 0x5a
|
|
0xf7 0x3 0x1f 0x5a
|
|
|
|
# CHECK: ngc x29, x30
|
|
# CHECK: ngc xzr, x0
|
|
# CHECK: ngc x0, xzr
|
|
0xfd 0x3 0x1e 0xda
|
|
0xff 0x3 0x0 0xda
|
|
0xe0 0x3 0x1f 0xda
|
|
|
|
# CHECK: ngcs w3, w12
|
|
# CHECK: ngcs wzr, w9
|
|
# CHECK: ngcs w23, wzr
|
|
0xe3 0x3 0xc 0x7a
|
|
0xff 0x3 0x9 0x7a
|
|
0xf7 0x3 0x1f 0x7a
|
|
|
|
# CHECK: ngcs x29, x30
|
|
# CHECK: ngcs xzr, x0
|
|
# CHECK: ngcs x0, xzr
|
|
0xfd 0x3 0x1e 0xfa
|
|
0xff 0x3 0x0 0xfa
|
|
0xe0 0x3 0x1f 0xfa
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Compare and branch (immediate)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: sbfx x1, x2, #3, #2
|
|
# CHECK: asr x3, x4, #63
|
|
# CHECK: asr wzr, wzr, #31
|
|
# CHECK: sbfx w12, w9, #0, #1
|
|
0x41 0x10 0x43 0x93
|
|
0x83 0xfc 0x7f 0x93
|
|
0xff 0x7f 0x1f 0x13
|
|
0x2c 0x1 0x0 0x13
|
|
|
|
# CHECK: ubfiz x4, x5, #52, #11
|
|
# CHECK: ubfx xzr, x4, #0, #1
|
|
# CHECK: ubfiz x4, xzr, #1, #6
|
|
# CHECK: lsr x5, x6, #12
|
|
0xa4 0x28 0x4c 0xd3
|
|
0x9f 0x0 0x40 0xd3
|
|
0xe4 0x17 0x7f 0xd3
|
|
0xc5 0xfc 0x4c 0xd3
|
|
|
|
# CHECK: bfi x4, x5, #52, #11
|
|
# CHECK: bfxil xzr, x4, #0, #1
|
|
# CHECK: bfi x4, xzr, #1, #6
|
|
# CHECK: bfxil x5, x6, #12, #52
|
|
0xa4 0x28 0x4c 0xb3
|
|
0x9f 0x0 0x40 0xb3
|
|
0xe4 0x17 0x7f 0xb3
|
|
0xc5 0xfc 0x4c 0xb3
|
|
|
|
# CHECK: sxtb w1, w2
|
|
# CHECK: sxtb xzr, w3
|
|
# CHECK: sxth w9, w10
|
|
# CHECK: sxth x0, w1
|
|
# CHECK: sxtw x3, w30
|
|
0x41 0x1c 0x0 0x13
|
|
0x7f 0x1c 0x40 0x93
|
|
0x49 0x3d 0x0 0x13
|
|
0x20 0x3c 0x40 0x93
|
|
0xc3 0x7f 0x40 0x93
|
|
|
|
# CHECK: uxtb w1, w2
|
|
# CHECK: uxth w9, w10
|
|
# CHECK: ubfx x3, x30, #0, #32
|
|
0x41 0x1c 0x0 0x53
|
|
0x49 0x3d 0x0 0x53
|
|
0xc3 0x7f 0x40 0xd3
|
|
|
|
# CHECK: asr w3, w2, #0
|
|
# CHECK: asr w9, w10, #31
|
|
# CHECK: asr x20, x21, #63
|
|
# CHECK: asr w1, wzr, #3
|
|
0x43 0x7c 0x0 0x13
|
|
0x49 0x7d 0x1f 0x13
|
|
0xb4 0xfe 0x7f 0x93
|
|
0xe1 0x7f 0x3 0x13
|
|
|
|
# CHECK: lsr w3, w2, #0
|
|
# CHECK: lsr w9, w10, #31
|
|
# CHECK: lsr x20, x21, #63
|
|
# CHECK: lsr wzr, wzr, #3
|
|
0x43 0x7c 0x0 0x53
|
|
0x49 0x7d 0x1f 0x53
|
|
0xb4 0xfe 0x7f 0xd3
|
|
0xff 0x7f 0x3 0x53
|
|
|
|
# CHECK: lsr w3, w2, #0
|
|
# CHECK: lsl w9, w10, #31
|
|
# CHECK: lsl x20, x21, #63
|
|
# CHECK: lsl w1, wzr, #3
|
|
0x43 0x7c 0x0 0x53
|
|
0x49 0x1 0x1 0x53
|
|
0xb4 0x2 0x41 0xd3
|
|
0xe1 0x73 0x1d 0x53
|
|
|
|
# CHECK: sbfx w9, w10, #0, #1
|
|
# CHECK: sbfiz x2, x3, #63, #1
|
|
# CHECK: asr x19, x20, #0
|
|
# CHECK: sbfiz x9, x10, #5, #59
|
|
# CHECK: asr w9, w10, #0
|
|
# CHECK: sbfiz w11, w12, #31, #1
|
|
# CHECK: sbfiz w13, w14, #29, #3
|
|
# CHECK: sbfiz xzr, xzr, #10, #11
|
|
0x49 0x1 0x0 0x13
|
|
0x62 0x0 0x41 0x93
|
|
0x93 0xfe 0x40 0x93
|
|
0x49 0xe9 0x7b 0x93
|
|
0x49 0x7d 0x0 0x13
|
|
0x8b 0x1 0x1 0x13
|
|
0xcd 0x9 0x3 0x13
|
|
0xff 0x2b 0x76 0x93
|
|
|
|
# CHECK: sbfx w9, w10, #0, #1
|
|
# CHECK: asr x2, x3, #63
|
|
# CHECK: asr x19, x20, #0
|
|
# CHECK: asr x9, x10, #5
|
|
# CHECK: asr w9, w10, #0
|
|
# CHECK: asr w11, w12, #31
|
|
# CHECK: asr w13, w14, #29
|
|
# CHECK: sbfx xzr, xzr, #10, #11
|
|
0x49 0x1 0x0 0x13
|
|
0x62 0xfc 0x7f 0x93
|
|
0x93 0xfe 0x40 0x93
|
|
0x49 0xfd 0x45 0x93
|
|
0x49 0x7d 0x0 0x13
|
|
0x8b 0x7d 0x1f 0x13
|
|
0xcd 0x7d 0x1d 0x13
|
|
0xff 0x53 0x4a 0x93
|
|
|
|
# CHECK: bfxil w9, w10, #0, #1
|
|
# CHECK: bfi x2, x3, #63, #1
|
|
# CHECK: bfxil x19, x20, #0, #64
|
|
# CHECK: bfi x9, x10, #5, #59
|
|
# CHECK: bfxil w9, w10, #0, #32
|
|
# CHECK: bfi w11, w12, #31, #1
|
|
# CHECK: bfi w13, w14, #29, #3
|
|
# CHECK: bfi xzr, xzr, #10, #11
|
|
0x49 0x1 0x0 0x33
|
|
0x62 0x0 0x41 0xb3
|
|
0x93 0xfe 0x40 0xb3
|
|
0x49 0xe9 0x7b 0xb3
|
|
0x49 0x7d 0x0 0x33
|
|
0x8b 0x1 0x1 0x33
|
|
0xcd 0x9 0x3 0x33
|
|
0xff 0x2b 0x76 0xb3
|
|
|
|
# CHECK: bfxil w9, w10, #0, #1
|
|
# CHECK: bfxil x2, x3, #63, #1
|
|
# CHECK: bfxil x19, x20, #0, #64
|
|
# CHECK: bfxil x9, x10, #5, #59
|
|
# CHECK: bfxil w9, w10, #0, #32
|
|
# CHECK: bfxil w11, w12, #31, #1
|
|
# CHECK: bfxil w13, w14, #29, #3
|
|
# CHECK: bfxil xzr, xzr, #10, #11
|
|
0x49 0x1 0x0 0x33
|
|
0x62 0xfc 0x7f 0xb3
|
|
0x93 0xfe 0x40 0xb3
|
|
0x49 0xfd 0x45 0xb3
|
|
0x49 0x7d 0x0 0x33
|
|
0x8b 0x7d 0x1f 0x33
|
|
0xcd 0x7d 0x1d 0x33
|
|
0xff 0x53 0x4a 0xb3
|
|
|
|
# CHECK: ubfx w9, w10, #0, #1
|
|
# CHECK: lsl x2, x3, #63
|
|
# CHECK: lsr x19, x20, #0
|
|
# CHECK: lsl x9, x10, #5
|
|
# CHECK: lsr w9, w10, #0
|
|
# CHECK: lsl w11, w12, #31
|
|
# CHECK: lsl w13, w14, #29
|
|
# CHECK: ubfiz xzr, xzr, #10, #11
|
|
0x49 0x1 0x0 0x53
|
|
0x62 0x0 0x41 0xd3
|
|
0x93 0xfe 0x40 0xd3
|
|
0x49 0xe9 0x7b 0xd3
|
|
0x49 0x7d 0x0 0x53
|
|
0x8b 0x1 0x1 0x53
|
|
0xcd 0x9 0x3 0x53
|
|
0xff 0x2b 0x76 0xd3
|
|
|
|
# CHECK: ubfx w9, w10, #0, #1
|
|
# CHECK: lsr x2, x3, #63
|
|
# CHECK: lsr x19, x20, #0
|
|
# CHECK: lsr x9, x10, #5
|
|
# CHECK: lsr w9, w10, #0
|
|
# CHECK: lsr w11, w12, #31
|
|
# CHECK: lsr w13, w14, #29
|
|
# CHECK: ubfx xzr, xzr, #10, #11
|
|
0x49 0x1 0x0 0x53
|
|
0x62 0xfc 0x7f 0xd3
|
|
0x93 0xfe 0x40 0xd3
|
|
0x49 0xfd 0x45 0xd3
|
|
0x49 0x7d 0x0 0x53
|
|
0x8b 0x7d 0x1f 0x53
|
|
0xcd 0x7d 0x1d 0x53
|
|
0xff 0x53 0x4a 0xd3
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Compare and branch (immediate)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: cbz w5, #4
|
|
# CHECK: cbz x5, #0
|
|
# CHECK: cbnz x2, #-4
|
|
# CHECK: cbnz x26, #1048572
|
|
0x25 0x0 0x0 0x34
|
|
0x05 0x0 0x0 0xb4
|
|
0xe2 0xff 0xff 0xb5
|
|
0xfa 0xff 0x7f 0xb5
|
|
|
|
# CHECK: cbz wzr, #0
|
|
# CHECK: cbnz xzr, #0
|
|
0x1f 0x0 0x0 0x34
|
|
0x1f 0x0 0x0 0xb5
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Conditional branch (immediate)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: b.ne #4
|
|
# CHECK: b.ge #1048572
|
|
# CHECK: b.ge #-4
|
|
0x21 0x00 0x00 0x54
|
|
0xea 0xff 0x7f 0x54
|
|
0xea 0xff 0xff 0x54
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Conditional compare (immediate)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: ccmp w1, #31, #0, eq
|
|
# CHECK: ccmp w3, #0, #15, hs
|
|
# CHECK: ccmp wzr, #15, #13, hs
|
|
0x20 0x08 0x5f 0x7a
|
|
0x6f 0x28 0x40 0x7a
|
|
0xed 0x2b 0x4f 0x7a
|
|
|
|
# CHECK: ccmp x9, #31, #0, le
|
|
# CHECK: ccmp x3, #0, #15, gt
|
|
# CHECK: ccmp xzr, #5, #7, ne
|
|
0x20 0xd9 0x5f 0xfa
|
|
0x6f 0xc8 0x40 0xfa
|
|
0xe7 0x1b 0x45 0xfa
|
|
|
|
# CHECK: ccmn w1, #31, #0, eq
|
|
# CHECK: ccmn w3, #0, #15, hs
|
|
# CHECK: ccmn wzr, #15, #13, hs
|
|
0x20 0x08 0x5f 0x3a
|
|
0x6f 0x28 0x40 0x3a
|
|
0xed 0x2b 0x4f 0x3a
|
|
|
|
# CHECK: ccmn x9, #31, #0, le
|
|
# CHECK: ccmn x3, #0, #15, gt
|
|
# CHECK: ccmn xzr, #5, #7, ne
|
|
0x20 0xd9 0x5f 0xba
|
|
0x6f 0xc8 0x40 0xba
|
|
0xe7 0x1b 0x45 0xba
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Conditional compare (register)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: ccmp w1, wzr, #0, eq
|
|
# CHECK: ccmp w3, w0, #15, hs
|
|
# CHECK: ccmp wzr, w15, #13, hs
|
|
0x20 0x00 0x5f 0x7a
|
|
0x6f 0x20 0x40 0x7a
|
|
0xed 0x23 0x4f 0x7a
|
|
|
|
# CHECK: ccmp x9, xzr, #0, le
|
|
# CHECK: ccmp x3, x0, #15, gt
|
|
# CHECK: ccmp xzr, x5, #7, ne
|
|
0x20 0xd1 0x5f 0xfa
|
|
0x6f 0xc0 0x40 0xfa
|
|
0xe7 0x13 0x45 0xfa
|
|
|
|
# CHECK: ccmn w1, wzr, #0, eq
|
|
# CHECK: ccmn w3, w0, #15, hs
|
|
# CHECK: ccmn wzr, w15, #13, hs
|
|
0x20 0x00 0x5f 0x3a
|
|
0x6f 0x20 0x40 0x3a
|
|
0xed 0x23 0x4f 0x3a
|
|
|
|
# CHECK: ccmn x9, xzr, #0, le
|
|
# CHECK: ccmn x3, x0, #15, gt
|
|
# CHECK: ccmn xzr, x5, #7, ne
|
|
0x20 0xd1 0x5f 0xba
|
|
0x6f 0xc0 0x40 0xba
|
|
0xe7 0x13 0x45 0xba
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Conditional branch (immediate)
|
|
#------------------------------------------------------------------------------
|
|
# CHECK: csel w1, w0, w19, ne
|
|
# CHECK: csel wzr, w5, w9, eq
|
|
# CHECK: csel w9, wzr, w30, gt
|
|
# CHECK: csel w1, w28, wzr, mi
|
|
# CHECK: csel x19, x23, x29, lt
|
|
# CHECK: csel xzr, x3, x4, ge
|
|
# CHECK: csel x5, xzr, x6, hs
|
|
# CHECK: csel x7, x8, xzr, lo
|
|
0x1 0x10 0x93 0x1a
|
|
0xbf 0x0 0x89 0x1a
|
|
0xe9 0xc3 0x9e 0x1a
|
|
0x81 0x43 0x9f 0x1a
|
|
0xf3 0xb2 0x9d 0x9a
|
|
0x7f 0xa0 0x84 0x9a
|
|
0xe5 0x23 0x86 0x9a
|
|
0x7 0x31 0x9f 0x9a
|
|
|
|
# CHECK: csinc w1, w0, w19, ne
|
|
# CHECK: csinc wzr, w5, w9, eq
|
|
# CHECK: csinc w9, wzr, w30, gt
|
|
# CHECK: csinc w1, w28, wzr, mi
|
|
# CHECK: csinc x19, x23, x29, lt
|
|
# CHECK: csinc xzr, x3, x4, ge
|
|
# CHECK: csinc x5, xzr, x6, hs
|
|
# CHECK: csinc x7, x8, xzr, lo
|
|
0x1 0x14 0x93 0x1a
|
|
0xbf 0x4 0x89 0x1a
|
|
0xe9 0xc7 0x9e 0x1a
|
|
0x81 0x47 0x9f 0x1a
|
|
0xf3 0xb6 0x9d 0x9a
|
|
0x7f 0xa4 0x84 0x9a
|
|
0xe5 0x27 0x86 0x9a
|
|
0x7 0x35 0x9f 0x9a
|
|
|
|
# CHECK: csinv w1, w0, w19, ne
|
|
# CHECK: csinv wzr, w5, w9, eq
|
|
# CHECK: csinv w9, wzr, w30, gt
|
|
# CHECK: csinv w1, w28, wzr, mi
|
|
# CHECK: csinv x19, x23, x29, lt
|
|
# CHECK: csinv xzr, x3, x4, ge
|
|
# CHECK: csinv x5, xzr, x6, hs
|
|
# CHECK: csinv x7, x8, xzr, lo
|
|
0x1 0x10 0x93 0x5a
|
|
0xbf 0x0 0x89 0x5a
|
|
0xe9 0xc3 0x9e 0x5a
|
|
0x81 0x43 0x9f 0x5a
|
|
0xf3 0xb2 0x9d 0xda
|
|
0x7f 0xa0 0x84 0xda
|
|
0xe5 0x23 0x86 0xda
|
|
0x7 0x31 0x9f 0xda
|
|
|
|
# CHECK: csneg w1, w0, w19, ne
|
|
# CHECK: csneg wzr, w5, w9, eq
|
|
# CHECK: csneg w9, wzr, w30, gt
|
|
# CHECK: csneg w1, w28, wzr, mi
|
|
# CHECK: csneg x19, x23, x29, lt
|
|
# CHECK: csneg xzr, x3, x4, ge
|
|
# CHECK: csneg x5, xzr, x6, hs
|
|
# CHECK: csneg x7, x8, xzr, lo
|
|
0x1 0x14 0x93 0x5a
|
|
0xbf 0x4 0x89 0x5a
|
|
0xe9 0xc7 0x9e 0x5a
|
|
0x81 0x47 0x9f 0x5a
|
|
0xf3 0xb6 0x9d 0xda
|
|
0x7f 0xa4 0x84 0xda
|
|
0xe5 0x27 0x86 0xda
|
|
0x7 0x35 0x9f 0xda
|
|
|
|
# CHECK: csinc w3, wzr, wzr, ne
|
|
# CHECK: csinc x9, xzr, xzr, mi
|
|
# CHECK: csinv w20, wzr, wzr, eq
|
|
# CHECK: csinv x30, xzr, xzr, lt
|
|
0xe3 0x17 0x9f 0x1a
|
|
0xe9 0x47 0x9f 0x9a
|
|
0xf4 0x3 0x9f 0x5a
|
|
0xfe 0xb3 0x9f 0xda
|
|
|
|
# CHECK: csinc w3, w5, w5, le
|
|
# CHECK: csinc wzr, w4, w4, gt
|
|
# CHECK: csinc w9, wzr, wzr, ge
|
|
# CHECK: csinc x3, x5, x5, le
|
|
# CHECK: csinc xzr, x4, x4, gt
|
|
# CHECK: csinc x9, xzr, xzr, ge
|
|
0xa3 0xd4 0x85 0x1a
|
|
0x9f 0xc4 0x84 0x1a
|
|
0xe9 0xa7 0x9f 0x1a
|
|
0xa3 0xd4 0x85 0x9a
|
|
0x9f 0xc4 0x84 0x9a
|
|
0xe9 0xa7 0x9f 0x9a
|
|
|
|
# CHECK: csinv w3, w5, w5, le
|
|
# CHECK: csinv wzr, w4, w4, gt
|
|
# CHECK: csinv w9, wzr, wzr, ge
|
|
# CHECK: csinv x3, x5, x5, le
|
|
# CHECK: csinv xzr, x4, x4, gt
|
|
# CHECK: csinv x9, xzr, xzr, ge
|
|
0xa3 0xd0 0x85 0x5a
|
|
0x9f 0xc0 0x84 0x5a
|
|
0xe9 0xa3 0x9f 0x5a
|
|
0xa3 0xd0 0x85 0xda
|
|
0x9f 0xc0 0x84 0xda
|
|
0xe9 0xa3 0x9f 0xda
|
|
|
|
# CHECK: csneg w3, w5, w5, le
|
|
# CHECK: csneg wzr, w4, w4, gt
|
|
# CHECK: csneg w9, wzr, wzr, ge
|
|
# CHECK: csneg x3, x5, x5, le
|
|
# CHECK: csneg xzr, x4, x4, gt
|
|
# CHECK: csneg x9, xzr, xzr, ge
|
|
0xa3 0xd4 0x85 0x5a
|
|
0x9f 0xc4 0x84 0x5a
|
|
0xe9 0xa7 0x9f 0x5a
|
|
0xa3 0xd4 0x85 0xda
|
|
0x9f 0xc4 0x84 0xda
|
|
0xe9 0xa7 0x9f 0xda
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Data-processing (1 source)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: rbit w0, w7
|
|
# CHECK: rbit x18, x3
|
|
# CHECK: rev16 w17, w1
|
|
# CHECK: rev16 x5, x2
|
|
# CHECK: rev w18, w0
|
|
# CHECK: rev32 x20, x1
|
|
0xe0 0x00 0xc0 0x5a
|
|
0x72 0x00 0xc0 0xda
|
|
0x31 0x04 0xc0 0x5a
|
|
0x45 0x04 0xc0 0xda
|
|
0x12 0x08 0xc0 0x5a
|
|
0x34 0x08 0xc0 0xda
|
|
|
|
# CHECK: rev x22, x2
|
|
# CHECK: clz w24, w3
|
|
# CHECK: clz x26, x4
|
|
# CHECK: cls w3, w5
|
|
# CHECK: cls x20, x5
|
|
0x56 0x0c 0xc0 0xda
|
|
0x78 0x10 0xc0 0x5a
|
|
0x9a 0x10 0xc0 0xda
|
|
0xa3 0x14 0xc0 0x5a
|
|
0xb4 0x14 0xc0 0xda
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Data-processing (2 source)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: crc32b w5, w7, w20
|
|
# CHECK: crc32h w28, wzr, w30
|
|
# CHECK: crc32w w0, w1, w2
|
|
# CHECK: crc32x w7, w9, x20
|
|
# CHECK: crc32cb w9, w5, w4
|
|
# CHECK: crc32ch w13, w17, w25
|
|
# CHECK: crc32cw wzr, w3, w5
|
|
# CHECK: crc32cx w18, w16, xzr
|
|
0xe5 0x40 0xd4 0x1a
|
|
0xfc 0x47 0xde 0x1a
|
|
0x20 0x48 0xc2 0x1a
|
|
0x27 0x4d 0xd4 0x9a
|
|
0xa9 0x50 0xc4 0x1a
|
|
0x2d 0x56 0xd9 0x1a
|
|
0x7f 0x58 0xc5 0x1a
|
|
0x12 0x5e 0xdf 0x9a
|
|
|
|
# CHECK: udiv w0, w7, w10
|
|
# CHECK: udiv x9, x22, x4
|
|
# CHECK: sdiv w12, w21, w0
|
|
# CHECK: sdiv x13, x2, x1
|
|
# CHECK: lsl w11, w12, w13
|
|
# CHECK: lsl x14, x15, x16
|
|
# CHECK: lsr w17, w18, w19
|
|
# CHECK: lsr x20, x21, x22
|
|
# CHECK: asr w23, w24, w25
|
|
# CHECK: asr x26, x27, x28
|
|
# CHECK: ror w0, w1, w2
|
|
# CHECK: ror x3, x4, x5
|
|
0xe0 0x08 0xca 0x1a
|
|
0xc9 0x0a 0xc4 0x9a
|
|
0xac 0x0e 0xc0 0x1a
|
|
0x4d 0x0c 0xc1 0x9a
|
|
0x8b 0x21 0xcd 0x1a
|
|
0xee 0x21 0xd0 0x9a
|
|
0x51 0x26 0xd3 0x1a
|
|
0xb4 0x26 0xd6 0x9a
|
|
0x17 0x2b 0xd9 0x1a
|
|
0x7a 0x2b 0xdc 0x9a
|
|
0x20 0x2c 0xc2 0x1a
|
|
0x83 0x2c 0xc5 0x9a
|
|
|
|
# CHECK: lsl w6, w7, w8
|
|
# CHECK: lsl x9, x10, x11
|
|
# CHECK: lsr w12, w13, w14
|
|
# CHECK: lsr x15, x16, x17
|
|
# CHECK: asr w18, w19, w20
|
|
# CHECK: asr x21, x22, x23
|
|
# CHECK: ror w24, w25, w26
|
|
# CHECK: ror x27, x28, x29
|
|
0xe6 0x20 0xc8 0x1a
|
|
0x49 0x21 0xcb 0x9a
|
|
0xac 0x25 0xce 0x1a
|
|
0x0f 0x26 0xd1 0x9a
|
|
0x72 0x2a 0xd4 0x1a
|
|
0xd5 0x2a 0xd7 0x9a
|
|
0x38 0x2f 0xda 0x1a
|
|
0x9b 0x2f 0xdd 0x9a
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Data-processing (3 sources)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# First check some non-canonical encodings where Ra is not 0b11111 (only umulh
|
|
# and smulh have them).
|
|
|
|
# CHECK: smulh x30, x29, x28
|
|
# CHECK: smulh xzr, x27, x26
|
|
# CHECK: umulh x30, x29, x28
|
|
# CHECK: umulh x23, x30, xzr
|
|
0xbe 0x73 0x5c 0x9b
|
|
0x7f 0x2f 0x5a 0x9b
|
|
0xbe 0x3f 0xdc 0x9b
|
|
0xd7 0x77 0xdf 0x9b
|
|
|
|
# Now onto the boilerplate stuff
|
|
|
|
# CHECK: madd w1, w3, w7, w4
|
|
# CHECK: madd wzr, w0, w9, w11
|
|
# CHECK: madd w13, wzr, w4, w4
|
|
# CHECK: madd w19, w30, wzr, w29
|
|
# CHECK: mul w4, w5, w6
|
|
0x61 0x10 0x7 0x1b
|
|
0x1f 0x2c 0x9 0x1b
|
|
0xed 0x13 0x4 0x1b
|
|
0xd3 0x77 0x1f 0x1b
|
|
0xa4 0x7c 0x6 0x1b
|
|
|
|
# CHECK: madd x1, x3, x7, x4
|
|
# CHECK: madd xzr, x0, x9, x11
|
|
# CHECK: madd x13, xzr, x4, x4
|
|
# CHECK: madd x19, x30, xzr, x29
|
|
# CHECK: mul x4, x5, x6
|
|
0x61 0x10 0x7 0x9b
|
|
0x1f 0x2c 0x9 0x9b
|
|
0xed 0x13 0x4 0x9b
|
|
0xd3 0x77 0x1f 0x9b
|
|
0xa4 0x7c 0x6 0x9b
|
|
|
|
# CHECK: msub w1, w3, w7, w4
|
|
# CHECK: msub wzr, w0, w9, w11
|
|
# CHECK: msub w13, wzr, w4, w4
|
|
# CHECK: msub w19, w30, wzr, w29
|
|
# CHECK: mneg w4, w5, w6
|
|
0x61 0x90 0x7 0x1b
|
|
0x1f 0xac 0x9 0x1b
|
|
0xed 0x93 0x4 0x1b
|
|
0xd3 0xf7 0x1f 0x1b
|
|
0xa4 0xfc 0x6 0x1b
|
|
|
|
# CHECK: msub x1, x3, x7, x4
|
|
# CHECK: msub xzr, x0, x9, x11
|
|
# CHECK: msub x13, xzr, x4, x4
|
|
# CHECK: msub x19, x30, xzr, x29
|
|
# CHECK: mneg x4, x5, x6
|
|
0x61 0x90 0x7 0x9b
|
|
0x1f 0xac 0x9 0x9b
|
|
0xed 0x93 0x4 0x9b
|
|
0xd3 0xf7 0x1f 0x9b
|
|
0xa4 0xfc 0x6 0x9b
|
|
|
|
# CHECK: smaddl x3, w5, w2, x9
|
|
# CHECK: smaddl xzr, w10, w11, x12
|
|
# CHECK: smaddl x13, wzr, w14, x15
|
|
# CHECK: smaddl x16, w17, wzr, x18
|
|
# CHECK: smull x19, w20, w21
|
|
0xa3 0x24 0x22 0x9b
|
|
0x5f 0x31 0x2b 0x9b
|
|
0xed 0x3f 0x2e 0x9b
|
|
0x30 0x4a 0x3f 0x9b
|
|
0x93 0x7e 0x35 0x9b
|
|
|
|
# CHECK: smsubl x3, w5, w2, x9
|
|
# CHECK: smsubl xzr, w10, w11, x12
|
|
# CHECK: smsubl x13, wzr, w14, x15
|
|
# CHECK: smsubl x16, w17, wzr, x18
|
|
# CHECK: smnegl x19, w20, w21
|
|
0xa3 0xa4 0x22 0x9b
|
|
0x5f 0xb1 0x2b 0x9b
|
|
0xed 0xbf 0x2e 0x9b
|
|
0x30 0xca 0x3f 0x9b
|
|
0x93 0xfe 0x35 0x9b
|
|
|
|
# CHECK: umaddl x3, w5, w2, x9
|
|
# CHECK: umaddl xzr, w10, w11, x12
|
|
# CHECK: umaddl x13, wzr, w14, x15
|
|
# CHECK: umaddl x16, w17, wzr, x18
|
|
# CHECK: umull x19, w20, w21
|
|
0xa3 0x24 0xa2 0x9b
|
|
0x5f 0x31 0xab 0x9b
|
|
0xed 0x3f 0xae 0x9b
|
|
0x30 0x4a 0xbf 0x9b
|
|
0x93 0x7e 0xb5 0x9b
|
|
|
|
# CHECK: umsubl x3, w5, w2, x9
|
|
# CHECK: umsubl xzr, w10, w11, x12
|
|
# CHECK: umsubl x13, wzr, w14, x15
|
|
# CHECK: umsubl x16, w17, wzr, x18
|
|
# CHECK: umnegl x19, w20, w21
|
|
0xa3 0xa4 0xa2 0x9b
|
|
0x5f 0xb1 0xab 0x9b
|
|
0xed 0xbf 0xae 0x9b
|
|
0x30 0xca 0xbf 0x9b
|
|
0x93 0xfe 0xb5 0x9b
|
|
|
|
# CHECK: smulh x30, x29, x28
|
|
# CHECK: smulh xzr, x27, x26
|
|
# CHECK: smulh x25, xzr, x24
|
|
# CHECK: smulh x23, x22, xzr
|
|
0xbe 0x7f 0x5c 0x9b
|
|
0x7f 0x7f 0x5a 0x9b
|
|
0xf9 0x7f 0x58 0x9b
|
|
0xd7 0x7e 0x5f 0x9b
|
|
|
|
# CHECK: umulh x30, x29, x28
|
|
# CHECK: umulh xzr, x27, x26
|
|
# CHECK: umulh x25, xzr, x24
|
|
# CHECK: umulh x23, x22, xzr
|
|
0xbe 0x7f 0xdc 0x9b
|
|
0x7f 0x7f 0xda 0x9b
|
|
0xf9 0x7f 0xd8 0x9b
|
|
0xd7 0x7e 0xdf 0x9b
|
|
|
|
# CHECK: mul w3, w4, w5
|
|
# CHECK: mul wzr, w6, w7
|
|
# CHECK: mul w8, wzr, w9
|
|
# CHECK: mul w10, w11, wzr
|
|
# CHECK: mul x12, x13, x14
|
|
# CHECK: mul xzr, x15, x16
|
|
# CHECK: mul x17, xzr, x18
|
|
# CHECK: mul x19, x20, xzr
|
|
0x83 0x7c 0x5 0x1b
|
|
0xdf 0x7c 0x7 0x1b
|
|
0xe8 0x7f 0x9 0x1b
|
|
0x6a 0x7d 0x1f 0x1b
|
|
0xac 0x7d 0xe 0x9b
|
|
0xff 0x7d 0x10 0x9b
|
|
0xf1 0x7f 0x12 0x9b
|
|
0x93 0x7e 0x1f 0x9b
|
|
|
|
# CHECK: mneg w21, w22, w23
|
|
# CHECK: mneg wzr, w24, w25
|
|
# CHECK: mneg w26, wzr, w27
|
|
# CHECK: mneg w28, w29, wzr
|
|
0xd5 0xfe 0x17 0x1b
|
|
0x1f 0xff 0x19 0x1b
|
|
0xfa 0xff 0x1b 0x1b
|
|
0xbc 0xff 0x1f 0x1b
|
|
|
|
# CHECK: smull x11, w13, w17
|
|
# CHECK: umull x11, w13, w17
|
|
# CHECK: smnegl x11, w13, w17
|
|
# CHECK: umnegl x11, w13, w17
|
|
0xab 0x7d 0x31 0x9b
|
|
0xab 0x7d 0xb1 0x9b
|
|
0xab 0xfd 0x31 0x9b
|
|
0xab 0xfd 0xb1 0x9b
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Exception generation
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: svc #0
|
|
# CHECK: svc #65535
|
|
0x1 0x0 0x0 0xd4
|
|
0xe1 0xff 0x1f 0xd4
|
|
|
|
# CHECK: hvc #1
|
|
# CHECK: smc #12000
|
|
# CHECK: brk #12
|
|
# CHECK: hlt #123
|
|
0x22 0x0 0x0 0xd4
|
|
0x3 0xdc 0x5 0xd4
|
|
0x80 0x1 0x20 0xd4
|
|
0x60 0xf 0x40 0xd4
|
|
|
|
# CHECK: dcps1 #42
|
|
# CHECK: dcps2 #9
|
|
# CHECK: dcps3 #1000
|
|
0x41 0x5 0xa0 0xd4
|
|
0x22 0x1 0xa0 0xd4
|
|
0x3 0x7d 0xa0 0xd4
|
|
|
|
# CHECK: dcps1
|
|
# CHECK: dcps2
|
|
# CHECK: dcps3
|
|
0x1 0x0 0xa0 0xd4
|
|
0x2 0x0 0xa0 0xd4
|
|
0x3 0x0 0xa0 0xd4
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Extract (immediate)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: extr w3, w5, w7, #0
|
|
# CHECK: extr w11, w13, w17, #31
|
|
0xa3 0x0 0x87 0x13
|
|
0xab 0x7d 0x91 0x13
|
|
|
|
# CHECK: extr x3, x5, x7, #15
|
|
# CHECK: extr x11, x13, x17, #63
|
|
0xa3 0x3c 0xc7 0x93
|
|
0xab 0xfd 0xd1 0x93
|
|
|
|
# CHECK: extr x19, x23, x23, #24
|
|
# CHECK: extr x29, xzr, xzr, #63
|
|
# CHECK: extr w9, w13, w13, #31
|
|
0xf3 0x62 0xd7 0x93
|
|
0xfd 0xff 0xdf 0x93
|
|
0xa9 0x7d 0x8d 0x13
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Floating-point compare
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: fcmp s3, s5
|
|
# CHECK: fcmp s31, #0.0
|
|
# CHECK: fcmp s31, #0.0
|
|
0x60 0x20 0x25 0x1e
|
|
0xe8 0x23 0x20 0x1e
|
|
0xe8 0x23 0x3f 0x1e
|
|
|
|
# CHECK: fcmpe s29, s30
|
|
# CHECK: fcmpe s15, #0.0
|
|
# CHECK: fcmpe s15, #0.0
|
|
0xb0 0x23 0x3e 0x1e
|
|
0xf8 0x21 0x20 0x1e
|
|
0xf8 0x21 0x2f 0x1e
|
|
|
|
# CHECK: fcmp d4, d12
|
|
# CHECK: fcmp d23, #0.0
|
|
# CHECK: fcmp d23, #0.0
|
|
0x80 0x20 0x6c 0x1e
|
|
0xe8 0x22 0x60 0x1e
|
|
0xe8 0x22 0x77 0x1e
|
|
|
|
# CHECK: fcmpe d26, d22
|
|
# CHECK: fcmpe d29, #0.0
|
|
# CHECK: fcmpe d29, #0.0
|
|
0x50 0x23 0x76 0x1e
|
|
0xb8 0x23 0x60 0x1e
|
|
0xb8 0x23 0x6d 0x1e
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Floating-point conditional compare
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: fccmp s1, s31, #0, eq
|
|
# CHECK: fccmp s3, s0, #15, hs
|
|
# CHECK: fccmp s31, s15, #13, hs
|
|
0x20 0x04 0x3f 0x1e
|
|
0x6f 0x24 0x20 0x1e
|
|
0xed 0x27 0x2f 0x1e
|
|
|
|
# CHECK: fccmp d9, d31, #0, le
|
|
# CHECK: fccmp d3, d0, #15, gt
|
|
# CHECK: fccmp d31, d5, #7, ne
|
|
0x20 0xd5 0x7f 0x1e
|
|
0x6f 0xc4 0x60 0x1e
|
|
0xe7 0x17 0x65 0x1e
|
|
|
|
# CHECK: fccmpe s1, s31, #0, eq
|
|
# CHECK: fccmpe s3, s0, #15, hs
|
|
# CHECK: fccmpe s31, s15, #13, hs
|
|
0x30 0x04 0x3f 0x1e
|
|
0x7f 0x24 0x20 0x1e
|
|
0xfd 0x27 0x2f 0x1e
|
|
|
|
# CHECK: fccmpe d9, d31, #0, le
|
|
# CHECK: fccmpe d3, d0, #15, gt
|
|
# CHECK: fccmpe d31, d5, #7, ne
|
|
0x30 0xd5 0x7f 0x1e
|
|
0x7f 0xc4 0x60 0x1e
|
|
0xf7 0x17 0x65 0x1e
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# Floating-point conditional compare
|
|
#-------------------------------------------------------------------------------
|
|
|
|
# CHECK: fcsel s3, s20, s9, pl
|
|
# CHECK: fcsel d9, d10, d11, mi
|
|
0x83 0x5e 0x29 0x1e
|
|
0x49 0x4d 0x6b 0x1e
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Floating-point data-processing (1 source)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: fmov s0, s1
|
|
# CHECK: fabs s2, s3
|
|
# CHECK: fneg s4, s5
|
|
# CHECK: fsqrt s6, s7
|
|
# CHECK: fcvt d8, s9
|
|
# CHECK: fcvt h10, s11
|
|
# CHECK: frintn s12, s13
|
|
# CHECK: frintp s14, s15
|
|
# CHECK: frintm s16, s17
|
|
# CHECK: frintz s18, s19
|
|
# CHECK: frinta s20, s21
|
|
# CHECK: frintx s22, s23
|
|
# CHECK: frinti s24, s25
|
|
0x20 0x40 0x20 0x1e
|
|
0x62 0xc0 0x20 0x1e
|
|
0xa4 0x40 0x21 0x1e
|
|
0xe6 0xc0 0x21 0x1e
|
|
0x28 0xc1 0x22 0x1e
|
|
0x6a 0xc1 0x23 0x1e
|
|
0xac 0x41 0x24 0x1e
|
|
0xee 0xc1 0x24 0x1e
|
|
0x30 0x42 0x25 0x1e
|
|
0x72 0xc2 0x25 0x1e
|
|
0xb4 0x42 0x26 0x1e
|
|
0xf6 0x42 0x27 0x1e
|
|
0x38 0xc3 0x27 0x1e
|
|
|
|
# CHECK: fmov d0, d1
|
|
# CHECK: fabs d2, d3
|
|
# CHECK: fneg d4, d5
|
|
# CHECK: fsqrt d6, d7
|
|
# CHECK: fcvt s8, d9
|
|
# CHECK: fcvt h10, d11
|
|
# CHECK: frintn d12, d13
|
|
# CHECK: frintp d14, d15
|
|
# CHECK: frintm d16, d17
|
|
# CHECK: frintz d18, d19
|
|
# CHECK: frinta d20, d21
|
|
# CHECK: frintx d22, d23
|
|
# CHECK: frinti d24, d25
|
|
0x20 0x40 0x60 0x1e
|
|
0x62 0xc0 0x60 0x1e
|
|
0xa4 0x40 0x61 0x1e
|
|
0xe6 0xc0 0x61 0x1e
|
|
0x28 0x41 0x62 0x1e
|
|
0x6a 0xc1 0x63 0x1e
|
|
0xac 0x41 0x64 0x1e
|
|
0xee 0xc1 0x64 0x1e
|
|
0x30 0x42 0x65 0x1e
|
|
0x72 0xc2 0x65 0x1e
|
|
0xb4 0x42 0x66 0x1e
|
|
0xf6 0x42 0x67 0x1e
|
|
0x38 0xc3 0x67 0x1e
|
|
|
|
# CHECK: fcvt s26, h27
|
|
# CHECK: fcvt d28, h29
|
|
0x7a 0x43 0xe2 0x1e
|
|
0xbc 0xc3 0xe2 0x1e
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Floating-point data-processing (2 sources)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: fmul s20, s19, s17
|
|
# CHECK: fdiv s1, s2, s3
|
|
# CHECK: fadd s4, s5, s6
|
|
# CHECK: fsub s7, s8, s9
|
|
# CHECK: fmax s10, s11, s12
|
|
# CHECK: fmin s13, s14, s15
|
|
# CHECK: fmaxnm s16, s17, s18
|
|
# CHECK: fminnm s19, s20, s21
|
|
# CHECK: fnmul s22, s23, s2
|
|
0x74 0xa 0x31 0x1e
|
|
0x41 0x18 0x23 0x1e
|
|
0xa4 0x28 0x26 0x1e
|
|
0x7 0x39 0x29 0x1e
|
|
0x6a 0x49 0x2c 0x1e
|
|
0xcd 0x59 0x2f 0x1e
|
|
0x30 0x6a 0x32 0x1e
|
|
0x93 0x7a 0x35 0x1e
|
|
0xf6 0x8a 0x38 0x1e
|
|
|
|
|
|
# CHECK: fmul d20, d19, d17
|
|
# CHECK: fdiv d1, d2, d3
|
|
# CHECK: fadd d4, d5, d6
|
|
# CHECK: fsub d7, d8, d9
|
|
# CHECK: fmax d10, d11, d12
|
|
# CHECK: fmin d13, d14, d15
|
|
# CHECK: fmaxnm d16, d17, d18
|
|
# CHECK: fminnm d19, d20, d21
|
|
# CHECK: fnmul d22, d23, d24
|
|
0x74 0xa 0x71 0x1e
|
|
0x41 0x18 0x63 0x1e
|
|
0xa4 0x28 0x66 0x1e
|
|
0x7 0x39 0x69 0x1e
|
|
0x6a 0x49 0x6c 0x1e
|
|
0xcd 0x59 0x6f 0x1e
|
|
0x30 0x6a 0x72 0x1e
|
|
0x93 0x7a 0x75 0x1e
|
|
0xf6 0x8a 0x78 0x1e
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Floating-point data-processing (1 source)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: fmadd s3, s5, s6, s31
|
|
# CHECK: fmadd d3, d13, d0, d23
|
|
# CHECK: fmsub s3, s5, s6, s31
|
|
# CHECK: fmsub d3, d13, d0, d23
|
|
# CHECK: fnmadd s3, s5, s6, s31
|
|
# CHECK: fnmadd d3, d13, d0, d23
|
|
# CHECK: fnmsub s3, s5, s6, s31
|
|
# CHECK: fnmsub d3, d13, d0, d23
|
|
0xa3 0x7c 0x06 0x1f
|
|
0xa3 0x5d 0x40 0x1f
|
|
0xa3 0xfc 0x06 0x1f
|
|
0xa3 0xdd 0x40 0x1f
|
|
0xa3 0x7c 0x26 0x1f
|
|
0xa3 0x5d 0x60 0x1f
|
|
0xa3 0xfc 0x26 0x1f
|
|
0xa3 0xdd 0x60 0x1f
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Floating-point <-> fixed-point conversion
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: fcvtzs w3, s5, #1
|
|
# CHECK: fcvtzs wzr, s20, #13
|
|
# CHECK: fcvtzs w19, s0, #32
|
|
0xa3 0xfc 0x18 0x1e
|
|
0x9f 0xce 0x18 0x1e
|
|
0x13 0x80 0x18 0x1e
|
|
|
|
# CHECK: fcvtzs x3, s5, #1
|
|
# CHECK: fcvtzs x12, s30, #45
|
|
# CHECK: fcvtzs x19, s0, #64
|
|
0xa3 0xfc 0x18 0x9e
|
|
0xcc 0x4f 0x18 0x9e
|
|
0x13 0x00 0x18 0x9e
|
|
|
|
# CHECK: fcvtzs w3, d5, #1
|
|
# CHECK: fcvtzs wzr, d20, #13
|
|
# CHECK: fcvtzs w19, d0, #32
|
|
0xa3 0xfc 0x58 0x1e
|
|
0x9f 0xce 0x58 0x1e
|
|
0x13 0x80 0x58 0x1e
|
|
|
|
# CHECK: fcvtzs x3, d5, #1
|
|
# CHECK: fcvtzs x12, d30, #45
|
|
# CHECK: fcvtzs x19, d0, #64
|
|
0xa3 0xfc 0x58 0x9e
|
|
0xcc 0x4f 0x58 0x9e
|
|
0x13 0x00 0x58 0x9e
|
|
|
|
# CHECK: fcvtzu w3, s5, #1
|
|
# CHECK: fcvtzu wzr, s20, #13
|
|
# CHECK: fcvtzu w19, s0, #32
|
|
0xa3 0xfc 0x19 0x1e
|
|
0x9f 0xce 0x19 0x1e
|
|
0x13 0x80 0x19 0x1e
|
|
|
|
# CHECK: fcvtzu x3, s5, #1
|
|
# CHECK: fcvtzu x12, s30, #45
|
|
# CHECK: fcvtzu x19, s0, #64
|
|
0xa3 0xfc 0x19 0x9e
|
|
0xcc 0x4f 0x19 0x9e
|
|
0x13 0x00 0x19 0x9e
|
|
|
|
# CHECK: fcvtzu w3, d5, #1
|
|
# CHECK: fcvtzu wzr, d20, #13
|
|
# CHECK: fcvtzu w19, d0, #32
|
|
0xa3 0xfc 0x59 0x1e
|
|
0x9f 0xce 0x59 0x1e
|
|
0x13 0x80 0x59 0x1e
|
|
|
|
# CHECK: fcvtzu x3, d5, #1
|
|
# CHECK: fcvtzu x12, d30, #45
|
|
# CHECK: fcvtzu x19, d0, #64
|
|
0xa3 0xfc 0x59 0x9e
|
|
0xcc 0x4f 0x59 0x9e
|
|
0x13 0x00 0x59 0x9e
|
|
|
|
# CHECK: scvtf s23, w19, #1
|
|
# CHECK: scvtf s31, wzr, #20
|
|
# CHECK: scvtf s14, w0, #32
|
|
0x77 0xfe 0x02 0x1e
|
|
0xff 0xb3 0x02 0x1e
|
|
0x0e 0x80 0x02 0x1e
|
|
|
|
# CHECK: scvtf s23, x19, #1
|
|
# CHECK: scvtf s31, xzr, #20
|
|
# CHECK: scvtf s14, x0, #64
|
|
0x77 0xfe 0x02 0x9e
|
|
0xff 0xb3 0x02 0x9e
|
|
0x0e 0x00 0x02 0x9e
|
|
|
|
# CHECK: scvtf d23, w19, #1
|
|
# CHECK: scvtf d31, wzr, #20
|
|
# CHECK: scvtf d14, w0, #32
|
|
0x77 0xfe 0x42 0x1e
|
|
0xff 0xb3 0x42 0x1e
|
|
0x0e 0x80 0x42 0x1e
|
|
|
|
# CHECK: scvtf d23, x19, #1
|
|
# CHECK: scvtf d31, xzr, #20
|
|
# CHECK: scvtf d14, x0, #64
|
|
0x77 0xfe 0x42 0x9e
|
|
0xff 0xb3 0x42 0x9e
|
|
0x0e 0x00 0x42 0x9e
|
|
|
|
# CHECK: ucvtf s23, w19, #1
|
|
# CHECK: ucvtf s31, wzr, #20
|
|
# CHECK: ucvtf s14, w0, #32
|
|
0x77 0xfe 0x03 0x1e
|
|
0xff 0xb3 0x03 0x1e
|
|
0x0e 0x80 0x03 0x1e
|
|
|
|
# CHECK: ucvtf s23, x19, #1
|
|
# CHECK: ucvtf s31, xzr, #20
|
|
# CHECK: ucvtf s14, x0, #64
|
|
0x77 0xfe 0x03 0x9e
|
|
0xff 0xb3 0x03 0x9e
|
|
0x0e 0x00 0x03 0x9e
|
|
|
|
# CHECK: ucvtf d23, w19, #1
|
|
# CHECK: ucvtf d31, wzr, #20
|
|
# CHECK: ucvtf d14, w0, #32
|
|
0x77 0xfe 0x43 0x1e
|
|
0xff 0xb3 0x43 0x1e
|
|
0x0e 0x80 0x43 0x1e
|
|
|
|
# CHECK: ucvtf d23, x19, #1
|
|
# CHECK: ucvtf d31, xzr, #20
|
|
# CHECK: ucvtf d14, x0, #64
|
|
0x77 0xfe 0x43 0x9e
|
|
0xff 0xb3 0x43 0x9e
|
|
0x0e 0x00 0x43 0x9e
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Floating-point <-> integer conversion
|
|
#------------------------------------------------------------------------------
|
|
# CHECK: fcvtns w3, s31
|
|
# CHECK: fcvtns xzr, s12
|
|
# CHECK: fcvtnu wzr, s12
|
|
# CHECK: fcvtnu x0, s0
|
|
0xe3 0x3 0x20 0x1e
|
|
0x9f 0x1 0x20 0x9e
|
|
0x9f 0x1 0x21 0x1e
|
|
0x0 0x0 0x21 0x9e
|
|
|
|
# CHECK: fcvtps wzr, s9
|
|
# CHECK: fcvtps x12, s20
|
|
# CHECK: fcvtpu w30, s23
|
|
# CHECK: fcvtpu x29, s3
|
|
0x3f 0x1 0x28 0x1e
|
|
0x8c 0x2 0x28 0x9e
|
|
0xfe 0x2 0x29 0x1e
|
|
0x7d 0x0 0x29 0x9e
|
|
|
|
# CHECK: fcvtms w2, s3
|
|
# CHECK: fcvtms x4, s5
|
|
# CHECK: fcvtmu w6, s7
|
|
# CHECK: fcvtmu x8, s9
|
|
0x62 0x0 0x30 0x1e
|
|
0xa4 0x0 0x30 0x9e
|
|
0xe6 0x0 0x31 0x1e
|
|
0x28 0x1 0x31 0x9e
|
|
|
|
# CHECK: fcvtzs w10, s11
|
|
# CHECK: fcvtzs x12, s13
|
|
# CHECK: fcvtzu w14, s15
|
|
# CHECK: fcvtzu x15, s16
|
|
0x6a 0x1 0x38 0x1e
|
|
0xac 0x1 0x38 0x9e
|
|
0xee 0x1 0x39 0x1e
|
|
0xf 0x2 0x39 0x9e
|
|
|
|
# CHECK: scvtf s17, w18
|
|
# CHECK: scvtf s19, x20
|
|
# CHECK: ucvtf s21, w22
|
|
# CHECK: scvtf s23, x24
|
|
0x51 0x2 0x22 0x1e
|
|
0x93 0x2 0x22 0x9e
|
|
0xd5 0x2 0x23 0x1e
|
|
0x17 0x3 0x22 0x9e
|
|
|
|
# CHECK: fcvtas w25, s26
|
|
# CHECK: fcvtas x27, s28
|
|
# CHECK: fcvtau w29, s30
|
|
# CHECK: fcvtau xzr, s0
|
|
0x59 0x3 0x24 0x1e
|
|
0x9b 0x3 0x24 0x9e
|
|
0xdd 0x3 0x25 0x1e
|
|
0x1f 0x0 0x25 0x9e
|
|
|
|
# CHECK: fcvtns w3, d31
|
|
# CHECK: fcvtns xzr, d12
|
|
# CHECK: fcvtnu wzr, d12
|
|
# CHECK: fcvtnu x0, d0
|
|
0xe3 0x3 0x60 0x1e
|
|
0x9f 0x1 0x60 0x9e
|
|
0x9f 0x1 0x61 0x1e
|
|
0x0 0x0 0x61 0x9e
|
|
|
|
# CHECK: fcvtps wzr, d9
|
|
# CHECK: fcvtps x12, d20
|
|
# CHECK: fcvtpu w30, d23
|
|
# CHECK: fcvtpu x29, d3
|
|
0x3f 0x1 0x68 0x1e
|
|
0x8c 0x2 0x68 0x9e
|
|
0xfe 0x2 0x69 0x1e
|
|
0x7d 0x0 0x69 0x9e
|
|
|
|
# CHECK: fcvtms w2, d3
|
|
# CHECK: fcvtms x4, d5
|
|
# CHECK: fcvtmu w6, d7
|
|
# CHECK: fcvtmu x8, d9
|
|
0x62 0x0 0x70 0x1e
|
|
0xa4 0x0 0x70 0x9e
|
|
0xe6 0x0 0x71 0x1e
|
|
0x28 0x1 0x71 0x9e
|
|
|
|
# CHECK: fcvtzs w10, d11
|
|
# CHECK: fcvtzs x12, d13
|
|
# CHECK: fcvtzu w14, d15
|
|
# CHECK: fcvtzu x15, d16
|
|
0x6a 0x1 0x78 0x1e
|
|
0xac 0x1 0x78 0x9e
|
|
0xee 0x1 0x79 0x1e
|
|
0xf 0x2 0x79 0x9e
|
|
|
|
# CHECK: scvtf d17, w18
|
|
# CHECK: scvtf d19, x20
|
|
# CHECK: ucvtf d21, w22
|
|
# CHECK: ucvtf d23, x24
|
|
0x51 0x2 0x62 0x1e
|
|
0x93 0x2 0x62 0x9e
|
|
0xd5 0x2 0x63 0x1e
|
|
0x17 0x3 0x63 0x9e
|
|
|
|
# CHECK: fcvtas w25, d26
|
|
# CHECK: fcvtas x27, d28
|
|
# CHECK: fcvtau w29, d30
|
|
# CHECK: fcvtau xzr, d0
|
|
0x59 0x3 0x64 0x1e
|
|
0x9b 0x3 0x64 0x9e
|
|
0xdd 0x3 0x65 0x1e
|
|
0x1f 0x0 0x65 0x9e
|
|
|
|
# CHECK: fmov w3, s9
|
|
# CHECK: fmov s9, w3
|
|
0x23 0x1 0x26 0x1e
|
|
0x69 0x0 0x27 0x1e
|
|
|
|
# CHECK: fmov x20, d31
|
|
# CHECK: fmov d1, x15
|
|
0xf4 0x3 0x66 0x9e
|
|
0xe1 0x1 0x67 0x9e
|
|
|
|
# CHECK: fmov x3, v12.d[1]
|
|
# CHECK: fmov v1.d[1], x19
|
|
0x83 0x1 0xae 0x9e
|
|
0x61 0x2 0xaf 0x9e
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Floating-point immediate
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: fmov s2, #0.12500000
|
|
# CHECK: fmov s3, #1.00000000
|
|
# CHECK: fmov d30, #16.00000000
|
|
0x2 0x10 0x28 0x1e
|
|
0x3 0x10 0x2e 0x1e
|
|
0x1e 0x10 0x66 0x1e
|
|
|
|
# CHECK: fmov s4, #1.06250000
|
|
# CHECK: fmov d10, #1.93750000
|
|
0x4 0x30 0x2e 0x1e
|
|
0xa 0xf0 0x6f 0x1e
|
|
|
|
# CHECK: fmov s12, #-1.00000000
|
|
0xc 0x10 0x3e 0x1e
|
|
|
|
# CHECK: fmov d16, #8.50000000
|
|
0x10 0x30 0x64 0x1e
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Load-register (literal)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: ldr w3, #0
|
|
# CHECK: ldr x29, #4
|
|
# CHECK: ldrsw xzr, #-4
|
|
0x03 0x00 0x00 0x18
|
|
0x3d 0x00 0x00 0x58
|
|
0xff 0xff 0xff 0x98
|
|
|
|
# CHECK: ldr s0, #8
|
|
# CHECK: ldr d0, #1048572
|
|
# CHECK: ldr q0, #-1048576
|
|
0x40 0x00 0x00 0x1c
|
|
0xe0 0xff 0x7f 0x5c
|
|
0x00 0x00 0x80 0x9c
|
|
|
|
# CHECK: prfm pldl1strm, #0
|
|
# CHECK: prfm #22, #0
|
|
0x01 0x00 0x00 0xd8
|
|
0x16 0x00 0x00 0xd8
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Load/store exclusive
|
|
#------------------------------------------------------------------------------
|
|
|
|
#CHECK: stxrb w18, w8, [sp]
|
|
#CHECK: stxrh w24, w15, [x16]
|
|
#CHECK: stxr w5, w6, [x17]
|
|
#CHECK: stxr w1, x10, [x21]
|
|
#CHECK: stxr w1, x10, [x21]
|
|
0xe8 0x7f 0x12 0x08
|
|
0x0f 0x7e 0x18 0x48
|
|
0x26 0x7e 0x05 0x88
|
|
0xaa 0x7e 0x01 0xc8
|
|
0xaa 0x7a 0x01 0xc8
|
|
|
|
#CHECK: ldxrb w30, [x0]
|
|
#CHECK: ldxrh w17, [x4]
|
|
#CHECK: ldxr w22, [sp]
|
|
#CHECK: ldxr x11, [x29]
|
|
#CHECK: ldxr x11, [x29]
|
|
#CHECK: ldxr x11, [x29]
|
|
0x1e 0x7c 0x5f 0x08
|
|
0x91 0x7c 0x5f 0x48
|
|
0xf6 0x7f 0x5f 0x88
|
|
0xab 0x7f 0x5f 0xc8
|
|
0xab 0x6f 0x5f 0xc8
|
|
0xab 0x7f 0x5e 0xc8
|
|
|
|
#CHECK: stxp w12, w11, w10, [sp]
|
|
#CHECK: stxp wzr, x27, x9, [x12]
|
|
0xeb 0x2b 0x2c 0x88
|
|
0x9b 0x25 0x3f 0xc8
|
|
|
|
#CHECK: ldxp w0, wzr, [sp]
|
|
#CHECK: ldxp x17, x0, [x18]
|
|
#CHECK: ldxp x17, x0, [x18]
|
|
0xe0 0x7f 0x7f 0x88
|
|
0x51 0x02 0x7f 0xc8
|
|
0x51 0x02 0x7e 0xc8
|
|
|
|
#CHECK: stlxrb w12, w22, [x0]
|
|
#CHECK: stlxrh w10, w1, [x1]
|
|
#CHECK: stlxr w9, w2, [x2]
|
|
#CHECK: stlxr w9, x3, [sp]
|
|
|
|
0x16 0xfc 0x0c 0x08
|
|
0x21 0xfc 0x0a 0x48
|
|
0x42 0xfc 0x09 0x88
|
|
0xe3 0xff 0x09 0xc8
|
|
|
|
#CHECK: ldaxrb w8, [x4]
|
|
#CHECK: ldaxrh w7, [x5]
|
|
#CHECK: ldaxr w6, [sp]
|
|
#CHECK: ldaxr x5, [x6]
|
|
#CHECK: ldaxr x5, [x6]
|
|
#CHECK: ldaxr x5, [x6]
|
|
0x88 0xfc 0x5f 0x08
|
|
0xa7 0xfc 0x5f 0x48
|
|
0xe6 0xff 0x5f 0x88
|
|
0xc5 0xfc 0x5f 0xc8
|
|
0xc5 0xec 0x5f 0xc8
|
|
0xc5 0xfc 0x5e 0xc8
|
|
|
|
#CHECK: stlxp w4, w5, w6, [sp]
|
|
#CHECK: stlxp wzr, x6, x7, [x1]
|
|
0xe5 0x9b 0x24 0x88
|
|
0x26 0x9c 0x3f 0xc8
|
|
|
|
#CHECK: ldaxp w5, w18, [sp]
|
|
#CHECK: ldaxp x6, x19, [x22]
|
|
#CHECK: ldaxp x6, x19, [x22]
|
|
0xe5 0xcb 0x7f 0x88
|
|
0xc6 0xce 0x7f 0xc8
|
|
0xc6 0xce 0x7e 0xc8
|
|
|
|
#CHECK: stlrb w24, [sp]
|
|
#CHECK: stlrh w25, [x30]
|
|
#CHECK: stlr w26, [x29]
|
|
#CHECK: stlr x27, [x28]
|
|
#CHECK: stlr x27, [x28]
|
|
#CHECK: stlr x27, [x28]
|
|
0xf8 0xff 0x9f 0x08
|
|
0xd9 0xff 0x9f 0x48
|
|
0xba 0xff 0x9f 0x88
|
|
0x9b 0xff 0x9f 0xc8
|
|
0x9b 0xef 0x9f 0xc8
|
|
0x9b 0xff 0x9e 0xc8
|
|
|
|
#CHECK: ldarb w23, [sp]
|
|
#CHECK: ldarh w22, [x30]
|
|
#CHECK: ldar wzr, [x29]
|
|
#CHECK: ldar x21, [x28]
|
|
#CHECK: ldar x21, [x28]
|
|
#CHECK: ldar x21, [x28]
|
|
0xf7 0xff 0xdf 0x08
|
|
0xd6 0xff 0xdf 0x48
|
|
0xbf 0xff 0xdf 0x88
|
|
0x95 0xff 0xdf 0xc8
|
|
0x95 0xef 0xdf 0xc8
|
|
0x95 0xff 0xde 0xc8
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Load/store (unscaled immediate)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: sturb w9, [sp]
|
|
# CHECK: sturh wzr, [x12, #255]
|
|
# CHECK: stur w16, [x0, #-256]
|
|
# CHECK: stur x28, [x14, #1]
|
|
0xe9 0x3 0x0 0x38
|
|
0x9f 0xf1 0xf 0x78
|
|
0x10 0x0 0x10 0xb8
|
|
0xdc 0x11 0x0 0xf8
|
|
|
|
# CHECK: ldurb w1, [x20, #255]
|
|
# CHECK: ldurh w20, [x1, #255]
|
|
# CHECK: ldur w12, [sp, #255]
|
|
# CHECK: ldur xzr, [x12, #255]
|
|
0x81 0xf2 0x4f 0x38
|
|
0x34 0xf0 0x4f 0x78
|
|
0xec 0xf3 0x4f 0xb8
|
|
0x9f 0xf1 0x4f 0xf8
|
|
|
|
# CHECK: ldursb x9, [x7, #-256]
|
|
# CHECK: ldursh x17, [x19, #-256]
|
|
# CHECK: ldursw x20, [x15, #-256]
|
|
# CHECK: prfum pldl2keep, [sp, #-256]
|
|
# CHECK: ldursb w19, [x1, #-256]
|
|
# CHECK: ldursh w15, [x21, #-256]
|
|
0xe9 0x0 0x90 0x38
|
|
0x71 0x2 0x90 0x78
|
|
0xf4 0x1 0x90 0xb8
|
|
0xe2 0x3 0x90 0xf8
|
|
0x33 0x0 0xd0 0x38
|
|
0xaf 0x2 0xd0 0x78
|
|
|
|
# CHECK: stur b0, [sp, #1]
|
|
# CHECK: stur h12, [x12, #-1]
|
|
# CHECK: stur s15, [x0, #255]
|
|
# CHECK: stur d31, [x5, #25]
|
|
# CHECK: stur q9, [x5]
|
|
0xe0 0x13 0x0 0x3c
|
|
0x8c 0xf1 0x1f 0x7c
|
|
0xf 0xf0 0xf 0xbc
|
|
0xbf 0x90 0x1 0xfc
|
|
0xa9 0x0 0x80 0x3c
|
|
|
|
# CHECK: ldur b3, [sp]
|
|
# CHECK: ldur h5, [x4, #-256]
|
|
# CHECK: ldur s7, [x12, #-1]
|
|
# CHECK: ldur d11, [x19, #4]
|
|
# CHECK: ldur q13, [x1, #2]
|
|
0xe3 0x3 0x40 0x3c
|
|
0x85 0x0 0x50 0x7c
|
|
0x87 0xf1 0x5f 0xbc
|
|
0x6b 0x42 0x40 0xfc
|
|
0x2d 0x20 0xc0 0x3c
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Load/store (immediate post-indexed)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# E.g. "str xzr, [sp], #4" is *not* unpredictable
|
|
# CHECK-NOT: warning: potentially undefined instruction encoding
|
|
0xff 0x47 0x40 0xb8
|
|
|
|
# CHECK: strb w9, [x2], #255
|
|
# CHECK: strb w10, [x3], #1
|
|
# CHECK: strb w10, [x3], #-256
|
|
# CHECK: strh w9, [x2], #255
|
|
# CHECK: strh w9, [x2], #1
|
|
# CHECK: strh w10, [x3], #-256
|
|
0x49 0xf4 0xf 0x38
|
|
0x6a 0x14 0x0 0x38
|
|
0x6a 0x4 0x10 0x38
|
|
0x49 0xf4 0xf 0x78
|
|
0x49 0x14 0x0 0x78
|
|
0x6a 0x4 0x10 0x78
|
|
|
|
# CHECK: str w19, [sp], #255
|
|
# CHECK: str w20, [x30], #1
|
|
# CHECK: str w21, [x12], #-256
|
|
# CHECK: str xzr, [x9], #255
|
|
# CHECK: str x2, [x3], #1
|
|
# CHECK: str x19, [x12], #-256
|
|
0xf3 0xf7 0xf 0xb8
|
|
0xd4 0x17 0x0 0xb8
|
|
0x95 0x5 0x10 0xb8
|
|
0x3f 0xf5 0xf 0xf8
|
|
0x62 0x14 0x0 0xf8
|
|
0x93 0x5 0x10 0xf8
|
|
|
|
# CHECK: ldrb w9, [x2], #255
|
|
# CHECK: ldrb w10, [x3], #1
|
|
# CHECK: ldrb w10, [x3], #-256
|
|
# CHECK: ldrh w9, [x2], #255
|
|
# CHECK: ldrh w9, [x2], #1
|
|
# CHECK: ldrh w10, [x3], #-256
|
|
0x49 0xf4 0x4f 0x38
|
|
0x6a 0x14 0x40 0x38
|
|
0x6a 0x4 0x50 0x38
|
|
0x49 0xf4 0x4f 0x78
|
|
0x49 0x14 0x40 0x78
|
|
0x6a 0x4 0x50 0x78
|
|
|
|
# CHECK: ldr w19, [sp], #255
|
|
# CHECK: ldr w20, [x30], #1
|
|
# CHECK: ldr w21, [x12], #-256
|
|
# CHECK: ldr xzr, [x9], #255
|
|
# CHECK: ldr x2, [x3], #1
|
|
# CHECK: ldr x19, [x12], #-256
|
|
0xf3 0xf7 0x4f 0xb8
|
|
0xd4 0x17 0x40 0xb8
|
|
0x95 0x5 0x50 0xb8
|
|
0x3f 0xf5 0x4f 0xf8
|
|
0x62 0x14 0x40 0xf8
|
|
0x93 0x5 0x50 0xf8
|
|
|
|
# CHECK: ldrsb xzr, [x9], #255
|
|
# CHECK: ldrsb x2, [x3], #1
|
|
# CHECK: ldrsb x19, [x12], #-256
|
|
# CHECK: ldrsh xzr, [x9], #255
|
|
# CHECK: ldrsh x2, [x3], #1
|
|
# CHECK: ldrsh x19, [x12], #-256
|
|
# CHECK: ldrsw xzr, [x9], #255
|
|
# CHECK: ldrsw x2, [x3], #1
|
|
# CHECK: ldrsw x19, [x12], #-256
|
|
0x3f 0xf5 0x8f 0x38
|
|
0x62 0x14 0x80 0x38
|
|
0x93 0x5 0x90 0x38
|
|
0x3f 0xf5 0x8f 0x78
|
|
0x62 0x14 0x80 0x78
|
|
0x93 0x5 0x90 0x78
|
|
0x3f 0xf5 0x8f 0xb8
|
|
0x62 0x14 0x80 0xb8
|
|
0x93 0x5 0x90 0xb8
|
|
|
|
# CHECK: ldrsb wzr, [x9], #255
|
|
# CHECK: ldrsb w2, [x3], #1
|
|
# CHECK: ldrsb w19, [x12], #-256
|
|
# CHECK: ldrsh wzr, [x9], #255
|
|
# CHECK: ldrsh w2, [x3], #1
|
|
# CHECK: ldrsh w19, [x12], #-256
|
|
0x3f 0xf5 0xcf 0x38
|
|
0x62 0x14 0xc0 0x38
|
|
0x93 0x5 0xd0 0x38
|
|
0x3f 0xf5 0xcf 0x78
|
|
0x62 0x14 0xc0 0x78
|
|
0x93 0x5 0xd0 0x78
|
|
|
|
# CHECK: str b0, [x0], #255
|
|
# CHECK: str b3, [x3], #1
|
|
# CHECK: str b5, [sp], #-256
|
|
# CHECK: str h10, [x10], #255
|
|
# CHECK: str h13, [x23], #1
|
|
# CHECK: str h15, [sp], #-256
|
|
# CHECK: str s20, [x20], #255
|
|
# CHECK: str s23, [x23], #1
|
|
# CHECK: str s25, [x0], #-256
|
|
# CHECK: str d20, [x20], #255
|
|
# CHECK: str d23, [x23], #1
|
|
# CHECK: str d25, [x0], #-256
|
|
0x0 0xf4 0xf 0x3c
|
|
0x63 0x14 0x0 0x3c
|
|
0xe5 0x7 0x10 0x3c
|
|
0x4a 0xf5 0xf 0x7c
|
|
0xed 0x16 0x0 0x7c
|
|
0xef 0x7 0x10 0x7c
|
|
0x94 0xf6 0xf 0xbc
|
|
0xf7 0x16 0x0 0xbc
|
|
0x19 0x4 0x10 0xbc
|
|
0x94 0xf6 0xf 0xfc
|
|
0xf7 0x16 0x0 0xfc
|
|
0x19 0x4 0x10 0xfc
|
|
|
|
# CHECK: ldr b0, [x0], #255
|
|
# CHECK: ldr b3, [x3], #1
|
|
# CHECK: ldr b5, [sp], #-256
|
|
# CHECK: ldr h10, [x10], #255
|
|
# CHECK: ldr h13, [x23], #1
|
|
# CHECK: ldr h15, [sp], #-256
|
|
# CHECK: ldr s20, [x20], #255
|
|
# CHECK: ldr s23, [x23], #1
|
|
# CHECK: ldr s25, [x0], #-256
|
|
# CHECK: ldr d20, [x20], #255
|
|
# CHECK: ldr d23, [x23], #1
|
|
# CHECK: ldr d25, [x0], #-256
|
|
0x0 0xf4 0x4f 0x3c
|
|
0x63 0x14 0x40 0x3c
|
|
0xe5 0x7 0x50 0x3c
|
|
0x4a 0xf5 0x4f 0x7c
|
|
0xed 0x16 0x40 0x7c
|
|
0xef 0x7 0x50 0x7c
|
|
0x94 0xf6 0x4f 0xbc
|
|
0xf7 0x16 0x40 0xbc
|
|
0x19 0x4 0x50 0xbc
|
|
0x94 0xf6 0x4f 0xfc
|
|
0xf7 0x16 0x40 0xfc
|
|
0x19 0x4 0x50 0xfc
|
|
0x34 0xf4 0xcf 0x3c
|
|
|
|
# CHECK: ldr q20, [x1], #255
|
|
# CHECK: ldr q23, [x9], #1
|
|
# CHECK: ldr q25, [x20], #-256
|
|
# CHECK: str q10, [x1], #255
|
|
# CHECK: str q22, [sp], #1
|
|
# CHECK: str q21, [x20], #-256
|
|
0x37 0x15 0xc0 0x3c
|
|
0x99 0x6 0xd0 0x3c
|
|
0x2a 0xf4 0x8f 0x3c
|
|
0xf6 0x17 0x80 0x3c
|
|
0x95 0x6 0x90 0x3c
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# Load-store register (immediate pre-indexed)
|
|
#-------------------------------------------------------------------------------
|
|
|
|
# E.g. "str xzr, [sp, #4]!" is *not* unpredictable
|
|
# CHECK-NOT: warning: potentially undefined instruction encoding
|
|
0xff 0xf 0x40 0xf8
|
|
|
|
# CHECK: ldr x3, [x4, #0]!
|
|
0x83 0xc 0x40 0xf8
|
|
|
|
# CHECK: strb w9, [x2, #255]!
|
|
# CHECK: strb w10, [x3, #1]!
|
|
# CHECK: strb w10, [x3, #-256]!
|
|
# CHECK: strh w9, [x2, #255]!
|
|
# CHECK: strh w9, [x2, #1]!
|
|
# CHECK: strh w10, [x3, #-256]!
|
|
0x49 0xfc 0xf 0x38
|
|
0x6a 0x1c 0x0 0x38
|
|
0x6a 0xc 0x10 0x38
|
|
0x49 0xfc 0xf 0x78
|
|
0x49 0x1c 0x0 0x78
|
|
0x6a 0xc 0x10 0x78
|
|
|
|
# CHECK: str w19, [sp, #255]!
|
|
# CHECK: str w20, [x30, #1]!
|
|
# CHECK: str w21, [x12, #-256]!
|
|
# CHECK: str xzr, [x9, #255]!
|
|
# CHECK: str x2, [x3, #1]!
|
|
# CHECK: str x19, [x12, #-256]!
|
|
0xf3 0xff 0xf 0xb8
|
|
0xd4 0x1f 0x0 0xb8
|
|
0x95 0xd 0x10 0xb8
|
|
0x3f 0xfd 0xf 0xf8
|
|
0x62 0x1c 0x0 0xf8
|
|
0x93 0xd 0x10 0xf8
|
|
|
|
# CHECK: ldrb w9, [x2, #255]!
|
|
# CHECK: ldrb w10, [x3, #1]!
|
|
# CHECK: ldrb w10, [x3, #-256]!
|
|
# CHECK: ldrh w9, [x2, #255]!
|
|
# CHECK: ldrh w9, [x2, #1]!
|
|
# CHECK: ldrh w10, [x3, #-256]!
|
|
0x49 0xfc 0x4f 0x38
|
|
0x6a 0x1c 0x40 0x38
|
|
0x6a 0xc 0x50 0x38
|
|
0x49 0xfc 0x4f 0x78
|
|
0x49 0x1c 0x40 0x78
|
|
0x6a 0xc 0x50 0x78
|
|
|
|
# CHECK: ldr w19, [sp, #255]!
|
|
# CHECK: ldr w20, [x30, #1]!
|
|
# CHECK: ldr w21, [x12, #-256]!
|
|
# CHECK: ldr xzr, [x9, #255]!
|
|
# CHECK: ldr x2, [x3, #1]!
|
|
# CHECK: ldr x19, [x12, #-256]!
|
|
0xf3 0xff 0x4f 0xb8
|
|
0xd4 0x1f 0x40 0xb8
|
|
0x95 0xd 0x50 0xb8
|
|
0x3f 0xfd 0x4f 0xf8
|
|
0x62 0x1c 0x40 0xf8
|
|
0x93 0xd 0x50 0xf8
|
|
|
|
# CHECK: ldrsb xzr, [x9, #255]!
|
|
# CHECK: ldrsb x2, [x3, #1]!
|
|
# CHECK: ldrsb x19, [x12, #-256]!
|
|
# CHECK: ldrsh xzr, [x9, #255]!
|
|
# CHECK: ldrsh x2, [x3, #1]!
|
|
# CHECK: ldrsh x19, [x12, #-256]!
|
|
# CHECK: ldrsw xzr, [x9, #255]!
|
|
# CHECK: ldrsw x2, [x3, #1]!
|
|
# CHECK: ldrsw x19, [x12, #-256]!
|
|
0x3f 0xfd 0x8f 0x38
|
|
0x62 0x1c 0x80 0x38
|
|
0x93 0xd 0x90 0x38
|
|
0x3f 0xfd 0x8f 0x78
|
|
0x62 0x1c 0x80 0x78
|
|
0x93 0xd 0x90 0x78
|
|
0x3f 0xfd 0x8f 0xb8
|
|
0x62 0x1c 0x80 0xb8
|
|
0x93 0xd 0x90 0xb8
|
|
|
|
# CHECK: ldrsb wzr, [x9, #255]!
|
|
# CHECK: ldrsb w2, [x3, #1]!
|
|
# CHECK: ldrsb w19, [x12, #-256]!
|
|
# CHECK: ldrsh wzr, [x9, #255]!
|
|
# CHECK: ldrsh w2, [x3, #1]!
|
|
# CHECK: ldrsh w19, [x12, #-256]!
|
|
0x3f 0xfd 0xcf 0x38
|
|
0x62 0x1c 0xc0 0x38
|
|
0x93 0xd 0xd0 0x38
|
|
0x3f 0xfd 0xcf 0x78
|
|
0x62 0x1c 0xc0 0x78
|
|
0x93 0xd 0xd0 0x78
|
|
|
|
# CHECK: str b0, [x0, #255]!
|
|
# CHECK: str b3, [x3, #1]!
|
|
# CHECK: str b5, [sp, #-256]!
|
|
# CHECK: str h10, [x10, #255]!
|
|
# CHECK: str h13, [x23, #1]!
|
|
# CHECK: str h15, [sp, #-256]!
|
|
# CHECK: str s20, [x20, #255]!
|
|
# CHECK: str s23, [x23, #1]!
|
|
# CHECK: str s25, [x0, #-256]!
|
|
# CHECK: str d20, [x20, #255]!
|
|
# CHECK: str d23, [x23, #1]!
|
|
# CHECK: str d25, [x0, #-256]!
|
|
0x0 0xfc 0xf 0x3c
|
|
0x63 0x1c 0x0 0x3c
|
|
0xe5 0xf 0x10 0x3c
|
|
0x4a 0xfd 0xf 0x7c
|
|
0xed 0x1e 0x0 0x7c
|
|
0xef 0xf 0x10 0x7c
|
|
0x94 0xfe 0xf 0xbc
|
|
0xf7 0x1e 0x0 0xbc
|
|
0x19 0xc 0x10 0xbc
|
|
0x94 0xfe 0xf 0xfc
|
|
0xf7 0x1e 0x0 0xfc
|
|
0x19 0xc 0x10 0xfc
|
|
|
|
# CHECK: ldr b0, [x0, #255]!
|
|
# CHECK: ldr b3, [x3, #1]!
|
|
# CHECK: ldr b5, [sp, #-256]!
|
|
# CHECK: ldr h10, [x10, #255]!
|
|
# CHECK: ldr h13, [x23, #1]!
|
|
# CHECK: ldr h15, [sp, #-256]!
|
|
# CHECK: ldr s20, [x20, #255]!
|
|
# CHECK: ldr s23, [x23, #1]!
|
|
# CHECK: ldr s25, [x0, #-256]!
|
|
# CHECK: ldr d20, [x20, #255]!
|
|
# CHECK: ldr d23, [x23, #1]!
|
|
# CHECK: ldr d25, [x0, #-256]!
|
|
0x0 0xfc 0x4f 0x3c
|
|
0x63 0x1c 0x40 0x3c
|
|
0xe5 0xf 0x50 0x3c
|
|
0x4a 0xfd 0x4f 0x7c
|
|
0xed 0x1e 0x40 0x7c
|
|
0xef 0xf 0x50 0x7c
|
|
0x94 0xfe 0x4f 0xbc
|
|
0xf7 0x1e 0x40 0xbc
|
|
0x19 0xc 0x50 0xbc
|
|
0x94 0xfe 0x4f 0xfc
|
|
0xf7 0x1e 0x40 0xfc
|
|
0x19 0xc 0x50 0xfc
|
|
|
|
# CHECK: ldr q20, [x1, #255]!
|
|
# CHECK: ldr q23, [x9, #1]!
|
|
# CHECK: ldr q25, [x20, #-256]!
|
|
# CHECK: str q10, [x1, #255]!
|
|
# CHECK: str q22, [sp, #1]!
|
|
# CHECK: str q21, [x20, #-256]!
|
|
0x34 0xfc 0xcf 0x3c
|
|
0x37 0x1d 0xc0 0x3c
|
|
0x99 0xe 0xd0 0x3c
|
|
0x2a 0xfc 0x8f 0x3c
|
|
0xf6 0x1f 0x80 0x3c
|
|
0x95 0xe 0x90 0x3c
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Load/store (unprivileged)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: sttrb w9, [sp]
|
|
# CHECK: sttrh wzr, [x12, #255]
|
|
# CHECK: sttr w16, [x0, #-256]
|
|
# CHECK: sttr x28, [x14, #1]
|
|
0xe9 0x0b 0x0 0x38
|
|
0x9f 0xf9 0xf 0x78
|
|
0x10 0x08 0x10 0xb8
|
|
0xdc 0x19 0x0 0xf8
|
|
|
|
# CHECK: ldtrb w1, [x20, #255]
|
|
# CHECK: ldtrh w20, [x1, #255]
|
|
# CHECK: ldtr w12, [sp, #255]
|
|
# CHECK: ldtr xzr, [x12, #255]
|
|
0x81 0xfa 0x4f 0x38
|
|
0x34 0xf8 0x4f 0x78
|
|
0xec 0xfb 0x4f 0xb8
|
|
0x9f 0xf9 0x4f 0xf8
|
|
|
|
# CHECK: ldtrsb x9, [x7, #-256]
|
|
# CHECK: ldtrsh x17, [x19, #-256]
|
|
# CHECK: ldtrsw x20, [x15, #-256]
|
|
# CHECK: ldtrsb w19, [x1, #-256]
|
|
# CHECK: ldtrsh w15, [x21, #-256]
|
|
0xe9 0x08 0x90 0x38
|
|
0x71 0x0a 0x90 0x78
|
|
0xf4 0x09 0x90 0xb8
|
|
0x33 0x08 0xd0 0x38
|
|
0xaf 0x0a 0xd0 0x78
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Load/store (unsigned immediate)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: ldr x0, [x0]
|
|
# CHECK: ldr x4, [x29]
|
|
# CHECK: ldr x30, [x12, #32760]
|
|
# CHECK: ldr x20, [sp, #8]
|
|
0x0 0x0 0x40 0xf9
|
|
0xa4 0x3 0x40 0xf9
|
|
0x9e 0xfd 0x7f 0xf9
|
|
0xf4 0x7 0x40 0xf9
|
|
|
|
# CHECK: ldr xzr, [sp]
|
|
0xff 0x3 0x40 0xf9
|
|
|
|
# CHECK: ldr w2, [sp]
|
|
# CHECK: ldr w17, [sp, #16380]
|
|
# CHECK: ldr w13, [x2, #4]
|
|
0xe2 0x3 0x40 0xb9
|
|
0xf1 0xff 0x7f 0xb9
|
|
0x4d 0x4 0x40 0xb9
|
|
|
|
# CHECK: ldrsw x2, [x5, #4]
|
|
# CHECK: ldrsw x23, [sp, #16380]
|
|
0xa2 0x4 0x80 0xb9
|
|
0xf7 0xff 0xbf 0xb9
|
|
|
|
# CHECK: ldrh w2, [x4]
|
|
# CHECK: ldrsh w23, [x6, #8190]
|
|
# CHECK: ldrsh wzr, [sp, #2]
|
|
# CHECK: ldrsh x29, [x2, #2]
|
|
0x82 0x0 0x40 0x79
|
|
0xd7 0xfc 0xff 0x79
|
|
0xff 0x7 0xc0 0x79
|
|
0x5d 0x4 0x80 0x79
|
|
|
|
# CHECK: ldrb w26, [x3, #121]
|
|
# CHECK: ldrb w12, [x2]
|
|
# CHECK: ldrsb w27, [sp, #4095]
|
|
# CHECK: ldrsb xzr, [x15]
|
|
0x7a 0xe4 0x41 0x39
|
|
0x4c 0x0 0x40 0x39
|
|
0xfb 0xff 0xff 0x39
|
|
0xff 0x1 0x80 0x39
|
|
|
|
# CHECK: str x30, [sp]
|
|
# CHECK: str w20, [x4, #16380]
|
|
# CHECK: strh w20, [x10, #14]
|
|
# CHECK: strh w17, [sp, #8190]
|
|
# CHECK: strb w23, [x3, #4095]
|
|
# CHECK: strb wzr, [x2]
|
|
0xfe 0x3 0x0 0xf9
|
|
0x94 0xfc 0x3f 0xb9
|
|
0x54 0x1d 0x0 0x79
|
|
0xf1 0xff 0x3f 0x79
|
|
0x77 0xfc 0x3f 0x39
|
|
0x5f 0x0 0x0 0x39
|
|
|
|
# CHECK: ldr b31, [sp, #4095]
|
|
# CHECK: ldr h20, [x2, #8190]
|
|
# CHECK: ldr s10, [x19, #16380]
|
|
# CHECK: ldr d3, [x10, #32760]
|
|
# CHECK: str q12, [sp, #65520]
|
|
0xff 0xff 0x7f 0x3d
|
|
0x54 0xfc 0x7f 0x7d
|
|
0x6a 0xfe 0x7f 0xbd
|
|
0x43 0xfd 0x7f 0xfd
|
|
0xec 0xff 0xbf 0x3d
|
|
|
|
# CHECK: prfm pldl1keep, [sp, #8]
|
|
# CHECK: prfm pldl1strm, [x3, #0]
|
|
# CHECK: prfm pldl2keep, [x5, #16]
|
|
# CHECK: prfm pldl2strm, [x2, #0]
|
|
# CHECK: prfm pldl3keep, [x5, #0]
|
|
# CHECK: prfm pldl3strm, [x6, #0]
|
|
# CHECK: prfm plil1keep, [sp, #8]
|
|
# CHECK: prfm plil1strm, [x3, #0]
|
|
# CHECK: prfm plil2keep, [x5, #16]
|
|
# CHECK: prfm plil2strm, [x2, #0]
|
|
# CHECK: prfm plil3keep, [x5, #0]
|
|
# CHECK: prfm plil3strm, [x6, #0]
|
|
# CHECK: prfm pstl1keep, [sp, #8]
|
|
# CHECK: prfm pstl1strm, [x3, #0]
|
|
# CHECK: prfm pstl2keep, [x5, #16]
|
|
# CHECK: prfm pstl2strm, [x2, #0]
|
|
# CHECK: prfm pstl3keep, [x5, #0]
|
|
# CHECK: prfm pstl3strm, [x6, #0]
|
|
0xe0 0x07 0x80 0xf9
|
|
0x61 0x00 0x80 0xf9
|
|
0xa2 0x08 0x80 0xf9
|
|
0x43 0x00 0x80 0xf9
|
|
0xa4 0x00 0x80 0xf9
|
|
0xc5 0x00 0x80 0xf9
|
|
0xe8 0x07 0x80 0xf9
|
|
0x69 0x00 0x80 0xf9
|
|
0xaa 0x08 0x80 0xf9
|
|
0x4b 0x00 0x80 0xf9
|
|
0xac 0x00 0x80 0xf9
|
|
0xcd 0x00 0x80 0xf9
|
|
0xf0 0x07 0x80 0xf9
|
|
0x71 0x00 0x80 0xf9
|
|
0xb2 0x08 0x80 0xf9
|
|
0x53 0x00 0x80 0xf9
|
|
0xb4 0x00 0x80 0xf9
|
|
0xd5 0x00 0x80 0xf9
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Load/store (register offset)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: ldrb w3, [sp, x5]
|
|
# CHECK: ldrb w9, [x27, x6]
|
|
# CHECK: ldrsb w10, [x30, x7]
|
|
# CHECK: ldrb w11, [x29, x3, sxtx]
|
|
# CHECK: strb w12, [x28, xzr, sxtx]
|
|
# CHECK: ldrb w14, [x26, w6, uxtw]
|
|
# CHECK: ldrsb w15, [x25, w7, uxtw]
|
|
# CHECK: ldrb w17, [x23, w9, sxtw]
|
|
# CHECK: ldrsb x18, [x22, w10, sxtw]
|
|
0xe3 0x6b 0x65 0x38
|
|
0x69 0x6b 0x66 0x38
|
|
0xca 0x6b 0xe7 0x38
|
|
0xab 0xeb 0x63 0x38
|
|
0x8c 0xeb 0x3f 0x38
|
|
0x4e 0x4b 0x66 0x38
|
|
0x2f 0x4b 0xe7 0x38
|
|
0xf1 0xca 0x69 0x38
|
|
0xd2 0xca 0xaa 0x38
|
|
|
|
# CHECK: ldrsh w3, [sp, x5]
|
|
# CHECK: ldrsh w9, [x27, x6]
|
|
# CHECK: ldrh w10, [x30, x7, lsl #1]
|
|
# CHECK: strh w11, [x29, x3, sxtx]
|
|
# CHECK: ldrh w12, [x28, xzr, sxtx]
|
|
# CHECK: ldrsh x13, [x27, x5, sxtx #1]
|
|
# CHECK: ldrh w14, [x26, w6, uxtw]
|
|
# CHECK: ldrh w15, [x25, w7, uxtw]
|
|
# CHECK: ldrsh w16, [x24, w8, uxtw #1]
|
|
# CHECK: ldrh w17, [x23, w9, sxtw]
|
|
# CHECK: ldrh w18, [x22, w10, sxtw]
|
|
# CHECK: strh w19, [x21, wzr, sxtw #1]
|
|
0xe3 0x6b 0xe5 0x78
|
|
0x69 0x6b 0xe6 0x78
|
|
0xca 0x7b 0x67 0x78
|
|
0xab 0xeb 0x23 0x78
|
|
0x8c 0xeb 0x7f 0x78
|
|
0x6d 0xfb 0xa5 0x78
|
|
0x4e 0x4b 0x66 0x78
|
|
0x2f 0x4b 0x67 0x78
|
|
0x10 0x5b 0xe8 0x78
|
|
0xf1 0xca 0x69 0x78
|
|
0xd2 0xca 0x6a 0x78
|
|
0xb3 0xda 0x3f 0x78
|
|
|
|
# CHECK: ldr w3, [sp, x5]
|
|
# CHECK: ldr s9, [x27, x6]
|
|
# CHECK: ldr w10, [x30, x7, lsl #2]
|
|
# CHECK: ldr w11, [x29, x3, sxtx]
|
|
# CHECK: str s12, [x28, xzr, sxtx]
|
|
# CHECK: str w13, [x27, x5, sxtx #2]
|
|
# CHECK: str w14, [x26, w6, uxtw]
|
|
# CHECK: ldr w15, [x25, w7, uxtw]
|
|
# CHECK: ldr w16, [x24, w8, uxtw #2]
|
|
# CHECK: ldrsw x17, [x23, w9, sxtw]
|
|
# CHECK: ldr w18, [x22, w10, sxtw]
|
|
# CHECK: ldrsw x19, [x21, wzr, sxtw #2]
|
|
0xe3 0x6b 0x65 0xb8
|
|
0x69 0x6b 0x66 0xbc
|
|
0xca 0x7b 0x67 0xb8
|
|
0xab 0xeb 0x63 0xb8
|
|
0x8c 0xeb 0x3f 0xbc
|
|
0x6d 0xfb 0x25 0xb8
|
|
0x4e 0x4b 0x26 0xb8
|
|
0x2f 0x4b 0x67 0xb8
|
|
0x10 0x5b 0x68 0xb8
|
|
0xf1 0xca 0xa9 0xb8
|
|
0xd2 0xca 0x6a 0xb8
|
|
0xb3 0xda 0xbf 0xb8
|
|
|
|
# CHECK: ldr x3, [sp, x5]
|
|
# CHECK: str x9, [x27, x6]
|
|
# CHECK: ldr d10, [x30, x7, lsl #3]
|
|
# CHECK: str x11, [x29, x3, sxtx]
|
|
# CHECK: ldr x12, [x28, xzr, sxtx]
|
|
# CHECK: ldr x13, [x27, x5, sxtx #3]
|
|
# CHECK: prfm pldl1keep, [x26, w6, uxtw]
|
|
# CHECK: ldr x15, [x25, w7, uxtw]
|
|
# CHECK: ldr x16, [x24, w8, uxtw #3]
|
|
# CHECK: ldr x17, [x23, w9, sxtw]
|
|
# CHECK: ldr x18, [x22, w10, sxtw]
|
|
# CHECK: str d19, [x21, wzr, sxtw #3]
|
|
0xe3 0x6b 0x65 0xf8
|
|
0x69 0x6b 0x26 0xf8
|
|
0xca 0x7b 0x67 0xfc
|
|
0xab 0xeb 0x23 0xf8
|
|
0x8c 0xeb 0x7f 0xf8
|
|
0x6d 0xfb 0x65 0xf8
|
|
0x40 0x4b 0xa6 0xf8
|
|
0x2f 0x4b 0x67 0xf8
|
|
0x10 0x5b 0x68 0xf8
|
|
0xf1 0xca 0x69 0xf8
|
|
0xd2 0xca 0x6a 0xf8
|
|
0xb3 0xda 0x3f 0xfc
|
|
|
|
# CHECK: ldr q3, [sp, x5]
|
|
# CHECK: ldr q9, [x27, x6]
|
|
# CHECK: ldr q10, [x30, x7, lsl #4]
|
|
# CHECK: str q11, [x29, x3, sxtx]
|
|
# CHECK: str q12, [x28, xzr, sxtx]
|
|
# CHECK: str q13, [x27, x5, sxtx #4]
|
|
# CHECK: ldr q14, [x26, w6, uxtw]
|
|
# CHECK: ldr q15, [x25, w7, uxtw]
|
|
# CHECK: ldr q16, [x24, w8, uxtw #4]
|
|
# CHECK: ldr q17, [x23, w9, sxtw]
|
|
# CHECK: str q18, [x22, w10, sxtw]
|
|
# CHECK: ldr q19, [x21, wzr, sxtw #4]
|
|
0xe3 0x6b 0xe5 0x3c
|
|
0x69 0x6b 0xe6 0x3c
|
|
0xca 0x7b 0xe7 0x3c
|
|
0xab 0xeb 0xa3 0x3c
|
|
0x8c 0xeb 0xbf 0x3c
|
|
0x6d 0xfb 0xa5 0x3c
|
|
0x4e 0x4b 0xe6 0x3c
|
|
0x2f 0x4b 0xe7 0x3c
|
|
0x10 0x5b 0xe8 0x3c
|
|
0xf1 0xca 0xe9 0x3c
|
|
0xd2 0xca 0xaa 0x3c
|
|
0xb3 0xda 0xff 0x3c
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Load/store register pair (offset)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: ldp w3, w5, [sp]
|
|
# CHECK: stp wzr, w9, [sp, #252]
|
|
# CHECK: ldp w2, wzr, [sp, #-256]
|
|
# CHECK: ldp w9, w10, [sp, #4]
|
|
0xe3 0x17 0x40 0x29
|
|
0xff 0xa7 0x1f 0x29
|
|
0xe2 0x7f 0x60 0x29
|
|
0xe9 0xab 0x40 0x29
|
|
|
|
# CHECK: ldpsw x9, x10, [sp, #4]
|
|
# CHECK: ldpsw x9, x10, [x2, #-256]
|
|
# CHECK: ldpsw x20, x30, [sp, #252]
|
|
0xe9 0xab 0x40 0x69
|
|
0x49 0x28 0x60 0x69
|
|
0xf4 0xfb 0x5f 0x69
|
|
|
|
# CHECK: ldp x21, x29, [x2, #504]
|
|
# CHECK: ldp x22, x23, [x3, #-512]
|
|
# CHECK: ldp x24, x25, [x4, #8]
|
|
0x55 0xf4 0x5f 0xa9
|
|
0x76 0x5c 0x60 0xa9
|
|
0x98 0xe4 0x40 0xa9
|
|
|
|
# CHECK: ldp s29, s28, [sp, #252]
|
|
# CHECK: stp s27, s26, [sp, #-256]
|
|
# CHECK: ldp s1, s2, [x3, #44]
|
|
0xfd 0xf3 0x5f 0x2d
|
|
0xfb 0x6b 0x20 0x2d
|
|
0x61 0x88 0x45 0x2d
|
|
|
|
# CHECK: stp d3, d5, [x9, #504]
|
|
# CHECK: stp d7, d11, [x10, #-512]
|
|
# CHECK: ldp d2, d3, [x30, #-8]
|
|
0x23 0x95 0x1f 0x6d
|
|
0x47 0x2d 0x20 0x6d
|
|
0xc2 0x8f 0x7f 0x6d
|
|
|
|
# CHECK: stp q3, q5, [sp]
|
|
# CHECK: stp q17, q19, [sp, #1008]
|
|
# CHECK: ldp q23, q29, [x1, #-1024]
|
|
0xe3 0x17 0x0 0xad
|
|
0xf1 0xcf 0x1f 0xad
|
|
0x37 0x74 0x60 0xad
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Load/store register pair (post-indexed)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: ldp w3, w5, [sp], #0
|
|
# CHECK: stp wzr, w9, [sp], #252
|
|
# CHECK: ldp w2, wzr, [sp], #-256
|
|
# CHECK: ldp w9, w10, [sp], #4
|
|
0xe3 0x17 0xc0 0x28
|
|
0xff 0xa7 0x9f 0x28
|
|
0xe2 0x7f 0xe0 0x28
|
|
0xe9 0xab 0xc0 0x28
|
|
|
|
# CHECK: ldpsw x9, x10, [sp], #4
|
|
# CHECK: ldpsw x9, x10, [x2], #-256
|
|
# CHECK: ldpsw x20, x30, [sp], #252
|
|
0xe9 0xab 0xc0 0x68
|
|
0x49 0x28 0xe0 0x68
|
|
0xf4 0xfb 0xdf 0x68
|
|
|
|
# CHECK: ldp x21, x29, [x2], #504
|
|
# CHECK: ldp x22, x23, [x3], #-512
|
|
# CHECK: ldp x24, x25, [x4], #8
|
|
0x55 0xf4 0xdf 0xa8
|
|
0x76 0x5c 0xe0 0xa8
|
|
0x98 0xe4 0xc0 0xa8
|
|
|
|
# CHECK: ldp s29, s28, [sp], #252
|
|
# CHECK: stp s27, s26, [sp], #-256
|
|
# CHECK: ldp s1, s2, [x3], #44
|
|
0xfd 0xf3 0xdf 0x2c
|
|
0xfb 0x6b 0xa0 0x2c
|
|
0x61 0x88 0xc5 0x2c
|
|
|
|
# CHECK: stp d3, d5, [x9], #504
|
|
# CHECK: stp d7, d11, [x10], #-512
|
|
# CHECK: ldp d2, d3, [x30], #-8
|
|
0x23 0x95 0x9f 0x6c
|
|
0x47 0x2d 0xa0 0x6c
|
|
0xc2 0x8f 0xff 0x6c
|
|
|
|
# CHECK: stp q3, q5, [sp], #0
|
|
# CHECK: stp q17, q19, [sp], #1008
|
|
# CHECK: ldp q23, q29, [x1], #-1024
|
|
0xe3 0x17 0x80 0xac
|
|
0xf1 0xcf 0x9f 0xac
|
|
0x37 0x74 0xe0 0xac
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Load/store register pair (pre-indexed)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: ldp w3, w5, [sp, #0]!
|
|
# CHECK: stp wzr, w9, [sp, #252]!
|
|
# CHECK: ldp w2, wzr, [sp, #-256]!
|
|
# CHECK: ldp w9, w10, [sp, #4]!
|
|
0xe3 0x17 0xc0 0x29
|
|
0xff 0xa7 0x9f 0x29
|
|
0xe2 0x7f 0xe0 0x29
|
|
0xe9 0xab 0xc0 0x29
|
|
|
|
# CHECK: ldpsw x9, x10, [sp, #4]!
|
|
# CHECK: ldpsw x9, x10, [x2, #-256]!
|
|
# CHECK: ldpsw x20, x30, [sp, #252]!
|
|
0xe9 0xab 0xc0 0x69
|
|
0x49 0x28 0xe0 0x69
|
|
0xf4 0xfb 0xdf 0x69
|
|
|
|
# CHECK: ldp x21, x29, [x2, #504]!
|
|
# CHECK: ldp x22, x23, [x3, #-512]!
|
|
# CHECK: ldp x24, x25, [x4, #8]!
|
|
0x55 0xf4 0xdf 0xa9
|
|
0x76 0x5c 0xe0 0xa9
|
|
0x98 0xe4 0xc0 0xa9
|
|
|
|
# CHECK: ldp s29, s28, [sp, #252]!
|
|
# CHECK: stp s27, s26, [sp, #-256]!
|
|
# CHECK: ldp s1, s2, [x3, #44]!
|
|
0xfd 0xf3 0xdf 0x2d
|
|
0xfb 0x6b 0xa0 0x2d
|
|
0x61 0x88 0xc5 0x2d
|
|
|
|
# CHECK: stp d3, d5, [x9, #504]!
|
|
# CHECK: stp d7, d11, [x10, #-512]!
|
|
# CHECK: ldp d2, d3, [x30, #-8]!
|
|
0x23 0x95 0x9f 0x6d
|
|
0x47 0x2d 0xa0 0x6d
|
|
0xc2 0x8f 0xff 0x6d
|
|
|
|
# CHECK: stp q3, q5, [sp, #0]!
|
|
# CHECK: stp q17, q19, [sp, #1008]!
|
|
# CHECK: ldp q23, q29, [x1, #-1024]!
|
|
0xe3 0x17 0x80 0xad
|
|
0xf1 0xcf 0x9f 0xad
|
|
0x37 0x74 0xe0 0xad
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Load/store register pair (offset)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: ldnp w3, w5, [sp]
|
|
# CHECK: stnp wzr, w9, [sp, #252]
|
|
# CHECK: ldnp w2, wzr, [sp, #-256]
|
|
# CHECK: ldnp w9, w10, [sp, #4]
|
|
0xe3 0x17 0x40 0x28
|
|
0xff 0xa7 0x1f 0x28
|
|
0xe2 0x7f 0x60 0x28
|
|
0xe9 0xab 0x40 0x28
|
|
|
|
# CHECK: ldnp x21, x29, [x2, #504]
|
|
# CHECK: ldnp x22, x23, [x3, #-512]
|
|
# CHECK: ldnp x24, x25, [x4, #8]
|
|
0x55 0xf4 0x5f 0xa8
|
|
0x76 0x5c 0x60 0xa8
|
|
0x98 0xe4 0x40 0xa8
|
|
|
|
# CHECK: ldnp s29, s28, [sp, #252]
|
|
# CHECK: stnp s27, s26, [sp, #-256]
|
|
# CHECK: ldnp s1, s2, [x3, #44]
|
|
0xfd 0xf3 0x5f 0x2c
|
|
0xfb 0x6b 0x20 0x2c
|
|
0x61 0x88 0x45 0x2c
|
|
|
|
# CHECK: stnp d3, d5, [x9, #504]
|
|
# CHECK: stnp d7, d11, [x10, #-512]
|
|
# CHECK: ldnp d2, d3, [x30, #-8]
|
|
0x23 0x95 0x1f 0x6c
|
|
0x47 0x2d 0x20 0x6c
|
|
0xc2 0x8f 0x7f 0x6c
|
|
|
|
# CHECK: stnp q3, q5, [sp]
|
|
# CHECK: stnp q17, q19, [sp, #1008]
|
|
# CHECK: ldnp q23, q29, [x1, #-1024]
|
|
0xe3 0x17 0x0 0xac
|
|
0xf1 0xcf 0x1f 0xac
|
|
0x37 0x74 0x60 0xac
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Logical (immediate)
|
|
#------------------------------------------------------------------------------
|
|
# CHECK: orr w3, w9, #0xffff0000
|
|
# CHECK: orr wsp, w10, #0xe00000ff
|
|
# CHECK: orr w9, w10, #0x3ff
|
|
0x23 0x3d 0x10 0x32
|
|
0x5f 0x29 0x3 0x32
|
|
0x49 0x25 0x0 0x32
|
|
|
|
# CHECK: and w14, w15, #0x80008000
|
|
# CHECK: and w12, w13, #0xffc3ffc3
|
|
# CHECK: and w11, wzr, #0x30003
|
|
0xee 0x81 0x1 0x12
|
|
0xac 0xad 0xa 0x12
|
|
0xeb 0x87 0x0 0x12
|
|
|
|
# CHECK: eor w3, w6, #0xe0e0e0e0
|
|
# CHECK: eor wsp, wzr, #0x3030303
|
|
# CHECK: eor w16, w17, #0x81818181
|
|
0xc3 0xc8 0x3 0x52
|
|
0xff 0xc7 0x0 0x52
|
|
0x30 0xc6 0x1 0x52
|
|
|
|
# CHECK: ands wzr, w18, #0xcccccccc
|
|
# CHECK: ands w19, w20, #0x33333333
|
|
# CHECK: ands w21, w22, #0x99999999
|
|
0x5f 0xe6 0x2 0x72
|
|
0x93 0xe6 0x0 0x72
|
|
0xd5 0xe6 0x1 0x72
|
|
|
|
# CHECK: ands wzr, w3, #0xaaaaaaaa
|
|
# CHECK: ands wzr, wzr, #0x55555555
|
|
0x7f 0xf0 0x1 0x72
|
|
0xff 0xf3 0x0 0x72
|
|
|
|
# CHECK: eor x3, x5, #0xffffffffc000000
|
|
# CHECK: and x9, x10, #0x7fffffffffff
|
|
# CHECK: orr x11, x12, #0x8000000000000fff
|
|
0xa3 0x84 0x66 0xd2
|
|
0x49 0xb9 0x40 0x92
|
|
0x8b 0x31 0x41 0xb2
|
|
|
|
# CHECK: orr x3, x9, #0xffff0000ffff0000
|
|
# CHECK: orr sp, x10, #0xe00000ffe00000ff
|
|
# CHECK: orr x9, x10, #0x3ff000003ff
|
|
0x23 0x3d 0x10 0xb2
|
|
0x5f 0x29 0x3 0xb2
|
|
0x49 0x25 0x0 0xb2
|
|
|
|
# CHECK: and x14, x15, #0x8000800080008000
|
|
# CHECK: and x12, x13, #0xffc3ffc3ffc3ffc3
|
|
# CHECK: and x11, xzr, #0x3000300030003
|
|
0xee 0x81 0x1 0x92
|
|
0xac 0xad 0xa 0x92
|
|
0xeb 0x87 0x0 0x92
|
|
|
|
# CHECK: eor x3, x6, #0xe0e0e0e0e0e0e0e0
|
|
# CHECK: eor sp, xzr, #0x303030303030303
|
|
# CHECK: eor x16, x17, #0x8181818181818181
|
|
0xc3 0xc8 0x3 0xd2
|
|
0xff 0xc7 0x0 0xd2
|
|
0x30 0xc6 0x1 0xd2
|
|
|
|
# CHECK: ands xzr, x18, #0xcccccccccccccccc
|
|
# CHECK: ands x19, x20, #0x3333333333333333
|
|
# CHECK: ands x21, x22, #0x9999999999999999
|
|
0x5f 0xe6 0x2 0xf2
|
|
0x93 0xe6 0x0 0xf2
|
|
0xd5 0xe6 0x1 0xf2
|
|
|
|
# CHECK: ands xzr, x3, #0xaaaaaaaaaaaaaaaa
|
|
# CHECK: ands xzr, xzr, #0x5555555555555555
|
|
0x7f 0xf0 0x1 0xf2
|
|
0xff 0xf3 0x0 0xf2
|
|
|
|
# CHECK: orr w3, wzr, #0xf000f
|
|
# CHECK: orr x10, xzr, #0xaaaaaaaaaaaaaaaa
|
|
0xe3 0x8f 0x0 0x32
|
|
0xea 0xf3 0x1 0xb2
|
|
|
|
# CHECK: orr w3, wzr, #0xffff
|
|
# CHECK: orr x9, xzr, #0xffff00000000
|
|
0xe3 0x3f 0x0 0x32
|
|
0xe9 0x3f 0x60 0xb2
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Logical (shifted register)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: and w12, w23, w21
|
|
# CHECK: and w16, w15, w1, lsl #1
|
|
# CHECK: and w9, w4, w10, lsl #31
|
|
# CHECK: and w3, w30, w11
|
|
# CHECK: and x3, x5, x7, lsl #63
|
|
0xec 0x2 0x15 0xa
|
|
0xf0 0x5 0x1 0xa
|
|
0x89 0x7c 0xa 0xa
|
|
0xc3 0x3 0xb 0xa
|
|
0xa3 0xfc 0x7 0x8a
|
|
|
|
# CHECK: and x5, x14, x19, asr #4
|
|
# CHECK: and w3, w17, w19, ror #31
|
|
# CHECK: and w0, w2, wzr, lsr #17
|
|
# CHECK: and w3, w30, w11, asr
|
|
0xc5 0x11 0x93 0x8a
|
|
0x23 0x7e 0xd3 0xa
|
|
0x40 0x44 0x5f 0xa
|
|
0xc3 0x3 0x8b 0xa
|
|
|
|
# CHECK: and xzr, x4, x26
|
|
# CHECK: and w3, wzr, w20, ror
|
|
# CHECK: and x7, x20, xzr, asr #63
|
|
0x9f 0x0 0x1a 0x8a
|
|
0xe3 0x3 0xd4 0xa
|
|
0x87 0xfe 0x9f 0x8a
|
|
|
|
# CHECK: bic x13, x20, x14, lsl #47
|
|
# CHECK: bic w2, w7, w9
|
|
# CHECK: orr w2, w7, w0, asr #31
|
|
# CHECK: orr x8, x9, x10, lsl #12
|
|
# CHECK: orn x3, x5, x7, asr
|
|
# CHECK: orn w2, w5, w29
|
|
0x8d 0xbe 0x2e 0x8a
|
|
0xe2 0x0 0x29 0xa
|
|
0xe2 0x7c 0x80 0x2a
|
|
0x28 0x31 0xa 0xaa
|
|
0xa3 0x0 0xa7 0xaa
|
|
0xa2 0x0 0x3d 0x2a
|
|
|
|
# CHECK: ands w7, wzr, w9, lsl #1
|
|
# CHECK: ands x3, x5, x20, ror #63
|
|
# CHECK: bics w3, w5, w7
|
|
# CHECK: bics x3, xzr, x3, lsl #1
|
|
# CHECK: tst w3, w7, lsl #31
|
|
# CHECK: tst x2, x20, asr
|
|
0xe7 0x7 0x9 0x6a
|
|
0xa3 0xfc 0xd4 0xea
|
|
0xa3 0x0 0x27 0x6a
|
|
0xe3 0x7 0x23 0xea
|
|
0x7f 0x7c 0x7 0x6a
|
|
0x5f 0x0 0x94 0xea
|
|
|
|
# CHECK: mov x3, x6
|
|
# CHECK: mov x3, xzr
|
|
# CHECK: mov wzr, w2
|
|
# CHECK: mov w3, w5
|
|
0xe3 0x3 0x6 0xaa
|
|
0xe3 0x3 0x1f 0xaa
|
|
0xff 0x3 0x2 0x2a
|
|
0xe3 0x3 0x5 0x2a
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Move wide (immediate)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# N.b. (FIXME) canonical aliases aren't produced here because of
|
|
# limitation in InstAlias. Lots of the "mov[nz]" instructions should
|
|
# be "mov".
|
|
|
|
# CHECK: movz w1, #65535
|
|
# CHECK: movz w2, #0, lsl #16
|
|
# CHECK: movn w2, #1234
|
|
0xe1 0xff 0x9f 0x52
|
|
0x2 0x0 0xa0 0x52
|
|
0x42 0x9a 0x80 0x12
|
|
|
|
# CHECK: movz x2, #1234, lsl #32
|
|
# CHECK: movk xzr, #4321, lsl #48
|
|
0x42 0x9a 0xc0 0xd2
|
|
0x3f 0x1c 0xe2 0xf2
|
|
|
|
# CHECK: movz x2, #0
|
|
# CHECK: movk w3, #0
|
|
# CHECK: movz x4, #0, lsl #16
|
|
# CHECK: movk w5, #0, lsl #16
|
|
# CHECK: movz x6, #0, lsl #32
|
|
# CHECK: movk x7, #0, lsl #32
|
|
# CHECK: movz x8, #0, lsl #48
|
|
# CHECK: movk x9, #0, lsl #48
|
|
0x2 0x0 0x80 0xd2
|
|
0x3 0x0 0x80 0x72
|
|
0x4 0x0 0xa0 0xd2
|
|
0x5 0x0 0xa0 0x72
|
|
0x6 0x0 0xc0 0xd2
|
|
0x7 0x0 0xc0 0xf2
|
|
0x8 0x0 0xe0 0xd2
|
|
0x9 0x0 0xe0 0xf2
|
|
|
|
#------------------------------------------------------------------------------
|
|
# PC-relative addressing
|
|
#------------------------------------------------------------------------------
|
|
|
|
# It's slightly dodgy using immediates here, but harmless enough when
|
|
# it's all that's available.
|
|
|
|
# CHECK: adr x2, #1600
|
|
# CHECK: adrp x21, #6553600
|
|
# CHECK: adr x0, #262144
|
|
0x02 0x32 0x00 0x10
|
|
0x15 0x32 0x00 0x90
|
|
0x00 0x00 0x20 0x10
|
|
|
|
#------------------------------------------------------------------------------
|
|
# System
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: nop
|
|
# CHECK: hint #127
|
|
# CHECK: nop
|
|
# CHECK: yield
|
|
# CHECK: wfe
|
|
# CHECK: wfi
|
|
# CHECK: sev
|
|
# CHECK: sevl
|
|
0x1f 0x20 0x3 0xd5
|
|
0xff 0x2f 0x3 0xd5
|
|
0x1f 0x20 0x3 0xd5
|
|
0x3f 0x20 0x3 0xd5
|
|
0x5f 0x20 0x3 0xd5
|
|
0x7f 0x20 0x3 0xd5
|
|
0x9f 0x20 0x3 0xd5
|
|
0xbf 0x20 0x3 0xd5
|
|
|
|
# CHECK: clrex
|
|
# CHECK: clrex #0
|
|
# CHECK: clrex #7
|
|
# CHECK: clrex
|
|
0x5f 0x3f 0x3 0xd5
|
|
0x5f 0x30 0x3 0xd5
|
|
0x5f 0x37 0x3 0xd5
|
|
0x5f 0x3f 0x3 0xd5
|
|
|
|
# CHECK: dsb #0
|
|
# CHECK: dsb #12
|
|
# CHECK: dsb sy
|
|
# CHECK: dsb oshld
|
|
# CHECK: dsb oshst
|
|
# CHECK: dsb osh
|
|
# CHECK: dsb nshld
|
|
# CHECK: dsb nshst
|
|
# CHECK: dsb nsh
|
|
# CHECK: dsb ishld
|
|
# CHECK: dsb ishst
|
|
# CHECK: dsb ish
|
|
# CHECK: dsb ld
|
|
# CHECK: dsb st
|
|
# CHECK: dsb sy
|
|
0x9f 0x30 0x3 0xd5
|
|
0x9f 0x3c 0x3 0xd5
|
|
0x9f 0x3f 0x3 0xd5
|
|
0x9f 0x31 0x3 0xd5
|
|
0x9f 0x32 0x3 0xd5
|
|
0x9f 0x33 0x3 0xd5
|
|
0x9f 0x35 0x3 0xd5
|
|
0x9f 0x36 0x3 0xd5
|
|
0x9f 0x37 0x3 0xd5
|
|
0x9f 0x39 0x3 0xd5
|
|
0x9f 0x3a 0x3 0xd5
|
|
0x9f 0x3b 0x3 0xd5
|
|
0x9f 0x3d 0x3 0xd5
|
|
0x9f 0x3e 0x3 0xd5
|
|
0x9f 0x3f 0x3 0xd5
|
|
|
|
# CHECK: dmb #0
|
|
# CHECK: dmb #12
|
|
# CHECK: dmb sy
|
|
# CHECK: dmb oshld
|
|
# CHECK: dmb oshst
|
|
# CHECK: dmb osh
|
|
# CHECK: dmb nshld
|
|
# CHECK: dmb nshst
|
|
# CHECK: dmb nsh
|
|
# CHECK: dmb ishld
|
|
# CHECK: dmb ishst
|
|
# CHECK: dmb ish
|
|
# CHECK: dmb ld
|
|
# CHECK: dmb st
|
|
# CHECK: dmb sy
|
|
0xbf 0x30 0x3 0xd5
|
|
0xbf 0x3c 0x3 0xd5
|
|
0xbf 0x3f 0x3 0xd5
|
|
0xbf 0x31 0x3 0xd5
|
|
0xbf 0x32 0x3 0xd5
|
|
0xbf 0x33 0x3 0xd5
|
|
0xbf 0x35 0x3 0xd5
|
|
0xbf 0x36 0x3 0xd5
|
|
0xbf 0x37 0x3 0xd5
|
|
0xbf 0x39 0x3 0xd5
|
|
0xbf 0x3a 0x3 0xd5
|
|
0xbf 0x3b 0x3 0xd5
|
|
0xbf 0x3d 0x3 0xd5
|
|
0xbf 0x3e 0x3 0xd5
|
|
0xbf 0x3f 0x3 0xd5
|
|
|
|
# CHECK: isb
|
|
# CHECK: isb #12
|
|
0xdf 0x3f 0x3 0xd5
|
|
0xdf 0x3c 0x3 0xd5
|
|
|
|
# CHECK: msr spsel, #0
|
|
# CHECK: msr daifset, #15
|
|
# CHECK: msr daifclr, #12
|
|
0xbf 0x40 0x0 0xd5
|
|
0xdf 0x4f 0x3 0xd5
|
|
0xff 0x4c 0x3 0xd5
|
|
|
|
# CHECK: sys #7, c5, c9, #7, x5
|
|
# CHECK: sys #0, c15, c15, #2
|
|
# CHECK: sysl x9, #7, c5, c9, #7
|
|
# CHECK: sysl x1, #0, c15, c15, #2
|
|
0xe5 0x59 0xf 0xd5
|
|
0x5f 0xff 0x8 0xd5
|
|
0xe9 0x59 0x2f 0xd5
|
|
0x41 0xff 0x28 0xd5
|
|
|
|
# CHECK: sys #0, c7, c1, #0, xzr
|
|
# CHECK: sys #0, c7, c5, #0, xzr
|
|
# CHECK: sys #3, c7, c5, #1, x9
|
|
0x1f 0x71 0x8 0xd5
|
|
0x1f 0x75 0x8 0xd5
|
|
0x29 0x75 0xb 0xd5
|
|
|
|
# CHECK: sys #3, c7, c4, #1, x12
|
|
# CHECK: sys #0, c7, c6, #1, xzr
|
|
# CHECK: sys #0, c7, c6, #2, x2
|
|
# CHECK: sys #3, c7, c10, #1, x9
|
|
# CHECK: sys #0, c7, c10, #2, x10
|
|
# CHECK: sys #3, c7, c11, #1, x0
|
|
# CHECK: sys #3, c7, c14, #1, x3
|
|
# CHECK: sys #0, c7, c14, #2, x30
|
|
0x2c 0x74 0xb 0xd5
|
|
0x3f 0x76 0x8 0xd5
|
|
0x42 0x76 0x8 0xd5
|
|
0x29 0x7a 0xb 0xd5
|
|
0x4a 0x7a 0x8 0xd5
|
|
0x20 0x7b 0xb 0xd5
|
|
0x23 0x7e 0xb 0xd5
|
|
0x5e 0x7e 0x8 0xd5
|
|
|
|
|
|
# CHECK: msr teecr32_el1, x12
|
|
# CHECK: msr osdtrrx_el1, x12
|
|
# CHECK: msr mdccint_el1, x12
|
|
# CHECK: msr mdscr_el1, x12
|
|
# CHECK: msr osdtrtx_el1, x12
|
|
# CHECK: msr dbgdtr_el0, x12
|
|
# CHECK: msr dbgdtrtx_el0, x12
|
|
# CHECK: msr oseccr_el1, x12
|
|
# CHECK: msr dbgvcr32_el2, x12
|
|
# CHECK: msr dbgbvr0_el1, x12
|
|
# CHECK: msr dbgbvr1_el1, x12
|
|
# CHECK: msr dbgbvr2_el1, x12
|
|
# CHECK: msr dbgbvr3_el1, x12
|
|
# CHECK: msr dbgbvr4_el1, x12
|
|
# CHECK: msr dbgbvr5_el1, x12
|
|
# CHECK: msr dbgbvr6_el1, x12
|
|
# CHECK: msr dbgbvr7_el1, x12
|
|
# CHECK: msr dbgbvr8_el1, x12
|
|
# CHECK: msr dbgbvr9_el1, x12
|
|
# CHECK: msr dbgbvr10_el1, x12
|
|
# CHECK: msr dbgbvr11_el1, x12
|
|
# CHECK: msr dbgbvr12_el1, x12
|
|
# CHECK: msr dbgbvr13_el1, x12
|
|
# CHECK: msr dbgbvr14_el1, x12
|
|
# CHECK: msr dbgbvr15_el1, x12
|
|
# CHECK: msr dbgbcr0_el1, x12
|
|
# CHECK: msr dbgbcr1_el1, x12
|
|
# CHECK: msr dbgbcr2_el1, x12
|
|
# CHECK: msr dbgbcr3_el1, x12
|
|
# CHECK: msr dbgbcr4_el1, x12
|
|
# CHECK: msr dbgbcr5_el1, x12
|
|
# CHECK: msr dbgbcr6_el1, x12
|
|
# CHECK: msr dbgbcr7_el1, x12
|
|
# CHECK: msr dbgbcr8_el1, x12
|
|
# CHECK: msr dbgbcr9_el1, x12
|
|
# CHECK: msr dbgbcr10_el1, x12
|
|
# CHECK: msr dbgbcr11_el1, x12
|
|
# CHECK: msr dbgbcr12_el1, x12
|
|
# CHECK: msr dbgbcr13_el1, x12
|
|
# CHECK: msr dbgbcr14_el1, x12
|
|
# CHECK: msr dbgbcr15_el1, x12
|
|
# CHECK: msr dbgwvr0_el1, x12
|
|
# CHECK: msr dbgwvr1_el1, x12
|
|
# CHECK: msr dbgwvr2_el1, x12
|
|
# CHECK: msr dbgwvr3_el1, x12
|
|
# CHECK: msr dbgwvr4_el1, x12
|
|
# CHECK: msr dbgwvr5_el1, x12
|
|
# CHECK: msr dbgwvr6_el1, x12
|
|
# CHECK: msr dbgwvr7_el1, x12
|
|
# CHECK: msr dbgwvr8_el1, x12
|
|
# CHECK: msr dbgwvr9_el1, x12
|
|
# CHECK: msr dbgwvr10_el1, x12
|
|
# CHECK: msr dbgwvr11_el1, x12
|
|
# CHECK: msr dbgwvr12_el1, x12
|
|
# CHECK: msr dbgwvr13_el1, x12
|
|
# CHECK: msr dbgwvr14_el1, x12
|
|
# CHECK: msr dbgwvr15_el1, x12
|
|
# CHECK: msr dbgwcr0_el1, x12
|
|
# CHECK: msr dbgwcr1_el1, x12
|
|
# CHECK: msr dbgwcr2_el1, x12
|
|
# CHECK: msr dbgwcr3_el1, x12
|
|
# CHECK: msr dbgwcr4_el1, x12
|
|
# CHECK: msr dbgwcr5_el1, x12
|
|
# CHECK: msr dbgwcr6_el1, x12
|
|
# CHECK: msr dbgwcr7_el1, x12
|
|
# CHECK: msr dbgwcr8_el1, x12
|
|
# CHECK: msr dbgwcr9_el1, x12
|
|
# CHECK: msr dbgwcr10_el1, x12
|
|
# CHECK: msr dbgwcr11_el1, x12
|
|
# CHECK: msr dbgwcr12_el1, x12
|
|
# CHECK: msr dbgwcr13_el1, x12
|
|
# CHECK: msr dbgwcr14_el1, x12
|
|
# CHECK: msr dbgwcr15_el1, x12
|
|
# CHECK: msr teehbr32_el1, x12
|
|
# CHECK: msr oslar_el1, x12
|
|
# CHECK: msr osdlr_el1, x12
|
|
# CHECK: msr dbgprcr_el1, x12
|
|
# CHECK: msr dbgclaimset_el1, x12
|
|
# CHECK: msr dbgclaimclr_el1, x12
|
|
# CHECK: msr csselr_el1, x12
|
|
# CHECK: msr vpidr_el2, x12
|
|
# CHECK: msr vmpidr_el2, x12
|
|
# CHECK: msr sctlr_el1, x12
|
|
# CHECK: msr sctlr_el2, x12
|
|
# CHECK: msr sctlr_el3, x12
|
|
# CHECK: msr actlr_el1, x12
|
|
# CHECK: msr actlr_el2, x12
|
|
# CHECK: msr actlr_el3, x12
|
|
# CHECK: msr cpacr_el1, x12
|
|
# CHECK: msr hcr_el2, x12
|
|
# CHECK: msr scr_el3, x12
|
|
# CHECK: msr mdcr_el2, x12
|
|
# CHECK: msr sder32_el3, x12
|
|
# CHECK: msr cptr_el2, x12
|
|
# CHECK: msr cptr_el3, x12
|
|
# CHECK: msr hstr_el2, x12
|
|
# CHECK: msr hacr_el2, x12
|
|
# CHECK: msr mdcr_el3, x12
|
|
# CHECK: msr ttbr0_el1, x12
|
|
# CHECK: msr ttbr0_el2, x12
|
|
# CHECK: msr ttbr0_el3, x12
|
|
# CHECK: msr ttbr1_el1, x12
|
|
# CHECK: msr tcr_el1, x12
|
|
# CHECK: msr tcr_el2, x12
|
|
# CHECK: msr tcr_el3, x12
|
|
# CHECK: msr vttbr_el2, x12
|
|
# CHECK: msr vtcr_el2, x12
|
|
# CHECK: msr dacr32_el2, x12
|
|
# CHECK: msr spsr_el1, x12
|
|
# CHECK: msr spsr_el2, x12
|
|
# CHECK: msr spsr_el3, x12
|
|
# CHECK: msr elr_el1, x12
|
|
# CHECK: msr elr_el2, x12
|
|
# CHECK: msr elr_el3, x12
|
|
# CHECK: msr sp_el0, x12
|
|
# CHECK: msr sp_el1, x12
|
|
# CHECK: msr sp_el2, x12
|
|
# CHECK: msr spsel, x12
|
|
# CHECK: msr nzcv, x12
|
|
# CHECK: msr daif, x12
|
|
# CHECK: msr currentel, x12
|
|
# CHECK: msr spsr_irq, x12
|
|
# CHECK: msr spsr_abt, x12
|
|
# CHECK: msr spsr_und, x12
|
|
# CHECK: msr spsr_fiq, x12
|
|
# CHECK: msr fpcr, x12
|
|
# CHECK: msr fpsr, x12
|
|
# CHECK: msr dspsr_el0, x12
|
|
# CHECK: msr dlr_el0, x12
|
|
# CHECK: msr ifsr32_el2, x12
|
|
# CHECK: msr afsr0_el1, x12
|
|
# CHECK: msr afsr0_el2, x12
|
|
# CHECK: msr afsr0_el3, x12
|
|
# CHECK: msr afsr1_el1, x12
|
|
# CHECK: msr afsr1_el2, x12
|
|
# CHECK: msr afsr1_el3, x12
|
|
# CHECK: msr esr_el1, x12
|
|
# CHECK: msr esr_el2, x12
|
|
# CHECK: msr esr_el3, x12
|
|
# CHECK: msr fpexc32_el2, x12
|
|
# CHECK: msr far_el1, x12
|
|
# CHECK: msr far_el2, x12
|
|
# CHECK: msr far_el3, x12
|
|
# CHECK: msr hpfar_el2, x12
|
|
# CHECK: msr par_el1, x12
|
|
# CHECK: msr pmcr_el0, x12
|
|
# CHECK: msr pmcntenset_el0, x12
|
|
# CHECK: msr pmcntenclr_el0, x12
|
|
# CHECK: msr pmovsclr_el0, x12
|
|
# CHECK: msr pmselr_el0, x12
|
|
# CHECK: msr pmccntr_el0, x12
|
|
# CHECK: msr pmxevtyper_el0, x12
|
|
# CHECK: msr pmxevcntr_el0, x12
|
|
# CHECK: msr pmuserenr_el0, x12
|
|
# CHECK: msr pmintenset_el1, x12
|
|
# CHECK: msr pmintenclr_el1, x12
|
|
# CHECK: msr pmovsset_el0, x12
|
|
# CHECK: msr mair_el1, x12
|
|
# CHECK: msr mair_el2, x12
|
|
# CHECK: msr mair_el3, x12
|
|
# CHECK: msr amair_el1, x12
|
|
# CHECK: msr amair_el2, x12
|
|
# CHECK: msr amair_el3, x12
|
|
# CHECK: msr vbar_el1, x12
|
|
# CHECK: msr vbar_el2, x12
|
|
# CHECK: msr vbar_el3, x12
|
|
# CHECK: msr rmr_el1, x12
|
|
# CHECK: msr rmr_el2, x12
|
|
# CHECK: msr rmr_el3, x12
|
|
# CHECK: msr tpidr_el0, x12
|
|
# CHECK: msr tpidr_el2, x12
|
|
# CHECK: msr tpidr_el3, x12
|
|
# CHECK: msr tpidrro_el0, x12
|
|
# CHECK: msr tpidr_el1, x12
|
|
# CHECK: msr cntfrq_el0, x12
|
|
# CHECK: msr cntvoff_el2, x12
|
|
# CHECK: msr cntkctl_el1, x12
|
|
# CHECK: msr cnthctl_el2, x12
|
|
# CHECK: msr cntp_tval_el0, x12
|
|
# CHECK: msr cnthp_tval_el2, x12
|
|
# CHECK: msr cntps_tval_el1, x12
|
|
# CHECK: msr cntp_ctl_el0, x12
|
|
# CHECK: msr cnthp_ctl_el2, x12
|
|
# CHECK: msr cntps_ctl_el1, x12
|
|
# CHECK: msr cntp_cval_el0, x12
|
|
# CHECK: msr cnthp_cval_el2, x12
|
|
# CHECK: msr cntps_cval_el1, x12
|
|
# CHECK: msr cntv_tval_el0, x12
|
|
# CHECK: msr cntv_ctl_el0, x12
|
|
# CHECK: msr cntv_cval_el0, x12
|
|
# CHECK: msr pmevcntr0_el0, x12
|
|
# CHECK: msr pmevcntr1_el0, x12
|
|
# CHECK: msr pmevcntr2_el0, x12
|
|
# CHECK: msr pmevcntr3_el0, x12
|
|
# CHECK: msr pmevcntr4_el0, x12
|
|
# CHECK: msr pmevcntr5_el0, x12
|
|
# CHECK: msr pmevcntr6_el0, x12
|
|
# CHECK: msr pmevcntr7_el0, x12
|
|
# CHECK: msr pmevcntr8_el0, x12
|
|
# CHECK: msr pmevcntr9_el0, x12
|
|
# CHECK: msr pmevcntr10_el0, x12
|
|
# CHECK: msr pmevcntr11_el0, x12
|
|
# CHECK: msr pmevcntr12_el0, x12
|
|
# CHECK: msr pmevcntr13_el0, x12
|
|
# CHECK: msr pmevcntr14_el0, x12
|
|
# CHECK: msr pmevcntr15_el0, x12
|
|
# CHECK: msr pmevcntr16_el0, x12
|
|
# CHECK: msr pmevcntr17_el0, x12
|
|
# CHECK: msr pmevcntr18_el0, x12
|
|
# CHECK: msr pmevcntr19_el0, x12
|
|
# CHECK: msr pmevcntr20_el0, x12
|
|
# CHECK: msr pmevcntr21_el0, x12
|
|
# CHECK: msr pmevcntr22_el0, x12
|
|
# CHECK: msr pmevcntr23_el0, x12
|
|
# CHECK: msr pmevcntr24_el0, x12
|
|
# CHECK: msr pmevcntr25_el0, x12
|
|
# CHECK: msr pmevcntr26_el0, x12
|
|
# CHECK: msr pmevcntr27_el0, x12
|
|
# CHECK: msr pmevcntr28_el0, x12
|
|
# CHECK: msr pmevcntr29_el0, x12
|
|
# CHECK: msr pmevcntr30_el0, x12
|
|
# CHECK: msr pmccfiltr_el0, x12
|
|
# CHECK: msr pmevtyper0_el0, x12
|
|
# CHECK: msr pmevtyper1_el0, x12
|
|
# CHECK: msr pmevtyper2_el0, x12
|
|
# CHECK: msr pmevtyper3_el0, x12
|
|
# CHECK: msr pmevtyper4_el0, x12
|
|
# CHECK: msr pmevtyper5_el0, x12
|
|
# CHECK: msr pmevtyper6_el0, x12
|
|
# CHECK: msr pmevtyper7_el0, x12
|
|
# CHECK: msr pmevtyper8_el0, x12
|
|
# CHECK: msr pmevtyper9_el0, x12
|
|
# CHECK: msr pmevtyper10_el0, x12
|
|
# CHECK: msr pmevtyper11_el0, x12
|
|
# CHECK: msr pmevtyper12_el0, x12
|
|
# CHECK: msr pmevtyper13_el0, x12
|
|
# CHECK: msr pmevtyper14_el0, x12
|
|
# CHECK: msr pmevtyper15_el0, x12
|
|
# CHECK: msr pmevtyper16_el0, x12
|
|
# CHECK: msr pmevtyper17_el0, x12
|
|
# CHECK: msr pmevtyper18_el0, x12
|
|
# CHECK: msr pmevtyper19_el0, x12
|
|
# CHECK: msr pmevtyper20_el0, x12
|
|
# CHECK: msr pmevtyper21_el0, x12
|
|
# CHECK: msr pmevtyper22_el0, x12
|
|
# CHECK: msr pmevtyper23_el0, x12
|
|
# CHECK: msr pmevtyper24_el0, x12
|
|
# CHECK: msr pmevtyper25_el0, x12
|
|
# CHECK: msr pmevtyper26_el0, x12
|
|
# CHECK: msr pmevtyper27_el0, x12
|
|
# CHECK: msr pmevtyper28_el0, x12
|
|
# CHECK: msr pmevtyper29_el0, x12
|
|
# CHECK: msr pmevtyper30_el0, x12
|
|
# CHECK: mrs x9, teecr32_el1
|
|
# CHECK: mrs x9, osdtrrx_el1
|
|
# CHECK: mrs x9, mdccsr_el0
|
|
# CHECK: mrs x9, mdccint_el1
|
|
# CHECK: mrs x9, mdscr_el1
|
|
# CHECK: mrs x9, osdtrtx_el1
|
|
# CHECK: mrs x9, dbgdtr_el0
|
|
# CHECK: mrs x9, dbgdtrrx_el0
|
|
# CHECK: mrs x9, oseccr_el1
|
|
# CHECK: mrs x9, dbgvcr32_el2
|
|
# CHECK: mrs x9, dbgbvr0_el1
|
|
# CHECK: mrs x9, dbgbvr1_el1
|
|
# CHECK: mrs x9, dbgbvr2_el1
|
|
# CHECK: mrs x9, dbgbvr3_el1
|
|
# CHECK: mrs x9, dbgbvr4_el1
|
|
# CHECK: mrs x9, dbgbvr5_el1
|
|
# CHECK: mrs x9, dbgbvr6_el1
|
|
# CHECK: mrs x9, dbgbvr7_el1
|
|
# CHECK: mrs x9, dbgbvr8_el1
|
|
# CHECK: mrs x9, dbgbvr9_el1
|
|
# CHECK: mrs x9, dbgbvr10_el1
|
|
# CHECK: mrs x9, dbgbvr11_el1
|
|
# CHECK: mrs x9, dbgbvr12_el1
|
|
# CHECK: mrs x9, dbgbvr13_el1
|
|
# CHECK: mrs x9, dbgbvr14_el1
|
|
# CHECK: mrs x9, dbgbvr15_el1
|
|
# CHECK: mrs x9, dbgbcr0_el1
|
|
# CHECK: mrs x9, dbgbcr1_el1
|
|
# CHECK: mrs x9, dbgbcr2_el1
|
|
# CHECK: mrs x9, dbgbcr3_el1
|
|
# CHECK: mrs x9, dbgbcr4_el1
|
|
# CHECK: mrs x9, dbgbcr5_el1
|
|
# CHECK: mrs x9, dbgbcr6_el1
|
|
# CHECK: mrs x9, dbgbcr7_el1
|
|
# CHECK: mrs x9, dbgbcr8_el1
|
|
# CHECK: mrs x9, dbgbcr9_el1
|
|
# CHECK: mrs x9, dbgbcr10_el1
|
|
# CHECK: mrs x9, dbgbcr11_el1
|
|
# CHECK: mrs x9, dbgbcr12_el1
|
|
# CHECK: mrs x9, dbgbcr13_el1
|
|
# CHECK: mrs x9, dbgbcr14_el1
|
|
# CHECK: mrs x9, dbgbcr15_el1
|
|
# CHECK: mrs x9, dbgwvr0_el1
|
|
# CHECK: mrs x9, dbgwvr1_el1
|
|
# CHECK: mrs x9, dbgwvr2_el1
|
|
# CHECK: mrs x9, dbgwvr3_el1
|
|
# CHECK: mrs x9, dbgwvr4_el1
|
|
# CHECK: mrs x9, dbgwvr5_el1
|
|
# CHECK: mrs x9, dbgwvr6_el1
|
|
# CHECK: mrs x9, dbgwvr7_el1
|
|
# CHECK: mrs x9, dbgwvr8_el1
|
|
# CHECK: mrs x9, dbgwvr9_el1
|
|
# CHECK: mrs x9, dbgwvr10_el1
|
|
# CHECK: mrs x9, dbgwvr11_el1
|
|
# CHECK: mrs x9, dbgwvr12_el1
|
|
# CHECK: mrs x9, dbgwvr13_el1
|
|
# CHECK: mrs x9, dbgwvr14_el1
|
|
# CHECK: mrs x9, dbgwvr15_el1
|
|
# CHECK: mrs x9, dbgwcr0_el1
|
|
# CHECK: mrs x9, dbgwcr1_el1
|
|
# CHECK: mrs x9, dbgwcr2_el1
|
|
# CHECK: mrs x9, dbgwcr3_el1
|
|
# CHECK: mrs x9, dbgwcr4_el1
|
|
# CHECK: mrs x9, dbgwcr5_el1
|
|
# CHECK: mrs x9, dbgwcr6_el1
|
|
# CHECK: mrs x9, dbgwcr7_el1
|
|
# CHECK: mrs x9, dbgwcr8_el1
|
|
# CHECK: mrs x9, dbgwcr9_el1
|
|
# CHECK: mrs x9, dbgwcr10_el1
|
|
# CHECK: mrs x9, dbgwcr11_el1
|
|
# CHECK: mrs x9, dbgwcr12_el1
|
|
# CHECK: mrs x9, dbgwcr13_el1
|
|
# CHECK: mrs x9, dbgwcr14_el1
|
|
# CHECK: mrs x9, dbgwcr15_el1
|
|
# CHECK: mrs x9, mdrar_el1
|
|
# CHECK: mrs x9, teehbr32_el1
|
|
# CHECK: mrs x9, oslsr_el1
|
|
# CHECK: mrs x9, osdlr_el1
|
|
# CHECK: mrs x9, dbgprcr_el1
|
|
# CHECK: mrs x9, dbgclaimset_el1
|
|
# CHECK: mrs x9, dbgclaimclr_el1
|
|
# CHECK: mrs x9, dbgauthstatus_el1
|
|
# CHECK: mrs x9, midr_el1
|
|
# CHECK: mrs x9, ccsidr_el1
|
|
# CHECK: mrs x9, csselr_el1
|
|
# CHECK: mrs x9, vpidr_el2
|
|
# CHECK: mrs x9, clidr_el1
|
|
# CHECK: mrs x9, ctr_el0
|
|
# CHECK: mrs x9, mpidr_el1
|
|
# CHECK: mrs x9, vmpidr_el2
|
|
# CHECK: mrs x9, revidr_el1
|
|
# CHECK: mrs x9, aidr_el1
|
|
# CHECK: mrs x9, dczid_el0
|
|
# CHECK: mrs x9, id_pfr0_el1
|
|
# CHECK: mrs x9, id_pfr1_el1
|
|
# CHECK: mrs x9, id_dfr0_el1
|
|
# CHECK: mrs x9, id_afr0_el1
|
|
# CHECK: mrs x9, id_mmfr0_el1
|
|
# CHECK: mrs x9, id_mmfr1_el1
|
|
# CHECK: mrs x9, id_mmfr2_el1
|
|
# CHECK: mrs x9, id_mmfr3_el1
|
|
# CHECK: mrs x9, id_isar0_el1
|
|
# CHECK: mrs x9, id_isar1_el1
|
|
# CHECK: mrs x9, id_isar2_el1
|
|
# CHECK: mrs x9, id_isar3_el1
|
|
# CHECK: mrs x9, id_isar4_el1
|
|
# CHECK: mrs x9, id_isar5_el1
|
|
# CHECK: mrs x9, mvfr0_el1
|
|
# CHECK: mrs x9, mvfr1_el1
|
|
# CHECK: mrs x9, mvfr2_el1
|
|
# CHECK: mrs x9, id_aa64pfr0_el1
|
|
# CHECK: mrs x9, id_aa64pfr1_el1
|
|
# CHECK: mrs x9, id_aa64dfr0_el1
|
|
# CHECK: mrs x9, id_aa64dfr1_el1
|
|
# CHECK: mrs x9, id_aa64afr0_el1
|
|
# CHECK: mrs x9, id_aa64afr1_el1
|
|
# CHECK: mrs x9, id_aa64isar0_el1
|
|
# CHECK: mrs x9, id_aa64isar1_el1
|
|
# CHECK: mrs x9, id_aa64mmfr0_el1
|
|
# CHECK: mrs x9, id_aa64mmfr1_el1
|
|
# CHECK: mrs x9, sctlr_el1
|
|
# CHECK: mrs x9, sctlr_el2
|
|
# CHECK: mrs x9, sctlr_el3
|
|
# CHECK: mrs x9, actlr_el1
|
|
# CHECK: mrs x9, actlr_el2
|
|
# CHECK: mrs x9, actlr_el3
|
|
# CHECK: mrs x9, cpacr_el1
|
|
# CHECK: mrs x9, hcr_el2
|
|
# CHECK: mrs x9, scr_el3
|
|
# CHECK: mrs x9, mdcr_el2
|
|
# CHECK: mrs x9, sder32_el3
|
|
# CHECK: mrs x9, cptr_el2
|
|
# CHECK: mrs x9, cptr_el3
|
|
# CHECK: mrs x9, hstr_el2
|
|
# CHECK: mrs x9, hacr_el2
|
|
# CHECK: mrs x9, mdcr_el3
|
|
# CHECK: mrs x9, ttbr0_el1
|
|
# CHECK: mrs x9, ttbr0_el2
|
|
# CHECK: mrs x9, ttbr0_el3
|
|
# CHECK: mrs x9, ttbr1_el1
|
|
# CHECK: mrs x9, tcr_el1
|
|
# CHECK: mrs x9, tcr_el2
|
|
# CHECK: mrs x9, tcr_el3
|
|
# CHECK: mrs x9, vttbr_el2
|
|
# CHECK: mrs x9, vtcr_el2
|
|
# CHECK: mrs x9, dacr32_el2
|
|
# CHECK: mrs x9, spsr_el1
|
|
# CHECK: mrs x9, spsr_el2
|
|
# CHECK: mrs x9, spsr_el3
|
|
# CHECK: mrs x9, elr_el1
|
|
# CHECK: mrs x9, elr_el2
|
|
# CHECK: mrs x9, elr_el3
|
|
# CHECK: mrs x9, sp_el0
|
|
# CHECK: mrs x9, sp_el1
|
|
# CHECK: mrs x9, sp_el2
|
|
# CHECK: mrs x9, spsel
|
|
# CHECK: mrs x9, nzcv
|
|
# CHECK: mrs x9, daif
|
|
# CHECK: mrs x9, currentel
|
|
# CHECK: mrs x9, spsr_irq
|
|
# CHECK: mrs x9, spsr_abt
|
|
# CHECK: mrs x9, spsr_und
|
|
# CHECK: mrs x9, spsr_fiq
|
|
# CHECK: mrs x9, fpcr
|
|
# CHECK: mrs x9, fpsr
|
|
# CHECK: mrs x9, dspsr_el0
|
|
# CHECK: mrs x9, dlr_el0
|
|
# CHECK: mrs x9, ifsr32_el2
|
|
# CHECK: mrs x9, afsr0_el1
|
|
# CHECK: mrs x9, afsr0_el2
|
|
# CHECK: mrs x9, afsr0_el3
|
|
# CHECK: mrs x9, afsr1_el1
|
|
# CHECK: mrs x9, afsr1_el2
|
|
# CHECK: mrs x9, afsr1_el3
|
|
# CHECK: mrs x9, esr_el1
|
|
# CHECK: mrs x9, esr_el2
|
|
# CHECK: mrs x9, esr_el3
|
|
# CHECK: mrs x9, fpexc32_el2
|
|
# CHECK: mrs x9, far_el1
|
|
# CHECK: mrs x9, far_el2
|
|
# CHECK: mrs x9, far_el3
|
|
# CHECK: mrs x9, hpfar_el2
|
|
# CHECK: mrs x9, par_el1
|
|
# CHECK: mrs x9, pmcr_el0
|
|
# CHECK: mrs x9, pmcntenset_el0
|
|
# CHECK: mrs x9, pmcntenclr_el0
|
|
# CHECK: mrs x9, pmovsclr_el0
|
|
# CHECK: mrs x9, pmselr_el0
|
|
# CHECK: mrs x9, pmceid0_el0
|
|
# CHECK: mrs x9, pmceid1_el0
|
|
# CHECK: mrs x9, pmccntr_el0
|
|
# CHECK: mrs x9, pmxevtyper_el0
|
|
# CHECK: mrs x9, pmxevcntr_el0
|
|
# CHECK: mrs x9, pmuserenr_el0
|
|
# CHECK: mrs x9, pmintenset_el1
|
|
# CHECK: mrs x9, pmintenclr_el1
|
|
# CHECK: mrs x9, pmovsset_el0
|
|
# CHECK: mrs x9, mair_el1
|
|
# CHECK: mrs x9, mair_el2
|
|
# CHECK: mrs x9, mair_el3
|
|
# CHECK: mrs x9, amair_el1
|
|
# CHECK: mrs x9, amair_el2
|
|
# CHECK: mrs x9, amair_el3
|
|
# CHECK: mrs x9, vbar_el1
|
|
# CHECK: mrs x9, vbar_el2
|
|
# CHECK: mrs x9, vbar_el3
|
|
# CHECK: mrs x9, rvbar_el1
|
|
# CHECK: mrs x9, rvbar_el2
|
|
# CHECK: mrs x9, rvbar_el3
|
|
# CHECK: mrs x9, rmr_el1
|
|
# CHECK: mrs x9, rmr_el2
|
|
# CHECK: mrs x9, rmr_el3
|
|
# CHECK: mrs x9, isr_el1
|
|
# CHECK: mrs x9, contextidr_el1
|
|
# CHECK: mrs x9, tpidr_el0
|
|
# CHECK: mrs x9, tpidr_el2
|
|
# CHECK: mrs x9, tpidr_el3
|
|
# CHECK: mrs x9, tpidrro_el0
|
|
# CHECK: mrs x9, tpidr_el1
|
|
# CHECK: mrs x9, cntfrq_el0
|
|
# CHECK: mrs x9, cntpct_el0
|
|
# CHECK: mrs x9, cntvct_el0
|
|
# CHECK: mrs x9, cntvoff_el2
|
|
# CHECK: mrs x9, cntkctl_el1
|
|
# CHECK: mrs x9, cnthctl_el2
|
|
# CHECK: mrs x9, cntp_tval_el0
|
|
# CHECK: mrs x9, cnthp_tval_el2
|
|
# CHECK: mrs x9, cntps_tval_el1
|
|
# CHECK: mrs x9, cntp_ctl_el0
|
|
# CHECK: mrs x9, cnthp_ctl_el2
|
|
# CHECK: mrs x9, cntps_ctl_el1
|
|
# CHECK: mrs x9, cntp_cval_el0
|
|
# CHECK: mrs x9, cnthp_cval_el2
|
|
# CHECK: mrs x9, cntps_cval_el1
|
|
# CHECK: mrs x9, cntv_tval_el0
|
|
# CHECK: mrs x9, cntv_ctl_el0
|
|
# CHECK: mrs x9, cntv_cval_el0
|
|
# CHECK: mrs x9, pmevcntr0_el0
|
|
# CHECK: mrs x9, pmevcntr1_el0
|
|
# CHECK: mrs x9, pmevcntr2_el0
|
|
# CHECK: mrs x9, pmevcntr3_el0
|
|
# CHECK: mrs x9, pmevcntr4_el0
|
|
# CHECK: mrs x9, pmevcntr5_el0
|
|
# CHECK: mrs x9, pmevcntr6_el0
|
|
# CHECK: mrs x9, pmevcntr7_el0
|
|
# CHECK: mrs x9, pmevcntr8_el0
|
|
# CHECK: mrs x9, pmevcntr9_el0
|
|
# CHECK: mrs x9, pmevcntr10_el0
|
|
# CHECK: mrs x9, pmevcntr11_el0
|
|
# CHECK: mrs x9, pmevcntr12_el0
|
|
# CHECK: mrs x9, pmevcntr13_el0
|
|
# CHECK: mrs x9, pmevcntr14_el0
|
|
# CHECK: mrs x9, pmevcntr15_el0
|
|
# CHECK: mrs x9, pmevcntr16_el0
|
|
# CHECK: mrs x9, pmevcntr17_el0
|
|
# CHECK: mrs x9, pmevcntr18_el0
|
|
# CHECK: mrs x9, pmevcntr19_el0
|
|
# CHECK: mrs x9, pmevcntr20_el0
|
|
# CHECK: mrs x9, pmevcntr21_el0
|
|
# CHECK: mrs x9, pmevcntr22_el0
|
|
# CHECK: mrs x9, pmevcntr23_el0
|
|
# CHECK: mrs x9, pmevcntr24_el0
|
|
# CHECK: mrs x9, pmevcntr25_el0
|
|
# CHECK: mrs x9, pmevcntr26_el0
|
|
# CHECK: mrs x9, pmevcntr27_el0
|
|
# CHECK: mrs x9, pmevcntr28_el0
|
|
# CHECK: mrs x9, pmevcntr29_el0
|
|
# CHECK: mrs x9, pmevcntr30_el0
|
|
# CHECK: mrs x9, pmccfiltr_el0
|
|
# CHECK: mrs x9, pmevtyper0_el0
|
|
# CHECK: mrs x9, pmevtyper1_el0
|
|
# CHECK: mrs x9, pmevtyper2_el0
|
|
# CHECK: mrs x9, pmevtyper3_el0
|
|
# CHECK: mrs x9, pmevtyper4_el0
|
|
# CHECK: mrs x9, pmevtyper5_el0
|
|
# CHECK: mrs x9, pmevtyper6_el0
|
|
# CHECK: mrs x9, pmevtyper7_el0
|
|
# CHECK: mrs x9, pmevtyper8_el0
|
|
# CHECK: mrs x9, pmevtyper9_el0
|
|
# CHECK: mrs x9, pmevtyper10_el0
|
|
# CHECK: mrs x9, pmevtyper11_el0
|
|
# CHECK: mrs x9, pmevtyper12_el0
|
|
# CHECK: mrs x9, pmevtyper13_el0
|
|
# CHECK: mrs x9, pmevtyper14_el0
|
|
# CHECK: mrs x9, pmevtyper15_el0
|
|
# CHECK: mrs x9, pmevtyper16_el0
|
|
# CHECK: mrs x9, pmevtyper17_el0
|
|
# CHECK: mrs x9, pmevtyper18_el0
|
|
# CHECK: mrs x9, pmevtyper19_el0
|
|
# CHECK: mrs x9, pmevtyper20_el0
|
|
# CHECK: mrs x9, pmevtyper21_el0
|
|
# CHECK: mrs x9, pmevtyper22_el0
|
|
# CHECK: mrs x9, pmevtyper23_el0
|
|
# CHECK: mrs x9, pmevtyper24_el0
|
|
# CHECK: mrs x9, pmevtyper25_el0
|
|
# CHECK: mrs x9, pmevtyper26_el0
|
|
# CHECK: mrs x9, pmevtyper27_el0
|
|
# CHECK: mrs x9, pmevtyper28_el0
|
|
# CHECK: mrs x9, pmevtyper29_el0
|
|
# CHECK: mrs x9, pmevtyper30_el0
|
|
|
|
0xc 0x0 0x12 0xd5
|
|
0x4c 0x0 0x10 0xd5
|
|
0xc 0x2 0x10 0xd5
|
|
0x4c 0x2 0x10 0xd5
|
|
0x4c 0x3 0x10 0xd5
|
|
0xc 0x4 0x13 0xd5
|
|
0xc 0x5 0x13 0xd5
|
|
0x4c 0x6 0x10 0xd5
|
|
0xc 0x7 0x14 0xd5
|
|
0x8c 0x0 0x10 0xd5
|
|
0x8c 0x1 0x10 0xd5
|
|
0x8c 0x2 0x10 0xd5
|
|
0x8c 0x3 0x10 0xd5
|
|
0x8c 0x4 0x10 0xd5
|
|
0x8c 0x5 0x10 0xd5
|
|
0x8c 0x6 0x10 0xd5
|
|
0x8c 0x7 0x10 0xd5
|
|
0x8c 0x8 0x10 0xd5
|
|
0x8c 0x9 0x10 0xd5
|
|
0x8c 0xa 0x10 0xd5
|
|
0x8c 0xb 0x10 0xd5
|
|
0x8c 0xc 0x10 0xd5
|
|
0x8c 0xd 0x10 0xd5
|
|
0x8c 0xe 0x10 0xd5
|
|
0x8c 0xf 0x10 0xd5
|
|
0xac 0x0 0x10 0xd5
|
|
0xac 0x1 0x10 0xd5
|
|
0xac 0x2 0x10 0xd5
|
|
0xac 0x3 0x10 0xd5
|
|
0xac 0x4 0x10 0xd5
|
|
0xac 0x5 0x10 0xd5
|
|
0xac 0x6 0x10 0xd5
|
|
0xac 0x7 0x10 0xd5
|
|
0xac 0x8 0x10 0xd5
|
|
0xac 0x9 0x10 0xd5
|
|
0xac 0xa 0x10 0xd5
|
|
0xac 0xb 0x10 0xd5
|
|
0xac 0xc 0x10 0xd5
|
|
0xac 0xd 0x10 0xd5
|
|
0xac 0xe 0x10 0xd5
|
|
0xac 0xf 0x10 0xd5
|
|
0xcc 0x0 0x10 0xd5
|
|
0xcc 0x1 0x10 0xd5
|
|
0xcc 0x2 0x10 0xd5
|
|
0xcc 0x3 0x10 0xd5
|
|
0xcc 0x4 0x10 0xd5
|
|
0xcc 0x5 0x10 0xd5
|
|
0xcc 0x6 0x10 0xd5
|
|
0xcc 0x7 0x10 0xd5
|
|
0xcc 0x8 0x10 0xd5
|
|
0xcc 0x9 0x10 0xd5
|
|
0xcc 0xa 0x10 0xd5
|
|
0xcc 0xb 0x10 0xd5
|
|
0xcc 0xc 0x10 0xd5
|
|
0xcc 0xd 0x10 0xd5
|
|
0xcc 0xe 0x10 0xd5
|
|
0xcc 0xf 0x10 0xd5
|
|
0xec 0x0 0x10 0xd5
|
|
0xec 0x1 0x10 0xd5
|
|
0xec 0x2 0x10 0xd5
|
|
0xec 0x3 0x10 0xd5
|
|
0xec 0x4 0x10 0xd5
|
|
0xec 0x5 0x10 0xd5
|
|
0xec 0x6 0x10 0xd5
|
|
0xec 0x7 0x10 0xd5
|
|
0xec 0x8 0x10 0xd5
|
|
0xec 0x9 0x10 0xd5
|
|
0xec 0xa 0x10 0xd5
|
|
0xec 0xb 0x10 0xd5
|
|
0xec 0xc 0x10 0xd5
|
|
0xec 0xd 0x10 0xd5
|
|
0xec 0xe 0x10 0xd5
|
|
0xec 0xf 0x10 0xd5
|
|
0xc 0x10 0x12 0xd5
|
|
0x8c 0x10 0x10 0xd5
|
|
0x8c 0x13 0x10 0xd5
|
|
0x8c 0x14 0x10 0xd5
|
|
0xcc 0x78 0x10 0xd5
|
|
0xcc 0x79 0x10 0xd5
|
|
0xc 0x0 0x1a 0xd5
|
|
0xc 0x0 0x1c 0xd5
|
|
0xac 0x0 0x1c 0xd5
|
|
0xc 0x10 0x18 0xd5
|
|
0xc 0x10 0x1c 0xd5
|
|
0xc 0x10 0x1e 0xd5
|
|
0x2c 0x10 0x18 0xd5
|
|
0x2c 0x10 0x1c 0xd5
|
|
0x2c 0x10 0x1e 0xd5
|
|
0x4c 0x10 0x18 0xd5
|
|
0xc 0x11 0x1c 0xd5
|
|
0xc 0x11 0x1e 0xd5
|
|
0x2c 0x11 0x1c 0xd5
|
|
0x2c 0x11 0x1e 0xd5
|
|
0x4c 0x11 0x1c 0xd5
|
|
0x4c 0x11 0x1e 0xd5
|
|
0x6c 0x11 0x1c 0xd5
|
|
0xec 0x11 0x1c 0xd5
|
|
0x2c 0x13 0x1e 0xd5
|
|
0xc 0x20 0x18 0xd5
|
|
0xc 0x20 0x1c 0xd5
|
|
0xc 0x20 0x1e 0xd5
|
|
0x2c 0x20 0x18 0xd5
|
|
0x4c 0x20 0x18 0xd5
|
|
0x4c 0x20 0x1c 0xd5
|
|
0x4c 0x20 0x1e 0xd5
|
|
0xc 0x21 0x1c 0xd5
|
|
0x4c 0x21 0x1c 0xd5
|
|
0xc 0x30 0x1c 0xd5
|
|
0xc 0x40 0x18 0xd5
|
|
0xc 0x40 0x1c 0xd5
|
|
0xc 0x40 0x1e 0xd5
|
|
0x2c 0x40 0x18 0xd5
|
|
0x2c 0x40 0x1c 0xd5
|
|
0x2c 0x40 0x1e 0xd5
|
|
0xc 0x41 0x18 0xd5
|
|
0xc 0x41 0x1c 0xd5
|
|
0xc 0x41 0x1e 0xd5
|
|
0xc 0x42 0x18 0xd5
|
|
0xc 0x42 0x1b 0xd5
|
|
0x2c 0x42 0x1b 0xd5
|
|
0x4c 0x42 0x18 0xd5
|
|
0xc 0x43 0x1c 0xd5
|
|
0x2c 0x43 0x1c 0xd5
|
|
0x4c 0x43 0x1c 0xd5
|
|
0x6c 0x43 0x1c 0xd5
|
|
0xc 0x44 0x1b 0xd5
|
|
0x2c 0x44 0x1b 0xd5
|
|
0xc 0x45 0x1b 0xd5
|
|
0x2c 0x45 0x1b 0xd5
|
|
0x2c 0x50 0x1c 0xd5
|
|
0xc 0x51 0x18 0xd5
|
|
0xc 0x51 0x1c 0xd5
|
|
0xc 0x51 0x1e 0xd5
|
|
0x2c 0x51 0x18 0xd5
|
|
0x2c 0x51 0x1c 0xd5
|
|
0x2c 0x51 0x1e 0xd5
|
|
0xc 0x52 0x18 0xd5
|
|
0xc 0x52 0x1c 0xd5
|
|
0xc 0x52 0x1e 0xd5
|
|
0xc 0x53 0x1c 0xd5
|
|
0xc 0x60 0x18 0xd5
|
|
0xc 0x60 0x1c 0xd5
|
|
0xc 0x60 0x1e 0xd5
|
|
0x8c 0x60 0x1c 0xd5
|
|
0xc 0x74 0x18 0xd5
|
|
0xc 0x9c 0x1b 0xd5
|
|
0x2c 0x9c 0x1b 0xd5
|
|
0x4c 0x9c 0x1b 0xd5
|
|
0x6c 0x9c 0x1b 0xd5
|
|
0xac 0x9c 0x1b 0xd5
|
|
0xc 0x9d 0x1b 0xd5
|
|
0x2c 0x9d 0x1b 0xd5
|
|
0x4c 0x9d 0x1b 0xd5
|
|
0xc 0x9e 0x1b 0xd5
|
|
0x2c 0x9e 0x18 0xd5
|
|
0x4c 0x9e 0x18 0xd5
|
|
0x6c 0x9e 0x1b 0xd5
|
|
0xc 0xa2 0x18 0xd5
|
|
0xc 0xa2 0x1c 0xd5
|
|
0xc 0xa2 0x1e 0xd5
|
|
0xc 0xa3 0x18 0xd5
|
|
0xc 0xa3 0x1c 0xd5
|
|
0xc 0xa3 0x1e 0xd5
|
|
0xc 0xc0 0x18 0xd5
|
|
0xc 0xc0 0x1c 0xd5
|
|
0xc 0xc0 0x1e 0xd5
|
|
0x4c 0xc0 0x18 0xd5
|
|
0x4c 0xc0 0x1c 0xd5
|
|
0x4c 0xc0 0x1e 0xd5
|
|
0x4c 0xd0 0x1b 0xd5
|
|
0x4c 0xd0 0x1c 0xd5
|
|
0x4c 0xd0 0x1e 0xd5
|
|
0x6c 0xd0 0x1b 0xd5
|
|
0x8c 0xd0 0x18 0xd5
|
|
0xc 0xe0 0x1b 0xd5
|
|
0x6c 0xe0 0x1c 0xd5
|
|
0xc 0xe1 0x18 0xd5
|
|
0xc 0xe1 0x1c 0xd5
|
|
0xc 0xe2 0x1b 0xd5
|
|
0xc 0xe2 0x1c 0xd5
|
|
0xc 0xe2 0x1f 0xd5
|
|
0x2c 0xe2 0x1b 0xd5
|
|
0x2c 0xe2 0x1c 0xd5
|
|
0x2c 0xe2 0x1f 0xd5
|
|
0x4c 0xe2 0x1b 0xd5
|
|
0x4c 0xe2 0x1c 0xd5
|
|
0x4c 0xe2 0x1f 0xd5
|
|
0xc 0xe3 0x1b 0xd5
|
|
0x2c 0xe3 0x1b 0xd5
|
|
0x4c 0xe3 0x1b 0xd5
|
|
0xc 0xe8 0x1b 0xd5
|
|
0x2c 0xe8 0x1b 0xd5
|
|
0x4c 0xe8 0x1b 0xd5
|
|
0x6c 0xe8 0x1b 0xd5
|
|
0x8c 0xe8 0x1b 0xd5
|
|
0xac 0xe8 0x1b 0xd5
|
|
0xcc 0xe8 0x1b 0xd5
|
|
0xec 0xe8 0x1b 0xd5
|
|
0xc 0xe9 0x1b 0xd5
|
|
0x2c 0xe9 0x1b 0xd5
|
|
0x4c 0xe9 0x1b 0xd5
|
|
0x6c 0xe9 0x1b 0xd5
|
|
0x8c 0xe9 0x1b 0xd5
|
|
0xac 0xe9 0x1b 0xd5
|
|
0xcc 0xe9 0x1b 0xd5
|
|
0xec 0xe9 0x1b 0xd5
|
|
0xc 0xea 0x1b 0xd5
|
|
0x2c 0xea 0x1b 0xd5
|
|
0x4c 0xea 0x1b 0xd5
|
|
0x6c 0xea 0x1b 0xd5
|
|
0x8c 0xea 0x1b 0xd5
|
|
0xac 0xea 0x1b 0xd5
|
|
0xcc 0xea 0x1b 0xd5
|
|
0xec 0xea 0x1b 0xd5
|
|
0xc 0xeb 0x1b 0xd5
|
|
0x2c 0xeb 0x1b 0xd5
|
|
0x4c 0xeb 0x1b 0xd5
|
|
0x6c 0xeb 0x1b 0xd5
|
|
0x8c 0xeb 0x1b 0xd5
|
|
0xac 0xeb 0x1b 0xd5
|
|
0xcc 0xeb 0x1b 0xd5
|
|
0xec 0xef 0x1b 0xd5
|
|
0xc 0xec 0x1b 0xd5
|
|
0x2c 0xec 0x1b 0xd5
|
|
0x4c 0xec 0x1b 0xd5
|
|
0x6c 0xec 0x1b 0xd5
|
|
0x8c 0xec 0x1b 0xd5
|
|
0xac 0xec 0x1b 0xd5
|
|
0xcc 0xec 0x1b 0xd5
|
|
0xec 0xec 0x1b 0xd5
|
|
0xc 0xed 0x1b 0xd5
|
|
0x2c 0xed 0x1b 0xd5
|
|
0x4c 0xed 0x1b 0xd5
|
|
0x6c 0xed 0x1b 0xd5
|
|
0x8c 0xed 0x1b 0xd5
|
|
0xac 0xed 0x1b 0xd5
|
|
0xcc 0xed 0x1b 0xd5
|
|
0xec 0xed 0x1b 0xd5
|
|
0xc 0xee 0x1b 0xd5
|
|
0x2c 0xee 0x1b 0xd5
|
|
0x4c 0xee 0x1b 0xd5
|
|
0x6c 0xee 0x1b 0xd5
|
|
0x8c 0xee 0x1b 0xd5
|
|
0xac 0xee 0x1b 0xd5
|
|
0xcc 0xee 0x1b 0xd5
|
|
0xec 0xee 0x1b 0xd5
|
|
0xc 0xef 0x1b 0xd5
|
|
0x2c 0xef 0x1b 0xd5
|
|
0x4c 0xef 0x1b 0xd5
|
|
0x6c 0xef 0x1b 0xd5
|
|
0x8c 0xef 0x1b 0xd5
|
|
0xac 0xef 0x1b 0xd5
|
|
0xcc 0xef 0x1b 0xd5
|
|
0x9 0x0 0x32 0xd5
|
|
0x49 0x0 0x30 0xd5
|
|
0x9 0x1 0x33 0xd5
|
|
0x9 0x2 0x30 0xd5
|
|
0x49 0x2 0x30 0xd5
|
|
0x49 0x3 0x30 0xd5
|
|
0x9 0x4 0x33 0xd5
|
|
0x9 0x5 0x33 0xd5
|
|
0x49 0x6 0x30 0xd5
|
|
0x9 0x7 0x34 0xd5
|
|
0x89 0x0 0x30 0xd5
|
|
0x89 0x1 0x30 0xd5
|
|
0x89 0x2 0x30 0xd5
|
|
0x89 0x3 0x30 0xd5
|
|
0x89 0x4 0x30 0xd5
|
|
0x89 0x5 0x30 0xd5
|
|
0x89 0x6 0x30 0xd5
|
|
0x89 0x7 0x30 0xd5
|
|
0x89 0x8 0x30 0xd5
|
|
0x89 0x9 0x30 0xd5
|
|
0x89 0xa 0x30 0xd5
|
|
0x89 0xb 0x30 0xd5
|
|
0x89 0xc 0x30 0xd5
|
|
0x89 0xd 0x30 0xd5
|
|
0x89 0xe 0x30 0xd5
|
|
0x89 0xf 0x30 0xd5
|
|
0xa9 0x0 0x30 0xd5
|
|
0xa9 0x1 0x30 0xd5
|
|
0xa9 0x2 0x30 0xd5
|
|
0xa9 0x3 0x30 0xd5
|
|
0xa9 0x4 0x30 0xd5
|
|
0xa9 0x5 0x30 0xd5
|
|
0xa9 0x6 0x30 0xd5
|
|
0xa9 0x7 0x30 0xd5
|
|
0xa9 0x8 0x30 0xd5
|
|
0xa9 0x9 0x30 0xd5
|
|
0xa9 0xa 0x30 0xd5
|
|
0xa9 0xb 0x30 0xd5
|
|
0xa9 0xc 0x30 0xd5
|
|
0xa9 0xd 0x30 0xd5
|
|
0xa9 0xe 0x30 0xd5
|
|
0xa9 0xf 0x30 0xd5
|
|
0xc9 0x0 0x30 0xd5
|
|
0xc9 0x1 0x30 0xd5
|
|
0xc9 0x2 0x30 0xd5
|
|
0xc9 0x3 0x30 0xd5
|
|
0xc9 0x4 0x30 0xd5
|
|
0xc9 0x5 0x30 0xd5
|
|
0xc9 0x6 0x30 0xd5
|
|
0xc9 0x7 0x30 0xd5
|
|
0xc9 0x8 0x30 0xd5
|
|
0xc9 0x9 0x30 0xd5
|
|
0xc9 0xa 0x30 0xd5
|
|
0xc9 0xb 0x30 0xd5
|
|
0xc9 0xc 0x30 0xd5
|
|
0xc9 0xd 0x30 0xd5
|
|
0xc9 0xe 0x30 0xd5
|
|
0xc9 0xf 0x30 0xd5
|
|
0xe9 0x0 0x30 0xd5
|
|
0xe9 0x1 0x30 0xd5
|
|
0xe9 0x2 0x30 0xd5
|
|
0xe9 0x3 0x30 0xd5
|
|
0xe9 0x4 0x30 0xd5
|
|
0xe9 0x5 0x30 0xd5
|
|
0xe9 0x6 0x30 0xd5
|
|
0xe9 0x7 0x30 0xd5
|
|
0xe9 0x8 0x30 0xd5
|
|
0xe9 0x9 0x30 0xd5
|
|
0xe9 0xa 0x30 0xd5
|
|
0xe9 0xb 0x30 0xd5
|
|
0xe9 0xc 0x30 0xd5
|
|
0xe9 0xd 0x30 0xd5
|
|
0xe9 0xe 0x30 0xd5
|
|
0xe9 0xf 0x30 0xd5
|
|
0x9 0x10 0x30 0xd5
|
|
0x9 0x10 0x32 0xd5
|
|
0x89 0x11 0x30 0xd5
|
|
0x89 0x13 0x30 0xd5
|
|
0x89 0x14 0x30 0xd5
|
|
0xc9 0x78 0x30 0xd5
|
|
0xc9 0x79 0x30 0xd5
|
|
0xc9 0x7e 0x30 0xd5
|
|
0x9 0x0 0x38 0xd5
|
|
0x9 0x0 0x39 0xd5
|
|
0x9 0x0 0x3a 0xd5
|
|
0x9 0x0 0x3c 0xd5
|
|
0x29 0x0 0x39 0xd5
|
|
0x29 0x0 0x3b 0xd5
|
|
0xa9 0x0 0x38 0xd5
|
|
0xa9 0x0 0x3c 0xd5
|
|
0xc9 0x0 0x38 0xd5
|
|
0xe9 0x0 0x39 0xd5
|
|
0xe9 0x0 0x3b 0xd5
|
|
0x9 0x1 0x38 0xd5
|
|
0x29 0x1 0x38 0xd5
|
|
0x49 0x1 0x38 0xd5
|
|
0x69 0x1 0x38 0xd5
|
|
0x89 0x1 0x38 0xd5
|
|
0xa9 0x1 0x38 0xd5
|
|
0xc9 0x1 0x38 0xd5
|
|
0xe9 0x1 0x38 0xd5
|
|
0x9 0x2 0x38 0xd5
|
|
0x29 0x2 0x38 0xd5
|
|
0x49 0x2 0x38 0xd5
|
|
0x69 0x2 0x38 0xd5
|
|
0x89 0x2 0x38 0xd5
|
|
0xa9 0x2 0x38 0xd5
|
|
0x9 0x3 0x38 0xd5
|
|
0x29 0x3 0x38 0xd5
|
|
0x49 0x3 0x38 0xd5
|
|
0x9 0x4 0x38 0xd5
|
|
0x29 0x4 0x38 0xd5
|
|
0x9 0x5 0x38 0xd5
|
|
0x29 0x5 0x38 0xd5
|
|
0x89 0x5 0x38 0xd5
|
|
0xa9 0x5 0x38 0xd5
|
|
0x9 0x6 0x38 0xd5
|
|
0x29 0x6 0x38 0xd5
|
|
0x9 0x7 0x38 0xd5
|
|
0x29 0x7 0x38 0xd5
|
|
0x9 0x10 0x38 0xd5
|
|
0x9 0x10 0x3c 0xd5
|
|
0x9 0x10 0x3e 0xd5
|
|
0x29 0x10 0x38 0xd5
|
|
0x29 0x10 0x3c 0xd5
|
|
0x29 0x10 0x3e 0xd5
|
|
0x49 0x10 0x38 0xd5
|
|
0x9 0x11 0x3c 0xd5
|
|
0x9 0x11 0x3e 0xd5
|
|
0x29 0x11 0x3c 0xd5
|
|
0x29 0x11 0x3e 0xd5
|
|
0x49 0x11 0x3c 0xd5
|
|
0x49 0x11 0x3e 0xd5
|
|
0x69 0x11 0x3c 0xd5
|
|
0xe9 0x11 0x3c 0xd5
|
|
0x29 0x13 0x3e 0xd5
|
|
0x9 0x20 0x38 0xd5
|
|
0x9 0x20 0x3c 0xd5
|
|
0x9 0x20 0x3e 0xd5
|
|
0x29 0x20 0x38 0xd5
|
|
0x49 0x20 0x38 0xd5
|
|
0x49 0x20 0x3c 0xd5
|
|
0x49 0x20 0x3e 0xd5
|
|
0x9 0x21 0x3c 0xd5
|
|
0x49 0x21 0x3c 0xd5
|
|
0x9 0x30 0x3c 0xd5
|
|
0x9 0x40 0x38 0xd5
|
|
0x9 0x40 0x3c 0xd5
|
|
0x9 0x40 0x3e 0xd5
|
|
0x29 0x40 0x38 0xd5
|
|
0x29 0x40 0x3c 0xd5
|
|
0x29 0x40 0x3e 0xd5
|
|
0x9 0x41 0x38 0xd5
|
|
0x9 0x41 0x3c 0xd5
|
|
0x9 0x41 0x3e 0xd5
|
|
0x9 0x42 0x38 0xd5
|
|
0x9 0x42 0x3b 0xd5
|
|
0x29 0x42 0x3b 0xd5
|
|
0x49 0x42 0x38 0xd5
|
|
0x9 0x43 0x3c 0xd5
|
|
0x29 0x43 0x3c 0xd5
|
|
0x49 0x43 0x3c 0xd5
|
|
0x69 0x43 0x3c 0xd5
|
|
0x9 0x44 0x3b 0xd5
|
|
0x29 0x44 0x3b 0xd5
|
|
0x9 0x45 0x3b 0xd5
|
|
0x29 0x45 0x3b 0xd5
|
|
0x29 0x50 0x3c 0xd5
|
|
0x9 0x51 0x38 0xd5
|
|
0x9 0x51 0x3c 0xd5
|
|
0x9 0x51 0x3e 0xd5
|
|
0x29 0x51 0x38 0xd5
|
|
0x29 0x51 0x3c 0xd5
|
|
0x29 0x51 0x3e 0xd5
|
|
0x9 0x52 0x38 0xd5
|
|
0x9 0x52 0x3c 0xd5
|
|
0x9 0x52 0x3e 0xd5
|
|
0x9 0x53 0x3c 0xd5
|
|
0x9 0x60 0x38 0xd5
|
|
0x9 0x60 0x3c 0xd5
|
|
0x9 0x60 0x3e 0xd5
|
|
0x89 0x60 0x3c 0xd5
|
|
0x9 0x74 0x38 0xd5
|
|
0x9 0x9c 0x3b 0xd5
|
|
0x29 0x9c 0x3b 0xd5
|
|
0x49 0x9c 0x3b 0xd5
|
|
0x69 0x9c 0x3b 0xd5
|
|
0xa9 0x9c 0x3b 0xd5
|
|
0xc9 0x9c 0x3b 0xd5
|
|
0xe9 0x9c 0x3b 0xd5
|
|
0x9 0x9d 0x3b 0xd5
|
|
0x29 0x9d 0x3b 0xd5
|
|
0x49 0x9d 0x3b 0xd5
|
|
0x9 0x9e 0x3b 0xd5
|
|
0x29 0x9e 0x38 0xd5
|
|
0x49 0x9e 0x38 0xd5
|
|
0x69 0x9e 0x3b 0xd5
|
|
0x9 0xa2 0x38 0xd5
|
|
0x9 0xa2 0x3c 0xd5
|
|
0x9 0xa2 0x3e 0xd5
|
|
0x9 0xa3 0x38 0xd5
|
|
0x9 0xa3 0x3c 0xd5
|
|
0x9 0xa3 0x3e 0xd5
|
|
0x9 0xc0 0x38 0xd5
|
|
0x9 0xc0 0x3c 0xd5
|
|
0x9 0xc0 0x3e 0xd5
|
|
0x29 0xc0 0x38 0xd5
|
|
0x29 0xc0 0x3c 0xd5
|
|
0x29 0xc0 0x3e 0xd5
|
|
0x49 0xc0 0x38 0xd5
|
|
0x49 0xc0 0x3c 0xd5
|
|
0x49 0xc0 0x3e 0xd5
|
|
0x9 0xc1 0x38 0xd5
|
|
0x29 0xd0 0x38 0xd5
|
|
0x49 0xd0 0x3b 0xd5
|
|
0x49 0xd0 0x3c 0xd5
|
|
0x49 0xd0 0x3e 0xd5
|
|
0x69 0xd0 0x3b 0xd5
|
|
0x89 0xd0 0x38 0xd5
|
|
0x9 0xe0 0x3b 0xd5
|
|
0x29 0xe0 0x3b 0xd5
|
|
0x49 0xe0 0x3b 0xd5
|
|
0x69 0xe0 0x3c 0xd5
|
|
0x9 0xe1 0x38 0xd5
|
|
0x9 0xe1 0x3c 0xd5
|
|
0x9 0xe2 0x3b 0xd5
|
|
0x9 0xe2 0x3c 0xd5
|
|
0x9 0xe2 0x3f 0xd5
|
|
0x29 0xe2 0x3b 0xd5
|
|
0x29 0xe2 0x3c 0xd5
|
|
0x29 0xe2 0x3f 0xd5
|
|
0x49 0xe2 0x3b 0xd5
|
|
0x49 0xe2 0x3c 0xd5
|
|
0x49 0xe2 0x3f 0xd5
|
|
0x9 0xe3 0x3b 0xd5
|
|
0x29 0xe3 0x3b 0xd5
|
|
0x49 0xe3 0x3b 0xd5
|
|
0x9 0xe8 0x3b 0xd5
|
|
0x29 0xe8 0x3b 0xd5
|
|
0x49 0xe8 0x3b 0xd5
|
|
0x69 0xe8 0x3b 0xd5
|
|
0x89 0xe8 0x3b 0xd5
|
|
0xa9 0xe8 0x3b 0xd5
|
|
0xc9 0xe8 0x3b 0xd5
|
|
0xe9 0xe8 0x3b 0xd5
|
|
0x9 0xe9 0x3b 0xd5
|
|
0x29 0xe9 0x3b 0xd5
|
|
0x49 0xe9 0x3b 0xd5
|
|
0x69 0xe9 0x3b 0xd5
|
|
0x89 0xe9 0x3b 0xd5
|
|
0xa9 0xe9 0x3b 0xd5
|
|
0xc9 0xe9 0x3b 0xd5
|
|
0xe9 0xe9 0x3b 0xd5
|
|
0x9 0xea 0x3b 0xd5
|
|
0x29 0xea 0x3b 0xd5
|
|
0x49 0xea 0x3b 0xd5
|
|
0x69 0xea 0x3b 0xd5
|
|
0x89 0xea 0x3b 0xd5
|
|
0xa9 0xea 0x3b 0xd5
|
|
0xc9 0xea 0x3b 0xd5
|
|
0xe9 0xea 0x3b 0xd5
|
|
0x9 0xeb 0x3b 0xd5
|
|
0x29 0xeb 0x3b 0xd5
|
|
0x49 0xeb 0x3b 0xd5
|
|
0x69 0xeb 0x3b 0xd5
|
|
0x89 0xeb 0x3b 0xd5
|
|
0xa9 0xeb 0x3b 0xd5
|
|
0xc9 0xeb 0x3b 0xd5
|
|
0xe9 0xef 0x3b 0xd5
|
|
0x9 0xec 0x3b 0xd5
|
|
0x29 0xec 0x3b 0xd5
|
|
0x49 0xec 0x3b 0xd5
|
|
0x69 0xec 0x3b 0xd5
|
|
0x89 0xec 0x3b 0xd5
|
|
0xa9 0xec 0x3b 0xd5
|
|
0xc9 0xec 0x3b 0xd5
|
|
0xe9 0xec 0x3b 0xd5
|
|
0x9 0xed 0x3b 0xd5
|
|
0x29 0xed 0x3b 0xd5
|
|
0x49 0xed 0x3b 0xd5
|
|
0x69 0xed 0x3b 0xd5
|
|
0x89 0xed 0x3b 0xd5
|
|
0xa9 0xed 0x3b 0xd5
|
|
0xc9 0xed 0x3b 0xd5
|
|
0xe9 0xed 0x3b 0xd5
|
|
0x9 0xee 0x3b 0xd5
|
|
0x29 0xee 0x3b 0xd5
|
|
0x49 0xee 0x3b 0xd5
|
|
0x69 0xee 0x3b 0xd5
|
|
0x89 0xee 0x3b 0xd5
|
|
0xa9 0xee 0x3b 0xd5
|
|
0xc9 0xee 0x3b 0xd5
|
|
0xe9 0xee 0x3b 0xd5
|
|
0x9 0xef 0x3b 0xd5
|
|
0x29 0xef 0x3b 0xd5
|
|
0x49 0xef 0x3b 0xd5
|
|
0x69 0xef 0x3b 0xd5
|
|
0x89 0xef 0x3b 0xd5
|
|
0xa9 0xef 0x3b 0xd5
|
|
0xc9 0xef 0x3b 0xd5
|
|
|
|
# CHECK: mrs x12, s3_7_c15_c1_5
|
|
# CHECK: mrs x13, s3_2_c11_c15_7
|
|
# CHECK: msr s3_0_c15_c0_0, x12
|
|
# CHECK: msr s3_7_c11_c13_7, x5
|
|
0xac 0xf1 0x3f 0xd5
|
|
0xed 0xbf 0x3a 0xd5
|
|
0x0c 0xf0 0x18 0xd5
|
|
0xe5 0xbd 0x1f 0xd5
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Test and branch (immediate)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: tbz x12, #62, #0
|
|
# CHECK: tbz x12, #62, #4
|
|
# CHECK: tbz x12, #62, #-32768
|
|
# CHECK: tbnz x12, #60, #32764
|
|
0x0c 0x00 0xf0 0xb6
|
|
0x2c 0x00 0xf0 0xb6
|
|
0x0c 0x00 0xf4 0xb6
|
|
0xec 0xff 0xe3 0xb7
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Unconditional branch (immediate)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: b #4
|
|
# CHECK: b #-4
|
|
# CHECK: b #134217724
|
|
0x01 0x00 0x00 0x14
|
|
0xff 0xff 0xff 0x17
|
|
0xff 0xff 0xff 0x15
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Unconditional branch (register)
|
|
#------------------------------------------------------------------------------
|
|
|
|
# CHECK: br x20
|
|
# CHECK: blr xzr
|
|
# CHECK: ret x10
|
|
0x80 0x2 0x1f 0xd6
|
|
0xe0 0x3 0x3f 0xd6
|
|
0x40 0x1 0x5f 0xd6
|
|
|
|
# CHECK: ret
|
|
# CHECK: eret
|
|
# CHECK: drps
|
|
0xc0 0x3 0x5f 0xd6
|
|
0xe0 0x3 0x9f 0xd6
|
|
0xe0 0x3 0xbf 0xd6
|
|
|