[llvm] [AArch64] Add C1-Nano scheduling model (PR #182316)
via llvm-commits
llvm-commits at lists.llvm.org
Thu May 7 06:56:43 PDT 2026
================
@@ -0,0 +1,2512 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -instruction-tables < %p/../Inputs/basic-instructions.s | FileCheck %s
+
+# CHECK: Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects (U)
+
+# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
+# CHECK-NEXT: 1 1 0.50 add w2, w3, #4095
+# CHECK-NEXT: 1 1 0.50 add w30, w29, #1, lsl #12
+# CHECK-NEXT: 1 1 0.50 add w13, w5, #4095, lsl #12
+# CHECK-NEXT: 1 1 0.50 add x5, x7, #1638
+# CHECK-NEXT: 1 1 0.50 add w20, wsp, #801
+# CHECK-NEXT: 1 1 0.50 add wsp, wsp, #1104
+# CHECK-NEXT: 1 1 0.50 add wsp, w30, #4084
+# CHECK-NEXT: 1 1 0.50 add x0, x24, #291
+# CHECK-NEXT: 1 1 0.50 add x3, x24, #4095, lsl #12
+# CHECK-NEXT: 1 1 0.50 add x8, sp, #1074
+# CHECK-NEXT: 1 1 0.50 add sp, x29, #3816
+# CHECK-NEXT: 1 1 0.50 sub w0, wsp, #4077
+# CHECK-NEXT: 1 1 0.50 sub w4, w20, #546, lsl #12
+# CHECK-NEXT: 1 1 0.50 sub sp, sp, #288
+# CHECK-NEXT: 1 1 0.50 sub wsp, w19, #16
+# CHECK-NEXT: 1 1 0.50 adds w13, w23, #291, lsl #12
+# CHECK-NEXT: 1 1 0.50 cmn w2, #4095
+# CHECK-NEXT: 1 1 0.50 adds w20, wsp, #0
+# CHECK-NEXT: 1 1 0.50 cmn x3, #1, lsl #12
+# CHECK-NEXT: 1 1 0.50 cmp wsp, #2342
+# CHECK-NEXT: 1 1 0.50 cmp sp, #20, lsl #12
+# CHECK-NEXT: 1 1 0.50 cmp x30, #4095
+# CHECK-NEXT: 1 1 0.50 subs x4, sp, #3822
+# CHECK-NEXT: 1 1 0.50 cmn w3, #291, lsl #12
+# CHECK-NEXT: 1 1 0.50 cmn wsp, #1365
+# CHECK-NEXT: 1 1 0.50 cmn sp, #1092, lsl #12
+# CHECK-NEXT: 1 1 0.50 mov x10, #-63432
+# CHECK-NEXT: 1 1 0.50 add wsp, wsp, w10
+# CHECK-NEXT: 1 1 0.50 add x25, x9, w25, uxtb
+# CHECK-NEXT: 1 1 0.50 add w3, w5, w7
+# CHECK-NEXT: 1 1 0.50 add wzr, w3, w5
+# CHECK-NEXT: 1 1 0.50 add w20, wzr, w4
+# CHECK-NEXT: 1 1 0.50 add w4, w6, wzr
+# CHECK-NEXT: 1 1 0.50 add w11, w13, w15
+# CHECK-NEXT: 1 1 0.50 add w9, w3, wzr, lsl #1
+# CHECK-NEXT: 1 1 0.50 add w17, w29, w20, lsl #31
+# CHECK-NEXT: 1 1 0.50 add w21, w22, w23, lsr #0
+# CHECK-NEXT: 1 1 0.50 add w24, w25, w26, lsr #18
+# CHECK-NEXT: 1 1 0.50 add w27, w28, w29, lsr #31
+# CHECK-NEXT: 1 1 0.50 add w2, w3, w4, asr #0
+# CHECK-NEXT: 1 1 0.50 add w5, w6, w7, asr #21
+# CHECK-NEXT: 1 1 0.50 add w8, w9, w10, asr #31
+# CHECK-NEXT: 1 1 0.50 add x3, x5, x7
+# CHECK-NEXT: 1 1 0.50 add xzr, x3, x5
+# CHECK-NEXT: 1 1 0.50 add x20, xzr, x4
+# CHECK-NEXT: 1 1 0.50 add x4, x6, xzr
+# CHECK-NEXT: 1 1 0.50 add x11, x13, x15
+# CHECK-NEXT: 1 1 0.50 add x9, x3, xzr, lsl #10
+# CHECK-NEXT: 1 1 0.50 add x17, x29, x20, lsl #3
+# CHECK-NEXT: 1 1 0.50 add x21, x22, x23, lsr #0
+# CHECK-NEXT: 1 1 0.50 add x24, x25, x26, lsr #18
+# CHECK-NEXT: 1 1 0.50 add x27, x28, x29, lsr #63
+# CHECK-NEXT: 1 1 0.50 add x2, x3, x4, asr #0
+# CHECK-NEXT: 1 1 0.50 add x5, x6, x7, asr #21
+# CHECK-NEXT: 1 1 0.50 add x8, x9, x10, asr #63
+# CHECK-NEXT: 1 1 0.50 adds w3, w5, w7
+# CHECK-NEXT: 1 1 0.50 adds w17, wsp, w25
+# CHECK-NEXT: 1 1 0.50 adds x13, x23, w8, uxtb
+# CHECK-NEXT: 1 1 0.50 cmn w3, w5
+# CHECK-NEXT: 1 1 0.50 adds w20, wzr, w4
+# CHECK-NEXT: 1 1 0.50 adds w4, w6, wzr
+# CHECK-NEXT: 1 1 0.50 adds w11, w13, w15
+# CHECK-NEXT: 1 1 0.50 adds w9, w3, wzr, lsl #1
+# CHECK-NEXT: 1 1 0.50 adds w17, w29, w20, lsl #31
+# CHECK-NEXT: 1 1 0.50 adds w21, w22, w23, lsr #0
+# CHECK-NEXT: 1 1 0.50 adds w24, w25, w26, lsr #18
+# CHECK-NEXT: 1 1 0.50 adds w27, w28, w29, lsr #31
+# CHECK-NEXT: 1 1 0.50 adds w2, w3, w4, asr #0
+# CHECK-NEXT: 1 1 0.50 adds w5, w6, w7, asr #21
+# CHECK-NEXT: 1 1 0.50 adds w8, w9, w10, asr #31
+# CHECK-NEXT: 1 1 0.50 adds x3, x5, x7
+# CHECK-NEXT: 1 1 0.50 cmn x3, x5
+# CHECK-NEXT: 1 1 0.50 adds x20, xzr, x4
+# CHECK-NEXT: 1 1 0.50 adds x4, x6, xzr
+# CHECK-NEXT: 1 1 0.50 adds x11, x13, x15
+# CHECK-NEXT: 1 1 0.50 adds x9, x3, xzr, lsl #10
+# CHECK-NEXT: 1 1 0.50 adds x17, x29, x20, lsl #3
+# CHECK-NEXT: 1 1 0.50 adds x21, x22, x23, lsr #0
+# CHECK-NEXT: 1 1 0.50 adds x24, x25, x26, lsr #18
+# CHECK-NEXT: 1 1 0.50 adds x27, x28, x29, lsr #63
+# CHECK-NEXT: 1 1 0.50 adds x2, x3, x4, asr #0
+# CHECK-NEXT: 1 1 0.50 adds x5, x6, x7, asr #21
+# CHECK-NEXT: 1 1 0.50 adds x8, x9, x10, asr #63
+# CHECK-NEXT: 1 1 0.50 sub w3, w5, w7
+# CHECK-NEXT: 1 1 0.50 sub wzr, w3, w5
+# CHECK-NEXT: 1 1 0.50 sub w4, w6, wzr
+# CHECK-NEXT: 1 1 0.50 sub w11, w13, w15
+# CHECK-NEXT: 1 1 0.50 sub w9, w3, wzr, lsl #1
+# CHECK-NEXT: 1 1 0.50 sub w17, w29, w20, lsl #31
+# CHECK-NEXT: 1 1 0.50 sub w21, w22, w23, lsr #0
+# CHECK-NEXT: 1 1 0.50 sub w24, w25, w26, lsr #18
+# CHECK-NEXT: 1 1 0.50 sub w27, w28, w29, lsr #31
+# CHECK-NEXT: 1 1 0.50 sub w2, w3, w4, asr #0
+# CHECK-NEXT: 1 1 0.50 sub w5, w6, w7, asr #21
+# CHECK-NEXT: 1 1 0.50 sub w8, w9, w10, asr #31
+# CHECK-NEXT: 1 1 0.50 sub x3, x5, x7
+# CHECK-NEXT: 1 1 0.50 sub xzr, x3, x5
+# CHECK-NEXT: 1 1 0.50 sub x4, x6, xzr
+# CHECK-NEXT: 1 1 0.50 sub x11, x13, x15
+# CHECK-NEXT: 1 1 0.50 sub x9, x3, xzr, lsl #10
+# CHECK-NEXT: 1 1 0.50 sub x17, x29, x20, lsl #3
+# CHECK-NEXT: 1 1 0.50 sub x21, x22, x23, lsr #0
+# CHECK-NEXT: 1 1 0.50 sub x24, x25, x26, lsr #18
+# CHECK-NEXT: 1 1 0.50 sub x27, x28, x29, lsr #63
+# CHECK-NEXT: 1 1 0.50 sub x2, x3, x4, asr #0
+# CHECK-NEXT: 1 1 0.50 sub x5, x6, x7, asr #21
+# CHECK-NEXT: 1 1 0.50 sub x8, x9, x10, asr #63
+# CHECK-NEXT: 1 1 0.50 sub w13, wsp, w10
+# CHECK-NEXT: 1 1 0.50 sub x16, x2, w19, uxtb
+# CHECK-NEXT: 1 1 0.50 subs x13, x15, x14, sxtx #1
+# CHECK-NEXT: 1 1 0.50 subs w3, w5, w7
+# CHECK-NEXT: 1 1 0.50 cmp w3, w5
+# CHECK-NEXT: 1 1 0.50 subs w4, w6, wzr
+# CHECK-NEXT: 1 1 0.50 subs w11, w13, w15
+# CHECK-NEXT: 1 1 0.50 subs w9, w3, wzr, lsl #1
+# CHECK-NEXT: 1 1 0.50 subs w17, w29, w20, lsl #31
+# CHECK-NEXT: 1 1 0.50 subs w21, w22, w23, lsr #0
+# CHECK-NEXT: 1 1 0.50 subs w24, w25, w26, lsr #18
+# CHECK-NEXT: 1 1 0.50 subs w27, w28, w29, lsr #31
+# CHECK-NEXT: 1 1 0.50 subs w2, w3, w4, asr #0
+# CHECK-NEXT: 1 1 0.50 subs w5, w6, w7, asr #21
+# CHECK-NEXT: 1 1 0.50 subs w8, w9, w10, asr #31
+# CHECK-NEXT: 1 1 0.50 subs x3, x5, x7
+# CHECK-NEXT: 1 1 0.50 cmp x3, x5
+# CHECK-NEXT: 1 1 0.50 subs x4, x6, xzr
+# CHECK-NEXT: 1 1 0.50 subs x11, x13, x15
+# CHECK-NEXT: 1 1 0.50 subs x9, x3, xzr, lsl #10
+# CHECK-NEXT: 1 1 0.50 subs x17, x29, x20, lsl #3
+# CHECK-NEXT: 1 1 0.50 subs x21, x22, x23, lsr #0
+# CHECK-NEXT: 1 1 0.50 subs x24, x25, x26, lsr #18
+# CHECK-NEXT: 1 1 0.50 subs x27, x28, x29, lsr #63
+# CHECK-NEXT: 1 1 0.50 subs x2, x3, x4, asr #0
+# CHECK-NEXT: 1 1 0.50 subs x5, x6, x7, asr #21
+# CHECK-NEXT: 1 1 0.50 subs x8, x9, x10, asr #63
+# CHECK-NEXT: 1 1 0.50 cmn wzr, w4
+# CHECK-NEXT: 1 1 0.50 cmn w5, wzr
+# CHECK-NEXT: 1 1 0.50 cmn w6, w7
+# CHECK-NEXT: 1 1 0.50 cmn w8, w9, lsl #1
+# CHECK-NEXT: 1 1 0.50 cmn w10, w11, lsl #31
+# CHECK-NEXT: 1 1 0.50 cmn w12, w13, lsr #0
+# CHECK-NEXT: 1 1 0.50 cmn w14, w15, lsr #21
+# CHECK-NEXT: 1 1 0.50 cmn w16, w17, lsr #31
+# CHECK-NEXT: 1 1 0.50 cmn w18, w19, asr #0
+# CHECK-NEXT: 1 1 0.50 cmn w20, w21, asr #22
+# CHECK-NEXT: 1 1 0.50 cmn w22, w23, asr #31
+# CHECK-NEXT: 1 1 0.50 cmn x0, x3
+# CHECK-NEXT: 1 1 0.50 cmn xzr, x4
+# CHECK-NEXT: 1 1 0.50 cmn x5, xzr
+# CHECK-NEXT: 1 1 0.50 cmn x6, x7
+# CHECK-NEXT: 1 1 0.50 cmn x8, x9, lsl #15
+# CHECK-NEXT: 1 1 0.50 cmn x10, x11, lsl #3
+# CHECK-NEXT: 1 1 0.50 cmn x12, x13, lsr #0
+# CHECK-NEXT: 1 1 0.50 cmn x14, x15, lsr #41
+# CHECK-NEXT: 1 1 0.50 cmn x16, x17, lsr #63
+# CHECK-NEXT: 1 1 0.50 cmn x18, x19, asr #0
+# CHECK-NEXT: 1 1 0.50 cmn x20, x21, asr #55
+# CHECK-NEXT: 1 1 0.50 cmn x22, x23, asr #63
+# CHECK-NEXT: 1 1 0.50 cmp w0, w3
+# CHECK-NEXT: 1 1 0.50 cmp wzr, w4
+# CHECK-NEXT: 1 1 0.50 cmp w5, wzr
+# CHECK-NEXT: 1 1 0.50 cmp w6, w7
+# CHECK-NEXT: 1 1 0.50 cmp w8, w9, lsl #1
+# CHECK-NEXT: 1 1 0.50 cmp w10, w11, lsl #31
+# CHECK-NEXT: 1 1 0.50 cmp w12, w13, lsr #0
+# CHECK-NEXT: 1 1 0.50 cmp w14, w15, lsr #21
+# CHECK-NEXT: 1 1 0.50 cmp w18, w19, asr #0
+# CHECK-NEXT: 1 1 0.50 cmp w20, w21, asr #22
+# CHECK-NEXT: 1 1 0.50 cmp w22, w23, asr #31
+# CHECK-NEXT: 1 1 0.50 cmp wsp, w26
+# CHECK-NEXT: 1 1 0.50 cmp x16, w27, uxtb
+# CHECK-NEXT: 1 1 0.50 cmp x0, x3
+# CHECK-NEXT: 1 1 0.50 cmp xzr, x4
+# CHECK-NEXT: 1 1 0.50 cmp x5, xzr
+# CHECK-NEXT: 1 1 0.50 cmp x6, x7
+# CHECK-NEXT: 1 1 0.50 cmp x8, x9, lsl #15
+# CHECK-NEXT: 1 1 0.50 cmp x10, x11, lsl #3
+# CHECK-NEXT: 1 1 0.50 cmp x12, x13, lsr #0
+# CHECK-NEXT: 1 1 0.50 cmp x14, x15, lsr #41
+# CHECK-NEXT: 1 1 0.50 cmp x16, x17, lsr #63
+# CHECK-NEXT: 1 1 0.50 cmp x18, x19, asr #0
+# CHECK-NEXT: 1 1 0.50 cmp x20, x21, asr #55
+# CHECK-NEXT: 1 1 0.50 cmp x22, x23, asr #63
+# CHECK-NEXT: 1 1 0.50 cmp wzr, w0
+# CHECK-NEXT: 1 1 0.50 cmp xzr, x0
+# CHECK-NEXT: 1 1 0.50 mov sp, x30
+# CHECK-NEXT: 1 1 0.50 mov wsp, w20
+# CHECK-NEXT: 1 1 0.50 mov x11, sp
+# CHECK-NEXT: 1 1 0.50 mov w24, wsp
+# CHECK-NEXT: 1 1 0.50 adc w29, w27, w25
+# CHECK-NEXT: 1 1 0.50 adc wzr, w3, w4
+# CHECK-NEXT: 1 1 0.50 adc w9, wzr, w10
+# CHECK-NEXT: 1 1 0.50 adc w20, w0, wzr
+# CHECK-NEXT: 1 1 0.50 adc x29, x27, x25
+# CHECK-NEXT: 1 1 0.50 adc xzr, x3, x4
+# CHECK-NEXT: 1 1 0.50 adc x9, xzr, x10
+# CHECK-NEXT: 1 1 0.50 adc x20, x0, xzr
+# CHECK-NEXT: 1 1 1.00 adcs w29, w27, w25
+# CHECK-NEXT: 1 1 1.00 adcs wzr, w3, w4
+# CHECK-NEXT: 1 1 1.00 adcs w9, wzr, w10
+# CHECK-NEXT: 1 1 1.00 adcs w20, w0, wzr
+# CHECK-NEXT: 1 1 1.00 adcs x29, x27, x25
+# CHECK-NEXT: 1 1 1.00 adcs xzr, x3, x4
+# CHECK-NEXT: 1 1 1.00 adcs x9, xzr, x10
+# CHECK-NEXT: 1 1 1.00 adcs x20, x0, xzr
+# CHECK-NEXT: 1 1 0.50 sbc w29, w27, w25
+# CHECK-NEXT: 1 1 0.50 sbc wzr, w3, w4
+# CHECK-NEXT: 1 1 0.50 ngc w9, w10
+# CHECK-NEXT: 1 1 0.50 sbc w20, w0, wzr
+# CHECK-NEXT: 1 1 0.50 sbc x29, x27, x25
+# CHECK-NEXT: 1 1 0.50 sbc xzr, x3, x4
+# CHECK-NEXT: 1 1 0.50 ngc x9, x10
+# CHECK-NEXT: 1 1 0.50 sbc x20, x0, xzr
+# CHECK-NEXT: 1 1 1.00 sbcs w29, w27, w25
+# CHECK-NEXT: 1 1 1.00 sbcs wzr, w3, w4
+# CHECK-NEXT: 1 1 1.00 ngcs w9, w10
+# CHECK-NEXT: 1 1 1.00 sbcs w20, w0, wzr
+# CHECK-NEXT: 1 1 1.00 sbcs x29, x27, x25
+# CHECK-NEXT: 1 1 1.00 sbcs xzr, x3, x4
+# CHECK-NEXT: 1 1 1.00 ngcs x9, x10
+# CHECK-NEXT: 1 1 1.00 sbcs x20, x0, xzr
+# CHECK-NEXT: 1 1 0.50 ngc w3, w12
+# CHECK-NEXT: 1 1 0.50 ngc wzr, w9
+# CHECK-NEXT: 1 1 0.50 ngc w23, wzr
+# CHECK-NEXT: 1 1 0.50 ngc x29, x30
+# CHECK-NEXT: 1 1 0.50 ngc xzr, x0
+# CHECK-NEXT: 1 1 0.50 ngc x0, xzr
+# CHECK-NEXT: 1 1 1.00 ngcs w3, w12
+# CHECK-NEXT: 1 1 1.00 ngcs wzr, w9
+# CHECK-NEXT: 1 1 1.00 ngcs w23, wzr
+# CHECK-NEXT: 1 1 1.00 ngcs x29, x30
+# CHECK-NEXT: 1 1 1.00 ngcs xzr, x0
+# CHECK-NEXT: 1 1 1.00 ngcs x0, xzr
+# CHECK-NEXT: 1 2 0.50 sbfx x1, x2, #3, #2
+# CHECK-NEXT: 1 2 0.50 asr x3, x4, #63
+# CHECK-NEXT: 1 2 0.50 asr wzr, wzr, #31
+# CHECK-NEXT: 1 2 0.50 sbfx w12, w9, #0, #1
+# CHECK-NEXT: 1 2 0.50 ubfiz x4, x5, #52, #11
+# CHECK-NEXT: 1 2 0.50 ubfx xzr, x4, #0, #1
+# CHECK-NEXT: 1 2 0.50 ubfiz x4, xzr, #1, #6
+# CHECK-NEXT: 1 2 0.50 lsr x5, x6, #12
+# CHECK-NEXT: 1 2 0.50 bfi x4, x5, #52, #11
+# CHECK-NEXT: 1 2 0.50 bfxil xzr, x4, #0, #1
+# CHECK-NEXT: 1 2 0.50 bfc x4, #1, #6
+# CHECK-NEXT: 1 2 0.50 bfxil x5, x6, #12, #52
+# CHECK-NEXT: 1 2 0.50 sxtb w1, w2
+# CHECK-NEXT: 1 2 0.50 sxtb xzr, w3
+# CHECK-NEXT: 1 2 0.50 sxth w9, w10
+# CHECK-NEXT: 1 2 0.50 sxth x0, w1
+# CHECK-NEXT: 1 2 0.50 sxtw x3, w30
+# CHECK-NEXT: 1 2 0.50 uxtb w1, w2
+# CHECK-NEXT: 1 2 0.50 uxth w9, w10
+# CHECK-NEXT: 1 2 0.50 ubfx x3, x30, #0, #32
+# CHECK-NEXT: 1 2 0.50 asr w3, w2, #0
+# CHECK-NEXT: 1 2 0.50 asr w9, w10, #31
+# CHECK-NEXT: 1 2 0.50 asr x20, x21, #63
+# CHECK-NEXT: 1 2 0.50 asr w1, wzr, #3
+# CHECK-NEXT: 1 2 0.50 lsr w3, w2, #0
+# CHECK-NEXT: 1 2 0.50 lsr w9, w10, #31
+# CHECK-NEXT: 1 2 0.50 lsr x20, x21, #63
+# CHECK-NEXT: 1 2 0.50 lsr wzr, wzr, #3
+# CHECK-NEXT: 1 2 0.50 lsl w9, w10, #31
+# CHECK-NEXT: 1 2 0.50 lsl x20, x21, #63
+# CHECK-NEXT: 1 2 0.50 lsl w1, wzr, #3
+# CHECK-NEXT: 1 2 0.50 sbfiz x2, x3, #63, #1
+# CHECK-NEXT: 1 2 0.50 sbfiz x9, x10, #5, #59
+# CHECK-NEXT: 1 2 0.50 sbfiz w11, w12, #31, #1
+# CHECK-NEXT: 1 2 0.50 sbfiz w13, w14, #29, #3
+# CHECK-NEXT: 1 2 0.50 sbfiz xzr, xzr, #10, #11
+# CHECK-NEXT: 1 2 0.50 sbfx w9, w10, #0, #1
+# CHECK-NEXT: 1 2 0.50 asr x2, x3, #63
+# CHECK-NEXT: 1 2 0.50 asr x19, x20, #0
+# CHECK-NEXT: 1 2 0.50 asr x9, x10, #5
+# CHECK-NEXT: 1 2 0.50 asr w9, w10, #0
+# CHECK-NEXT: 1 2 0.50 asr w11, w12, #31
+# CHECK-NEXT: 1 2 0.50 asr w13, w14, #29
+# CHECK-NEXT: 1 2 0.50 sbfx xzr, xzr, #10, #11
+# CHECK-NEXT: 1 2 0.50 bfi x2, x3, #63, #1
+# CHECK-NEXT: 1 2 0.50 bfi x9, x10, #5, #59
+# CHECK-NEXT: 1 2 0.50 bfi w11, w12, #31, #1
+# CHECK-NEXT: 1 2 0.50 bfi w13, w14, #29, #3
+# CHECK-NEXT: 1 2 0.50 bfc xzr, #10, #11
+# CHECK-NEXT: 1 2 0.50 bfxil w9, w10, #0, #1
+# CHECK-NEXT: 1 2 0.50 bfxil x2, x3, #63, #1
+# CHECK-NEXT: 1 2 0.50 bfxil x19, x20, #0, #64
+# CHECK-NEXT: 1 2 0.50 bfxil x9, x10, #5, #59
+# CHECK-NEXT: 1 2 0.50 bfxil w9, w10, #0, #32
+# CHECK-NEXT: 1 2 0.50 bfxil w11, w12, #31, #1
+# CHECK-NEXT: 1 2 0.50 bfxil w13, w14, #29, #3
+# CHECK-NEXT: 1 2 0.50 bfxil xzr, xzr, #10, #11
+# CHECK-NEXT: 1 2 0.50 lsl x2, x3, #63
+# CHECK-NEXT: 1 2 0.50 lsl x9, x10, #5
+# CHECK-NEXT: 1 2 0.50 lsl w11, w12, #31
+# CHECK-NEXT: 1 2 0.50 lsl w13, w14, #29
+# CHECK-NEXT: 1 2 0.50 ubfiz xzr, xzr, #10, #11
+# CHECK-NEXT: 1 2 0.50 ubfx w9, w10, #0, #1
+# CHECK-NEXT: 1 2 0.50 lsr x2, x3, #63
+# CHECK-NEXT: 1 2 0.50 lsr x19, x20, #0
+# CHECK-NEXT: 1 2 0.50 lsr x9, x10, #5
+# CHECK-NEXT: 1 2 0.50 lsr w9, w10, #0
+# CHECK-NEXT: 1 2 0.50 lsr w11, w12, #31
+# CHECK-NEXT: 1 2 0.50 lsr w13, w14, #29
+# CHECK-NEXT: 1 2 0.50 ubfx xzr, xzr, #10, #11
+# CHECK-NEXT: 1 1 1.00 cbz w5, #4
+# CHECK-NEXT: 1 1 1.00 cbz x5, #0
+# CHECK-NEXT: 1 1 1.00 cbnz x2, #-4
+# CHECK-NEXT: 1 1 1.00 cbnz x26, #1048572
+# CHECK-NEXT: 1 1 1.00 cbz wzr, #0
+# CHECK-NEXT: 1 1 1.00 cbnz xzr, #0
+# CHECK-NEXT: 1 1 1.00 cbnz w21, test
+# CHECK-NEXT: 1 1 1.00 b.ne #4
+# CHECK-NEXT: 1 1 1.00 b.ge #1048572
+# CHECK-NEXT: 1 1 1.00 b.ge #-4
+# CHECK-NEXT: 1 1 1.00 ccmp w1, #31, #0, eq
+# CHECK-NEXT: 1 1 1.00 ccmp w3, #0, #15, hs
+# CHECK-NEXT: 1 1 1.00 ccmp wzr, #15, #13, hs
+# CHECK-NEXT: 1 1 1.00 ccmp x9, #31, #0, le
+# CHECK-NEXT: 1 1 1.00 ccmp x3, #0, #15, gt
+# CHECK-NEXT: 1 1 1.00 ccmp xzr, #5, #7, ne
+# CHECK-NEXT: 1 1 1.00 ccmn w1, #31, #0, eq
+# CHECK-NEXT: 1 1 1.00 ccmn w3, #0, #15, hs
+# CHECK-NEXT: 1 1 1.00 ccmn wzr, #15, #13, hs
+# CHECK-NEXT: 1 1 1.00 ccmn x9, #31, #0, le
+# CHECK-NEXT: 1 1 1.00 ccmn x3, #0, #15, gt
+# CHECK-NEXT: 1 1 1.00 ccmn xzr, #5, #7, ne
+# CHECK-NEXT: 1 1 1.00 ccmp w1, wzr, #0, eq
+# CHECK-NEXT: 1 1 1.00 ccmp w3, w0, #15, hs
+# CHECK-NEXT: 1 1 1.00 ccmp wzr, w15, #13, hs
+# CHECK-NEXT: 1 1 1.00 ccmp x9, xzr, #0, le
+# CHECK-NEXT: 1 1 1.00 ccmp x3, x0, #15, gt
+# CHECK-NEXT: 1 1 1.00 ccmp xzr, x5, #7, ne
+# CHECK-NEXT: 1 1 1.00 ccmn w1, wzr, #0, eq
+# CHECK-NEXT: 1 1 1.00 ccmn w3, w0, #15, hs
+# CHECK-NEXT: 1 1 1.00 ccmn wzr, w15, #13, hs
+# CHECK-NEXT: 1 1 1.00 ccmn x9, xzr, #0, le
+# CHECK-NEXT: 1 1 1.00 ccmn x3, x0, #15, gt
+# CHECK-NEXT: 1 1 1.00 ccmn xzr, x5, #7, ne
+# CHECK-NEXT: 1 1 0.50 csel w1, w0, w19, ne
+# CHECK-NEXT: 1 1 0.50 csel wzr, w5, w9, eq
+# CHECK-NEXT: 1 1 0.50 csel w9, wzr, w30, gt
+# CHECK-NEXT: 1 1 0.50 csel w1, w28, wzr, mi
+# CHECK-NEXT: 1 1 0.50 csel x19, x23, x29, lt
+# CHECK-NEXT: 1 1 0.50 csel xzr, x3, x4, ge
+# CHECK-NEXT: 1 1 0.50 csel x5, xzr, x6, hs
+# CHECK-NEXT: 1 1 0.50 csel x7, x8, xzr, lo
+# CHECK-NEXT: 1 1 0.50 csinc w1, w0, w19, ne
+# CHECK-NEXT: 1 1 0.50 csinc wzr, w5, w9, eq
+# CHECK-NEXT: 1 1 0.50 csinc w9, wzr, w30, gt
+# CHECK-NEXT: 1 1 0.50 csinc w1, w28, wzr, mi
+# CHECK-NEXT: 1 1 0.50 csinc x19, x23, x29, lt
+# CHECK-NEXT: 1 1 0.50 csinc xzr, x3, x4, ge
+# CHECK-NEXT: 1 1 0.50 csinc x5, xzr, x6, hs
+# CHECK-NEXT: 1 1 0.50 csinc x7, x8, xzr, lo
+# CHECK-NEXT: 1 1 0.50 csinv w1, w0, w19, ne
+# CHECK-NEXT: 1 1 0.50 csinv wzr, w5, w9, eq
+# CHECK-NEXT: 1 1 0.50 csinv w9, wzr, w30, gt
+# CHECK-NEXT: 1 1 0.50 csinv w1, w28, wzr, mi
+# CHECK-NEXT: 1 1 0.50 csinv x19, x23, x29, lt
+# CHECK-NEXT: 1 1 0.50 csinv xzr, x3, x4, ge
+# CHECK-NEXT: 1 1 0.50 csinv x5, xzr, x6, hs
+# CHECK-NEXT: 1 1 0.50 csinv x7, x8, xzr, lo
+# CHECK-NEXT: 1 1 0.50 csneg w1, w0, w19, ne
+# CHECK-NEXT: 1 1 0.50 csneg wzr, w5, w9, eq
+# CHECK-NEXT: 1 1 0.50 csneg w9, wzr, w30, gt
+# CHECK-NEXT: 1 1 0.50 csneg w1, w28, wzr, mi
+# CHECK-NEXT: 1 1 0.50 csneg x19, x23, x29, lt
+# CHECK-NEXT: 1 1 0.50 csneg xzr, x3, x4, ge
+# CHECK-NEXT: 1 1 0.50 csneg x5, xzr, x6, hs
+# CHECK-NEXT: 1 1 0.50 csneg x7, x8, xzr, lo
+# CHECK-NEXT: 1 1 0.50 cset w3, eq
+# CHECK-NEXT: 1 1 0.50 cset x9, pl
+# CHECK-NEXT: 1 1 0.50 csetm w20, ne
+# CHECK-NEXT: 1 1 0.50 csetm x30, ge
+# CHECK-NEXT: 1 1 0.50 csinc w2, wzr, wzr, al
+# CHECK-NEXT: 1 1 0.50 csinv x3, xzr, xzr, nv
+# CHECK-NEXT: 1 1 0.50 cinc w3, w5, gt
+# CHECK-NEXT: 1 1 0.50 cinc wzr, w4, le
+# CHECK-NEXT: 1 1 0.50 cset w9, lt
+# CHECK-NEXT: 1 1 0.50 cinc x3, x5, gt
+# CHECK-NEXT: 1 1 0.50 cinc xzr, x4, le
+# CHECK-NEXT: 1 1 0.50 cset x9, lt
+# CHECK-NEXT: 1 1 0.50 csinc w5, w6, w6, nv
+# CHECK-NEXT: 1 1 0.50 csinc x1, x2, x2, al
+# CHECK-NEXT: 1 1 0.50 cinv w3, w5, gt
+# CHECK-NEXT: 1 1 0.50 cinv wzr, w4, le
+# CHECK-NEXT: 1 1 0.50 csetm w9, lt
+# CHECK-NEXT: 1 1 0.50 cinv x3, x5, gt
+# CHECK-NEXT: 1 1 0.50 cinv xzr, x4, le
+# CHECK-NEXT: 1 1 0.50 csetm x9, lt
+# CHECK-NEXT: 1 1 0.50 csinv x1, x0, x0, al
+# CHECK-NEXT: 1 1 0.50 csinv w9, w8, w8, nv
+# CHECK-NEXT: 1 1 0.50 cneg w3, w5, gt
+# CHECK-NEXT: 1 1 0.50 cneg wzr, w4, le
+# CHECK-NEXT: 1 1 0.50 cneg w9, wzr, lt
+# CHECK-NEXT: 1 1 0.50 cneg x3, x5, gt
+# CHECK-NEXT: 1 1 0.50 cneg xzr, x4, le
+# CHECK-NEXT: 1 1 0.50 cneg x9, xzr, lt
+# CHECK-NEXT: 1 1 0.50 csneg x4, x8, x8, al
+# CHECK-NEXT: 1 1 0.50 rbit w0, w7
+# CHECK-NEXT: 1 1 0.50 rbit x18, x3
+# CHECK-NEXT: 1 1 0.50 rev16 w17, w1
+# CHECK-NEXT: 1 1 0.50 rev16 x5, x2
+# CHECK-NEXT: 1 1 0.50 rev w18, w0
+# CHECK-NEXT: 1 1 0.50 rev32 x20, x1
+# CHECK-NEXT: 1 1 0.50 rev x22, x2
+# CHECK-NEXT: 1 1 0.50 clz w24, w3
+# CHECK-NEXT: 1 1 0.50 clz x26, x4
+# CHECK-NEXT: 1 1 0.50 cls w3, w5
+# CHECK-NEXT: 1 1 0.50 cls x20, x5
+# CHECK-NEXT: 1 12 12.00 udiv w0, w7, w10
+# CHECK-NEXT: 1 20 20.00 udiv x9, x22, x4
+# CHECK-NEXT: 1 12 12.00 sdiv w12, w21, w0
+# CHECK-NEXT: 1 20 20.00 sdiv x13, x2, x1
+# CHECK-NEXT: 1 1 0.50 lsl w11, w12, w13
+# CHECK-NEXT: 1 1 0.50 lsl x14, x15, x16
+# CHECK-NEXT: 1 1 0.50 lsr w17, w18, w19
+# CHECK-NEXT: 1 1 0.50 lsr x20, x21, x22
+# CHECK-NEXT: 1 1 0.50 asr w23, w24, w25
+# CHECK-NEXT: 1 1 0.50 asr x26, x27, x28
+# CHECK-NEXT: 1 1 0.50 ror w0, w1, w2
+# CHECK-NEXT: 1 1 0.50 ror x3, x4, x5
+# CHECK-NEXT: 1 1 0.50 lsl w6, w7, w8
+# CHECK-NEXT: 1 1 0.50 lsl x9, x10, x11
+# CHECK-NEXT: 1 1 0.50 lsr w12, w13, w14
+# CHECK-NEXT: 1 1 0.50 lsr x15, x16, x17
+# CHECK-NEXT: 1 1 0.50 asr w18, w19, w20
+# CHECK-NEXT: 1 1 0.50 asr x21, x22, x23
+# CHECK-NEXT: 1 1 0.50 ror w24, w25, w26
+# CHECK-NEXT: 1 1 0.50 ror x27, x28, x29
+# CHECK-NEXT: 1 2 1.00 crc32cb w30, w23, w15
+# CHECK-NEXT: 1 2 1.00 crc32cb wzr, w12, w14
+# CHECK-NEXT: 1 2 1.00 crc32cb w28, w10, w11
+# CHECK-NEXT: 1 2 1.00 crc32b w27, w12, w15
+# CHECK-NEXT: 1 2 1.00 crc32h w3, w15, w21
+# CHECK-NEXT: 1 2 1.00 crc32w w9, w18, w24
+# CHECK-NEXT: 1 2 1.00 crc32x w19, w6, x25
+# CHECK-NEXT: 1 2 1.00 crc32ch w25, w26, w16
+# CHECK-NEXT: 1 2 1.00 crc32cw w27, w12, w23
+# CHECK-NEXT: 1 2 1.00 crc32cx w21, w28, x5
+# CHECK-NEXT: 1 6 4.00 smulh x30, x29, x28
+# CHECK-NEXT: 1 6 4.00 smulh xzr, x27, x26
+# CHECK-NEXT: 1 6 4.00 umulh x30, x29, x28
+# CHECK-NEXT: 1 6 4.00 umulh x23, x30, xzr
+# CHECK-NEXT: 1 3 1.00 madd w1, w3, w7, w4
+# CHECK-NEXT: 1 3 1.00 madd wzr, w0, w9, w11
+# CHECK-NEXT: 1 3 1.00 madd w13, wzr, w4, w4
+# CHECK-NEXT: 1 3 1.00 madd w19, w30, wzr, w29
+# CHECK-NEXT: 1 3 1.00 mul w4, w5, w6
+# CHECK-NEXT: 1 4 2.00 madd x1, x3, x7, x4
+# CHECK-NEXT: 1 4 2.00 madd xzr, x0, x9, x11
+# CHECK-NEXT: 1 4 2.00 madd x13, xzr, x4, x4
+# CHECK-NEXT: 1 4 2.00 madd x19, x30, xzr, x29
+# CHECK-NEXT: 1 4 2.00 mul x4, x5, x6
+# CHECK-NEXT: 1 3 1.00 msub w1, w3, w7, w4
+# CHECK-NEXT: 1 3 1.00 msub wzr, w0, w9, w11
+# CHECK-NEXT: 1 3 1.00 msub w13, wzr, w4, w4
+# CHECK-NEXT: 1 3 1.00 msub w19, w30, wzr, w29
+# CHECK-NEXT: 1 3 1.00 mneg w4, w5, w6
+# CHECK-NEXT: 1 4 2.00 msub x1, x3, x7, x4
+# CHECK-NEXT: 1 4 2.00 msub xzr, x0, x9, x11
+# CHECK-NEXT: 1 4 2.00 msub x13, xzr, x4, x4
+# CHECK-NEXT: 1 4 2.00 msub x19, x30, xzr, x29
+# CHECK-NEXT: 1 4 2.00 mneg x4, x5, x6
+# CHECK-NEXT: 1 2 1.00 smaddl x3, w5, w2, x9
+# CHECK-NEXT: 1 2 1.00 smaddl xzr, w10, w11, x12
+# CHECK-NEXT: 1 2 1.00 smaddl x13, wzr, w14, x15
+# CHECK-NEXT: 1 2 1.00 smaddl x16, w17, wzr, x18
+# CHECK-NEXT: 1 2 1.00 smull x19, w20, w21
+# CHECK-NEXT: 1 2 1.00 smsubl x3, w5, w2, x9
+# CHECK-NEXT: 1 2 1.00 smsubl xzr, w10, w11, x12
+# CHECK-NEXT: 1 2 1.00 smsubl x13, wzr, w14, x15
+# CHECK-NEXT: 1 2 1.00 smsubl x16, w17, wzr, x18
+# CHECK-NEXT: 1 2 1.00 smnegl x19, w20, w21
+# CHECK-NEXT: 1 2 1.00 umaddl x3, w5, w2, x9
+# CHECK-NEXT: 1 2 1.00 umaddl xzr, w10, w11, x12
+# CHECK-NEXT: 1 2 1.00 umaddl x13, wzr, w14, x15
+# CHECK-NEXT: 1 2 1.00 umaddl x16, w17, wzr, x18
+# CHECK-NEXT: 1 2 1.00 umull x19, w20, w21
+# CHECK-NEXT: 1 2 1.00 umsubl x3, w5, w2, x9
+# CHECK-NEXT: 1 2 1.00 umsubl x16, w17, wzr, x18
+# CHECK-NEXT: 1 2 1.00 umnegl x19, w20, w21
+# CHECK-NEXT: 1 6 4.00 smulh x23, x22, xzr
+# CHECK-NEXT: 1 6 4.00 umulh x23, x22, xzr
+# CHECK-NEXT: 1 4 2.00 mul x19, x20, xzr
+# CHECK-NEXT: 1 3 1.00 mneg w21, w22, w23
+# CHECK-NEXT: 1 2 1.00 smull x11, w13, w17
+# CHECK-NEXT: 1 2 1.00 umull x11, w13, w17
+# CHECK-NEXT: 1 2 1.00 smnegl x11, w13, w17
+# CHECK-NEXT: 1 2 1.00 umnegl x11, w13, w17
+# CHECK-NEXT: 1 2 0.50 extr w3, w5, w7, #0
+# CHECK-NEXT: 1 2 0.50 extr w11, w13, w17, #31
+# CHECK-NEXT: 1 2 0.50 extr x3, x5, x7, #15
+# CHECK-NEXT: 1 2 0.50 extr x11, x13, x17, #63
+# CHECK-NEXT: 1 1 0.50 ror x19, x23, #24
+# CHECK-NEXT: 1 1 0.50 ror x29, xzr, #63
+# CHECK-NEXT: 1 1 0.50 ror w9, w13, #31
+# CHECK-NEXT: 1 1 1.00 fcmp h5, h21
+# CHECK-NEXT: 1 1 1.00 fcmp h5, #0.0
+# CHECK-NEXT: 1 1 1.00 fcmpe h22, h21
+# CHECK-NEXT: 1 1 1.00 fcmpe h13, #0.0
+# CHECK-NEXT: 1 1 1.00 fcmp s3, s5
+# CHECK-NEXT: 1 1 1.00 fcmp s31, #0.0
+# CHECK-NEXT: 1 1 1.00 fcmpe s29, s30
+# CHECK-NEXT: 1 1 1.00 fcmpe s15, #0.0
+# CHECK-NEXT: 1 1 1.00 fcmp d4, d12
+# CHECK-NEXT: 1 1 1.00 fcmp d23, #0.0
+# CHECK-NEXT: 1 1 1.00 fcmpe d26, d22
+# CHECK-NEXT: 1 1 1.00 fcmpe d29, #0.0
+# CHECK-NEXT: 1 5 5.00 fccmp s1, s31, #0, eq
+# CHECK-NEXT: 1 5 5.00 fccmp s3, s0, #15, hs
+# CHECK-NEXT: 1 5 5.00 fccmp s31, s15, #13, hs
+# CHECK-NEXT: 1 5 5.00 fccmp d9, d31, #0, le
+# CHECK-NEXT: 1 5 5.00 fccmp d3, d0, #15, gt
+# CHECK-NEXT: 1 5 5.00 fccmp d31, d5, #7, ne
+# CHECK-NEXT: 1 5 5.00 fccmp h31, h3, #11, hs
+# CHECK-NEXT: 1 5 5.00 fccmpe h6, h1, #12, ne
+# CHECK-NEXT: 1 5 5.00 fccmpe s1, s31, #0, eq
+# CHECK-NEXT: 1 5 5.00 fccmpe s3, s0, #15, hs
+# CHECK-NEXT: 1 5 5.00 fccmpe s31, s15, #13, hs
+# CHECK-NEXT: 1 5 5.00 fccmpe d9, d31, #0, le
+# CHECK-NEXT: 1 5 5.00 fccmpe d3, d0, #15, gt
+# CHECK-NEXT: 1 5 5.00 fccmpe d31, d5, #7, ne
+# CHECK-NEXT: 1 3 1.00 fcsel s3, s20, s9, pl
+# CHECK-NEXT: 1 3 1.00 fcsel d9, d10, d11, mi
+# CHECK-NEXT: 1 3 1.00 fcsel h26, h2, h11, hs
+# CHECK-NEXT: 1 4 0.50 fmov h18, h28
+# CHECK-NEXT: 1 2 0.50 fmov s0, s1
+# CHECK-NEXT: 1 4 0.50 fabs s2, s3
+# CHECK-NEXT: 1 4 0.50 fneg h2, h9
+# CHECK-NEXT: 1 4 0.50 fneg s4, s5
+# CHECK-NEXT: 1 14 9.00 fsqrt s6, s7
+# CHECK-NEXT: 1 4 0.50 fcvt d8, s9
+# CHECK-NEXT: 1 4 0.50 fcvt h10, s11
+# CHECK-NEXT: 1 4 0.50 frintn h12, h3
+# CHECK-NEXT: 1 4 0.50 frintn s12, s13
+# CHECK-NEXT: 1 4 0.50 frintp h17, h31
+# CHECK-NEXT: 1 4 0.50 frintp s14, s15
+# CHECK-NEXT: 1 4 0.50 frintm h0, h21
+# CHECK-NEXT: 1 4 0.50 frintm s16, s17
+# CHECK-NEXT: 1 4 0.50 frintz h10, h29
+# CHECK-NEXT: 1 4 0.50 frintz s18, s19
+# CHECK-NEXT: 1 4 0.50 frinta h22, h10
+# CHECK-NEXT: 1 4 0.50 frinta s20, s21
+# CHECK-NEXT: 1 4 0.50 frintx h4, h5
+# CHECK-NEXT: 1 4 0.50 frintx s22, s23
+# CHECK-NEXT: 1 4 0.50 frinti s24, s25
+# CHECK-NEXT: 1 4 0.50 frinti h31, h14
+# CHECK-NEXT: 1 2 0.50 fmov d0, d1
+# CHECK-NEXT: 1 4 0.50 fabs d2, d3
+# CHECK-NEXT: 1 4 0.50 fneg d4, d5
+# CHECK-NEXT: 1 11 5.00 fsqrt h13, h24
+# CHECK-NEXT: 1 25 19.00 fsqrt d6, d7
----------------
walkerkd wrote:
Fixed
https://github.com/llvm/llvm-project/pull/182316
More information about the llvm-commits
mailing list