Files
TheRock/compiler/amd-llvm/llvm/test/tools/llvm-mca/AArch64/Inputs/basic-instructions.s
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

1449 lines
36 KiB
ArmAsm

#------------------------------------------------------------------------------
# Add/sub (immediate)
#------------------------------------------------------------------------------
add w2, w3, #4095
add w30, w29, #1, lsl #12
add w13, w5, #4095, lsl #12
add x5, x7, #1638
add w20, wsp, #801
add wsp, wsp, #1104
add wsp, w30, #4084
add x0, x24, #291
add x3, x24, #4095, lsl #12
add x8, sp, #1074
add sp, x29, #3816
sub w0, wsp, #4077
sub w4, w20, #546, lsl #12
sub sp, sp, #288
sub wsp, w19, #16
adds w13, w23, #291, lsl #12
cmn w2, #4095
adds w20, wsp, #0
cmn x3, #1, lsl #12
cmp wsp, #2342
cmp sp, #20, lsl #12
cmp x30, #4095
subs x4, sp, #3822
cmn w3, #291, lsl #12
cmn wsp, #1365
cmn sp, #1092, lsl #12
mov x10, #-63432
#------------------------------------------------------------------------------
# Add-subtract (shifted register)
#------------------------------------------------------------------------------
add wsp, wsp, w10
add x25, x9, w25, uxtb
add w3, w5, w7
add wzr, w3, w5
add w20, wzr, w4
add w4, w6, wzr
add w11, w13, w15
add w9, w3, wzr, lsl #1
add w17, w29, w20, lsl #31
add w21, w22, w23, lsr #0
add w24, w25, w26, lsr #18
add w27, w28, w29, lsr #31
add w2, w3, w4, asr #0
add w5, w6, w7, asr #21
add w8, w9, w10, asr #31
add x3, x5, x7
add xzr, x3, x5
add x20, xzr, x4
add x4, x6, xzr
add x11, x13, x15
add x9, x3, xzr, lsl #10
add x17, x29, x20, lsl #3
add x21, x22, x23, lsr #0
add x24, x25, x26, lsr #18
add x27, x28, x29, lsr #63
add x2, x3, x4, asr #0
add x5, x6, x7, asr #21
add x8, x9, x10, asr #63
adds w3, w5, w7
adds w17, wsp, w25
adds x13, x23, w8, uxtb
cmn w3, w5
adds w20, wzr, w4
adds w4, w6, wzr
adds w11, w13, w15
adds w9, w3, wzr, lsl #1
adds w17, w29, w20, lsl #31
adds w21, w22, w23, lsr #0
adds w24, w25, w26, lsr #18
adds w27, w28, w29, lsr #31
adds w2, w3, w4, asr #0
adds w5, w6, w7, asr #21
adds w8, w9, w10, asr #31
adds x3, x5, x7
cmn x3, x5
adds x20, xzr, x4
adds x4, x6, xzr
adds x11, x13, x15
adds x9, x3, xzr, lsl #10
adds x17, x29, x20, lsl #3
adds x21, x22, x23, lsr #0
adds x24, x25, x26, lsr #18
adds x27, x28, x29, lsr #63
adds x2, x3, x4, asr #0
adds x5, x6, x7, asr #21
adds x8, x9, x10, asr #63
sub w3, w5, w7
sub wzr, w3, w5
sub w4, w6, wzr
sub w11, w13, w15
sub w9, w3, wzr, lsl #1
sub w17, w29, w20, lsl #31
sub w21, w22, w23, lsr #0
sub w24, w25, w26, lsr #18
sub w27, w28, w29, lsr #31
sub w2, w3, w4, asr #0
sub w5, w6, w7, asr #21
sub w8, w9, w10, asr #31
sub x3, x5, x7
sub xzr, x3, x5
sub x4, x6, xzr
sub x11, x13, x15
sub x9, x3, xzr, lsl #10
sub x17, x29, x20, lsl #3
sub x21, x22, x23, lsr #0
sub x24, x25, x26, lsr #18
sub x27, x28, x29, lsr #63
sub x2, x3, x4, asr #0
sub x5, x6, x7, asr #21
sub x8, x9, x10, asr #63
sub w13, wsp, w10
sub x16, x2, w19, uxtb
subs x13, x15, x14, sxtx #1
subs w3, w5, w7
cmp w3, w5
subs w4, w6, wzr
subs w11, w13, w15
subs w9, w3, wzr, lsl #1
subs w17, w29, w20, lsl #31
subs w21, w22, w23, lsr #0
subs w24, w25, w26, lsr #18
subs w27, w28, w29, lsr #31
subs w2, w3, w4, asr #0
subs w5, w6, w7, asr #21
subs w8, w9, w10, asr #31
subs x3, x5, x7
cmp x3, x5
subs x4, x6, xzr
subs x11, x13, x15
subs x9, x3, xzr, lsl #10
subs x17, x29, x20, lsl #3
subs x21, x22, x23, lsr #0
subs x24, x25, x26, lsr #18
subs x27, x28, x29, lsr #63
subs x2, x3, x4, asr #0
subs x5, x6, x7, asr #21
subs x8, x9, x10, asr #63
cmn wzr, w4
cmn w5, wzr
cmn w6, w7
cmn w8, w9, lsl #1
cmn w10, w11, lsl #31
cmn w12, w13, lsr #0
cmn w14, w15, lsr #21
cmn w16, w17, lsr #31
cmn w18, w19, asr #0
cmn w20, w21, asr #22
cmn w22, w23, asr #31
cmn x0, x3
cmn xzr, x4
cmn x5, xzr
cmn x6, x7
cmn x8, x9, lsl #15
cmn x10, x11, lsl #3
cmn x12, x13, lsr #0
cmn x14, x15, lsr #41
cmn x16, x17, lsr #63
cmn x18, x19, asr #0
cmn x20, x21, asr #55
cmn x22, x23, asr #63
cmp w0, w3
cmp wzr, w4
cmp w5, wzr
cmp w6, w7
cmp w8, w9, lsl #1
cmp w10, w11, lsl #31
cmp w12, w13, lsr #0
cmp w14, w15, lsr #21
cmp w18, w19, asr #0
cmp w20, w21, asr #22
cmp w22, w23, asr #31
cmp wsp, w26
cmp x16, w27, uxtb
cmp x0, x3
cmp xzr, x4
cmp x5, xzr
cmp x6, x7
cmp x8, x9, lsl #15
cmp x10, x11, lsl #3
cmp x12, x13, lsr #0
cmp x14, x15, lsr #41
cmp x16, x17, lsr #63
cmp x18, x19, asr #0
cmp x20, x21, asr #55
cmp x22, x23, asr #63
cmp wzr, w0
cmp xzr, x0
mov sp, x30
mov wsp, w20
mov x11, sp
mov w24, wsp
#------------------------------------------------------------------------------
# Add-subtract (shifted register)
#------------------------------------------------------------------------------
adc w29, w27, w25
adc wzr, w3, w4
adc w9, wzr, w10
adc w20, w0, wzr
adc x29, x27, x25
adc xzr, x3, x4
adc x9, xzr, x10
adc x20, x0, xzr
adcs w29, w27, w25
adcs wzr, w3, w4
adcs w9, wzr, w10
adcs w20, w0, wzr
adcs x29, x27, x25
adcs xzr, x3, x4
adcs x9, xzr, x10
adcs x20, x0, xzr
sbc w29, w27, w25
sbc wzr, w3, w4
ngc w9, w10
sbc w20, w0, wzr
sbc x29, x27, x25
sbc xzr, x3, x4
ngc x9, x10
sbc x20, x0, xzr
sbcs w29, w27, w25
sbcs wzr, w3, w4
ngcs w9, w10
sbcs w20, w0, wzr
sbcs x29, x27, x25
sbcs xzr, x3, x4
ngcs x9, x10
sbcs x20, x0, xzr
ngc w3, w12
ngc wzr, w9
ngc w23, wzr
ngc x29, x30
ngc xzr, x0
ngc x0, xzr
ngcs w3, w12
ngcs wzr, w9
ngcs w23, wzr
ngcs x29, x30
ngcs xzr, x0
ngcs x0, xzr
#------------------------------------------------------------------------------
# Compare and branch (immediate)
#------------------------------------------------------------------------------
sbfx x1, x2, #3, #2
asr x3, x4, #63
asr wzr, wzr, #31
sbfx w12, w9, #0, #1
ubfiz x4, x5, #52, #11
ubfx xzr, x4, #0, #1
ubfiz x4, xzr, #1, #6
lsr x5, x6, #12
bfi x4, x5, #52, #11
bfxil xzr, x4, #0, #1
bfi x4, xzr, #1, #6
bfxil x5, x6, #12, #52
sxtb w1, w2
sxtb xzr, w3
sxth w9, w10
sxth x0, w1
sxtw x3, w30
uxtb w1, w2
uxth w9, w10
ubfx x3, x30, #0, #32
asr w3, w2, #0
asr w9, w10, #31
asr x20, x21, #63
asr w1, wzr, #3
lsr w3, w2, #0
lsr w9, w10, #31
lsr x20, x21, #63
lsr wzr, wzr, #3
lsl w9, w10, #31
lsl x20, x21, #63
lsl w1, wzr, #3
sbfiz x2, x3, #63, #1
sbfiz x9, x10, #5, #59
sbfiz w11, w12, #31, #1
sbfiz w13, w14, #29, #3
sbfiz xzr, xzr, #10, #11
sbfx w9, w10, #0, #1
asr x2, x3, #63
asr x19, x20, #0
asr x9, x10, #5
asr w9, w10, #0
asr w11, w12, #31
asr w13, w14, #29
sbfx xzr, xzr, #10, #11
bfi x2, x3, #63, #1
bfi x9, x10, #5, #59
bfi w11, w12, #31, #1
bfi w13, w14, #29, #3
bfi xzr, xzr, #10, #11
bfxil w9, w10, #0, #1
bfxil x2, x3, #63, #1
bfxil x19, x20, #0, #64
bfxil x9, x10, #5, #59
bfxil w9, w10, #0, #32
bfxil w11, w12, #31, #1
bfxil w13, w14, #29, #3
bfxil xzr, xzr, #10, #11
lsl x2, x3, #63
lsl x9, x10, #5
lsl w11, w12, #31
lsl w13, w14, #29
ubfiz xzr, xzr, #10, #11
ubfx w9, w10, #0, #1
lsr x2, x3, #63
lsr x19, x20, #0
lsr x9, x10, #5
lsr w9, w10, #0
lsr w11, w12, #31
lsr w13, w14, #29
ubfx xzr, xzr, #10, #11
#------------------------------------------------------------------------------
# Compare and branch (immediate)
#------------------------------------------------------------------------------
cbz w5, #4
cbz x5, #0
cbnz x2, #-4
cbnz x26, #1048572
cbz wzr, #0
cbnz xzr, #0
cbnz w21, test
#------------------------------------------------------------------------------
# Conditional branch (immediate)
#------------------------------------------------------------------------------
b.ne #4
b.ge #1048572
b.ge #-4
#------------------------------------------------------------------------------
# Conditional compare (immediate)
#------------------------------------------------------------------------------
ccmp w1, #31, #0, eq
ccmp w3, #0, #15, hs
ccmp wzr, #15, #13, hs
ccmp x9, #31, #0, le
ccmp x3, #0, #15, gt
ccmp xzr, #5, #7, ne
ccmn w1, #31, #0, eq
ccmn w3, #0, #15, hs
ccmn wzr, #15, #13, hs
ccmn x9, #31, #0, le
ccmn x3, #0, #15, gt
ccmn xzr, #5, #7, ne
#------------------------------------------------------------------------------
# Conditional compare (register)
#------------------------------------------------------------------------------
ccmp w1, wzr, #0, eq
ccmp w3, w0, #15, hs
ccmp wzr, w15, #13, hs
ccmp x9, xzr, #0, le
ccmp x3, x0, #15, gt
ccmp xzr, x5, #7, ne
ccmn w1, wzr, #0, eq
ccmn w3, w0, #15, hs
ccmn wzr, w15, #13, hs
ccmn x9, xzr, #0, le
ccmn x3, x0, #15, gt
ccmn xzr, x5, #7, ne
#------------------------------------------------------------------------------
# Conditional branch (immediate)
#------------------------------------------------------------------------------
csel w1, w0, w19, ne
csel wzr, w5, w9, eq
csel w9, wzr, w30, gt
csel w1, w28, wzr, mi
csel x19, x23, x29, lt
csel xzr, x3, x4, ge
csel x5, xzr, x6, hs
csel x7, x8, xzr, lo
csinc w1, w0, w19, ne
csinc wzr, w5, w9, eq
csinc w9, wzr, w30, gt
csinc w1, w28, wzr, mi
csinc x19, x23, x29, lt
csinc xzr, x3, x4, ge
csinc x5, xzr, x6, hs
csinc x7, x8, xzr, lo
csinv w1, w0, w19, ne
csinv wzr, w5, w9, eq
csinv w9, wzr, w30, gt
csinv w1, w28, wzr, mi
csinv x19, x23, x29, lt
csinv xzr, x3, x4, ge
csinv x5, xzr, x6, hs
csinv x7, x8, xzr, lo
csneg w1, w0, w19, ne
csneg wzr, w5, w9, eq
csneg w9, wzr, w30, gt
csneg w1, w28, wzr, mi
csneg x19, x23, x29, lt
csneg xzr, x3, x4, ge
csneg x5, xzr, x6, hs
csneg x7, x8, xzr, lo
cset w3, eq
cset x9, pl
csetm w20, ne
csetm x30, ge
csinc w2, wzr, wzr, al
csinv x3, xzr, xzr, nv
cinc w3, w5, gt
cinc wzr, w4, le
cset w9, lt
cinc x3, x5, gt
cinc xzr, x4, le
cset x9, lt
csinc w5, w6, w6, nv
csinc x1, x2, x2, al
cinv w3, w5, gt
cinv wzr, w4, le
csetm w9, lt
cinv x3, x5, gt
cinv xzr, x4, le
csetm x9, lt
csinv x1, x0, x0, al
csinv w9, w8, w8, nv
cneg w3, w5, gt
cneg wzr, w4, le
cneg w9, wzr, lt
cneg x3, x5, gt
cneg xzr, x4, le
cneg x9, xzr, lt
csneg x4, x8, x8, al
#------------------------------------------------------------------------------
# Data-processing (1 source)
#------------------------------------------------------------------------------
rbit w0, w7
rbit x18, x3
rev16 w17, w1
rev16 x5, x2
rev w18, w0
rev32 x20, x1
rev x22, x2
clz w24, w3
clz x26, x4
cls w3, w5
cls x20, x5
#------------------------------------------------------------------------------
# Data-processing (2 source)
#------------------------------------------------------------------------------
udiv w0, w7, w10
udiv x9, x22, x4
sdiv w12, w21, w0
sdiv x13, x2, x1
lsl w11, w12, w13
lsl x14, x15, x16
lsr w17, w18, w19
lsr x20, x21, x22
asr w23, w24, w25
asr x26, x27, x28
ror w0, w1, w2
ror x3, x4, x5
lsl w6, w7, w8
lsl x9, x10, x11
lsr w12, w13, w14
lsr x15, x16, x17
asr w18, w19, w20
asr x21, x22, x23
ror w24, w25, w26
ror x27, x28, x29
#------------------------------------------------------------------------------
# Data-processing (3 sources)
#------------------------------------------------------------------------------
crc32cb w30, w23, w15
crc32cb w31, w12, w14
crc32cb w28, w10, w11
crc32b w27, w12, w15
crc32h w3, w15, w21
crc32w w9, w18, w24
crc32x w19, w6, x25
crc32ch w25, w26, w16
crc32cw w27, w12, w23
crc32cx w21, w28, x5
smulh x30, x29, x28
smulh xzr, x27, x26
umulh x30, x29, x28
umulh x23, x30, xzr
madd w1, w3, w7, w4
madd wzr, w0, w9, w11
madd w13, wzr, w4, w4
madd w19, w30, wzr, w29
mul w4, w5, w6
madd x1, x3, x7, x4
madd xzr, x0, x9, x11
madd x13, xzr, x4, x4
madd x19, x30, xzr, x29
mul x4, x5, x6
msub w1, w3, w7, w4
msub wzr, w0, w9, w11
msub w13, wzr, w4, w4
msub w19, w30, wzr, w29
mneg w4, w5, w6
msub x1, x3, x7, x4
msub xzr, x0, x9, x11
msub x13, xzr, x4, x4
msub x19, x30, xzr, x29
mneg x4, x5, x6
smaddl x3, w5, w2, x9
smaddl xzr, w10, w11, x12
smaddl x13, wzr, w14, x15
smaddl x16, w17, wzr, x18
smull x19, w20, w21
smsubl x3, w5, w2, x9
smsubl xzr, w10, w11, x12
smsubl x13, wzr, w14, x15
smsubl x16, w17, wzr, x18
smnegl x19, w20, w21
umaddl x3, w5, w2, x9
umaddl xzr, w10, w11, x12
umaddl x13, wzr, w14, x15
umaddl x16, w17, wzr, x18
umull x19, w20, w21
umsubl x3, w5, w2, x9
umsubl x16, w17, wzr, x18
umnegl x19, w20, w21
smulh x23, x22, xzr
umulh x23, x22, xzr
mul x19, x20, xzr
mneg w21, w22, w23
smull x11, w13, w17
umull x11, w13, w17
smnegl x11, w13, w17
umnegl x11, w13, w17
#------------------------------------------------------------------------------
# Extract (immediate)
#------------------------------------------------------------------------------
extr w3, w5, w7, #0
extr w11, w13, w17, #31
extr x3, x5, x7, #15
extr x11, x13, x17, #63
ror x19, x23, #24
ror x29, xzr, #63
ror w9, w13, #31
#------------------------------------------------------------------------------
# Floating-point compare
#------------------------------------------------------------------------------
fcmp h5, h21
fcmp h5, #0.0
fcmpe h22, h21
fcmpe h13, #0.0
fcmp s3, s5
fcmp s31, #0.0
fcmpe s29, s30
fcmpe s15, #0.0
fcmp d4, d12
fcmp d23, #0.0
fcmpe d26, d22
fcmpe d29, #0.0
#------------------------------------------------------------------------------
# Floating-point conditional compare
#------------------------------------------------------------------------------
fccmp s1, s31, #0, eq
fccmp s3, s0, #15, hs
fccmp s31, s15, #13, hs
fccmp d9, d31, #0, le
fccmp d3, d0, #15, gt
fccmp d31, d5, #7, ne
fccmp h31, h3, #11, hs
fccmpe h6, h1, #12, ne
fccmpe s1, s31, #0, eq
fccmpe s3, s0, #15, hs
fccmpe s31, s15, #13, hs
fccmpe d9, d31, #0, le
fccmpe d3, d0, #15, gt
fccmpe d31, d5, #7, ne
#-------------------------------------------------------------------------------
# Floating-point conditional compare
#-------------------------------------------------------------------------------
fcsel s3, s20, s9, pl
fcsel d9, d10, d11, mi
fcsel h26, h2, h11, hs
#------------------------------------------------------------------------------
# Floating-point data-processing (1 source)
#------------------------------------------------------------------------------
fmov h18, h28
fmov s0, s1
fabs s2, s3
fneg h2, h9
fneg s4, s5
fsqrt s6, s7
fcvt d8, s9
fcvt h10, s11
frintn h12, h3
frintn s12, s13
frintp h17, h31
frintp s14, s15
frintm h0, h21
frintm s16, s17
frintz h10, h29
frintz s18, s19
frinta h22, h10
frinta s20, s21
frintx h4, h5
frintx s22, s23
frinti s24, s25
frinti h31, h14
fmov d0, d1
fabs d2, d3
fneg d4, d5
fsqrt h13, h24
fsqrt d6, d7
fcvt s8, d9
fcvt h10, d11
frintn d12, d13
frintp d14, d15
frintm d16, d17
frintz d18, d19
frinta d20, d21
frintx d22, d23
frinti d24, d25
fcvt s26, h27
fcvt d28, h29
#------------------------------------------------------------------------------
# Floating-point data-processing (2 sources)
#------------------------------------------------------------------------------
fmul s20, s19, s17
fdiv h1, h26, h23
fdiv s1, s2, s3
fadd h23, h27, h22
fadd s4, s5, s6
fsub h20, h11, h18
fsub s7, s8, s9
fmax s10, s11, s12
fmax h8, h7, h11
fmin s13, s14, s15
fmaxnm h29, h13, h14
fmaxnm s16, s17, s18
fminnm s19, s20, s21
fnmul h3, h15, h7
fnmul s22, s23, s2
fmul d20, d19, d17
fdiv d1, d2, d3
fadd d4, d5, d6
fsub d7, d8, d9
fmax d10, d11, d12
fmin d13, d14, d15
fmin h4, h13, h17
fmaxnm d16, d17, d18
fminnm d19, d20, d21
fminnm h29, h23, h17
fnmul d22, d23, d24
#------------------------------------------------------------------------------
# Floating-point data-processing (1 source)
#------------------------------------------------------------------------------
fmadd h27, h0, h6, h28
fmadd s3, s5, s6, s31
fmadd d3, d13, d0, d23
fmsub h25, h28, h12, h24
fmsub s3, s5, s6, s31
fmsub d3, d13, d0, d23
fnmadd h3, h18, h31, h24
fnmadd s3, s5, s6, s31
fnmadd d3, d13, d0, d23
fnmsub s3, s5, s6, s31
fnmsub d3, d13, d0, d23
fnmsub h3, h29, h24, h17
#------------------------------------------------------------------------------
# Floating-point <-> fixed-point conversion
#------------------------------------------------------------------------------
fcvtzs w3, h5, #1
fcvtzs wzr, h20, #13
fcvtzs w19, h0, #32
fcvtzs x3, h5, #1
fcvtzs x12, h30, #45
fcvtzs x19, h0, #64
fcvtzs w3, s5, #1
fcvtzs wzr, s20, #13
fcvtzs w19, s0, #32
fcvtzs x3, s5, #1
fcvtzs x12, s30, #45
fcvtzs x19, s0, #64
fcvtzs w3, d5, #1
fcvtzs wzr, d20, #13
fcvtzs w19, d0, #32
fcvtzs x3, d5, #1
fcvtzs x12, d30, #45
fcvtzs x19, d0, #64
fcvtzu w3, h5, #1
fcvtzu wzr, h20, #13
fcvtzu w19, h0, #32
fcvtzu x3, h5, #1
fcvtzu x12, h30, #45
fcvtzu x19, h0, #64
fcvtzu w3, s5, #1
fcvtzu wzr, s20, #13
fcvtzu w19, s0, #32
fcvtzu x3, s5, #1
fcvtzu x12, s30, #45
fcvtzu x19, s0, #64
fcvtzu w3, d5, #1
fcvtzu wzr, d20, #13
fcvtzu w19, d0, #32
fcvtzu x3, d5, #1
fcvtzu x12, d30, #45
fcvtzu x19, d0, #64
scvtf h23, w19, #1
scvtf h31, wzr, #20
scvtf h14, w0, #32
scvtf h23, x19, #1
scvtf h31, xzr, #20
scvtf h14, x0, #64
scvtf s23, w19, #1
scvtf s31, wzr, #20
scvtf s14, w0, #32
scvtf s23, x19, #1
scvtf s31, xzr, #20
scvtf s14, x0, #64
scvtf d23, w19, #1
scvtf d31, wzr, #20
scvtf d14, w0, #32
scvtf d23, x19, #1
scvtf d31, xzr, #20
scvtf d14, x0, #64
ucvtf h23, w19, #1
ucvtf h31, wzr, #20
ucvtf h14, w0, #32
ucvtf h23, x19, #1
ucvtf h31, xzr, #20
ucvtf h14, x0, #64
ucvtf s23, w19, #1
ucvtf s31, wzr, #20
ucvtf s14, w0, #32
ucvtf s23, x19, #1
ucvtf s31, xzr, #20
ucvtf s14, x0, #64
ucvtf d23, w19, #1
ucvtf d31, wzr, #20
ucvtf d14, w0, #32
ucvtf d23, x19, #1
ucvtf d31, xzr, #20
ucvtf d14, x0, #64
#------------------------------------------------------------------------------
# Floating-point <-> integer conversion
#------------------------------------------------------------------------------
fcvtns w3, h31
fcvtns xzr, h12
fcvtnu wzr, h12
fcvtnu x0, h0
fcvtps wzr, h9
fcvtps x12, h20
fcvtpu w30, h23
fcvtpu x29, h3
fcvtms w2, h3
fcvtms x4, h5
fcvtmu w6, h7
fcvtmu x8, h9
fcvtzs w10, h11
fcvtzs x12, h13
fcvtzu w14, h15
fcvtzu x15, h16
scvtf h17, w18
scvtf h19, x20
ucvtf h21, w22
scvtf h23, x24
fcvtas w25, h26
fcvtas x27, h28
fcvtau w29, h30
fcvtau xzr, h0
fcvtns w3, s31
fcvtns xzr, s12
fcvtnu wzr, s12
fcvtnu x0, s0
fcvtps wzr, s9
fcvtps x12, s20
fcvtpu w30, s23
fcvtpu x29, s3
fcvtms w2, s3
fcvtms x4, s5
fcvtmu w6, s7
fcvtmu x8, s9
fcvtzs w10, s11
fcvtzs x12, s13
fcvtzu w14, s15
fcvtzu x15, s16
scvtf s17, w18
scvtf s19, x20
ucvtf s21, w22
scvtf s23, x24
fcvtas w25, s26
fcvtas x27, s28
fcvtau w29, s30
fcvtau xzr, s0
fcvtns w3, d31
fcvtns xzr, d12
fcvtnu wzr, d12
fcvtnu x0, d0
fcvtps wzr, d9
fcvtps x12, d20
fcvtpu w30, d23
fcvtpu x29, d3
fcvtms w2, d3
fcvtms x4, d5
fcvtmu w6, d7
fcvtmu x8, d9
fcvtzs w10, d11
fcvtzs x12, d13
fcvtzu w14, d15
fcvtzu x15, d16
scvtf d17, w18
scvtf d19, x20
ucvtf d21, w22
ucvtf d23, x24
fcvtas w25, d26
fcvtas x27, d28
fcvtau w29, d30
fcvtau xzr, d0
fmov h6, w5
fmov h16, x27
fmov w15, h31
fmov w3, s9
fmov s9, w3
fmov x21, h14
fmov x20, d31
fmov d1, x15
fmov x3, v12.d[1]
fmov v1.d[1], x19
#------------------------------------------------------------------------------
# Floating-point immediate
#------------------------------------------------------------------------------
fmov h29, #0.50000000
fmov s2, #0.12500000
fmov s3, #1.00000000
fmov d30, #16.00000000
fmov s4, #1.06250000
fmov d10, #1.93750000
fmov s12, #-1.00000000
fmov d16, #8.50000000
#------------------------------------------------------------------------------
# Load-register (literal)
#------------------------------------------------------------------------------
ldr w3, #0
ldr x29, #4
ldrsw xzr, #-4
ldr s0, #8
ldr d0, #1048572
ldr q0, #-1048576
prfm pldl1strm, #0
prfm #25, #0
#------------------------------------------------------------------------------
# Load/store exclusive
#------------------------------------------------------------------------------
stxrb w18, w8, [sp]
stxrh w24, w15, [x16]
stxr w5, w6, [x17]
stxr w1, x10, [x21]
ldxrb w30, [x0]
ldxrh w17, [x4]
ldxr w22, [sp]
ldxr x11, [x29]
stxp w12, w11, w10, [sp]
stxp wzr, x27, x9, [x12]
ldxp w0, wzr, [sp]
ldxp x17, x0, [x18]
stlxrb w12, w22, [x0]
stlxrh w10, w1, [x1]
stlxr w9, w2, [x2]
stlxr w9, x3, [sp]
ldaxrb w8, [x4]
ldaxrh w7, [x5]
ldaxr w6, [sp]
ldaxr x5, [x6]
stlxp w4, w5, w6, [sp]
stlxp wzr, x6, x7, [x1]
ldaxp w5, w18, [sp]
ldaxp x6, x19, [x22]
stlrb w24, [sp]
stlrh w25, [x30]
stlr w26, [x29]
stlr x27, [x28]
ldarb w16, [x21]
ldarb w23, [sp]
ldarh w22, [x30]
ldar wzr, [x29]
ldar x21, [x28]
#------------------------------------------------------------------------------
# Load/store (unscaled immediate)
#------------------------------------------------------------------------------
sturb w9, [sp]
sturh wzr, [x12, #255]
stur w16, [x0, #-256]
stur x28, [x14, #1]
ldurb w1, [x20, #255]
ldurh w20, [x1, #255]
ldur w12, [sp, #255]
ldur xzr, [x12, #255]
ldursb x9, [x7, #-256]
ldursh x17, [x19, #-256]
ldursw x20, [x15, #-256]
prfum pldl2keep, [sp, #-256]
ldursb w19, [x1, #-256]
ldursh w15, [x21, #-256]
stur b0, [sp, #1]
stur h12, [x12, #-1]
stur s15, [x0, #255]
stur d31, [x5, #25]
stur q9, [x5]
ldur b3, [sp]
ldur h5, [x4, #-256]
ldur s7, [x12, #-1]
ldur d11, [x19, #4]
ldur q13, [x1, #2]
#------------------------------------------------------------------------------
# Load/store (immediate post-indexed)
#------------------------------------------------------------------------------
strb w9, [x2], #255
strb w10, [x3], #1
strb w10, [x3], #-256
strh w9, [x2], #255
strh w9, [x2], #1
strh w10, [x3], #-256
str w19, [sp], #255
str w20, [x30], #1
str w21, [x12], #-256
str xzr, [x9], #255
str x2, [x3], #1
str x19, [x12], #-256
ldrb w9, [x2], #255
ldrb w10, [x3], #1
ldrb w10, [x3], #-256
ldrh w9, [x2], #255
ldrh w9, [x2], #1
ldrh w10, [x3], #-256
ldr w19, [sp], #255
ldr w20, [x30], #1
ldr w21, [x12], #-256
ldr xzr, [x9], #255
ldr x2, [x3], #1
ldr x19, [x12], #-256
ldrsb xzr, [x9], #255
ldrsb x2, [x3], #1
ldrsb x19, [x12], #-256
ldrsh xzr, [x9], #255
ldrsh x2, [x3], #1
ldrsh x19, [x12], #-256
ldrsw xzr, [x9], #255
ldrsw x2, [x3], #1
ldrsw x19, [x12], #-256
ldrsb wzr, [x9], #255
ldrsb w2, [x3], #1
ldrsb w19, [x12], #-256
ldrsh wzr, [x9], #255
ldrsh w2, [x3], #1
ldrsh w19, [x12], #-256
str b0, [x0], #255
str b3, [x3], #1
str b5, [sp], #-256
str h10, [x10], #255
str h13, [x23], #1
str h15, [sp], #-256
str s20, [x20], #255
str s23, [x23], #1
str s25, [x0], #-256
str d20, [x20], #255
str d23, [x23], #1
str d25, [x0], #-256
ldr b0, [x0], #255
ldr b3, [x3], #1
ldr b5, [sp], #-256
ldr h10, [x10], #255
ldr h13, [x23], #1
ldr h15, [sp], #-256
ldr s20, [x20], #255
ldr s23, [x23], #1
ldr s25, [x0], #-256
ldr d20, [x20], #255
ldr d23, [x23], #1
ldr d25, [x0], #-256
ldr q20, [x1], #255
ldr q23, [x9], #1
ldr q25, [x20], #-256
str q10, [x1], #255
str q22, [sp], #1
str q21, [x20], #-256
#-------------------------------------------------------------------------------
# Load-store register (immediate pre-indexed)
#-------------------------------------------------------------------------------
ldr x3, [x4, #0]!
strb w9, [x2, #255]!
strb w10, [x3, #1]!
strb w10, [x3, #-256]!
strh w9, [x2, #255]!
strh w9, [x2, #1]!
strh w10, [x3, #-256]!
str w19, [sp, #255]!
str w20, [x30, #1]!
str w21, [x12, #-256]!
str xzr, [x9, #255]!
str x2, [x3, #1]!
str x19, [x12, #-256]!
ldrb w9, [x2, #255]!
ldrb w10, [x3, #1]!
ldrb w10, [x3, #-256]!
ldrh w9, [x2, #255]!
ldrh w9, [x2, #1]!
ldrh w10, [x3, #-256]!
ldr w19, [sp, #255]!
ldr w20, [x30, #1]!
ldr w21, [x12, #-256]!
ldr xzr, [x9, #255]!
ldr x2, [x3, #1]!
ldr x19, [x12, #-256]!
ldrsb xzr, [x9, #255]!
ldrsb x2, [x3, #1]!
ldrsb x19, [x12, #-256]!
ldrsh xzr, [x9, #255]!
ldrsh x2, [x3, #1]!
ldrsh x19, [x12, #-256]!
ldrsw xzr, [x9, #255]!
ldrsw x2, [x3, #1]!
ldrsw x19, [x12, #-256]!
ldrsb wzr, [x9, #255]!
ldrsb w2, [x3, #1]!
ldrsb w19, [x12, #-256]!
ldrsh wzr, [x9, #255]!
ldrsh w2, [x3, #1]!
ldrsh w19, [x12, #-256]!
str b0, [x0, #255]!
str b3, [x3, #1]!
str b5, [sp, #-256]!
str h10, [x10, #255]!
str h13, [x23, #1]!
str h15, [sp, #-256]!
str s20, [x20, #255]!
str s23, [x23, #1]!
str s25, [x0, #-256]!
str d20, [x20, #255]!
str d23, [x23, #1]!
str d25, [x0, #-256]!
ldr b0, [x0, #255]!
ldr b3, [x3, #1]!
ldr b5, [sp, #-256]!
ldr h10, [x10, #255]!
ldr h13, [x23, #1]!
ldr h15, [sp, #-256]!
ldr s20, [x20, #255]!
ldr s23, [x23, #1]!
ldr s25, [x0, #-256]!
ldr d20, [x20, #255]!
ldr d23, [x23, #1]!
ldr d25, [x0, #-256]!
ldr q20, [x1, #255]!
ldr q23, [x9, #1]!
ldr q25, [x20, #-256]!
str q10, [x1, #255]!
str q22, [sp, #1]!
str q21, [x20, #-256]!
#------------------------------------------------------------------------------
# Load/store (unprivileged)
#------------------------------------------------------------------------------
sttrb w9, [sp]
sttrh wzr, [x12, #255]
sttr w16, [x0, #-256]
sttr x28, [x14, #1]
ldtrb w1, [x20, #255]
ldtrh w20, [x1, #255]
ldtr w12, [sp, #255]
ldtr xzr, [x12, #255]
ldtrsb x9, [x7, #-256]
ldtrsh x17, [x19, #-256]
ldtrsw x20, [x15, #-256]
ldtrsb w19, [x1, #-256]
ldtrsh w15, [x21, #-256]
#------------------------------------------------------------------------------
# Load/store (unsigned immediate)
#------------------------------------------------------------------------------
ldr x4, [x29]
ldr x30, [x12, #32760]
ldr x20, [sp, #8]
ldr xzr, [sp]
ldr w2, [sp]
ldr w17, [sp, #16380]
ldr w13, [x2, #4]
ldrsw x2, [x5, #4]
ldrsw x23, [sp, #16380]
ldrsw x21, [x25, x7]
ldrh w2, [x4]
ldrsh w23, [x6, #8190]
ldrsh wzr, [sp, #2]
ldrsh x29, [x2, #2]
ldrsh x25, [x8, w13, uxtw]
ldrb w26, [x3, #121]
ldrb w12, [x2]
ldrsb w27, [sp, #4095]
ldrsb xzr, [x15]
ldrsb x12, [x28, x27]
str x30, [sp]
str w20, [x4, #16380]
str b5, [x11]
str h23, [x15]
str s25, [x19]
str d15, [x2]
strh w17, [sp, #8190]
strb w23, [x3, #4095]
strb wzr, [x2]
ldr b31, [sp, #4095]
ldr h20, [x2, #8190]
ldr s10, [x19, #16380]
ldr d3, [x10, #32760]
str q12, [sp, #65520]
ldr q14, [x6, #4624]
#------------------------------------------------------------------------------
# Load/store (register offset)
#------------------------------------------------------------------------------
ldrb w3, [sp, x5]
ldrb w9, [x27, x6]
ldrsb w10, [x30, x7]
ldrb w11, [x29, x3, sxtx]
strb w12, [x28, xzr, sxtx]
strb w5, [x26, w7, uxtw]
ldrb w14, [x26, w6, uxtw]
ldrsb w15, [x25, w7, uxtw]
ldrb w17, [x23, w9, sxtw]
ldrsb x18, [x22, w10, sxtw]
ldrsh w3, [sp, x5]
ldrsh w9, [x27, x6]
ldrh w10, [x30, x7, lsl #1]
strh w11, [x29, x3, sxtx]
ldrh w12, [x28, xzr, sxtx]
ldrsh x13, [x27, x5, sxtx #1]
ldrh w14, [x26, w6, uxtw]
ldrh w15, [x25, w7, uxtw]
ldrsh w16, [x24, w8, uxtw #1]
ldrh w17, [x23, w9, sxtw]
ldrh w18, [x22, w10, sxtw]
strh w19, [x21, wzr, sxtw #1]
ldr b25, [x21, w8, uxtw]
ldr b8, [x30, x10]
str b14, [x13, x25]
str b30, [x16, w26, uxtw]
ldr h3, [sp, x5]
ldr h9, [x27, x6]
ldr h10, [x30, x7, lsl #1]
str h11, [x29, x3, sxtx]
str h12, [x28, xzr, sxtx]
str h13, [x27, x5, sxtx #1]
ldr h14, [x26, w6, uxtw]
ldr h15, [x25, w7, uxtw]
ldr h16, [x24, w8, uxtw #1]
ldr h17, [x23, w9, sxtw]
str h18, [x22, w10, sxtw]
ldr h19, [x21, wzr, sxtw #1]
ldr s12, [x30, w5, uxtw]
ldr d24, [x26, w7, uxtw]
str s20, [x24, w10, uxtw]
str d5, [x26, x6]
ldr w3, [sp, x5]
ldr s9, [x27, x6]
ldr w10, [x30, x7, lsl #2]
ldr w11, [x29, x3, sxtx]
str s12, [x28, xzr, sxtx]
str w13, [x27, x5, sxtx #2]
str w14, [x26, w6, uxtw]
ldr w15, [x25, w7, uxtw]
ldr w16, [x24, w8, uxtw #2]
ldrsw x17, [x23, w9, sxtw]
ldr w18, [x22, w10, sxtw]
ldrsw x19, [x21, wzr, sxtw #2]
ldr x3, [sp, x5]
str x9, [x27, x6]
ldr d10, [x30, x7, lsl #3]
str x11, [x29, x3, sxtx]
ldr x12, [x28, xzr, sxtx]
ldr x13, [x27, x5, sxtx #3]
prfm pldl1keep, [x26, w6, uxtw]
ldr x15, [x25, w7, uxtw]
str x27, [x26, w24, uxtw]
ldr x16, [x24, w8, uxtw #3]
ldr x17, [x23, w9, sxtw]
ldr x18, [x22, w10, sxtw]
str d19, [x21, wzr, sxtw #3]
ldr q3, [sp, x5]
ldr q9, [x27, x6]
ldr q10, [x30, x7, lsl #4]
str q11, [x29, x3, sxtx]
str q12, [x28, xzr, sxtx]
str q13, [x27, x5, sxtx #4]
ldr q14, [x26, w6, uxtw]
ldr q15, [x25, w7, uxtw]
ldr q16, [x24, w8, uxtw #4]
ldr q17, [x23, w9, sxtw]
str q18, [x22, w10, sxtw]
ldr q19, [x21, wzr, sxtw #4]
#------------------------------------------------------------------------------
# Load/store register pair (offset)
#------------------------------------------------------------------------------
ldp w3, w5, [sp]
stp wzr, w9, [sp, #252]
ldp w2, wzr, [sp, #-256]
ldp w9, w10, [sp, #4]
ldpsw x9, x10, [sp, #4]
ldpsw x9, x10, [x2, #-256]
ldpsw x20, x30, [sp, #252]
ldp x21, x29, [x2, #504]
ldp x22, x23, [x3, #-512]
ldp x24, x25, [x4, #8]
ldp s29, s28, [sp, #252]
stp s27, s26, [sp, #-256]
ldp s1, s2, [x3, #44]
stp d3, d5, [x9, #504]
stp d7, d11, [x10, #-512]
stnp x20, x16, [x8]
stp x3, x6, [x16]
ldp d2, d3, [x30, #-8]
stp q3, q5, [sp]
stp q17, q19, [sp, #1008]
ldp q23, q29, [x1, #-1024]
#------------------------------------------------------------------------------
# Load/store register pair (post-indexed)
#------------------------------------------------------------------------------
ldp w3, w5, [sp], #0
stp wzr, w9, [sp], #252
ldp w2, wzr, [sp], #-256
ldp w9, w10, [sp], #4
ldpsw x9, x10, [sp], #4
ldpsw x9, x10, [x2], #-256
ldpsw x20, x30, [sp], #252
ldp x21, x29, [x2], #504
ldp x22, x23, [x3], #-512
ldp x24, x25, [x4], #8
ldp s29, s28, [sp], #252
stp s27, s26, [sp], #-256
ldp s1, s2, [x3], #44
stp d3, d5, [x9], #504
stp d7, d11, [x10], #-512
ldp d2, d3, [x30], #-8
stp q3, q5, [sp], #0
stp q17, q19, [sp], #1008
ldp q23, q29, [x1], #-1024
#------------------------------------------------------------------------------
# Load/store register pair (pre-indexed)
#------------------------------------------------------------------------------
ldp w3, w5, [sp, #0]!
stp wzr, w9, [sp, #252]!
ldp w2, wzr, [sp, #-256]!
ldp w9, w10, [sp, #4]!
ldpsw x9, x10, [sp, #4]!
ldpsw x9, x10, [x2, #-256]!
ldpsw x20, x30, [sp, #252]!
ldp x21, x29, [x2, #504]!
ldp x22, x23, [x3, #-512]!
ldp x24, x25, [x4, #8]!
ldp s29, s28, [sp, #252]!
stp s27, s26, [sp, #-256]!
ldp s1, s2, [x3, #44]!
stp d3, d5, [x9, #504]!
stp d7, d11, [x10, #-512]!
ldp d2, d3, [x30, #-8]!
stp q3, q5, [sp, #0]!
stp q17, q19, [sp, #1008]!
ldp q23, q29, [x1, #-1024]!
#------------------------------------------------------------------------------
# Load/store register pair (offset)
#------------------------------------------------------------------------------
ldnp w3, w5, [sp]
stnp wzr, w9, [sp, #252]
ldnp w2, wzr, [sp, #-256]
ldnp w9, w10, [sp, #4]
ldnp x21, x29, [x2, #504]
ldnp x22, x23, [x3, #-512]
ldnp x24, x25, [x4, #8]
ldnp s29, s28, [sp, #252]
stnp s27, s26, [sp, #-256]
ldnp s1, s2, [x3, #44]
stnp d3, d5, [x9, #504]
stnp d7, d11, [x10, #-512]
ldnp d2, d3, [x30, #-8]
stnp q3, q5, [sp]
stnp q17, q19, [sp, #1008]
ldnp q23, q29, [x1, #-1024]
#------------------------------------------------------------------------------
# Logical (immediate)
#------------------------------------------------------------------------------
and wsp, w16, #0xe00
and x2, x22, #0x1e00
ands w14, w8, #0x70
ands x4, x10, #0x60
eor wsp, w4, #0xe00
eor x27, x25, #0x1e00
mov w3, #983055
mov x10, #-6148914691236517206
#------------------------------------------------------------------------------
# Logical (shifted register)
#------------------------------------------------------------------------------
and w12, w23, w21
and w16, w15, w1, lsl #1
and w9, w4, w10, lsl #31
and w3, w30, w11
and x3, x5, x7, lsl #63
and x5, x14, x19, asr #4
and w3, w17, w19, ror #31
and w0, w2, wzr, lsr #17
and w3, w30, w11, asr #2
and xzr, x4, x26
and w3, wzr, w20, ror #2
and x7, x20, xzr, asr #63
bic x13, x20, x14, lsl #47
bic w2, w7, w9
eon w29, w4, w19
eon x19, x12, x2
eor w8, w27, w2
eor x22, x16, x6
orr w2, w7, w0, asr #31
orr x8, x9, x10, lsl #12
orn x3, x5, x7, asr #2
orn w2, w5, w29
ands w7, wzr, w9, lsl #1
ands x3, x5, x20, ror #63
bics w3, w5, w7
bics x3, xzr, x3, lsl #1
tst w3, w7, lsl #31
tst x2, x20, asr #2
mov x3, x6
mov x3, xzr
mov wzr, w2
mov w3, w5
#------------------------------------------------------------------------------
# Move wide (immediate)
#------------------------------------------------------------------------------
movz w2, #0, lsl #16
mov w2, #-1235
mov x2, #5299989643264
mov x2, #0
movk w3, #0
movz x4, #0, lsl #16
movk w5, #0, lsl #16
movz x6, #0, lsl #32
movk x7, #0, lsl #32
movz x8, #0, lsl #48
movk x9, #0, lsl #48
#------------------------------------------------------------------------------
# Move immediate to Special Register
#------------------------------------------------------------------------------
msr DAIFSet, #0
#------------------------------------------------------------------------------
# PC-relative addressing
#------------------------------------------------------------------------------
adr x2, #1600
adrp x21, #6553600
adr x0, #262144
#------------------------------------------------------------------------------
# Test and branch (immediate)
#------------------------------------------------------------------------------
tbz x12, #62, #0
tbz x12, #62, #4
tbz x12, #62, #-32768
tbz w17, #16, test
tbnz x12, #60, #32764
tbnz w3, #28, test
#------------------------------------------------------------------------------
# Unconditional branch (immediate)
#------------------------------------------------------------------------------
b #4
b #-4
b #134217724
bl test
#------------------------------------------------------------------------------
# Unconditional branch (register)
#------------------------------------------------------------------------------
br x20
blr xzr
ret x10
ret
eret
drps