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

Asher Dobrescu via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 31 08:28:52 PDT 2026


================
@@ -0,0 +1,6873 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-premium -mattr=+sve2-aes,+sve2-sha3,+sve2-sm4 -instruction-tables < %p/../Inputs/sve-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	z0.b, p0/m, z0.b
+# CHECK-NEXT:  1      2     0.50                        abs	z0.d, p0/m, z0.d
+# CHECK-NEXT:  1      2     0.50                        abs	z0.h, p0/m, z0.h
+# CHECK-NEXT:  1      2     0.50                        abs	z0.s, p0/m, z0.s
+# CHECK-NEXT:  1      2     0.50                        abs	z31.b, p7/m, z31.b
+# CHECK-NEXT:  1      2     0.50                        abs	z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      2     0.50                        abs	z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      2     0.50                        abs	z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      2     0.50                        adclb	z0.d, z1.d, z31.d
+# CHECK-NEXT:  1      2     0.50                        adclb	z0.s, z1.s, z31.s
+# CHECK-NEXT:  1      2     0.50                        adclt	z0.d, z1.d, z31.d
+# CHECK-NEXT:  1      2     0.50                        adclt	z0.s, z1.s, z31.s
+# CHECK-NEXT:  1      2     0.50                        add	z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  1      2     0.50                        add	z0.b, z0.b, #0
+# CHECK-NEXT:  1      2     0.50                        add	z0.b, z0.b, z0.b
+# CHECK-NEXT:  1      2     0.50                        add	z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  1      2     0.50                        add	z0.d, z0.d, #0
+# CHECK-NEXT:  1      2     0.50                        add	z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT:  1      2     0.50                        add	z0.d, z0.d, z0.d
+# CHECK-NEXT:  1      2     0.50                        add	z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  1      2     0.50                        add	z0.h, z0.h, #0
+# CHECK-NEXT:  1      2     0.50                        add	z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT:  1      2     0.50                        add	z0.h, z0.h, z0.h
+# CHECK-NEXT:  1      2     0.50                        add	z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  1      2     0.50                        add	z0.s, z0.s, #0
+# CHECK-NEXT:  1      2     0.50                        add	z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT:  1      2     0.50                        add	z0.s, z0.s, z0.s
+# CHECK-NEXT:  1      2     0.50                        add	z0.s, z1.s, z2.s
+# CHECK-NEXT:  1      2     0.50                        add	z21.b, p5/m, z21.b, z10.b
+# CHECK-NEXT:  1      2     0.50                        add	z21.b, z10.b, z21.b
+# CHECK-NEXT:  1      2     0.50                        add	z21.d, p5/m, z21.d, z10.d
+# CHECK-NEXT:  1      2     0.50                        add	z21.d, z10.d, z21.d
+# CHECK-NEXT:  1      2     0.50                        add	z21.h, p5/m, z21.h, z10.h
+# CHECK-NEXT:  1      2     0.50                        add	z21.h, z10.h, z21.h
+# CHECK-NEXT:  1      2     0.50                        add	z21.s, p5/m, z21.s, z10.s
+# CHECK-NEXT:  1      2     0.50                        add	z21.s, z10.s, z21.s
+# CHECK-NEXT:  1      2     0.50                        add	z23.b, p3/m, z23.b, z13.b
+# CHECK-NEXT:  1      2     0.50                        add	z23.b, z13.b, z8.b
+# CHECK-NEXT:  1      2     0.50                        add	z23.d, p3/m, z23.d, z13.d
+# CHECK-NEXT:  1      2     0.50                        add	z23.d, z13.d, z8.d
+# CHECK-NEXT:  1      2     0.50                        add	z23.h, p3/m, z23.h, z13.h
+# CHECK-NEXT:  1      2     0.50                        add	z23.h, z13.h, z8.h
+# CHECK-NEXT:  1      2     0.50                        add	z23.s, p3/m, z23.s, z13.s
+# CHECK-NEXT:  1      2     0.50                        add	z23.s, z13.s, z8.s
+# CHECK-NEXT:  1      2     0.50                        add	z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  1      2     0.50                        add	z31.b, z31.b, #255
+# CHECK-NEXT:  1      2     0.50                        add	z31.b, z31.b, z31.b
+# CHECK-NEXT:  1      2     0.50                        add	z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  1      2     0.50                        add	z31.d, z31.d, #65280
+# CHECK-NEXT:  1      2     0.50                        add	z31.d, z31.d, z31.d
+# CHECK-NEXT:  1      2     0.50                        add	z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  1      2     0.50                        add	z31.h, z31.h, #65280
+# CHECK-NEXT:  1      2     0.50                        add	z31.h, z31.h, z31.h
+# CHECK-NEXT:  1      2     0.50                        add	z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  1      2     0.50                        add	z31.s, z31.s, #65280
+# CHECK-NEXT:  1      2     0.50                        add	z31.s, z31.s, z31.s
+# CHECK-NEXT:  1      2     0.50                        addhnb	z0.b, z1.h, z31.h
+# CHECK-NEXT:  1      2     0.50                        addhnb	z0.h, z1.s, z31.s
+# CHECK-NEXT:  1      2     0.50                        addhnb	z0.s, z1.d, z31.d
+# CHECK-NEXT:  1      2     0.50                        addhnt	z0.b, z1.h, z31.h
+# CHECK-NEXT:  1      2     0.50                        addhnt	z0.h, z1.s, z31.s
+# CHECK-NEXT:  1      2     0.50                        addhnt	z0.s, z1.d, z31.d
+# CHECK-NEXT:  1      2     0.50                        addp	z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT:  1      2     0.50                        addp	z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT:  1      2     0.50                        addp	z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT:  1      2     0.50                        addp	z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT:  1      1     0.13                        addpl	sp, sp, #31
+# CHECK-NEXT:  1      1     0.13                        addpl	x0, x0, #-32
+# CHECK-NEXT:  1      1     0.13                        addpl	x21, x21, #0
+# CHECK-NEXT:  1      1     0.13                        addpl	x23, x8, #-1
+# CHECK-NEXT:  1      1     0.13                        addvl	sp, sp, #31
+# CHECK-NEXT:  1      1     0.13                        addvl	x0, x0, #-32
+# CHECK-NEXT:  1      1     0.13                        addvl	x21, x21, #0
+# CHECK-NEXT:  1      1     0.13                        addvl	x23, x8, #-1
+# CHECK-NEXT:  1      2     0.50                        adr	z0.d, [z0.d, z0.d, lsl #1]
+# CHECK-NEXT:  1      2     0.50                        adr	z0.d, [z0.d, z0.d, lsl #2]
+# CHECK-NEXT:  1      2     0.50                        adr	z0.d, [z0.d, z0.d, lsl #3]
+# CHECK-NEXT:  1      2     0.50                        adr	z0.d, [z0.d, z0.d, sxtw #1]
+# CHECK-NEXT:  1      2     0.50                        adr	z0.d, [z0.d, z0.d, sxtw #2]
+# CHECK-NEXT:  1      2     0.50                        adr	z0.d, [z0.d, z0.d, sxtw #3]
+# CHECK-NEXT:  1      2     0.50                        adr	z0.d, [z0.d, z0.d, sxtw]
+# CHECK-NEXT:  1      2     0.50                        adr	z0.d, [z0.d, z0.d, uxtw #1]
+# CHECK-NEXT:  1      2     0.50                        adr	z0.d, [z0.d, z0.d, uxtw #2]
+# CHECK-NEXT:  1      2     0.50                        adr	z0.d, [z0.d, z0.d, uxtw #3]
+# CHECK-NEXT:  1      2     0.50                        adr	z0.d, [z0.d, z0.d, uxtw]
+# CHECK-NEXT:  1      2     0.50                        adr	z0.d, [z0.d, z0.d]
+# CHECK-NEXT:  1      2     0.50                        adr	z0.s, [z0.s, z0.s, lsl #1]
+# CHECK-NEXT:  1      2     0.50                        adr	z0.s, [z0.s, z0.s, lsl #2]
+# CHECK-NEXT:  1      2     0.50                        adr	z0.s, [z0.s, z0.s, lsl #3]
+# CHECK-NEXT:  1      2     0.50                        adr	z0.s, [z0.s, z0.s]
+# CHECK-NEXT:  1      2     0.50                        aesd	z0.b, z0.b, z31.b
+# CHECK-NEXT:  1      2     0.50                        aese	z0.b, z0.b, z31.b
+# CHECK-NEXT:  1      2     0.50                        aesimc	z0.b, z0.b
+# CHECK-NEXT:  1      2     0.50                        aesimc	z31.b, z31.b
+# CHECK-NEXT:  1      2     0.50                        aesmc	z0.b, z0.b
+# CHECK-NEXT:  1      2     0.50                        aesmc	z31.b, z31.b
+# CHECK-NEXT:  1      2     0.50                        and	p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT:  1      2     0.50                        and	z0.d, z0.d, #0x6
+# CHECK-NEXT:  1      2     0.50                        and	z0.d, z0.d, #0xfffffffffffffff9
+# CHECK-NEXT:  1      2     0.50                        and	z0.d, z0.d, z0.d
+# CHECK-NEXT:  1      2     0.50                        and	z0.s, z0.s, #0x6
+# CHECK-NEXT:  1      2     0.50                        and	z0.s, z0.s, #0xfffffff9
+# CHECK-NEXT:  1      2     0.50                        and	z23.d, z13.d, z8.d
+# CHECK-NEXT:  1      2     0.50                        and	z23.h, z23.h, #0x6
+# CHECK-NEXT:  1      2     0.50                        and	z23.h, z23.h, #0xfff9
+# CHECK-NEXT:  1      2     0.50                        and	z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  1      2     0.50                        and	z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  1      2     0.50                        and	z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  1      2     0.50                        and	z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  1      2     0.50                        and	z5.b, z5.b, #0x6
+# CHECK-NEXT:  1      2     0.50                        and	z5.b, z5.b, #0xf9
+# CHECK-NEXT:  1      2     0.50                        ands	p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT:  1      4     1.00                        andv	b0, p7, z31.b
+# CHECK-NEXT:  1      4     1.00                        andv	d0, p7, z31.d
+# CHECK-NEXT:  1      4     1.00                        andv	h0, p7, z31.h
+# CHECK-NEXT:  1      4     1.00                        andv	s0, p7, z31.s
+# CHECK-NEXT:  1      2     0.50                        asr	z0.b, p0/m, z0.b, #1
+# CHECK-NEXT:  1      2     0.50                        asr	z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  1      2     0.50                        asr	z0.b, p0/m, z0.b, z1.d
+# CHECK-NEXT:  1      2     0.50                        asr	z0.b, z0.b, #1
+# CHECK-NEXT:  1      2     0.50                        asr	z0.b, z1.b, z2.d
+# CHECK-NEXT:  1      2     0.50                        asr	z0.d, p0/m, z0.d, #1
+# CHECK-NEXT:  1      2     0.50                        asr	z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  1      2     0.50                        asr	z0.d, z0.d, #1
+# CHECK-NEXT:  1      2     0.50                        asr	z0.h, p0/m, z0.h, #1
+# CHECK-NEXT:  1      2     0.50                        asr	z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  1      2     0.50                        asr	z0.h, p0/m, z0.h, z1.d
+# CHECK-NEXT:  1      2     0.50                        asr	z0.h, z0.h, #1
+# CHECK-NEXT:  1      2     0.50                        asr	z0.h, z1.h, z2.d
+# CHECK-NEXT:  1      2     0.50                        asr	z0.s, p0/m, z0.s, #1
+# CHECK-NEXT:  1      2     0.50                        asr	z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  1      2     0.50                        asr	z0.s, p0/m, z0.s, z1.d
+# CHECK-NEXT:  1      2     0.50                        asr	z0.s, z0.s, #1
+# CHECK-NEXT:  1      2     0.50                        asr	z0.s, z1.s, z2.d
+# CHECK-NEXT:  1      2     0.50                        asr	z31.b, p0/m, z31.b, #8
+# CHECK-NEXT:  1      2     0.50                        asr	z31.b, z31.b, #8
+# CHECK-NEXT:  1      2     0.50                        asr	z31.d, p0/m, z31.d, #64
+# CHECK-NEXT:  1      2     0.50                        asr	z31.d, z31.d, #64
+# CHECK-NEXT:  1      2     0.50                        asr	z31.h, p0/m, z31.h, #16
+# CHECK-NEXT:  1      2     0.50                        asr	z31.h, z31.h, #16
+# CHECK-NEXT:  1      2     0.50                        asr	z31.s, p0/m, z31.s, #32
+# CHECK-NEXT:  1      2     0.50                        asr	z31.s, z31.s, #32
+# CHECK-NEXT:  1      4     0.50                        asrd	z0.b, p0/m, z0.b, #1
+# CHECK-NEXT:  1      4     0.50                        asrd	z0.d, p0/m, z0.d, #1
+# CHECK-NEXT:  1      4     0.50                        asrd	z0.h, p0/m, z0.h, #1
+# CHECK-NEXT:  1      4     0.50                        asrd	z0.s, p0/m, z0.s, #1
+# CHECK-NEXT:  1      4     0.50                        asrd	z31.b, p0/m, z31.b, #8
+# CHECK-NEXT:  1      4     0.50                        asrd	z31.d, p0/m, z31.d, #64
+# CHECK-NEXT:  1      4     0.50                        asrd	z31.h, p0/m, z31.h, #16
+# CHECK-NEXT:  1      4     0.50                        asrd	z31.s, p0/m, z31.s, #32
+# CHECK-NEXT:  1      2     0.50                        asrr	z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  1      2     0.50                        asrr	z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  1      2     0.50                        asrr	z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  1      2     0.50                        asrr	z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  1      2     0.50                        bcax	z29.d, z29.d, z30.d, z31.d
+# CHECK-NEXT:  2      6     2.00                        bdep	z0.b, z1.b, z31.b
+# CHECK-NEXT:  2      6     2.00                        bdep	z0.d, z1.d, z31.d
+# CHECK-NEXT:  2      6     2.00                        bdep	z0.h, z1.h, z31.h
+# CHECK-NEXT:  2      6     2.00                        bdep	z0.s, z1.s, z31.s
+# CHECK-NEXT:  2      6     2.00                        bext	z0.b, z1.b, z31.b
+# CHECK-NEXT:  2      6     2.00                        bext	z0.d, z1.d, z31.d
+# CHECK-NEXT:  2      6     2.00                        bext	z0.h, z1.h, z31.h
+# CHECK-NEXT:  2      6     2.00                        bext	z0.s, z1.s, z31.s
+# CHECK-NEXT:  1      3     0.50                        bfcvt	z0.h, p0/m, z1.s
+# CHECK-NEXT:  1      3     0.50                        bfcvtnt	z0.h, p0/m, z1.s
+# CHECK-NEXT:  1      4     0.50                        bfdot	z0.s, z1.h, z2.h
+# CHECK-NEXT:  1      4     0.50                        bfdot	z0.s, z1.h, z2.h[0]
+# CHECK-NEXT:  1      4     0.50                        bfdot	z0.s, z1.h, z2.h[3]
+# CHECK-NEXT:  1      5     0.50                        bfmlalb	z0.s, z1.h, z2.h
+# CHECK-NEXT:  1      5     0.50                        bfmlalb	z0.s, z1.h, z2.h[0]
+# CHECK-NEXT:  1      5     0.50                        bfmlalb	z0.s, z1.h, z2.h[7]
+# CHECK-NEXT:  1      5     0.50                        bfmlalb	z10.s, z21.h, z14.h
+# CHECK-NEXT:  1      5     0.50                        bfmlalb	z21.s, z14.h, z3.h[2]
+# CHECK-NEXT:  1      5     0.50                        bfmlalt	z0.s, z1.h, z2.h
+# CHECK-NEXT:  1      5     0.50                        bfmlalt	z0.s, z1.h, z2.h[0]
+# CHECK-NEXT:  1      5     0.50                        bfmlalt	z0.s, z1.h, z2.h[7]
+# CHECK-NEXT:  1      5     0.50                        bfmlalt	z0.s, z1.h, z7.h[7]
+# CHECK-NEXT:  1      5     0.50                        bfmlalt	z14.s, z10.h, z21.h
+# CHECK-NEXT:  1      5     0.50                        bfmmla	z0.s, z1.h, z2.h
+# CHECK-NEXT:  2      6     2.00                        bgrp	z0.b, z1.b, z31.b
+# CHECK-NEXT:  2      6     2.00                        bgrp	z0.d, z1.d, z31.d
+# CHECK-NEXT:  2      6     2.00                        bgrp	z0.h, z1.h, z31.h
+# CHECK-NEXT:  2      6     2.00                        bgrp	z0.s, z1.s, z31.s
+# CHECK-NEXT:  1      2     0.50                        bic	p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT:  1      2     0.50                        bic	p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      2     0.50                        bic	z0.d, z0.d, z0.d
+# CHECK-NEXT:  1      2     0.50                        bic	z23.d, z13.d, z8.d
+# CHECK-NEXT:  1      2     0.50                        bic	z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  1      2     0.50                        bic	z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  1      2     0.50                        bic	z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  1      2     0.50                        bic	z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  1      2     0.50                        bics	p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT:  1      2     0.50                        bics	p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      1     0.50                        brka	p0.b, p15/m, p15.b
+# CHECK-NEXT:  1      1     0.50                        brka	p0.b, p15/z, p15.b
+# CHECK-NEXT:  1      1     0.50                        brkas	p0.b, p15/z, p15.b
+# CHECK-NEXT:  1      1     0.50                        brkb	p0.b, p15/m, p15.b
+# CHECK-NEXT:  1      1     0.50                        brkb	p0.b, p15/z, p15.b
+# CHECK-NEXT:  1      1     0.50                        brkbs	p0.b, p15/z, p15.b
+# CHECK-NEXT:  1      2     0.50                        brkn	p0.b, p15/z, p1.b, p0.b
+# CHECK-NEXT:  1      2     0.50                        brkn	p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      2     0.50                        brkns	p0.b, p15/z, p1.b, p0.b
+# CHECK-NEXT:  1      2     0.50                        brkns	p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      2     0.50                        brkpa	p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT:  1      2     0.50                        brkpa	p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      2     0.50                        brkpas	p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT:  1      2     0.50                        brkpas	p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      2     0.50                        brkpb	p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT:  1      2     0.50                        brkpb	p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      2     0.50                        brkpbs	p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT:  1      2     0.50                        brkpbs	p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      2     0.50                        bsl	z0.d, z0.d, z1.d, z2.d
+# CHECK-NEXT:  1      2     0.50                        bsl1n	z0.d, z0.d, z1.d, z2.d
+# CHECK-NEXT:  1      2     0.50                        bsl2n	z0.d, z0.d, z1.d, z2.d
+# CHECK-NEXT:  1      2     0.50                        cadd	z0.b, z0.b, z0.b, #90
+# CHECK-NEXT:  1      2     0.50                        cadd	z0.d, z0.d, z0.d, #90
+# CHECK-NEXT:  1      2     0.50                        cadd	z0.h, z0.h, z0.h, #90
+# CHECK-NEXT:  1      2     0.50                        cadd	z0.s, z0.s, z0.s, #90
+# CHECK-NEXT:  1      2     0.50                        cadd	z31.b, z31.b, z31.b, #270
+# CHECK-NEXT:  1      2     0.50                        cadd	z31.d, z31.d, z31.d, #270
+# CHECK-NEXT:  1      2     0.50                        cadd	z31.h, z31.h, z31.h, #270
+# CHECK-NEXT:  1      2     0.50                        cadd	z31.s, z31.s, z31.s, #270
+# CHECK-NEXT:  1      3     0.50                        cdot	z0.d, z1.h, z15.h[1], #0
+# CHECK-NEXT:  1      3     0.50                        cdot	z0.d, z1.h, z31.h, #0
+# CHECK-NEXT:  1      3     0.50                        cdot	z0.d, z1.h, z31.h, #180
+# CHECK-NEXT:  1      3     0.50                        cdot	z0.d, z1.h, z31.h, #270
+# CHECK-NEXT:  1      3     0.50                        cdot	z0.d, z1.h, z31.h, #90
+# CHECK-NEXT:  1      3     0.50                        cdot	z0.s, z1.b, z31.b, #0
+# CHECK-NEXT:  1      3     0.50                        cdot	z0.s, z1.b, z7.b[3], #0
+# CHECK-NEXT:  1      3     0.50                        cdot	z29.d, z30.h, z0.h[0], #180
+# CHECK-NEXT:  1      3     0.50                        cdot	z31.d, z30.h, z7.h[1], #270
+# CHECK-NEXT:  1      3     0.50                        cdot	z5.d, z6.h, z3.h[0], #90
+# CHECK-NEXT:  1      3     1.00                        clasta	b0, p7, b0, z31.b
+# CHECK-NEXT:  1      3     1.00                        clasta	d0, p7, d0, z31.d
+# CHECK-NEXT:  1      3     1.00                        clasta	h0, p7, h0, z31.h
+# CHECK-NEXT:  1      3     1.00                        clasta	s0, p7, s0, z31.s
+# CHECK-NEXT:  1      8     1.00                        clasta	w0, p7, w0, z31.b
+# CHECK-NEXT:  1      8     1.00                        clasta	w0, p7, w0, z31.h
+# CHECK-NEXT:  1      8     1.00                        clasta	w0, p7, w0, z31.s
+# CHECK-NEXT:  1      8     1.00                        clasta	x0, p7, x0, z31.d
+# CHECK-NEXT:  1      3     1.00                        clasta	z0.b, p7, z0.b, z31.b
+# CHECK-NEXT:  1      3     1.00                        clasta	z0.d, p7, z0.d, z31.d
+# CHECK-NEXT:  1      3     1.00                        clasta	z0.h, p7, z0.h, z31.h
+# CHECK-NEXT:  1      3     1.00                        clasta	z0.s, p7, z0.s, z31.s
+# CHECK-NEXT:  1      3     1.00                        clastb	b0, p7, b0, z31.b
+# CHECK-NEXT:  1      3     1.00                        clastb	d0, p7, d0, z31.d
+# CHECK-NEXT:  1      3     1.00                        clastb	h0, p7, h0, z31.h
+# CHECK-NEXT:  1      3     1.00                        clastb	s0, p7, s0, z31.s
+# CHECK-NEXT:  1      8     1.00                        clastb	w0, p7, w0, z31.b
+# CHECK-NEXT:  1      8     1.00                        clastb	w0, p7, w0, z31.h
+# CHECK-NEXT:  1      8     1.00                        clastb	w0, p7, w0, z31.s
+# CHECK-NEXT:  1      8     1.00                        clastb	x0, p7, x0, z31.d
+# CHECK-NEXT:  1      3     1.00                        clastb	z0.b, p7, z0.b, z31.b
+# CHECK-NEXT:  1      3     1.00                        clastb	z0.d, p7, z0.d, z31.d
+# CHECK-NEXT:  1      3     1.00                        clastb	z0.h, p7, z0.h, z31.h
+# CHECK-NEXT:  1      3     1.00                        clastb	z0.s, p7, z0.s, z31.s
+# CHECK-NEXT:  1      2     0.50                        cls	z31.b, p7/m, z31.b
+# CHECK-NEXT:  1      2     0.50                        cls	z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      2     0.50                        cls	z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      2     0.50                        cls	z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      2     0.50                        clz	z31.b, p7/m, z31.b
+# CHECK-NEXT:  1      2     0.50                        clz	z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      2     0.50                        clz	z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      2     0.50                        clz	z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      4     0.50                        cmla	z0.b, z1.b, z2.b, #0
+# CHECK-NEXT:  1      4     0.50                        cmla	z0.d, z1.d, z2.d, #0
+# CHECK-NEXT:  1      4     0.50                        cmla	z0.h, z1.h, z2.h, #0
+# CHECK-NEXT:  1      4     0.50                        cmla	z0.h, z1.h, z2.h[0], #0
+# CHECK-NEXT:  1      4     0.50                        cmla	z0.s, z1.s, z2.s, #0
+# CHECK-NEXT:  1      4     0.50                        cmla	z0.s, z1.s, z2.s[0], #0
+# CHECK-NEXT:  1      4     0.50                        cmla	z15.b, z16.b, z17.b, #270
+# CHECK-NEXT:  1      4     0.50                        cmla	z15.d, z16.d, z17.d, #270
+# CHECK-NEXT:  1      4     0.50                        cmla	z15.h, z16.h, z17.h, #270
+# CHECK-NEXT:  1      4     0.50                        cmla	z15.s, z16.s, z17.s, #270
+# CHECK-NEXT:  1      4     0.50                        cmla	z29.b, z30.b, z31.b, #90
+# CHECK-NEXT:  1      4     0.50                        cmla	z29.d, z30.d, z31.d, #90
+# CHECK-NEXT:  1      4     0.50                        cmla	z29.h, z30.h, z31.h, #90
+# CHECK-NEXT:  1      4     0.50                        cmla	z29.s, z30.s, z31.s, #90
+# CHECK-NEXT:  1      4     0.50                        cmla	z31.b, z31.b, z31.b, #180
+# CHECK-NEXT:  1      4     0.50                        cmla	z31.d, z31.d, z31.d, #180
+# CHECK-NEXT:  1      4     0.50                        cmla	z31.h, z30.h, z7.h[0], #180
+# CHECK-NEXT:  1      4     0.50                        cmla	z31.h, z31.h, z31.h, #180
+# CHECK-NEXT:  1      4     0.50                        cmla	z31.s, z30.s, z7.s[0], #180
+# CHECK-NEXT:  1      4     0.50                        cmla	z31.s, z31.s, z31.s, #180
+# CHECK-NEXT:  1      3     1.00                        cmpeq	p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT:  1      3     1.00                        cmpeq	p0.b, p0/z, z0.b, #15
+# CHECK-NEXT:  1      3     1.00                        cmpeq	p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT:  1      3     1.00                        cmpeq	p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpeq	p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT:  1      3     1.00                        cmpeq	p0.d, p0/z, z0.d, #15
+# CHECK-NEXT:  1      3     1.00                        cmpeq	p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpeq	p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT:  1      3     1.00                        cmpeq	p0.h, p0/z, z0.h, #15
+# CHECK-NEXT:  1      3     1.00                        cmpeq	p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpeq	p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT:  1      3     1.00                        cmpeq	p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT:  1      3     1.00                        cmpeq	p0.s, p0/z, z0.s, #15
+# CHECK-NEXT:  1      3     1.00                        cmpeq	p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpeq	p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.b, p0/z, z0.b, #15
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.d, p0/z, z0.d, #15
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.h, p0/z, z0.h, #15
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.s, p0/z, z0.s, #15
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT:  1      3     1.00                        cmpge	p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.b, p0/z, z0.b, #15
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.d, p0/z, z0.d, #15
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.h, p0/z, z0.h, #15
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.s, p0/z, z0.s, #15
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT:  1      3     1.00                        cmpgt	p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.b, p0/z, z0.b, #0
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.b, p0/z, z0.b, #127
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.d, p0/z, z0.d, #0
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.d, p0/z, z0.d, #127
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.h, p0/z, z0.h, #0
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.h, p0/z, z0.h, #127
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.s, p0/z, z0.s, #0
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.s, p0/z, z0.s, #127
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT:  1      3     1.00                        cmphi	p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.b, p0/z, z0.b, #0
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.b, p0/z, z0.b, #127
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.d, p0/z, z0.d, #0
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.d, p0/z, z0.d, #127
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.h, p0/z, z0.h, #0
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.h, p0/z, z0.h, #127
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.s, p0/z, z0.s, #0
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.s, p0/z, z0.s, #127
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT:  1      3     1.00                        cmphs	p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  1      3     1.00                        cmple	p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT:  1      3     1.00                        cmple	p0.b, p0/z, z0.b, #15
+# CHECK-NEXT:  1      3     1.00                        cmple	p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmple	p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT:  1      3     1.00                        cmple	p0.d, p0/z, z0.d, #15
+# CHECK-NEXT:  1      3     1.00                        cmple	p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT:  1      3     1.00                        cmple	p0.h, p0/z, z0.h, #15
+# CHECK-NEXT:  1      3     1.00                        cmple	p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmple	p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT:  1      3     1.00                        cmple	p0.s, p0/z, z0.s, #15
+# CHECK-NEXT:  1      3     1.00                        cmple	p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmplo	p0.b, p0/z, z0.b, #0
+# CHECK-NEXT:  1      3     1.00                        cmplo	p0.b, p0/z, z0.b, #127
+# CHECK-NEXT:  1      3     1.00                        cmplo	p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmplo	p0.d, p0/z, z0.d, #0
+# CHECK-NEXT:  1      3     1.00                        cmplo	p0.d, p0/z, z0.d, #127
+# CHECK-NEXT:  1      3     1.00                        cmplo	p0.h, p0/z, z0.h, #0
+# CHECK-NEXT:  1      3     1.00                        cmplo	p0.h, p0/z, z0.h, #127
+# CHECK-NEXT:  1      3     1.00                        cmplo	p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmplo	p0.s, p0/z, z0.s, #0
+# CHECK-NEXT:  1      3     1.00                        cmplo	p0.s, p0/z, z0.s, #127
+# CHECK-NEXT:  1      3     1.00                        cmplo	p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpls	p0.b, p0/z, z0.b, #0
+# CHECK-NEXT:  1      3     1.00                        cmpls	p0.b, p0/z, z0.b, #127
+# CHECK-NEXT:  1      3     1.00                        cmpls	p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpls	p0.d, p0/z, z0.d, #0
+# CHECK-NEXT:  1      3     1.00                        cmpls	p0.d, p0/z, z0.d, #127
+# CHECK-NEXT:  1      3     1.00                        cmpls	p0.h, p0/z, z0.h, #0
+# CHECK-NEXT:  1      3     1.00                        cmpls	p0.h, p0/z, z0.h, #127
+# CHECK-NEXT:  1      3     1.00                        cmpls	p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpls	p0.s, p0/z, z0.s, #0
+# CHECK-NEXT:  1      3     1.00                        cmpls	p0.s, p0/z, z0.s, #127
+# CHECK-NEXT:  1      3     1.00                        cmpls	p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmplt	p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT:  1      3     1.00                        cmplt	p0.b, p0/z, z0.b, #15
+# CHECK-NEXT:  1      3     1.00                        cmplt	p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmplt	p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT:  1      3     1.00                        cmplt	p0.d, p0/z, z0.d, #15
+# CHECK-NEXT:  1      3     1.00                        cmplt	p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT:  1      3     1.00                        cmplt	p0.h, p0/z, z0.h, #15
+# CHECK-NEXT:  1      3     1.00                        cmplt	p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmplt	p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT:  1      3     1.00                        cmplt	p0.s, p0/z, z0.s, #15
+# CHECK-NEXT:  1      3     1.00                        cmplt	p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpne	p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT:  1      3     1.00                        cmpne	p0.b, p0/z, z0.b, #15
+# CHECK-NEXT:  1      3     1.00                        cmpne	p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT:  1      3     1.00                        cmpne	p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpne	p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT:  1      3     1.00                        cmpne	p0.d, p0/z, z0.d, #15
+# CHECK-NEXT:  1      3     1.00                        cmpne	p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpne	p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT:  1      3     1.00                        cmpne	p0.h, p0/z, z0.h, #15
+# CHECK-NEXT:  1      3     1.00                        cmpne	p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpne	p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT:  1      3     1.00                        cmpne	p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT:  1      3     1.00                        cmpne	p0.s, p0/z, z0.s, #15
+# CHECK-NEXT:  1      3     1.00                        cmpne	p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      3     1.00                        cmpne	p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT:  1      2     0.50                        cnot	z31.b, p7/m, z31.b
+# CHECK-NEXT:  1      2     0.50                        cnot	z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      2     0.50                        cnot	z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      2     0.50                        cnot	z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      2     0.50                        cnt	z31.b, p7/m, z31.b
+# CHECK-NEXT:  1      2     0.50                        cnt	z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      2     0.50                        cnt	z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      2     0.50                        cnt	z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      1     0.13                        cntb	x0
+# CHECK-NEXT:  1      1     0.13                        cntb	x0, #28
+# CHECK-NEXT:  1      1     0.13                        cntb	x0, all, mul #16
+# CHECK-NEXT:  1      1     0.13                        cntb	x0, pow2
+# CHECK-NEXT:  1      1     0.13                        cntd	x0
+# CHECK-NEXT:  1      1     0.13                        cntd	x0, #28
+# CHECK-NEXT:  1      1     0.13                        cntd	x0, all, mul #16
+# CHECK-NEXT:  1      1     0.13                        cntd	x0, pow2
+# CHECK-NEXT:  1      1     0.13                        cnth	x0
+# CHECK-NEXT:  1      1     0.13                        cnth	x0, #28
+# CHECK-NEXT:  1      1     0.13                        cnth	x0, all, mul #16
+# CHECK-NEXT:  1      1     0.13                        cnth	x0, pow2
+# CHECK-NEXT:  1      2     0.50                        cntp	x0, p15, p0.b
+# CHECK-NEXT:  1      2     0.50                        cntp	x0, p15, p0.d
+# CHECK-NEXT:  1      2     0.50                        cntp	x0, p15, p0.h
+# CHECK-NEXT:  1      2     0.50                        cntp	x0, p15, p0.s
+# CHECK-NEXT:  1      1     0.13                        cntw	x0
+# CHECK-NEXT:  1      1     0.13                        cntw	x0, #28
+# CHECK-NEXT:  1      1     0.13                        cntw	x0, all, mul #16
+# CHECK-NEXT:  1      1     0.13                        cntw	x0, pow2
+# CHECK-NEXT:  1      3     1.00                        compact	z31.d, p7, z31.d
+# CHECK-NEXT:  1      3     1.00                        compact	z31.s, p7, z31.s
+# CHECK-NEXT:  1      1     0.50                        ctermeq	w30, wzr
+# CHECK-NEXT:  1      1     0.50                        ctermeq	wzr, w30
+# CHECK-NEXT:  1      1     0.50                        ctermeq	x30, xzr
+# CHECK-NEXT:  1      1     0.50                        ctermeq	xzr, x30
+# CHECK-NEXT:  1      1     0.50                        ctermne	w30, wzr
+# CHECK-NEXT:  1      1     0.50                        ctermne	wzr, w30
+# CHECK-NEXT:  1      1     0.50                        ctermne	x30, xzr
+# CHECK-NEXT:  1      1     0.50                        ctermne	xzr, x30
+# CHECK-NEXT:  1      1     0.13                        decb	x0
+# CHECK-NEXT:  1      1     0.13                        decb	x0, #14
+# CHECK-NEXT:  1      1     0.13                        decb	x0, all, mul #16
+# CHECK-NEXT:  1      1     0.13                        decb	x0, pow2
+# CHECK-NEXT:  1      1     0.13                        decb	x0, vl1
+# CHECK-NEXT:  1      1     0.13                        decd	x0
+# CHECK-NEXT:  1      1     0.13                        decd	x0, #14
+# CHECK-NEXT:  1      1     0.13                        decd	x0, all, mul #16
+# CHECK-NEXT:  1      1     0.13                        decd	x0, pow2
+# CHECK-NEXT:  1      1     0.13                        decd	x0, vl1
+# CHECK-NEXT:  1      1     0.13                        dech	x0
+# CHECK-NEXT:  1      1     0.13                        dech	x0, #14
+# CHECK-NEXT:  1      1     0.13                        dech	x0, all, mul #16
+# CHECK-NEXT:  1      1     0.13                        dech	x0, pow2
+# CHECK-NEXT:  1      1     0.13                        dech	x0, vl1
+# CHECK-NEXT:  1      2     0.50                        decp	x0, p0.b
+# CHECK-NEXT:  1      2     0.50                        decp	x0, p0.d
+# CHECK-NEXT:  1      2     0.50                        decp	x0, p0.h
+# CHECK-NEXT:  1      2     0.50                        decp	x0, p0.s
+# CHECK-NEXT:  1      2     0.50                        decp	xzr, p15.b
+# CHECK-NEXT:  1      2     0.50                        decp	xzr, p15.d
+# CHECK-NEXT:  1      2     0.50                        decp	xzr, p15.h
+# CHECK-NEXT:  1      2     0.50                        decp	xzr, p15.s
+# CHECK-NEXT:  1      7     1.00                        decp	z31.d, p15.d
+# CHECK-NEXT:  1      7     1.00                        decp	z31.h, p15.h
+# CHECK-NEXT:  1      7     1.00                        decp	z31.s, p15.s
+# CHECK-NEXT:  1      1     0.13                        decw	x0
+# CHECK-NEXT:  1      1     0.13                        decw	x0, #14
+# CHECK-NEXT:  1      1     0.13                        decw	x0, all, mul #16
+# CHECK-NEXT:  1      1     0.13                        decw	x0, pow2
+# CHECK-NEXT:  1      1     0.13                        decw	x0, vl1
+# CHECK-NEXT:  1      2     0.50                        dupm	z0.d, #0xfffffffffffffff9
+# CHECK-NEXT:  1      2     0.50                        dupm	z0.s, #0xfffffff9
+# CHECK-NEXT:  1      2     0.50                        dupm	z23.h, #0xfff9
+# CHECK-NEXT:  1      2     0.50                        dupm	z5.b, #0xf9
+# CHECK-NEXT:  1      2     0.50                        eor	p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT:  1      2     0.50                        eor	z0.d, z0.d, #0x6
+# CHECK-NEXT:  1      2     0.50                        eor	z0.d, z0.d, #0xfffffffffffffff9
+# CHECK-NEXT:  1      2     0.50                        eor	z0.d, z0.d, z0.d
+# CHECK-NEXT:  1      2     0.50                        eor	z0.s, z0.s, #0x6
+# CHECK-NEXT:  1      2     0.50                        eor	z0.s, z0.s, #0xfffffff9
+# CHECK-NEXT:  1      2     0.50                        eor	z23.d, z13.d, z8.d
+# CHECK-NEXT:  1      2     0.50                        eor	z23.h, z23.h, #0x6
+# CHECK-NEXT:  1      2     0.50                        eor	z23.h, z23.h, #0xfff9
+# CHECK-NEXT:  1      2     0.50                        eor	z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  1      2     0.50                        eor	z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  1      2     0.50                        eor	z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  1      2     0.50                        eor	z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  1      2     0.50                        eor	z5.b, z5.b, #0x6
+# CHECK-NEXT:  1      2     0.50                        eor	z5.b, z5.b, #0xf9
+# CHECK-NEXT:  1      2     0.50                        eor3	z29.d, z29.d, z30.d, z31.d
+# CHECK-NEXT:  1      2     0.50                        eorbt	z0.b, z1.b, z31.b
+# CHECK-NEXT:  1      2     0.50                        eorbt	z0.d, z1.d, z31.d
+# CHECK-NEXT:  1      2     0.50                        eorbt	z0.h, z1.h, z31.h
+# CHECK-NEXT:  1      2     0.50                        eorbt	z0.s, z1.s, z31.s
+# CHECK-NEXT:  1      2     0.50                        eors	p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT:  1      2     0.50                        eortb	z0.b, z1.b, z31.b
+# CHECK-NEXT:  1      2     0.50                        eortb	z0.d, z1.d, z31.d
+# CHECK-NEXT:  1      2     0.50                        eortb	z0.h, z1.h, z31.h
+# CHECK-NEXT:  1      2     0.50                        eortb	z0.s, z1.s, z31.s
+# CHECK-NEXT:  1      4     1.00                        eorv	b0, p7, z31.b
+# CHECK-NEXT:  1      4     1.00                        eorv	d0, p7, z31.d
+# CHECK-NEXT:  1      4     1.00                        eorv	h0, p7, z31.h
+# CHECK-NEXT:  1      4     1.00                        eorv	s0, p7, z31.s
+# CHECK-NEXT:  1      2     0.50                        ext	z0.b, { z1.b, z2.b }, #0
+# CHECK-NEXT:  1      2     0.50                        ext	z31.b, z31.b, z0.b, #0
+# CHECK-NEXT:  1      2     0.50                        ext	z31.b, z31.b, z0.b, #255
+# CHECK-NEXT:  1      2     0.50                        ext	z31.b, { z30.b, z31.b }, #255
+# CHECK-NEXT:  1      2     0.50                        fabd	z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      2     0.50                        fabd	z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  1      2     0.50                        fabd	z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      2     0.50                        fabs	z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      2     0.50                        fabs	z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      2     0.50                        fabs	z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      2     1.00                        facge	p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT:  1      2     1.00                        facge	p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  1      2     1.00                        facge	p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT:  1      2     1.00                        facge	p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  1      2     1.00                        facge	p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT:  1      2     1.00                        facge	p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  1      2     1.00                        facgt	p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT:  1      2     1.00                        facgt	p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  1      2     1.00                        facgt	p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT:  1      2     1.00                        facgt	p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  1      2     1.00                        facgt	p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT:  1      2     1.00                        facgt	p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  1      2     0.50                        fadd	z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT:  1      2     0.50                        fadd	z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      2     0.50                        fadd	z0.d, z1.d, z31.d
+# CHECK-NEXT:  1      2     0.50                        fadd	z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT:  1      2     0.50                        fadd	z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  1      2     0.50                        fadd	z0.h, z1.h, z31.h
+# CHECK-NEXT:  1      2     0.50                        fadd	z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT:  1      2     0.50                        fadd	z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      2     0.50                        fadd	z0.s, z1.s, z31.s
+# CHECK-NEXT:  1      2     0.50                        fadd	z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT:  1      2     0.50                        fadd	z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT:  1      2     0.50                        fadd	z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT:  1      4     0.50                        fadda	d0, p7, d0, z31.d
+# CHECK-NEXT:  1      10    1.00                        fadda	h0, p7, h0, z31.h
+# CHECK-NEXT:  1      6     1.00                        fadda	s0, p7, s0, z31.s
+# CHECK-NEXT:  1      2     0.50                        faddp	z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT:  1      2     0.50                        faddp	z29.s, p3/m, z29.s, z30.s
+# CHECK-NEXT:  1      2     0.50                        faddp	z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT:  1      4     0.50                        faddv	d0, p7, z31.d
+# CHECK-NEXT:  1      8     0.50                        faddv	h0, p7, z31.h
+# CHECK-NEXT:  1      6     0.50                        faddv	s0, p7, z31.s
----------------
Asher8118 wrote:

Throughput needs correction, should be L8 T1/2 and L6 T2/3 and L4 T1.

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


More information about the llvm-commits mailing list