[llvm] [AArch64] Add C1-Premium scheduling model (PR #185398)

Nashe Mncube via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 15 07:48:46 PDT 2026


================
@@ -0,0 +1,3163 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-premium -mattr=+aes -instruction-tables < %p/../Inputs/neon-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      2     0.50                        abs	d29, d24
+# CHECK-NEXT:  1      2     0.50                        abs	v0.16b, v0.16b
+# CHECK-NEXT:  1      2     0.50                        abs	v0.2d, v0.2d
+# CHECK-NEXT:  1      2     0.50                        abs	v0.2s, v0.2s
+# CHECK-NEXT:  1      2     0.50                        abs	v0.4h, v0.4h
+# CHECK-NEXT:  1      2     0.50                        abs	v0.4s, v0.4s
+# CHECK-NEXT:  1      2     0.50                        abs	v0.8b, v0.8b
+# CHECK-NEXT:  1      2     0.50                        abs	v0.8h, v0.8h
+# CHECK-NEXT:  1      2     0.50                        add	d17, d31, d29
+# CHECK-NEXT:  1      2     0.50                        add	v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      2     0.50                        addhn	v0.2s, v0.2d, v0.2d
+# CHECK-NEXT:  1      2     0.50                        addhn	v0.4h, v0.4s, v0.4s
+# CHECK-NEXT:  1      2     0.50                        addhn	v0.8b, v0.8h, v0.8h
+# CHECK-NEXT:  1      2     0.50                        addhn2	v0.16b, v0.8h, v0.8h
+# CHECK-NEXT:  1      2     0.50                        addhn2	v0.4s, v0.2d, v0.2d
+# CHECK-NEXT:  1      2     0.50                        addhn2	v0.8h, v0.4s, v0.4s
+# CHECK-NEXT:  1      2     0.50                        addp	v7.2s, v1.2s, v2.2s
+# CHECK-NEXT:  1      2     0.50                        addp	v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      2     0.50                        addp	v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      2     0.50                        addp	d1, v14.2d
+# CHECK-NEXT:  1      2     0.50                        addv	s0, v0.4s
+# CHECK-NEXT:  1      2     0.50                        addv	h0, v0.4h
+# CHECK-NEXT:  1      4     0.50                        addv	h0, v0.8h
+# CHECK-NEXT:  1      4     0.50                        addv	b0, v0.8b
+# CHECK-NEXT:  1      4     0.50                        addv	b0, v0.16b
+# CHECK-NEXT:  1      2     0.50                        aesd	v0.16b, v0.16b
+# CHECK-NEXT:  1      2     0.50                        aese	v0.16b, v0.16b
+# CHECK-NEXT:  1      2     0.50                        aesimc	v0.16b, v0.16b
+# CHECK-NEXT:  1      2     0.50                        aesmc	v0.16b, v0.16b
+# CHECK-NEXT:  1      2     0.50                        and	v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      2     0.50                        bic	v0.4h, #15, lsl #8
+# CHECK-NEXT:  1      2     0.50                        bic	v23.8h, #101
+# CHECK-NEXT:  1      2     0.50                        bic	v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      2     0.50                        bic	v25.16b, v10.16b, v9.16b
+# CHECK-NEXT:  1      2     0.50                        bic	v24.2s, #70
+# CHECK-NEXT:  1      2     0.50                        bit	v5.8b, v12.8b, v22.8b
+# CHECK-NEXT:  1      2     0.50                        bif	v0.8b, v25.8b, v4.8b
+# CHECK-NEXT:  1      2     0.50                        bif	v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      2     0.50                        bit	v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      2     0.50                        bsl	v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      2     0.50                        bsl	v27.16b, v13.16b, v21.16b
+# CHECK-NEXT:  1      2     0.50                        cls	v0.16b, v0.16b
+# CHECK-NEXT:  1      2     0.50                        cls	v0.2s, v0.2s
+# CHECK-NEXT:  1      2     0.50                        cls	v0.4h, v0.4h
+# CHECK-NEXT:  1      2     0.50                        cls	v0.4s, v0.4s
+# CHECK-NEXT:  1      2     0.50                        cls	v0.8b, v0.8b
+# CHECK-NEXT:  1      2     0.50                        cls	v0.8h, v0.8h
+# CHECK-NEXT:  1      2     0.50                        clz	v0.16b, v0.16b
+# CHECK-NEXT:  1      2     0.50                        clz	v0.2s, v0.2s
+# CHECK-NEXT:  1      2     0.50                        clz	v0.4h, v0.4h
+# CHECK-NEXT:  1      2     0.50                        clz	v0.4s, v0.4s
+# CHECK-NEXT:  1      2     0.50                        clz	v0.8b, v0.8b
+# CHECK-NEXT:  1      2     0.50                        clz	v0.8h, v0.8h
+# CHECK-NEXT:  1      2     0.50                        cmeq	v9.8h, v16.8h, v24.8h
+# CHECK-NEXT:  1      2     0.50                        cmeq	v14.4h, v18.4h, #0
+# CHECK-NEXT:  1      2     0.50                        cmeq	d20, d21, #0
+# CHECK-NEXT:  1      2     0.50                        cmeq	d20, d21, d22
+# CHECK-NEXT:  1      2     0.50                        cmeq	v0.16b, v0.16b, #0
+# CHECK-NEXT:  1      2     0.50                        cmeq	v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      2     0.50                        cmge	v22.8h, v16.8h, v3.8h
+# CHECK-NEXT:  1      2     0.50                        cmge	v22.16b, v30.16b, #0
+# CHECK-NEXT:  1      2     0.50                        cmge	d20, d21, #0
+# CHECK-NEXT:  1      2     0.50                        cmge	d20, d21, d22
+# CHECK-NEXT:  1      2     0.50                        cmge	v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  1      2     0.50                        cmge	v0.8b, v0.8b, #0
+# CHECK-NEXT:  1      2     0.50                        cmgt	v3.2d, v29.2d, v11.2d
+# CHECK-NEXT:  1      2     0.50                        cmgt	d20, d21, #0
+# CHECK-NEXT:  1      2     0.50                        cmgt	d20, d21, d22
+# CHECK-NEXT:  1      2     0.50                        cmgt	v0.2s, v0.2s, #0
+# CHECK-NEXT:  1      2     0.50                        cmgt	v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      2     0.50                        cmhi	v28.4h, v25.4h, v21.4h
+# CHECK-NEXT:  1      2     0.50                        cmhi	d20, d21, d22
+# CHECK-NEXT:  1      2     0.50                        cmhi	v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  1      2     0.50                        cmhs	d20, d21, d22
+# CHECK-NEXT:  1      2     0.50                        cmhs	v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      2     0.50                        cmle	v21.2s, v19.2s, #0
+# CHECK-NEXT:  1      2     0.50                        cmle	d20, d21, #0
+# CHECK-NEXT:  1      2     0.50                        cmle	v0.2d, v0.2d, #0
+# CHECK-NEXT:  1      2     0.50                        cmlt	v26.4h, v12.4h, #0
+# CHECK-NEXT:  1      2     0.50                        cmlt	d20, d21, #0
+# CHECK-NEXT:  1      2     0.50                        cmlt	v0.8h, v0.8h, #0
+# CHECK-NEXT:  1      2     0.50                        cmtst	d20, d21, d22
+# CHECK-NEXT:  1      2     0.50                        cmtst	v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      2     0.50                        cmtst	v13.2d, v13.2d, v13.2d
+# CHECK-NEXT:  1      2     0.50                        cnt	v0.16b, v0.16b
+# CHECK-NEXT:  1      2     0.50                        cnt	v0.8b, v0.8b
+# CHECK-NEXT:  1      3     1.00                        dup	v0.16b, w28
+# CHECK-NEXT:  1      3     1.00                        dup	v0.2d, x28
+# CHECK-NEXT:  1      3     1.00                        dup	v0.2s, w28
+# CHECK-NEXT:  1      3     1.00                        dup	v0.4h, w28
+# CHECK-NEXT:  1      3     1.00                        dup	v0.4s, w28
+# CHECK-NEXT:  1      3     1.00                        dup	v0.8b, w28
+# CHECK-NEXT:  1      3     1.00                        dup	v0.8h, w28
+# CHECK-NEXT:  1      2     0.50                        mov	b0, v0.b[1]
+# CHECK-NEXT:  1      2     0.50                        mov	d0, v0.d[1]
+# CHECK-NEXT:  1      2     0.50                        mov	h0, v0.h[1]
+# CHECK-NEXT:  1      2     0.50                        mov	s0, v0.s[1]
+# CHECK-NEXT:  1      2     0.50                        dup	v0.16b, v0.b[1]
+# CHECK-NEXT:  1      2     0.50                        dup	v0.2d, v0.d[1]
+# CHECK-NEXT:  1      2     0.50                        dup	v0.2s, v0.s[1]
+# CHECK-NEXT:  1      2     0.50                        dup	v0.4h, v0.h[1]
+# CHECK-NEXT:  1      2     0.50                        dup	v0.4s, v0.s[1]
+# CHECK-NEXT:  1      2     0.50                        dup	v0.8b, v0.b[1]
+# CHECK-NEXT:  1      2     0.50                        dup	v0.8h, v0.h[1]
+# CHECK-NEXT:  1      2     0.50                        eor	v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      2     0.50                        ext	v0.16b, v0.16b, v0.16b, #3
+# CHECK-NEXT:  1      2     0.50                        ext	v0.8b, v0.8b, v0.8b, #3
+# CHECK-NEXT:  1      2     0.50                        fabd	d29, d24, d20
+# CHECK-NEXT:  1      2     0.50                        fabd	s29, s24, s20
+# CHECK-NEXT:  1      2     0.50                        fabd	h27, h20, h17
+# CHECK-NEXT:  1      2     0.50                        fabd	v13.8h, v28.8h, v12.8h
+# CHECK-NEXT:  1      2     0.50                        fabd	v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      2     0.50                        fabs	h25, h7
+# CHECK-NEXT:  1      2     0.50                        fabs	v0.2d, v0.2d
+# CHECK-NEXT:  1      2     0.50                        fabs	v0.2s, v0.2s
+# CHECK-NEXT:  1      2     0.50                        fabs	v0.4h, v0.4h
+# CHECK-NEXT:  1      2     0.50                        fabs	v0.4s, v0.4s
+# CHECK-NEXT:  1      2     0.50                        fabs	v0.8h, v0.8h
+# CHECK-NEXT:  1      2     0.50                        facge	d20, d21, d22
+# CHECK-NEXT:  1      2     0.50                        facge	s10, s11, s12
+# CHECK-NEXT:  1      2     0.50                        facge	h24, h26, h29
+# CHECK-NEXT:  1      2     0.50                        facge	v25.4h, v16.4h, v11.4h
+# CHECK-NEXT:  1      2     0.50                        facge	v19.2s, v24.2s, v5.2s
+# CHECK-NEXT:  1      2     0.50                        facge	v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      2     0.50                        facgt	d20, d21, d22
+# CHECK-NEXT:  1      2     0.50                        facgt	s10, s11, s12
+# CHECK-NEXT:  1      2     0.50                        facgt	h0, h4, h10
+# CHECK-NEXT:  1      2     0.50                        facgt	v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      2     0.50                        facgt	v22.8h, v14.8h, v31.8h
+# CHECK-NEXT:  1      2     0.50                        facgt	v22.4s, v8.4s, v2.4s
+# CHECK-NEXT:  1      2     0.50                        fadd	v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      2     0.50                        faddp	h10, v19.2h
+# CHECK-NEXT:  1      2     0.50                        faddp	d11, v28.2d
+# CHECK-NEXT:  1      2     0.50                        faddp	v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      2     0.50                        faddp	v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      2     0.50                        faddp	v16.2d, v11.2d, v5.2d
+# CHECK-NEXT:  1      2     0.50                        fcmeq	h30, h6, h1
+# CHECK-NEXT:  1      2     0.50                        fcmeq	h19, h23, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmeq	d20, d21, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmeq	d20, d21, d22
+# CHECK-NEXT:  1      2     0.50                        fcmeq	s10, s11, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmeq	s10, s11, s12
+# CHECK-NEXT:  1      2     0.50                        fcmeq	v0.2s, v0.2s, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmeq	v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      2     0.50                        fcmeq	v12.4s, v11.4s, v26.4s
+# CHECK-NEXT:  1      2     0.50                        fcmeq	v18.2d, v17.2d, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmge	h10, h23, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmge	h1, h16, h12
+# CHECK-NEXT:  1      2     0.50                        fcmge	d20, d21, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmge	d20, d21, d22
+# CHECK-NEXT:  1      2     0.50                        fcmge	s10, s11, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmge	s10, s11, s12
+# CHECK-NEXT:  1      2     0.50                        fcmge	v0.2d, v0.2d, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmge	v17.2d, v11.2d, v13.2d
+# CHECK-NEXT:  1      2     0.50                        fcmge	v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      2     0.50                        fcmge	v18.4h, v27.4h, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmge	v20.8h, v19.8h, v22.8h
+# CHECK-NEXT:  1      2     0.50                        fcmge	v17.2s, v11.2s, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmgt	h4, h5, h0
+# CHECK-NEXT:  1      2     0.50                        fcmgt	h0, h18, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmgt	d20, d21, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmgt	d20, d21, d22
+# CHECK-NEXT:  1      2     0.50                        fcmgt	s10, s11, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmgt	s10, s11, s12
+# CHECK-NEXT:  1      2     0.50                        fcmgt	v0.4s, v0.4s, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmgt	v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      2     0.50                        fcmgt	v24.8h, v24.8h, v28.8h
+# CHECK-NEXT:  1      2     0.50                        fcmgt	v0.8h, v11.8h, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmgt	v19.2d, v31.2d, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmle	v16.8h, v11.8h, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmle	v22.4s, v30.4s, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmle	d20, d21, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmle	s10, s11, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmle	v0.2d, v0.2d, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmle	h18, h28, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmlt	h23, h7, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmlt	d20, d21, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmlt	s10, s11, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmlt	v0.4s, v0.4s, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmlt	v8.4h, v2.4h, #0.0
+# CHECK-NEXT:  1      2     0.50                        fcmlt	v7.2d, v16.2d, #0.0
+# CHECK-NEXT:  1      3     0.50                        fcvtas	d21, d14
+# CHECK-NEXT:  1      3     0.50                        fcvtas	s12, s13
+# CHECK-NEXT:  1      3     0.50                        fcvtas	h12, h13
+# CHECK-NEXT:  1      3     0.50                        fcvtas	v0.2d, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fcvtas	v0.2s, v0.2s
+# CHECK-NEXT:  1      3     0.50                        fcvtas	v0.4h, v0.4h
+# CHECK-NEXT:  1      3     0.50                        fcvtas	v0.4s, v0.4s
+# CHECK-NEXT:  1      3     0.50                        fcvtas	v0.8h, v0.8h
+# CHECK-NEXT:  1      3     0.50                        fcvtau	d21, d14
+# CHECK-NEXT:  1      3     0.50                        fcvtau	s12, s13
+# CHECK-NEXT:  1      3     0.50                        fcvtau	h12, h13
+# CHECK-NEXT:  1      3     0.50                        fcvtau	v0.2d, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fcvtau	v0.2s, v0.2s
+# CHECK-NEXT:  1      3     0.50                        fcvtau	v0.4h, v0.4h
+# CHECK-NEXT:  1      3     0.50                        fcvtau	v0.4s, v0.4s
+# CHECK-NEXT:  1      3     0.50                        fcvtau	v0.8h, v0.8h
+# CHECK-NEXT:  1      2     0.50                        fcvtl	v0.2d, v0.2s
+# CHECK-NEXT:  1      3     0.50                        fcvtl	v0.4s, v0.4h
+# CHECK-NEXT:  1      3     0.50                        fcvtl2	v0.2d, v0.4s
+# CHECK-NEXT:  1      3     0.50                        fcvtl2	v0.4s, v0.8h
+# CHECK-NEXT:  1      3     0.50                        fcvtms	d21, d14
+# CHECK-NEXT:  1      3     0.50                        fcvtms	s22, s13
+# CHECK-NEXT:  1      3     0.50                        fcvtms	h22, h13
+# CHECK-NEXT:  1      3     0.50                        fcvtms	v0.2d, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fcvtms	v0.2s, v0.2s
+# CHECK-NEXT:  1      3     0.50                        fcvtms	v0.4h, v0.4h
+# CHECK-NEXT:  1      3     0.50                        fcvtms	v0.4s, v0.4s
+# CHECK-NEXT:  1      3     0.50                        fcvtms	v0.8h, v0.8h
+# CHECK-NEXT:  1      3     0.50                        fcvtmu	d21, d14
+# CHECK-NEXT:  1      3     0.50                        fcvtmu	s12, s13
+# CHECK-NEXT:  1      3     0.50                        fcvtmu	h12, h13
+# CHECK-NEXT:  1      3     0.50                        fcvtmu	v0.2d, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fcvtmu	v0.2s, v0.2s
+# CHECK-NEXT:  1      3     0.50                        fcvtmu	v0.4h, v0.4h
+# CHECK-NEXT:  1      3     0.50                        fcvtmu	v0.4s, v0.4s
+# CHECK-NEXT:  1      3     0.50                        fcvtmu	v0.8h, v0.8h
+# CHECK-NEXT:  1      3     0.50                        fcvtn	v0.2s, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fcvtn	v0.4h, v0.4s
+# CHECK-NEXT:  1      3     0.50                        fcvtn2	v0.4s, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fcvtn2	v0.8h, v0.4s
+# CHECK-NEXT:  1      3     0.50                        fcvtns	d21, d14
+# CHECK-NEXT:  1      3     0.50                        fcvtns	s22, s13
+# CHECK-NEXT:  1      3     0.50                        fcvtns	h22, h13
+# CHECK-NEXT:  1      3     0.50                        fcvtns	v0.2d, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fcvtns	v0.2s, v0.2s
+# CHECK-NEXT:  1      3     0.50                        fcvtns	v0.4h, v0.4h
+# CHECK-NEXT:  1      3     0.50                        fcvtns	v0.4s, v0.4s
+# CHECK-NEXT:  1      3     0.50                        fcvtns	v0.8h, v0.8h
+# CHECK-NEXT:  1      3     0.50                        fcvtnu	d21, d14
+# CHECK-NEXT:  1      3     0.50                        fcvtnu	s12, s13
+# CHECK-NEXT:  1      3     0.50                        fcvtnu	h12, h13
+# CHECK-NEXT:  1      3     0.50                        fcvtnu	v0.2d, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fcvtnu	v0.2s, v0.2s
+# CHECK-NEXT:  1      3     0.50                        fcvtnu	v0.4h, v0.4h
+# CHECK-NEXT:  1      3     0.50                        fcvtnu	v0.4s, v0.4s
+# CHECK-NEXT:  1      3     0.50                        fcvtnu	v0.8h, v0.8h
+# CHECK-NEXT:  1      3     0.50                        fcvtps	d21, d14
+# CHECK-NEXT:  1      3     0.50                        fcvtps	s22, s13
+# CHECK-NEXT:  1      3     0.50                        fcvtps	h22, h13
+# CHECK-NEXT:  1      3     0.50                        fcvtps	v0.2d, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fcvtps	v0.2s, v0.2s
+# CHECK-NEXT:  1      3     0.50                        fcvtps	v0.4h, v0.4h
+# CHECK-NEXT:  1      3     0.50                        fcvtps	v0.4s, v0.4s
+# CHECK-NEXT:  1      3     0.50                        fcvtps	v0.8h, v0.8h
+# CHECK-NEXT:  1      3     0.50                        fcvtpu	d21, d14
+# CHECK-NEXT:  1      3     0.50                        fcvtpu	s12, s13
+# CHECK-NEXT:  1      3     0.50                        fcvtpu	h12, h13
+# CHECK-NEXT:  1      3     0.50                        fcvtpu	v0.2d, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fcvtpu	v0.2s, v0.2s
+# CHECK-NEXT:  1      3     0.50                        fcvtpu	v0.4h, v0.4h
+# CHECK-NEXT:  1      3     0.50                        fcvtpu	v0.4s, v0.4s
+# CHECK-NEXT:  1      3     0.50                        fcvtpu	v0.8h, v0.8h
+# CHECK-NEXT:  1      3     0.50                        fcvtxn	s22, d13
+# CHECK-NEXT:  1      3     0.50                        fcvtxn	v0.2s, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fcvtxn2	v0.4s, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fcvtzs	d21, d12, #1
+# CHECK-NEXT:  1      3     0.50                        fcvtzs	d21, d14
+# CHECK-NEXT:  1      3     0.50                        fcvtzs	s12, s13
+# CHECK-NEXT:  1      3     0.50                        fcvtzs	s21, s12, #1
+# CHECK-NEXT:  1      3     0.50                        fcvtzs	h21, h14
+# CHECK-NEXT:  1      3     0.50                        fcvtzs	h21, h12, #1
+# CHECK-NEXT:  1      3     0.50                        fcvtzs	v0.2d, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fcvtzs	v0.2d, v0.2d, #3
+# CHECK-NEXT:  1      3     0.50                        fcvtzs	v0.2s, v0.2s
+# CHECK-NEXT:  1      3     0.50                        fcvtzs	v0.2s, v0.2s, #3
+# CHECK-NEXT:  1      3     0.50                        fcvtzs	v0.4h, v0.4h
+# CHECK-NEXT:  1      3     0.50                        fcvtzs	v20.4h, v24.4h, #11
+# CHECK-NEXT:  1      3     0.50                        fcvtzs	v0.4s, v0.4s
+# CHECK-NEXT:  1      3     0.50                        fcvtzs	v0.4s, v0.4s, #3
+# CHECK-NEXT:  1      3     0.50                        fcvtzs	v0.8h, v0.8h
+# CHECK-NEXT:  1      3     0.50                        fcvtzs	v18.8h, v10.8h, #7
+# CHECK-NEXT:  1      3     0.50                        fcvtzu	d21, d12, #1
+# CHECK-NEXT:  1      3     0.50                        fcvtzu	d21, d14
+# CHECK-NEXT:  1      3     0.50                        fcvtzu	s12, s13
+# CHECK-NEXT:  1      3     0.50                        fcvtzu	s21, s12, #1
+# CHECK-NEXT:  1      3     0.50                        fcvtzu	h12, h13
+# CHECK-NEXT:  1      3     0.50                        fcvtzu	h21, h12, #1
+# CHECK-NEXT:  1      3     0.50                        fcvtzu	v0.2d, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fcvtzu	v0.2d, v0.2d, #3
+# CHECK-NEXT:  1      3     0.50                        fcvtzu	v0.2s, v0.2s
+# CHECK-NEXT:  1      3     0.50                        fcvtzu	v0.2s, v0.2s, #3
+# CHECK-NEXT:  1      3     0.50                        fcvtzu	v0.4h, v0.4h
+# CHECK-NEXT:  1      3     0.50                        fcvtzu	v19.4h, v26.4h, #9
+# CHECK-NEXT:  1      3     0.50                        fcvtzu	v0.4s, v0.4s
+# CHECK-NEXT:  1      3     0.50                        fcvtzu	v0.4s, v0.4s, #3
+# CHECK-NEXT:  1      3     0.50                        fcvtzu	v0.8h, v0.8h
+# CHECK-NEXT:  1      3     0.50                        fcvtzu	v27.8h, v6.8h, #11
+# CHECK-NEXT:  1      13    2.00                        fdiv	v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      9     2.00                        fdiv	v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      8     4.00                        fdiv	v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  1      11    4.00                        fdiv	v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      12    8.00                        fdiv	v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  1      2     0.50                        fmax	v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      2     0.50                        fmax	v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      2     0.50                        fmax	v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      2     0.50                        fmaxnm	v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      2     0.50                        fmaxnm	v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      2     0.50                        fmaxnm	v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      3     0.50                        fmaxnmp	h25, v19.2h
+# CHECK-NEXT:  1      3     0.50                        fmaxnmp	d17, v29.2d
+# CHECK-NEXT:  1      3     0.50                        fmaxnmp	v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fmaxnmp	v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      3     0.50                        fmaxnmp	v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        fmaxnmv	h0, v13.4h
+# CHECK-NEXT:  1      6     0.50                        fmaxnmv	h12, v11.8h
+# CHECK-NEXT:  1      4     0.50                        fmaxnmv	s28, v31.4s
+# CHECK-NEXT:  1      3     0.50                        fmaxp	v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fmaxp	v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      3     0.50                        fmaxp	v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      3     0.50                        fmaxp	h15, v25.2h
+# CHECK-NEXT:  1      3     0.50                        fmaxp	s6, v2.2s
+# CHECK-NEXT:  1      4     0.50                        fmaxv	h0, v0.4h
+# CHECK-NEXT:  1      6     0.50                        fmaxv	h0, v0.8h
+# CHECK-NEXT:  1      4     0.50                        fmaxv	s0, v0.4s
+# CHECK-NEXT:  1      2     0.50                        fmin	v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      2     0.50                        fmin	v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      2     0.50                        fmin	v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      2     0.50                        fminnm	v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      2     0.50                        fminnm	v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      2     0.50                        fminnm	v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      3     0.50                        fminnmp	h20, v14.2h
+# CHECK-NEXT:  1      3     0.50                        fminnmp	d15, v8.2d
+# CHECK-NEXT:  1      3     0.50                        fminnmp	v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fminnmp	v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      3     0.50                        fminnmp	v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        fminnmv	h19, v25.4h
+# CHECK-NEXT:  1      6     0.50                        fminnmv	h23, v17.8h
+# CHECK-NEXT:  1      4     0.50                        fminnmv	s29, v17.4s
+# CHECK-NEXT:  1      3     0.50                        fminp	v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fminp	v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      3     0.50                        fminp	v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      3     0.50                        fminp	h7, v10.2h
+# CHECK-NEXT:  1      3     0.50                        fminp	s17, v7.2s
+# CHECK-NEXT:  1      4     0.50                        fminv	h3, v30.4h
+# CHECK-NEXT:  1      6     0.50                        fminv	h29, v12.8h
+# CHECK-NEXT:  1      4     0.50                        fminv	s16, v19.4s
+# CHECK-NEXT:  1      4     0.50                        fmla	d0, d1, v0.d[1]
+# CHECK-NEXT:  1      4     0.50                        fmla	h23, h24, v15.h[4]
+# CHECK-NEXT:  1      4     0.50                        fmla	s0, s1, v0.s[3]
+# CHECK-NEXT:  1      4     0.50                        fmla	v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        fmla	v29.8h, v15.8h, v10.h[4]
+# CHECK-NEXT:  1      4     0.50                        fmla	v2.2s, v16.2s, v28.s[0]
+# CHECK-NEXT:  1      4     0.50                        fmla	v14.4s, v14.4s, v5.s[3]
+# CHECK-NEXT:  1      4     0.50                        fmla	v1.4s, v24.4s, v12.4s
+# CHECK-NEXT:  1      4     0.50                        fmla	v10.2d, v14.2d, v21.d[1]
+# CHECK-NEXT:  1      4     0.50                        fmls	d0, d4, v0.d[1]
+# CHECK-NEXT:  1      4     0.50                        fmls	h8, h14, v7.h[4]
+# CHECK-NEXT:  1      4     0.50                        fmls	s3, s5, v0.s[3]
+# CHECK-NEXT:  1      4     0.50                        fmls	v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        fmls	v30.8h, v18.8h, v4.h[6]
+# CHECK-NEXT:  1      4     0.50                        fmls	v10.2s, v27.2s, v0.s[0]
+# CHECK-NEXT:  1      4     0.50                        fmls	v27.4s, v7.4s, v24.s[0]
+# CHECK-NEXT:  1      4     0.50                        fmls	v10.2d, v22.2d, v29.d[0]
+# CHECK-NEXT:  1      4     0.50                        fmls	v6.8h, v15.8h, v23.8h
+# CHECK-NEXT:  1      2     0.50                        fmov	v0.2d, #-1.25000000
+# CHECK-NEXT:  1      2     0.50                        fmov	v0.2s, #13.00000000
+# CHECK-NEXT:  1      2     0.50                        fmov	v0.4s, #1.00000000
+# CHECK-NEXT:  1      3     0.50                        fmul	h18, h4, v7.h[3]
+# CHECK-NEXT:  1      3     0.50                        fmul	v10.4h, v2.4h, v7.h[5]
+# CHECK-NEXT:  1      3     0.50                        fmul	v5.2s, v12.2s, v9.s[0]
+# CHECK-NEXT:  1      3     0.50                        fmul	v15.4s, v30.4s, v2.s[3]
+# CHECK-NEXT:  1      3     0.50                        fmul	v11.2d, v31.2d, v24.d[1]
+# CHECK-NEXT:  1      3     0.50                        fmul	h28, h14, h3
+# CHECK-NEXT:  1      3     0.50                        fmul	d0, d1, v0.d[1]
+# CHECK-NEXT:  1      3     0.50                        fmul	s0, s1, v0.s[3]
+# CHECK-NEXT:  1      3     0.50                        fmul	v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      3     0.50                        fmulx	d0, d4, v0.d[1]
+# CHECK-NEXT:  1      2     0.50                        fmulx	d23, d11, d1
+# CHECK-NEXT:  1      2     0.50                        fmulx	s20, s22, s15
+# CHECK-NEXT:  1      3     0.50                        fmulx	h18, h17, v7.h[1]
+# CHECK-NEXT:  1      2     0.50                        fmulx	h20, h25, h0
+# CHECK-NEXT:  1      3     0.50                        fmulx	s3, s5, v0.s[3]
+# CHECK-NEXT:  1      3     0.50                        fmulx	v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      3     0.50                        fmulx	v28.4h, v25.4h, v15.h[1]
+# CHECK-NEXT:  1      3     0.50                        fmulx	v3.2s, v22.2s, v23.s[3]
+# CHECK-NEXT:  1      3     0.50                        fmulx	v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      3     0.50                        fmulx	v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      3     0.50                        fmulx	v5.4s, v28.4s, v15.s[3]
+# CHECK-NEXT:  1      3     0.50                        fmulx	v22.2d, v18.2d, v25.d[1]
+# CHECK-NEXT:  1      2     0.50                        fneg	v0.2d, v0.2d
+# CHECK-NEXT:  1      2     0.50                        fneg	v0.2s, v0.2s
+# CHECK-NEXT:  1      2     0.50                        fneg	v0.4h, v0.4h
+# CHECK-NEXT:  1      2     0.50                        fneg	v0.4s, v0.4s
+# CHECK-NEXT:  1      2     0.50                        fneg	v0.8h, v0.8h
+# CHECK-NEXT:  1      3     0.50                        frecpe	h20, h8
+# CHECK-NEXT:  1      3     0.50                        frecpe	d13, d13
+# CHECK-NEXT:  1      3     0.50                        frecpe	s19, s14
+# CHECK-NEXT:  1      2     0.50                        frecpe	v0.2d, v0.2d
+# CHECK-NEXT:  1      3     0.50                        frecpe	v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        frecpe	v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        frecpe	v0.4s, v0.4s
+# CHECK-NEXT:  1      6     1.00                        frecpe	v0.8h, v0.8h
----------------
nasherm wrote:

Done

https://github.com/llvm/llvm-project/pull/185398


More information about the llvm-commits mailing list