[llvm] [AArch64] Add C1-Nano scheduling model (PR #182316)
via llvm-commits
llvm-commits at lists.llvm.org
Thu May 7 07:49:48 PDT 2026
https://github.com/walkerkd updated https://github.com/llvm/llvm-project/pull/182316
>From a5801bfbb5e00146e3c63cf0d1516fe2cdaf2be9 Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Thu, 29 Jan 2026 16:35:43 +0000
Subject: [PATCH 01/22] [AArch64] Add C1-Nano scheduling model
Instead of using the Cortex-A510 scheduling model, C1-Nano now uses
its own scheduling model, based off of the C1-Nano Software
Optimization Guide:
https://developer.arm.com/documentation/109590/0001
Change-Id: I30b6eeb11af391cd353a7f01c81c98171ccfea96
---
llvm/lib/Target/AArch64/AArch64.td | 1 +
llvm/lib/Target/AArch64/AArch64Processors.td | 2 +-
llvm/lib/Target/AArch64/AArch64SchedC1Nano.td | 1401 +++
.../AArch64/C1/Nano-basic-instructions.s | 3875 ++++++
.../AArch64/C1/Nano-neon-instructions.s | 3213 +++++
.../AArch64/C1/Nano-sve-instructions.s | 10263 ++++++++++++++++
6 files changed, 18754 insertions(+), 1 deletion(-)
create mode 100644 llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
create mode 100644 llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s
create mode 100644 llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s
create mode 100644 llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s
diff --git a/llvm/lib/Target/AArch64/AArch64.td b/llvm/lib/Target/AArch64/AArch64.td
index db3b19fcf43dd..b6a3341360684 100644
--- a/llvm/lib/Target/AArch64/AArch64.td
+++ b/llvm/lib/Target/AArch64/AArch64.td
@@ -119,6 +119,7 @@ include "AArch64SchedA53.td"
include "AArch64SchedA55.td"
include "AArch64SchedA510.td"
include "AArch64SchedA57.td"
+include "AArch64SchedC1Nano.td"
include "AArch64SchedCyclone.td"
include "AArch64SchedFalkor.td"
include "AArch64SchedKryo.td"
diff --git a/llvm/lib/Target/AArch64/AArch64Processors.td b/llvm/lib/Target/AArch64/AArch64Processors.td
index 7803dacfcefa4..0eb77bea79944 100644
--- a/llvm/lib/Target/AArch64/AArch64Processors.td
+++ b/llvm/lib/Target/AArch64/AArch64Processors.td
@@ -1423,7 +1423,7 @@ def : ProcessorModel<"cortex-a520", CortexA510Model, ProcessorFeatures.A520,
[TuneA520]>;
def : ProcessorModel<"cortex-a520ae", CortexA510Model, ProcessorFeatures.A520AE,
[TuneA520AE]>;
-def : ProcessorModel<"c1-nano", CortexA510Model,
+def : ProcessorModel<"c1-nano", C1NanoModel,
ProcessorFeatures.C1Nano, [TuneC1Nano]>;
def : ProcessorModel<"cortex-a57", CortexA57Model, ProcessorFeatures.A53,
[TuneA57]>;
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
new file mode 100644
index 0000000000000..955e9d2fe750f
--- /dev/null
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
@@ -0,0 +1,1401 @@
+//==- AArch64SchedCortexNano.td - ARM C1-Nano Scheduling Definitions -*- tablegen -*-=//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the machine model for the ARM C1-Nano processor.
+//
+//===----------------------------------------------------------------------===//
+
+// ===---------------------------------------------------------------------===//
+// The following definitions describe the per-operand machine model.
+// This works with MachineScheduler. See MCSchedModel.h for details.
+
+// C1-Nano machine model for scheduling and other instruction cost heuristics.
+def C1NanoModel : SchedMachineModel {
+ let MicroOpBufferSize = 0; // The C1-Nano is an in-order processor
+ let IssueWidth = 3; // It dual-issues under most circumstances
+ let LoadLatency = 3; // Cycles for loads to access the cache.
+ // 2 is best case, 4 is normal case.
+ // 3 seems to be a good tradeoff
+ let PostRAScheduler = 1; // Enable PostRA scheduler pass.
+ let CompleteModel = 0; // Covers instructions applicable to C1-Nano.
+
+ // FIXME: Remove when all errors have been fixed.
+ let FullInstRWOverlapCheck = 0;
+}
+
+
+//===----------------------------------------------------------------------===//
+// Subtarget-specific SchedWrite types
+
+let SchedModel = C1NanoModel in {
+
+//===----------------------------------------------------------------------===//
+// Define each kind of processor resource and number available.
+
+// Modeling each pipeline as a ProcResource using the BufferSize = 0 since the
+// C1-Nano is in-order.
+let BufferSize = 0 in {
+ def C1NanoUnitALU0 : ProcResource<1>; // Int ALU0
+ def C1NanoUnitALU1 : ProcResource<2>; // Int ALU1
+ def C1NanoUnitMAC : ProcResource<1>; // Int MAC, 64-bit wide
+ def C1NanoUnitDiv : ProcResource<1>; // Int Division, not pipelined
+ // There are 2 LS pipes, 1 for Load/Store; 1 for Load only
+ def C1NanoUnitLdSt : ProcResource<1>; // Load/Store shared pipe
+ def C1NanoUnitLd1 : ProcResource<1>; // Load pipe
+ def C1NanoUnitB : ProcResource<1>; // Branch
+ def C1NanoUnitPAC : ProcResource<1>; // Pointer Authentication (PAC) pipe
+
+ // The FP DIV/SQRT instructions execute totally differently from the FP ALU
+ // instructions, which can mostly be dual-issued; that's why for now we model
+ // them with 2 resources.
+ def C1NanoUnitVALU0 : ProcResource<1>; // SIMD/FP/SVE ALU0
+ def C1NanoUnitVALU1 : ProcResource<1>; // SIMD/FP/SVE ALU1
+ def C1NanoUnitVMAC : ProcResource<2>; // SIMD/FP/SVE MAC
+ def C1NanoUnitVMC : ProcResource<1>; // SIMD/FP/SVE multicycle instrs (e.g Div, SQRT, cryptography)
+}
+
+def C1NanoUnitLd : ProcResGroup<[C1NanoUnitLdSt, C1NanoUnitLd1]>;
+def C1NanoUnitVALU : ProcResGroup<[C1NanoUnitVALU0, C1NanoUnitVALU1]>;
+def C1NanoUnitALU : ProcResGroup<[C1NanoUnitALU0, C1NanoUnitALU1]>;
+// These latencies are modeled without taking into account forwarding paths
+// (the software optimisation guide lists latencies taking into account
+// typical forwarding paths).
+def : WriteRes<WriteImm, [C1NanoUnitALU]> { let Latency = 1; } // MOVN, MOVZ
+def : WriteRes<WriteI, [C1NanoUnitALU]> { let Latency = 1; } // ALU
+def : WriteRes<WriteISReg, [C1NanoUnitALU]> { let Latency = 2; } // ALU of Shifted-Reg
+def : WriteRes<WriteIEReg, [C1NanoUnitALU]> { let Latency = 2; } // ALU of Extended-Reg
+def : WriteRes<WriteExtr, [C1NanoUnitALU]> { let Latency = 2; } // EXTR from a reg pair
+def : WriteRes<WriteIS, [C1NanoUnitALU]> { let Latency = 2; } // Shift/Scale
+
+// MAC
+def : WriteRes<WriteIM32, [C1NanoUnitMAC]> { let Latency = 3; } // 32-bit Multiply
+def : WriteRes<WriteIM64, [C1NanoUnitMAC]> { let Latency = 4; let ReleaseAtCycles = [2];} // 64-bit Multiply
+
+// Div
+def : WriteRes<WriteID32, [C1NanoUnitDiv]> {
+ let Latency = 8; let ReleaseAtCycles = [8];
+}
+def : WriteRes<WriteID64, [C1NanoUnitDiv]> {
+ let Latency = 16; let ReleaseAtCycles = [16];
+}
+
+//===----------------------------------------------------------------------===//
+// Define customized scheduler read/write types specific to the C1-Nano
+
+//===----------------------------------------------------------------------===//
+class C1NanoWrite<int n, ProcResourceKind res> : SchedWriteRes<[res]> {
+ let Latency = n;
+}
+
+class C1NanoMCWrite<int n, int m, ProcResourceKind res> : SchedWriteRes<[res]> {
+ let Latency = n;
+ let ReleaseAtCycles = [m];
+ let BeginGroup = 1;
+}
+
+class C1NanoMC_RC0Write<int n, ProcResourceKind res> : SchedWriteRes<[res]> {
+ let Latency = n;
+ let BeginGroup = 1;
+}
+
+//===----------------------------------------------------------------------===//
+// Define generic 2 micro-op types
+def C1NanoWrite_10cyc_1VMAC_1VALU : SchedWriteRes<[C1NanoUnitVALU, C1NanoUnitVMAC]> {
+ let Latency = 10;
+ let NumMicroOps = 2;
+}
+
+def C1NanoWrite_14cyc_1VMAC_1VALU : SchedWriteRes<[C1NanoUnitVALU, C1NanoUnitVMAC]> {
+ let Latency = 14;
+ let NumMicroOps = 2;
+}
+
+class C1NanoWrite_PAC_B <int lat> : SchedWriteRes<[C1NanoUnitPAC, C1NanoUnitB]> {
+ let Latency = lat;
+ let NumMicroOps = 2;
+}
+// Load
+def : WriteRes<WriteLD, [C1NanoUnitLd]> { let Latency = 2; }
+def : WriteRes<WriteLDIdx, [C1NanoUnitLd]> { let Latency = 2; }
+def : WriteRes<WriteLDHi, [C1NanoUnitLd]> { let Latency = 2; }
+
+// Pre/Post Indexing - Performed as part of address generation
+def : WriteRes<WriteAdr, []> { let Latency = 0; }
+
+// Store
+let RetireOOO = 1 in {
+def : WriteRes<WriteST, [C1NanoUnitLdSt]> { let Latency = 1; }
+def : WriteRes<WriteSTP, [C1NanoUnitLdSt]> { let Latency = 1; }
+def : WriteRes<WriteSTIdx, [C1NanoUnitLdSt]> { let Latency = 1; }
+}
+def : WriteRes<WriteSTX, [C1NanoUnitLdSt]> { let Latency = 3; }
+
+// Vector Store - Similar to vector loads, can take 1-3 cycles to issue.
+def : WriteRes<WriteVST, [C1NanoUnitLdSt]> { let Latency = 5;
+ let ReleaseAtCycles = [2];}
+
+def : WriteRes<WriteAtomic, []> { let Unsupported = 1; }
+
+// Branch
+def : WriteRes<WriteBr, [C1NanoUnitB]>;
+def : WriteRes<WriteBrReg, [C1NanoUnitB]>;
+def : WriteRes<WriteSys, [C1NanoUnitB]>;
+def : WriteRes<WriteBarrier, [C1NanoUnitB]>;
+def : WriteRes<WriteHint, [C1NanoUnitB]>;
+
+// FP ALU
+// As WriteF result is produced in F5 and it can be mostly forwarded
+// to consumer at F1, the effectively Latency is set as 4.
+def : WriteRes<WriteF, [C1NanoUnitVALU]> { let Latency = 4; }
+def : WriteRes<WriteFCmp, [C1NanoUnitVALU]> { let Latency = 3; }
+def : WriteRes<WriteFCvt, [C1NanoUnitVALU]> { let Latency = 4; }
+def : WriteRes<WriteFCopy, [C1NanoUnitVALU]> { let Latency = 3; }
+def : WriteRes<WriteFImm, [C1NanoUnitVALU]> { let Latency = 3; }
+
+class C1NanoVSt<int n> : SchedWriteRes<[C1NanoUnitLdSt]> {
+ let RetireOOO = 1;
+ let ReleaseAtCycles = [n];
+}
+
+def C1NanoVSt0 : SchedWriteRes<[C1NanoUnitLdSt]> {
+ let RetireOOO = 1;
+}
+
+def : SchedAlias<WriteVd, C1NanoWrite<4, C1NanoUnitVALU>>;
+def : SchedAlias<WriteVq, C1NanoWrite<4, C1NanoUnitVALU>>;
+
+// FP ALU specific new schedwrite definitions
+def C1NanoWriteFPALU_F3 : SchedWriteRes<[C1NanoUnitVALU]> { let Latency = 3;}
+def C1NanoWriteFPALU_F4 : SchedWriteRes<[C1NanoUnitVALU]> { let Latency = 4;}
+
+// FP Mul, Div, Sqrt. Div/Sqrt are not pipelined
+def : WriteRes<WriteFMul, [C1NanoUnitVMAC]> { let Latency = 4; }
+
+let RetireOOO = 1 in {
+def : WriteRes<WriteFDiv, [C1NanoUnitVMC]> { let Latency = 22;
+ let ReleaseAtCycles = [29]; }
+def C1NanoWriteVMAC : SchedWriteRes<[C1NanoUnitVMAC]> { let Latency = 4; }
+def C1NanoWriteFDivHP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 8;
+ let ReleaseAtCycles = [5]; }
+def C1NanoWriteFDivSP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 13;
+ let ReleaseAtCycles = [10]; }
+def C1NanoWriteFDivDP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 22;
+ let ReleaseAtCycles = [19]; }
+def C1NanoWriteFSqrtHP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 8;
+ let ReleaseAtCycles = [5]; }
+def C1NanoWriteFSqrtSP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 12;
+ let ReleaseAtCycles = [9]; }
+def C1NanoWriteFSqrtDP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 22;
+ let ReleaseAtCycles = [19]; }
+}
+//===----------------------------------------------------------------------===//
+// Subtarget-specific SchedRead types.
+
+def : ReadAdvance<ReadVLD, 0>;
+def : ReadAdvance<ReadExtrHi, 0>;
+def : ReadAdvance<ReadAdrBase, 0>;
+def : ReadAdvance<ReadST, 1>;
+
+def : ReadAdvance<ReadI, 0>;
+def : ReadAdvance<ReadISReg, 0>;
+def : ReadAdvance<ReadIEReg, 0>;
+
+
+// MUL
+def : ReadAdvance<ReadIM, 0>;
+def : ReadAdvance<ReadIMA, 2>;
+
+// Div
+def : ReadAdvance<ReadID, 0>;
+
+//===----------------------------------------------------------------------===//
+// Subtarget-specific InstRWs.
+
+def C1NanoWriteISReg : SchedWriteVariant<[
+ SchedVar<RegShiftedPred, [WriteISReg]>,
+ SchedVar<NoSchedPred, [WriteI]>]>;
+def : InstRW<[C1NanoWriteISReg], (instregex ".*rs$")>;
+def : InstRW<[WriteIS], (instrs RBITWr, RBITXr)>;
+
+// Pointer Authentication Instructions (v8.3 PAC)
+// -----------------------------------------------------------------------------
+
+// Compute pointer authentication code, using generic key
+def : InstRW<[C1NanoWrite<5, C1NanoUnitPAC>], (instrs PACGA)>;
+// Authenticate data address
+// Authenticate instruction address
+// Compute pointer authentication code for data address
+// Compute pointer authentication code for instruction address
+def : InstRW<[C1NanoWrite<4, C1NanoUnitPAC>], (instregex "^AUT", "^PAC")>;
+
+// Branch and link, register, with pointer authentication
+// Branch, register, with pointer authentication
+// Branch, return, with pointer authentication
+def : InstRW<[C1NanoWrite_PAC_B<1>], (instrs BLRAA, BLRAAZ, BLRAB, BLRABZ, BRAA,
+ BRAAZ, BRAB, BRABZ, RETAA, RETAB,
+ ERETAA, ERETAB)>;
+
+// Load register, with pointer authentication
+def : InstRW<[C1NanoWrite<2, C1NanoUnitPAC>], (instregex "^LDRA[AB](indexed|writeback)")>;
+
+// Strip pointer authentication code
+def : InstRW<[C1NanoWrite<4, C1NanoUnitPAC>], (instrs XPACD, XPACI, XPACLRI)>;
+
+//---
+// Load instructions
+//---
+def C1NanoWriteVLD1 : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 3; }
+def C1NanoWriteVLD1SI : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 3; let SingleIssue = 1; }
+def C1NanoWriteLDP1 : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 2; }
+def C1NanoWriteLDP2 : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 2; }
+def C1NanoWriteLDP4 : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 2; }
+
+def : InstRW<[C1NanoWriteVLD1SI, C1NanoWriteLDP1], (instregex "LDPS?Wi")>;
+def : InstRW<[C1NanoWriteVLD1, C1NanoWriteLDP1], (instregex "LDPSi")>;
+def : InstRW<[C1NanoWriteVLD1, C1NanoWriteLDP2], (instregex "LDP(X|D)i")>;
+def : InstRW<[C1NanoWriteVLD1, C1NanoWriteLDP4], (instregex "LDPQi")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD1SI, C1NanoWriteLDP1], (instregex "LDPS?W(pre|post)")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD1, C1NanoWriteLDP1], (instregex "LDPS(pre|post)")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD1, C1NanoWriteLDP2], (instregex "LDP(X|D)(pre|post)")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD1, C1NanoWriteLDP4], (instregex "LDPQ(pre|post)")>;
+def : InstRW<[WriteI], (instrs COPY)>;
+//---
+// Vector Loads - 128-bit per cycle
+//---
+// 1-element structures
+def C1NanoWriteVLD1Latency3: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 3; let ReleaseAtCycles = [1]; }
+def C1NanoWriteVLD1Latency4: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 4; let ReleaseAtCycles = [2]; }
+def C1NanoWriteVLD1Latency5: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5; let ReleaseAtCycles = [3]; }
+def C1NanoWriteVLD1Latency6: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 6; let ReleaseAtCycles = [5]; }
+
+def : InstRW<[C1NanoWriteVLD1Latency3], (instregex "LD1Onev(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
+def : InstRW<[C1NanoWriteVLD1Latency3], (instregex "LD1Twov(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
+def : InstRW<[C1NanoWriteVLD1Latency4], (instregex "LD1Threev(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
+def : InstRW<[C1NanoWriteVLD1Latency4], (instregex "LD1Fourv(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
+def : InstRW<[C1NanoWriteVLD1Latency3], (instregex "LD1i(8|16|32|64)$")>; // single element
+def : InstRW<[C1NanoWriteVLD1Latency3], (instregex "LD1Rv(8b|4h|2s|1d|16b|8h|4s|2d)$")>; // replicate
+
+def : InstRW<[WriteAdr, C1NanoWriteVLD1Latency3], (instregex "LD1Onev(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD1Latency3], (instregex "LD1Twov(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD1Latency4], (instregex "LD1Threev(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD1Latency4], (instregex "LD1Fourv(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD1Latency3], (instregex "LD1i(8|16|32|64)_POST$")>; // single element
+def : InstRW<[WriteAdr, C1NanoWriteVLD1Latency3], (instregex "LD1Rv(8b|4h|2s|1d|16b|8h|4s|2d)_POST$")>; // replicate
+
+// 2-element structures
+def C1NanoWriteVLD2Latency3: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 3; let ReleaseAtCycles = [2]; }
+def C1NanoWriteVLD2Latency4Release1: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 4; let ReleaseAtCycles = [1]; }
+def C1NanoWriteVLD2Latency4Release2: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 4; let ReleaseAtCycles = [2]; }
+def C1NanoWriteVLD2Latency4Release4: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 4; let ReleaseAtCycles = [4]; }
+
+def : InstRW<[C1NanoWriteVLD2Latency4Release1], (instregex "LD2Twov(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
+def : InstRW<[C1NanoWriteVLD2Latency4Release4], (instregex "LD2i(8|16|32|64)$")>;
+def : InstRW<[C1NanoWriteVLD2Latency3], (instregex "LD2Rv(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
+
+def : InstRW<[WriteAdr, C1NanoWriteVLD2Latency4Release1], (instregex "LD2Twov(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD2Latency4Release4], (instregex "LD2i(8|16|32|64)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD2Latency3], (instregex "LD2Rv(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
+
+// 3-element structures
+def C1NanoWriteVLD3Latency4Release2: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 4; let ReleaseAtCycles = [2]; }
+def C1NanoWriteVLD3Latency5Release3: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5; let ReleaseAtCycles = [3]; }
+def C1NanoWriteVLD3Latency5Release5: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5; let ReleaseAtCycles = [5]; }
+
+def : InstRW<[C1NanoWriteVLD3Latency5Release3], (instregex "LD3Threev(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
+def : InstRW<[C1NanoWriteVLD3Latency5Release5], (instregex "LD3i(8|16|32|64)$")>;
+def : InstRW<[C1NanoWriteVLD3Latency4Release2], (instregex "LD3Rv(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
+
+def : InstRW<[WriteAdr, C1NanoWriteVLD3Latency5Release3], (instregex "LD3Threev(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD3Latency5Release5], (instregex "LD3i(8|16|32|64)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD3Latency4Release2], (instregex "LD3Rv(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
+
+// 4-element structures
+def C1NanoWriteVLD4Latency4Release2: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 4; let ReleaseAtCycles = [2]; }
+def C1NanoWriteVLD4Latency5Release3: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5; let ReleaseAtCycles = [3]; }
+def C1NanoWriteVLD4Latency6Release5: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 6; let ReleaseAtCycles = [5]; }
+
+def : InstRW<[C1NanoWriteVLD4Latency5Release3], (instregex "LD4Fourv(8b|16b|4h|8b|2s|4s|1d|2d)$")>;
+def : InstRW<[C1NanoWriteVLD4Latency6Release5], (instregex "LD4i(8|16|32|64)$")>;
+def : InstRW<[C1NanoWriteVLD4Latency4Release2], (instregex "LD4Rv(8b|16b|4h|8b|2s|4s|1d|2d)$")>;
+
+def : InstRW<[WriteAdr, C1NanoWriteVLD4Latency5Release3], (instregex "LD4Fourv(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD4Latency6Release5], (instregex "LD4i(8|16|32|64)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD4Latency4Release2], (instregex "LD4Rv(8b|16b|4h|8b|2s|4s|1d|2d)_POST$")>;
+
+//---
+// Vector Stores
+//---
+// 1 Element structures
+def C1NanoWriteVST1 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 4; }
+def C1NanoWriteVST2 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5;
+ let ReleaseAtCycles = [2]; }
+def C1NanoWriteVST3 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5;
+ let ReleaseAtCycles = [3]; }
+def C1NanoWriteVST4 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5;
+ let ReleaseAtCycles = [4]; }
+
+def : InstRW<[C1NanoWriteVST1], (instregex "ST1i(8|16|32|64)$")>;
+def : InstRW<[C1NanoWriteVST1], (instregex "ST1Onev(8b|4h|2s|1d)$")>;
+def : InstRW<[C1NanoWriteVST2], (instregex "ST1Onev(16b|8h|4s|2d)$")>;
+def : InstRW<[C1NanoWriteVST1], (instregex "ST1Twov(8b|4h|2s|1d)$")>;
+def : InstRW<[C1NanoWriteVST2], (instregex "ST1Twov(16b|8h|4s|2d)$")>;
+def : InstRW<[C1NanoWriteVST2], (instregex "ST1Threev(8b|4h|2s|1d|16b|8h|4s|2d)$")>;
+def : InstRW<[C1NanoWriteVST4], (instregex "ST1Fourv(8b|4h|2s|1d|16b|8h|4s|2d)$")>;
+
+def : InstRW<[WriteAdr, C1NanoWriteVST1], (instregex "ST1i(8|16|32|64)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST1], (instregex "ST1Onev(8b|4h|2s|1d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST2], (instregex "ST1Onev(16b|8h|4s|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST1], (instregex "ST1Twov(8b|4h|2s|1d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST2], (instregex "ST1Twov(16b|8h|4s|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST2], (instregex "ST1Threev(8b|4h|2s|1d|16b|8h|4s|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST4], (instregex "ST1Fourv(8b|4h|2s|1d|16b|8h|4s|2d)_POST$")>;
+
+// 2 Element structures
+def : InstRW<[C1NanoWriteVST2], (instregex "ST2i(8|16|32|64)$")>;
+def : InstRW<[C1NanoWriteVST2], (instregex "ST2Twov(8b|4h|2s)$")>;
+def : InstRW<[C1NanoWriteVST4], (instregex "ST2Twov(16b|8h|4s|2d)$")>;
+
+def : InstRW<[WriteAdr, C1NanoWriteVST2], (instregex "ST2i(8|16|32|64)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST2], (instregex "ST2Twov(8b|4h|2s)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST4], (instregex "ST2Twov(16b|8h|4s|2d)_POST$")>;
+
+// 3 Element structures
+def : InstRW<[C1NanoWriteVST2], (instregex "ST3i(8|16|32|64)$")>;
+def : InstRW<[C1NanoWriteVST4], (instregex "ST3Threev(8b|4h|2s|1d|16b|8h|4s|2d)$")>;
+
+def : InstRW<[WriteAdr, C1NanoWriteVST2], (instregex "ST3i(8|16|32|64)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST4], (instregex "ST3Threev(8b|4h|2s|1d|2d|16b|8h|4s|4d)_POST$")>;
+
+// 4 Element structures
+def : InstRW<[C1NanoWriteVST2], (instregex "ST4i(8|16|32|64)$")>;
+def : InstRW<[C1NanoWriteVST4], (instregex "ST4Fourv(8b|4h|2s|1d|16b|8h|4s|2d)$")>;
+
+def : InstRW<[WriteAdr, C1NanoWriteVST2], (instregex "ST4i(8|16|32|64)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST4], (instregex "ST4Fourv(8b|4h|2s|1d|16b|8h|4s|2d)_POST$")>;
+
+//---
+// Floating Point Conversions, MAC, DIV, SQRT
+//---
+def : InstRW<[C1NanoWriteFPALU_F3], (instregex "^DUP(v2i64|v4i32|v8i16|v16i8)")>;
+def : InstRW<[C1NanoWriteFPALU_F4], (instregex "^XTN")>;
+def : InstRW<[C1NanoWriteFPALU_F4], (instregex "^FCVT[ALMNPZ][SU](S|U)?(W|X)")>;
+def : InstRW<[C1NanoWriteFPALU_F4], (instregex "^FCVT(X)?[ALMNPXZ](S|U|N)?v")>;
+
+def : InstRW<[C1NanoWriteFPALU_F4], (instregex "^(S|U)CVTF(S|U)(W|X)(H|S|D)")>;
+def : InstRW<[C1NanoWriteFPALU_F4], (instregex "^(S|U)CVTF(h|s|d)")>;
+def : InstRW<[C1NanoWriteFPALU_F4], (instregex "^(S|U)CVTFv")>;
+
+def : InstRW<[C1NanoWriteVMAC], (instregex "^FN?M(ADD|SUB).*")>;
+def : InstRW<[C1NanoWriteVMAC], (instregex "^FML(A|S)v.*")>;
+def : InstRW<[C1NanoWriteFDivHP], (instrs FDIVHrr)>;
+def : InstRW<[C1NanoWriteFDivSP], (instrs FDIVSrr)>;
+def : InstRW<[C1NanoWriteFDivDP], (instrs FDIVDrr)>;
+def : InstRW<[C1NanoWriteFDivHP], (instregex "^FDIVv.*16$")>;
+def : InstRW<[C1NanoWriteFDivSP], (instregex "^FDIVv.*32$")>;
+def : InstRW<[C1NanoWriteFDivDP], (instregex "^FDIVv.*64$")>;
+def : InstRW<[C1NanoWriteFSqrtHP], (instregex "^.*SQRT.*16$")>;
+def : InstRW<[C1NanoWriteFSqrtSP], (instregex "^.*SQRT.*32$")>;
+def : InstRW<[C1NanoWriteFSqrtDP], (instregex "^.*SQRT.*64$")>;
+
+def : InstRW<[C1NanoWriteFPALU_F3], (instrs FCSELHrrr, FCSELSrrr, FCSELDrrr)>;
+
+// 4.15. Advanced SIMD integer instructions
+// ASIMD absolute diff
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]ABDv(2i32|4i16|8i8)")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]ABDv(16i8|4i32|8i16)")>;
+// ASIMD absolute diff accum
+def : InstRW<[C1NanoWrite<6, C1NanoUnitVALU>], (instregex "[SU]ABAL?v")>;
+// ASIMD absolute diff long
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]ABDLv")>;
+// ASIMD arith #1
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "(ADD|SUB|NEG)v",
+ "[SU]R?HADDv", "[SU]HSUBv")>;
+// ASIMD arith #2
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "ABSv(1i64|2i32|4i16|8i8)$",
+ "[SU]ADDLPv(2i32_v1i64|4i16_v2i32|8i8_v4i16)$",
+ "ADDPv(2i32|4i16|8i8)$")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "([SU]QADD|[SU]QSUB|SQNEG|SUQADD|USQADD)v(1i16|1i32|1i64|1i8|2i32|4i16|8i8)$")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "ABSv(2i64|4i32|8i16|16i8)$",
+ "[SU]ADDLPv(16i8_v8i16|4i32_v2i64|8i16_v4i32)$",
+ "ADDPv(16i8|2i64|4i32|8i16)$")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "([SU]QADD|[SU]QSUB|SQNEG|SUQADD|USQADD)v(16i8|2i64|4i32|8i16)$")>;
+// ASIMD arith #3
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "SADDLv", "UADDLv", "SADDWv",
+ "UADDWv", "SSUBLv", "USUBLv", "SSUBWv", "USUBWv")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "ADDHNv", "SUBHNv")>;
+// ASIMD arith #5
+def : InstRW<[C1NanoWrite<8, C1NanoUnitVALU>], (instregex "RADDHNv", "RSUBHNv")>;
+// ASIMD arith, reduce
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "ADDVv")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "SADDLVv", "UADDLVv")>;
+// ASIMD compare #1
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "CM(EQ|GE|GT|HI|HS|LE|LT)v(1i64|2i32|4i16|8i8)")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "CM(EQ|GE|GT|HI|HS|LE|LT)v(2i64|4i32|8i16|16i8)")>;
+// ASIMD compare #2
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "CMTSTv(1i64|2i32|4i16|8i8)")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "CMTSTv(2i64|4i32|8i16|16i8)")>;
+// ASIMD logical $1
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "(AND|EOR|NOT|ORN)v8i8",
+ "(ORR|BIC)v(2i32|4i16|8i8)$", "MVNIv(2i|2s|4i16)")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "(AND|EOR|NOT|ORN)v16i8",
+ "(ORR|BIC)v(16i8|4i32|8i16)$", "MVNIv(4i32|4s|8i16)")>;
+// ASIMD max/min, basic
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU](MIN|MAX)P?v(2i32|4i16|8i8)")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU](MIN|MAX)P?v(16i8|4i132|8i16)")>;
+// SIMD max/min, reduce
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU](MAX|MIN)Vv")>;
+// ASIMD multiply, by element
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "MULv(2i32|4i16|4i32|8i16)_indexed$",
+ "SQR?DMULHv(1i16|1i32|2i32|4i16|4i32|8i16)_indexed$")>;
+// ASIMD multiply
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs PMULv8i8)>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs PMULv16i8)>;
+// ASIMD multiply accumulate
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "ML[AS]v(2i32|4i16|8i8)$")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "ML[AS]v(16i8|4i32|8i16)$")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "ML[AS]v(2i32|4i16|4i32|8i16)_indexed$")>;
+// ASIMD multiply accumulate half
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "SQRDML[AS]H[vi]")>;
+// ASIMD multiply accumulate long
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]ML[AS]Lv")>;
+// ASIMD multiply accumulate long #2
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "SQDML[AS]L[iv]")>;
+// ASIMD dot product
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]DOTv8i8")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]DOTv16i8")>;
+// ASIMD dot product, by scalar
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]DOTlanev")>;
+// ASIMD multiply long
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]MULLv", "SQDMULL[iv]")>;
+// ASIMD polynomial (8x8) multiply long
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs PMULLv8i8, PMULLv16i8)>;
+// ASIMD pairwise add and accumulate
+def : InstRW<[C1NanoMCWrite<7, 2, C1NanoUnitVALU>], (instregex "[SU]ADALPv")>;
+// ASIMD shift accumulate
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]SRA(d|v2i32|v4i16|v8i8)")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]SRAv(16i8|2i64|4i32|8i16)")>;
+// ASIMD shift accumulate #2
+def : InstRW<[C1NanoMCWrite<7, 2, C1NanoUnitVALU>], (instregex "[SU]RSRA[vd]")>;
+// ASIMD shift by immed
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "SHLd$", "SHLv",
+ "SLId$", "SRId$", "[SU]SHR[vd]", "SHRNv")>;
+// ASIMD shift by immed
+// SXTL and UXTL are aliases for SHLL
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[US]?SHLLv")>;
+// ASIMD shift by immed #2
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]RSHR(d|v2i32|v4i16|v8i8)",
+ "[SU]RSHRv(16i8|2i64|4i32|8i16)")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "RSHRNv(2i32|4i16|8i8)",
+ "RSHRNv(16i8|4i32|8i16)")>;
+// ASIMD shift by register
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]SHLv(1i64|2i32|4i16|8i8)")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]SHLv(2i64|4i32|8i16|16i8)")>;
+// ASIMD shift by register #2
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]RSHLv(1i64|2i32|4i16|8i8)")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]RSHLv(2i64|4i32|8i16|16i8)")>;
+
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]QSHLv(1i64|2i32|4i16|8i8)")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]QSHLv(2i64|4i32|8i16|16i8)")>;
+
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]QRSHLv(1i64|2i32|4i16|8i8)")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]QRSHLv(2i64|4i32|8i16|16i8)")>;
+
+// Cryptography extensions
+// -----------------------------------------------------------------------------
+
+// Crypto AES ops
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^AES[DE]rr$", "^AESI?MCrr")>;
+
+// Crypto polynomial (64x64) multiply long
+def : InstRW<[C1NanoMCWrite<4, 0, C1NanoUnitVMC>], (instrs PMULLv1i64, PMULLv2i64)>;
+
+// Crypto SHA1 hash acceleration op
+// Crypto SHA1 schedule acceleration ops
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^SHA1(H|SU0|SU1)")>;
+
+// Crypto SHA1 hash acceleration ops
+// Crypto SHA256 hash acceleration ops
+def : InstRW<[C1NanoMCWrite<4, 0, C1NanoUnitVMC>], (instregex "^SHA1[CMP]", "^SHA256H2?")>;
+
+// Crypto SHA256 schedule acceleration ops
+def : InstRW<[C1NanoMCWrite<4, 0, C1NanoUnitVMC>], (instregex "^SHA256SU[01]")>;
+
+// Crypto SHA512 hash acceleration ops
+def : InstRW<[C1NanoMCWrite<9, 0, C1NanoUnitVMC>], (instregex "^SHA512(H|H2|SU0|SU1)")>;
+
+// Crypto SHA3 ops
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instrs BCAX, EOR3)>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs XAR)>;
+def : InstRW<[C1NanoMCWrite<9, 0, C1NanoUnitVMC>], (instrs RAX1)>;
+
+
+// Crypto SM3 ops
+def : InstRW<[C1NanoMCWrite<9, 0, C1NanoUnitVMC>], (instregex "^SM3PARTW[12]$", "^SM3SS1$",
+ "^SM3TT[12][AB]$")>;
+
+// Crypto SM4 ops
+def : InstRW<[C1NanoMCWrite<9, 0, C1NanoUnitVMC>], (instrs SM4E, SM4ENCKEY)>;
+
+// CRC
+// -----------------------------------------------------------------------------
+
+def : InstRW<[C1NanoMCWrite<2, 0, C1NanoUnitMAC>], (instregex "^CRC32")>;
+
+// SVE Predicate instructions
+
+// Loop control, based on predicate
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instrs BRKA_PPmP, BRKA_PPzP,
+ BRKB_PPmP, BRKB_PPzP)>;
+
+// Loop control, based on predicate and flag setting
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instrs BRKAS_PPzP, BRKBS_PPzP)>;
+
+// Loop control, propagating
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instrs BRKN_PPzP, BRKPA_PPzPP, BRKPB_PPzPP)>;
+
+// Loop control, propagating and flag setting
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instrs BRKNS_PPzP)>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>], (instrs BRKPAS_PPzPP, BRKPBS_PPzPP)>;
+
+
+// Loop control, based on GPR
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>],
+ (instregex "^WHILE(GE|GT|HI|HS|LE|LO|LS|LT)_P(WW|XX)_[BHSD]")>;
+
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instregex "^WHILE(RW|WR)_PXX_[BHSD]")>;
+
+// Loop terminate
+def : InstRW<[C1NanoWrite<1, C1NanoUnitALU>], (instregex "^CTERM(EQ|NE)_(WW|XX)")>;
+
+// Predicate counting scalar
+def : InstRW<[C1NanoWrite<1, C1NanoUnitALU>], (instrs ADDPL_XXI, ADDVL_XXI, RDVLI_XI)>;
+
+def : InstRW<[C1NanoWrite<1, C1NanoUnitALU>],
+ (instregex "^CNT[BHWD]_XPiI")>;
+
+def : InstRW<[C1NanoWrite<3, C1NanoUnitALU>],
+ (instregex "^(INC|DEC)[BHWD]_XPiI")>;
+
+def : InstRW<[C1NanoWrite<4, C1NanoUnitALU>],
+ (instregex "^(SQINC|SQDEC|UQINC|UQDEC)[BHWD]_[XW]Pi(Wd)?I")>;
+
+// Predicate counting scalar, active predicate
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>],
+ (instregex "^CNTP_XPP_[BHSD]")>;
+
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>],
+ (instregex "^(DEC|INC)P_XP_[BHSD]")>;
+
+def : InstRW<[C1NanoWrite<9, C1NanoUnitVALU0>],
+ (instregex "^(SQDEC|SQINC|UQDEC|UQINC)P_XP_[BHSD]",
+ "^(UQDEC|UQINC)P_WP_[BHSD]",
+ "^(SQDEC|SQINC|UQDEC|UQINC)P_XPWd_[BHSD]")>;
+
+
+// Predicate counting vector, active predicate
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
+ (instregex "^(DEC|INC|SQDEC|SQINC|UQDEC|UQINC)P_ZP_[HSD]")>;
+
+// Predicate logical
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>],
+ (instregex "^(AND|BIC|EOR|NAND|NOR|ORN|ORR)_PPzPP")>;
+
+// Predicate logical, flag setting
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>],
+ (instregex "^(ANDS|BICS|EORS|NANDS|NORS|ORNS|ORRS)_PPzPP")>;
+
+// Predicate reverse
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instregex "^REV_PP_[BHSD]")>;
+
+// Predicate select
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instrs SEL_PPPP)>;
+
+// Predicate set
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instregex "^PFALSE", "^PTRUE_[BHSD]")>;
+
+// Predicate set/initialize, set flags
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instregex "^PTRUES_[BHSD]")>;
+
+// Predicate find first/next
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instregex "^PFIRST_B", "^PNEXT_[BHSD]")>;
+
+// Predicate test
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instrs PTEST_PP, PTEST_PP_ANY, PTEST_PP_FIRST)>;
+
+// Predicate transpose
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instregex "^TRN[12]_PPP_[BHSDQ]")>;
+
+// Predicate unpack and widen
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instrs PUNPKHI_PP, PUNPKLO_PP)>;
+
+// Predicate zip/unzip
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instregex "^(ZIP|UZP)[12]_PPP_[BHSDQ]")>;
+
+
+// SVE integer instructions
+// -----------------------------------------------------------------------------
+// Arithmetic, absolute diff
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^[SU]ABD_(ZPmZ|ZPZZ)_[BHSD]")>;
+
+// Arithmetic, absolute diff accum
+def : InstRW<[C1NanoMCWrite<6, 2, C1NanoUnitVALU>], (instregex "^[SU]ABA_ZZZ_[BHSD]")>;
+
+// Arithmetic, absolute diff accum long
+def : InstRW<[C1NanoMCWrite<6, 2, C1NanoUnitVALU>], (instregex "^[SU]ABAL[TB]_ZZZ_[HSD]")>;
+
+// Arithmetic, absolute diff long
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^[SU]ABDL[TB]_ZZZ_[HSD]")>;
+
+// Arithmetic, basic
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU>],
+ (instregex "^(ABS|CNOT|NEG)_ZPmZ_[BHSD]",
+ "^(ADD|SUB|SUBR)_ZPmZ_[BHSD]",
+ "^(ADD|SUB|SUBR)_ZPZZ_[BHSD]",
+ "^(ADD|SUB)_ZZZ_[BHSD]",
+ "^(ADD|SUB|SUBR)_ZI_[BHSD]",
+ "^ADR_[SU]XTW_ZZZ_D_[0123]",
+ "^ADR_LSL_ZZZ_[SD]_[0123]",
+ "^[SU]H(ADD|SUB|SUBR)_(ZPmZ|ZPZZ)_[BHSD]")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
+ (instregex "^[SU](ADD|SUB)[LW][BT]_ZZZ_[HSD]",
+ "^SADDLBT_ZZZ_[HSD]",
+ "^SSUBL(BT|TB)_ZZZ_[HSD]")>;
+
+// Arithmetic, complex
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
+ (instregex "^SQ(ABS|NEG)_ZPmZ_[BHSD]",
+ "^SQ(ADD|SUB|SUBR)_ZPmZ_?[BHSD]",
+ "^[SU]Q(ADD|SUB)_ZZZ_[BHSD]",
+ "^[SU]Q(ADD|SUB)_ZI_[BHSD]",
+ "^(SRH|SUQ|UQ|USQ|URH)ADD_ZPmZ_[BHSD]",
+ "^(UQSUB|UQSUBR)_ZPmZ_[BHSD]")>;
+def : InstRW<[C1NanoWrite<8, C1NanoUnitVALU>],
+ (instregex "^R?(ADD|SUB)HN[BT]_ZZZ_[BHS]")>;
+
+// Arithmetic, large integer
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(AD|SB)CL[BT]_ZZZ_[SD]")>;
+
+// Arithmetic, pairwise add
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU>], (instregex "^ADDP_ZPmZ_[BHSD]")>;
+
+// Arithmetic, pairwise add and accum long
+def : InstRW<[C1NanoMCWrite<7, 2, C1NanoUnitVALU>], (instregex "^[SU]ADALP_ZPmZ_[HSD]")>;
+
+// Arithmetic, shift
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU>],
+ (instregex "^(ASR|LSL|LSR)_WIDE_ZPmZ_[BHS]",
+ "^(ASR|LSL|LSR)_WIDE_ZZZ_[BHS]",
+ "^(ASR|LSL|LSR)_ZPmI_[BHSD]",
+ "^(ASR|LSL|LSR)_ZPZI_[BHSD]",
+ "^(ASR|LSL|LSR)_ZPmZ_[BHSD]",
+ "^(ASR|LSL|LSR)_ZPZZ_[BHSD]",
+ "^(ASR|LSL|LSR)_ZZI_[BHSD]",
+ "^(ASRR|LSLR|LSRR)_ZPmZ_[BHSD]")>;
+// Arithmetic, shift right for divide
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
+ (instregex "^ASRD_ZPmI_[BHSD]",
+ "^ASRD_ZPZI_[BHSD]")>;
+
+// Arithmetic, shift and accumulate
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
+ (instregex "^(SSRA|USRA)_ZZI_[BHSD]")>;
+
+def : InstRW<[C1NanoMCWrite<5, 1, C1NanoUnitVALU>],
+ (instregex "^(SRSRA|URSRA)_ZZI_[BHSD]")>;
+
+
+// Arithmetic, shift by immediate
+// Arithmetic, shift by immediate and insert
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
+ (instregex "^(SHRNB|SHRNT|SSHLLB|SSHLLT|USHLLB|USHLLT|SLI|SRI)_ZZI_[BHSD]")>;
+
+// Arithmetic, shift complex
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
+ (instregex "^(SQ)?RSHRU?N[BT]_ZZI_[BHS]",
+ "^(SQRSHL|SQRSHLR|SQSHL|SQSHLR|UQRSHL|UQRSHLR|UQSHL|UQSHLR)_(ZPmZ|ZPZZ)_[BHSD]",
+ "^(SQSHL|SQSHLU|UQSHL)_(ZPmI|ZPZI)_[BHSD]",
+ "^SQSHRU?N[BT]_ZZI_[BHS]",
+ "^UQR?SHRN[BT]_ZZI_[BHS]")>;
+
+// Arithmetic, shift rounding
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
+ (instregex "^(SRSHL|SRSHR|SRSHLR|URSHL|URSHLR|URSHR)_(ZPmZ|ZPZZ|ZPZI)_[BHSD]",
+ "^[SU]RSHR_ZPmI_[BHSD]")>;
+
+// Bit manipulation
+def : InstRW<[C1NanoMCWrite<13, 11, C1NanoUnitVMC>],
+ (instregex "^(BDEP|BEXT|BGRP)_ZZZ_B")>;
+
+def : InstRW<[C1NanoMCWrite<21, 19, C1NanoUnitVMC>],
+ (instregex "^(BDEP|BEXT|BGRP)_ZZZ_H")>;
+
+def : InstRW<[C1NanoMCWrite<37, 35, C1NanoUnitVMC>],
+ (instregex "^(BDEP|BEXT|BGRP)_ZZZ_S")>;
+
+def : InstRW<[C1NanoMCWrite<68, 66, C1NanoUnitVMC>],
+ (instregex "^(BDEP|BEXT|BGRP)_ZZZ_D")>;
+
+
+// Bitwise select
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(BSL|BSL1N|BSL2N|NBSL)_ZZZZ")>;
+
+// Count/reverse bits
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(CLS|CLZ|RBIT)_ZPmZ_[BHSD]")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^CNT_ZPmZ_[BH]")>;
+def : InstRW<[C1NanoWrite<6, C1NanoUnitVALU>], (instregex "^CNT_ZPmZ_S")>;
+def : InstRW<[C1NanoWrite<9, C1NanoUnitVALU>], (instregex "^CNT_ZPmZ_D")>;
+// Broadcast logical bitmask immediate to vector
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs DUPM_ZI)>;
+
+// Compare and set flags
+def : InstRW<[C1NanoWrite<5, C1NanoUnitVALU>],
+ (instregex "^CMP(EQ|GE|GT|HI|HS|LE|LO|LS|LT|NE)_PPzZ[IZ]_[BHSD]",
+ "^CMP(EQ|GE|GT|HI|HS|LE|LO|LS|LT|NE)_WIDE_PPzZZ_[BHS]")>;
+
+// Complex add
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^CADD_ZZI_[BHSD]")>;
+
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^SQCADD_ZZI_[BHSD]")>;
+
+// Complex dot product 8-bit element
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instrs CDOT_ZZZ_S, CDOT_ZZZI_S)>;
+
+// Complex dot product 16-bit element
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instrs CDOT_ZZZ_D, CDOT_ZZZI_D)>;
+
+// Complex multiply-add B, H, S element size
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^CMLA_ZZZ_[BHS]",
+ "^CMLA_ZZZI_[HS]")>;
+
+// Complex multiply-add D element size
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instrs CMLA_ZZZ_D)>;
+
+// Conditional extract operations, scalar form
+def : InstRW<[C1NanoMCWrite<4, 1, C1NanoUnitVALU>], (instregex "^CLAST[AB]_RPZ_[BHSD]")>;
+
+// Conditional extract operations, SIMD&FP scalar and vector forms
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^CLAST[AB]_[VZ]PZ_[BHSD]",
+ "^COMPACT_ZPZ_[SD]",
+ "^SPLICE_ZPZZ?_[BHSD]")>;
+
+// Convert to floating point, 64b to float or convert to double
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^[SU]CVTF_ZPmZ_Dto[SD]")>;
+
+// Convert to floating point, 64b to half
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^[SU]CVTF_ZPmZ_DtoH")>;
+
+// Convert to floating point, 32b to single or half
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^[SU]CVTF_ZPmZ_Sto[HS]")>;
+
+// Convert to floating point, 32b to double
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^[SU]CVTF_ZPmZ_StoD")>;
+
+// Convert to floating point, 16b to half
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^[SU]CVTF_ZPmZ_HtoH")>;
+
+// Copy, scalar
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU0>],(instregex "^CPY_ZPmR_[BHSD]")>;
+
+// Copy, scalar SIMD&FP or imm
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^CPY_ZPm[IV]_[BHSD]",
+ "^CPY_ZPzI_[BHSD]")>;
+
+// Divides, 32 bit
+def : InstRW<[C1NanoMCWrite<15, 12, C1NanoUnitVMC>], (instregex "^[SU]DIVR?_(ZPmZ|ZPZZ)_S")>;
+
+// Divides, 64 bit
+def : InstRW<[C1NanoMCWrite<26, 23, C1NanoUnitVMC>], (instregex "^[SU]DIVR?_(ZPmZ|ZPZZ)_D")>;
+
+// Dot product, 8 bit
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^[SU]DOT_ZZZI?_BtoS")>;
+
+// Dot product, 8 bit, using signed and unsigned integers
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instrs SUDOT_ZZZI, USDOT_ZZZI, USDOT_ZZZ)>;
+
+// Dot product, 16 bit
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^[SU]DOT_ZZZI?_HtoD")>;
+
+// Duplicate, immediate and indexed form
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^DUP_ZI_[BHSD]",
+ "^DUP_ZZI_[BHSDQ]")>;
+
+// Duplicate, scalar form
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^DUP_ZR_[BHSD]")>;
+
+// Extend, sign or zero
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^[SU]XTB_ZPmZ_[HSD]",
+ "^[SU]XTH_ZPmZ_[SD]",
+ "^[SU]XTW_ZPmZ_[D]")>;
+
+// Extract
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instrs EXT_ZZI, EXT_ZZI_CONSTRUCTIVE, EXT_ZZI_B)>;
+
+// Extract narrow saturating
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^[SU]QXTN[BT]_ZZ_[BHS]",
+ "^SQXTUN[BT]_ZZ_[BHS]")>;
+
+// Extract/insert operation, SIMD and FP scalar form
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^LAST[AB]_VPZ_[BHSD]",
+ "^INSR_ZV_[BHSD]")>;
+
+// Extract/insert operation, scalar
+def : InstRW<[C1NanoMCWrite<8, 2, C1NanoUnitVALU0>], (instregex "^LAST[AB]_RPZ_[BHSD]",
+ "^INSR_ZR_[BHSD]")>;
+
+// Histogram operations
+def : InstRW<[C1NanoMCWrite<6, 2, C1NanoUnitVALU0>], (instregex "^HISTCNT_ZPzZZ_[SD]",
+ "^HISTSEG_ZZZ")>;
+
+// Horizontal operations, B, H, S form, immediate operands only
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^INDEX_II_[BHS]")>;
+
+// Horizontal operations, B, H, S form, scalar, immediate operands/ scalar
+// operands only / immediate, scalar operands
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^INDEX_(IR|RI|RR)_[BHS]")>;
+
+// Horizontal operations, D form, immediate operands only
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instrs INDEX_II_D)>;
+
+// Horizontal operations, D form, scalar, immediate operands)/ scalar operands
+// only / immediate, scalar operands
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^INDEX_(IR|RI|RR)_D")>;
+
+// Logical
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
+ (instregex "^(AND|EOR|ORR)_ZI",
+ "^(AND|BIC|EOR|EOR|ORR)_ZZZ",
+ "^(AND|BIC|EOR|NOT|ORR)_ZPmZ_[BHSD]",
+ "^(AND|BIC|EOR|NOT|ORR)_ZPZZ_[BHSD]")>;
+
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
+ (instregex "^EOR(BT|TB)_ZZZ_[BHSD]")>;
+
+// Max/min, basic and pairwise
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^[SU](MAX|MIN)_ZI_[BHSD]",
+ "^[SU](MAX|MIN)P?_(ZPmZ|ZPZZ)_[BHSD]")>;
+
+// Matching operations
+def : InstRW<[C1NanoMCWrite<8, 2, C1NanoUnitVALU>], (instregex "^N?MATCH_PPzZZ_[BH]")>;
+
+// Matrix multiply-accumulate
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instrs SMMLA_ZZZ, UMMLA_ZZZ, USMMLA_ZZZ)>;
+
+// Move prefix
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^MOVPRFX_ZP[mz]Z_[BHSD]",
+ "^MOVPRFX_ZZ")>;
+
+// Multiply, B, H, S element size
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^MUL_(ZI|ZPmZ|ZZZI|ZZZ|ZPZZ)_[BHS]",
+ "^[SU]MULH_(ZPmZ|ZZZ|ZPZZ)_[BHS]")>;
+
+// Multiply, D element size
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^MUL_(ZI|ZPmZ|ZZZI|ZZZ|ZPZZ)_D",
+ "^[SU]MULH_(ZPmZ|ZZZ|ZPZZ)_D")>;
+
+// Multiply long
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^[SU]MULL[BT]_ZZZI_[SD]",
+ "^[SU]MULL[BT]_ZZZ_[HSD]")>;
+
+// Multiply accumulate, B, H, S element size
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^ML[AS]_(ZZZI|ZPZZZ)_[BHS]",
+ "^(ML[AS]|MAD|MSB)_ZPmZZ_[BHS]")>;
+
+// Multiply accumulate, D element size
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^ML[AS]_(ZZZI|ZPZZZ)_D",
+ "^(ML[AS]|MAD|MSB)_ZPmZZ_D")>;
+
+// Multiply accumulate long
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^[SU]ML[AS]L[BT]_ZZZ_[HSD]",
+ "^[SU]ML[AS]L[BT]_ZZZI_[SD]")>;
+
+// Multiply accumulate saturating doubling long regular
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^SQDML[AS](LB|LT|LBT)_ZZZ_[HSD]",
+ "^SQDML[AS](LB|LT)_ZZZI_[SD]")>;
+
+// Multiply saturating doubling high, B, H, S element size
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^SQDMULH_ZZZ_[BHS]",
+ "^SQDMULH_ZZZI_[HS]")>;
+
+// Multiply saturating doubling high, D element size
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instrs SQDMULH_ZZZ_D, SQDMULH_ZZZI_D)>;
+
+// Multiply saturating doubling long
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^SQDMULL[BT]_ZZZ_[HSD]",
+ "^SQDMULL[BT]_ZZZI_[SD]")>;
+
+// Multiply saturating rounding doubling regular/complex accumulate, B, H, S
+// element size
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^SQRDML[AS]H_ZZZ_[BHS]",
+ "^SQRDCMLAH_ZZZ_[BHS]",
+ "^SQRDML[AS]H_ZZZI_[HS]",
+ "^SQRDCMLAH_ZZZI_[HS]")>;
+
+// Multiply saturating rounding doubling regular/complex accumulate, D element
+// size
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^SQRDML[AS]H_ZZZI?_D",
+ "^SQRDCMLAH_ZZZ_D")>;
+
+// Multiply saturating rounding doubling regular/complex, B, H, S element size
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^SQRDMULH_ZZZ_[BHS]",
+ "^SQRDMULH_ZZZI_[HS]")>;
+
+// Multiply saturating rounding doubling regular/complex, D element size
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^SQRDMULH_ZZZI?_D")>;
+
+// Multiply/multiply long, (8x8) polynomial
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^PMUL_ZZZ_B")>;
+
+def : InstRW<[C1NanoWrite<9, C1NanoUnitVMC>], (instregex "^PMULL[BT]_ZZZ_[HDQ]")>;
+
+
+// Predicate counting vector
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
+ (instregex "^(DEC|INC)[HWD]_ZPiI")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
+ (instregex "^(SQDEC|SQINC|UQDEC|UQINC)[HWD]_ZPiI")>;
+
+// Reciprocal estimate
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^URECPE_ZPmZ_S", "^URSQRTE_ZPmZ_S")>;
+
+// Reduction, arithmetic, B form
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>], (instregex "^[SU](ADD|MAX|MIN)V_VPZ_B")>;
+
+// Reduction, arithmetic, H form
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>], (instregex "^[SU](ADD|MAX|MIN)V_VPZ_H")>;
+
+// Reduction, arithmetic, S form
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>], (instregex "^[SU](ADD|MAX|MIN)V_VPZ_S")>;
+
+// Reduction, arithmetic, D form
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>], (instregex "^[SU](ADD|MAX|MIN)V_VPZ_D")>;
+
+// Reduction, logical
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>], (instregex "^(ANDV|EORV|ORV)_VPZ_[BHSD]")>;
+
+// Reverse, vector
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^REV_ZZ_[BHSD]",
+ "^REVB_ZPmZ_[HSD]",
+ "^REVH_ZPmZ_[SD]",
+ "^REVW_ZPmZ_D")>;
+
+// Select, vector form
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU>], (instregex "^SEL_ZPZZ_[BHSD]")>;
+
+// Table lookup
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^TBL_ZZZZ?_[BHSD]")>;
+
+// Table lookup extension
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^TBX_ZZZ_[BHSD]")>;
+
+// Transpose, vector form
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^TRN[12]_ZZZ_[BHSDQ]")>;
+
+// Unpack and extend
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^[SU]UNPK(HI|LO)_ZZ_[HSD]")>;
+
+// Zip/unzip
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(UZP|ZIP)[12]_ZZZ_[BHSDQ]")>;
+
+// SVE floating-point instructions
+// -----------------------------------------------------------------------------
+
+// Floating point absolute value/difference
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^FAB[SD]_ZPmZ_[HSD]",
+ "^FAB[SD]_ZPZZ_[HSD]")>;
+
+// Floating point arithmetic
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^F(ADD|SUB)_(ZPm[IZ]|ZZZ|ZPZI|ZPZZ)_[HSD]",
+ "^FADDP_ZPmZZ_[HSD]",
+ "^FNEG_ZPmZ_[HSD]",
+ "^FSUBR_(ZPm[IZ]|ZPZ[IZ])_[HSD]")>;
+
+// Floating point associative add, F16
+def : InstRW<[C1NanoMCWrite<32, 29, C1NanoUnitVALU>], (instrs FADDA_VPZ_H)>;
+
+// Floating point associative add, F32
+def : InstRW<[C1NanoMCWrite<16, 13, C1NanoUnitVALU>], (instrs FADDA_VPZ_S)>;
+
+// Floating point associative add, F64
+def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnitVALU>], (instrs FADDA_VPZ_D)>;
+
+// Floating point compare
+def : InstRW<[C1NanoMCWrite<4, 2, C1NanoUnitVALU>], (instregex "^FACG[ET]_PPzZZ_[HSD]",
+ "^FCM(EQ|GE|GT|NE)_PPzZ[0Z]_[HSD]",
+ "^FCM(LE|LT)_PPzZ0_[HSD]",
+ "^FCMUO_PPzZZ_[HSD]")>;
+
+// Floating point complex add
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^FCADD_ZPmZ_[HSD]")>;
+
+// Floating point complex multiply add
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^FCMLA_ZPmZZ_[HSD]",
+ "^FCMLA_ZZZI_[HS]")>;
+
+// Floating point convert, long or narrow (F16 to F32 or F32 to F16)
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^FCVT_ZPmZ_(HtoS|StoH)",
+ "^FCVTLT_ZPmZ_HtoS",
+ "^FCVTNT_ZPmZ_StoH")>;
+
+// Floating point convert, long or narrow (F16 to F64, F32 to F64, F64 to F32
+// or F64 to F16)
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^FCVT_ZPmZ_(HtoD|StoD|DtoS|DtoH)",
+ "^FCVTLT_ZPmZ_StoD",
+ "^FCVTNT_ZPmZ_DtoS")>;
+
+// Floating point convert, round to odd
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^FCVTX_ZPmZ_DtoS", "FCVTXNT_ZPmZ_DtoS")>;
+
+// Floating point base2 log, F16
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^FLOGB_(ZPmZ|ZPZZ)_H")>;
+
+// Floating point base2 log, F32
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^FLOGB_(ZPmZ|ZPZZ)_S")>;
+
+// Floating point base2 log, F64
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^FLOGB_(ZPmZ|ZPZZ)_D")>;
+
+// Floating point convert to integer, F16
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^FCVTZ[SU]_ZPmZ_HtoH")>;
+
+// Floating point convert to integer, F32
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^FCVTZ[SU]_ZPmZ_(HtoS|StoS)")>;
+
+// Floating point convert to integer, F64
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
+ (instregex "^FCVTZ[SU]_ZPmZ_(HtoD|StoD|DtoS|DtoD)")>;
+
+// Floating point copy
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU0>], (instregex "^FCPY_ZPmI_[HSD]",
+ "^FDUP_ZI_[HSD]")>;
+
+// Floating point divide, F16
+def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnitVMC>], (instregex "^FDIVR?_(ZPmZ|ZPZZ)_H")>;
+
+// Floating point divide, F32
+def : InstRW<[C1NanoMCWrite<13, 10, C1NanoUnitVMC>], (instregex "^FDIVR?_(ZPmZ|ZPZZ)_S")>;
+
+// Floating point divide, F64
+def : InstRW<[C1NanoMCWrite<22, 19, C1NanoUnitVMC>], (instregex "^FDIVR?_(ZPmZ|ZPZZ)_D")>;
+
+// Floating point min/max pairwise
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^F(MAX|MIN)(NM)?P_ZPmZZ_[HSD]")>;
+
+// Floating point min/max
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^F(MAX|MIN)(NM)?_(ZPm[IZ]|ZPZZ|ZPZI)_[HSD]")>;
+
+// Floating point multiply
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^(FSCALE|FMULX)_(ZPmZ|ZPZZ)_[HSD]",
+ "^FMUL_(ZPm[IZ]|ZZZI?|ZPZI|ZPZZ)_[HSD]")>;
+
+// Floating point multiply accumulate
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>],
+ (instregex "^FML[AS]_(ZPmZZ|ZZZI|ZPZZZ)_[HSD]",
+ "^(FMAD|FNMAD|FNML[AS]|FN?MSB)_(ZPmZZ|ZPZZZ)_[HSD]")>;
+
+// Floating point multiply add/sub accumulate long
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^FML[AS]L[BT]_ZZZI?_SHH")>;
+
+// Floating point reciprocal estimate, F16
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^FRECPE_ZZ_H", "^FRECPX_ZPmZ_H",
+ "^FRSQRTE_ZZ_H")>;
+
+// Floating point reciprocal estimate, F32
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^FRECPE_ZZ_S", "^FRECPX_ZPmZ_S",
+ "^FRSQRTE_ZZ_S")>;
+// Floating point reciprocal estimate, F64
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>],(instregex "^FRECPE_ZZ_D", "^FRECPX_ZPmZ_D",
+ "^FRSQRTE_ZZ_D")>;
+
+// Floating point reciprocal step
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^F(RECPS|RSQRTS)_ZZZ_[HSD]")>;
+
+// Floating point reduction, F16
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>],
+ (instregex "^(FMAXNMV|FMAXV|FMINNMV|FMINV)_VPZ_[HSD]")>;
+
+// Floating point reduction, F32
+def : InstRW<[C1NanoMCWrite<12, 11, C1NanoUnitVALU0>],
+ (instregex "^FADDV_VPZ_H")>;
+
+def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnitVALU0>],
+ (instregex "^FADDV_VPZ_S")>;
+
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>],
+ (instregex "^FADDV_VPZ_D")>;
+
+
+// Floating point round to integral, F16
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^FRINT[AIMNPXZ]_ZPmZ_H")>;
+
+// Floating point round to integral, F32
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^FRINT[AIMNPXZ]_ZPmZ_S")>;
+
+// Floating point round to integral, F64
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^FRINT[AIMNPXZ]_ZPmZ_D")>;
+
+// Floating point square root, F16
+def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnitVMC>], (instregex "^FSQRT_ZPmZ_H")>;
+
+// Floating point square root, F32
+def : InstRW<[C1NanoMCWrite<12, 9, C1NanoUnitVMC>], (instregex "^FSQRT_ZPmZ_S")>;
+
+// Floating point square root, F64
+def : InstRW<[C1NanoMCWrite<22, 19, C1NanoUnitVMC>], (instregex "^FSQRT_ZPmZ_D")>;
+
+// Floating point trigonometric exponentiation
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^FEXPA_ZZ_[HSD]")>;
+
+// Floating point trigonometric multiply add
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^FTMAD_ZZI_[HSD]")>;
+
+// Floating point trigonometric, miscellaneous
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^FTSMUL_ZZZ_[HSD]")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^FTSSEL_ZZZ_[HSD]")>;
+
+
+// SVE BFloat16 (BF16) instructions
+// -----------------------------------------------------------------------------
+
+// Convert, F32 to BF16
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs BFCVT_ZPmZ, BFCVTNT_ZPmZ)>;
+
+// Dot product
+def : InstRW<[C1NanoWrite_10cyc_1VMAC_1VALU], (instrs BFDOT_ZZI, BFDOT_ZZZ)>;
+
+// Matrix multiply accumulate
+def : InstRW<[C1NanoWrite_14cyc_1VMAC_1VALU], (instrs BFMMLA_ZZZ_HtoS)>;
+
+// Multiply accumulate long
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^BFMLAL[BT]_ZZZ(I)?")>;
+
+// SVE Load instructions
+// -----------------------------------------------------------------------------
+
+// Load vector
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instrs LDR_ZXI)>;
+
+// Load predicate
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLdSt>], (instrs LDR_PXI)>;
+
+// Contiguous load, scalar + imm
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "^LD1[BHWD]_IMM$",
+ "^LD1S?B_[HSD]_IMM$",
+ "^LD1S?H_[SD]_IMM$",
+ "^LD1S?W_D_IMM$" )>;
+// Contiguous load, scalar + scalar
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "^LD1[BHWD]$",
+ "^LD1S?B_[HSD]$",
+ "^LD1S?H_[SD]$",
+ "^LD1S?W_D$" )>;
+
+// Contiguous load broadcast, scalar + imm
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "^LD1R[BHWD]_IMM$",
+ "^LD1RSW_IMM$",
+ "^LD1RS?B_[HSD]_IMM$",
+ "^LD1RS?H_[SD]_IMM$",
+ "^LD1RS?W_D_IMM$",
+ "^LD1RQ_[BHWD]_IMM$")>;
+
+// Contiguous load broadcast, scalar + scalar
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLdSt>], (instregex "^LD1RQ_[BHWD]$")>;
+
+// Non temporal load, scalar + imm
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLdSt>], (instregex "^LDNT1[BHWD]_ZRI$")>;
+
+// Non temporal load, scalar + scalar
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLdSt>], (instregex "^LDNT1[BHWD]_ZRR$")>;
+
+// Non temporal gather load, vector + scalar 32-bit element size
+def : InstRW<[C1NanoMCWrite<9, 9, C1NanoUnitLdSt>], (instregex "^LDNT1[BHW]_ZZR_S$",
+ "^LDNT1S[BH]_ZZR_S$")>;
+
+// Non temporal gather load, vector + scalar 64-bit element size
+def : InstRW<[C1NanoMCWrite<7, 7, C1NanoUnitLdSt>], (instregex "^LDNT1S?[BHW]_ZZR_D$")>;
+def : InstRW<[C1NanoMCWrite<7, 7, C1NanoUnitLdSt>], (instrs LDNT1D_ZZR_D)>;
+
+// Contiguous first faulting load, scalar + scalar
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "^LDFF1[BHWD]$",
+ "^LDFF1S?B_[HSD]$",
+ "^LDFF1S?H_[SD]$",
+ "^LDFF1S?W_D$")>;
+
+// Contiguous non faulting load, scalar + imm
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "^LDNF1[BHWD]_IMM$",
+ "^LDNF1S?B_[HSD]_IMM$",
+ "^LDNF1S?H_[SD]_IMM$",
+ "^LDNF1S?W_D_IMM$")>;
+
+// Contiguous Load two structures to two vectors, scalar + imm
+def : InstRW<[C1NanoMCWrite<3, 1, C1NanoUnitLdSt>], (instregex "^LD2[BHWD]_IMM$")>;
+
+// Contiguous Load two structures to two vectors, scalar + scalar
+def : InstRW<[C1NanoMCWrite<3, 2, C1NanoUnitLdSt>], (instregex "^LD2[BHWD]$")>;
+
+// Contiguous Load three structures to three vectors, scalar + imm
+def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitLdSt>], (instregex "^LD3[BHWD]_IMM$")>;
+
+// Contiguous Load three structures to three vectors, scalar + scalar
+def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitLdSt>], (instregex "^LD3[BHWD]$")>;
+
+// Contiguous Load four structures to four vectors, scalar + imm
+def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitLdSt>], (instregex "^LD4[BHWD]_IMM$")>;
+
+// Contiguous Load four structures to four vectors, scalar + scalar
+def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitLdSt>], (instregex "^LD4[BHWD]$")>;
+
+// Gather load, vector + imm, 32-bit element size
+def : InstRW<[C1NanoMCWrite<9, 9, C1NanoUnitLdSt>], (instregex "^GLD(FF)?1S?[BH]_S_IMM$",
+ "^GLD(FF)?1W_IMM$")>;
+
+// Gather load, vector + imm, 64-bit element size
+def : InstRW<[C1NanoMCWrite<7, 7, C1NanoUnitLdSt>], (instregex "^GLD(FF)?1S?[BHW]_D_IMM$",
+ "^GLD(FF)?1D_IMM$")>;
+
+// Gather load, 64-bit element size
+def : InstRW<[C1NanoMCWrite<7, 7, C1NanoUnitLdSt>],
+ (instregex "^GLD(FF)?1S?[BHW]_D_[SU]XTW(_SCALED)?$",
+ "^GLD(FF)?1S?[BHW]_D(_SCALED)?$",
+ "^GLD(FF)?1D_[SU]XTW(_SCALED)?$",
+ "^GLD(FF)?1D(_SCALED)?$")>;
+
+// Gather load, 32-bit scaled offset
+def : InstRW<[C1NanoMCWrite<7, 7, C1NanoUnitLd>],
+ (instregex "^GLD(FF)?1S?[HW]_S_[SU]XTW_SCALED$",
+ "^GLD(FF)?1W_[SU]XTW_SCALED")>;
+
+// Gather load, 32-bit unpacked unscaled offset
+def : InstRW<[C1NanoMCWrite<7, 7, C1NanoUnitLd>], (instregex "^GLD(FF)?1S?[BH]_S_[SU]XTW$",
+ "^GLD(FF)?1W_[SU]XTW$")>;
+
+def : InstRW<[C1NanoWrite<0, C1NanoUnitVALU>], (instregex "^PRF(B|H|W|D).*")>;
+// SVE Store instructions
+// -----------------------------------------------------------------------------
+
+// Store from predicate reg
+def : InstRW<[C1NanoVSt0], (instrs STR_PXI)>;
+
+// Store from vector reg
+def : InstRW<[C1NanoVSt0], (instrs STR_ZXI)>;
+
+// Contiguous store, scalar + imm
+def : InstRW<[C1NanoVSt0], (instregex "^ST1[BHWD]_IMM$",
+ "^ST1B_[HSD]_IMM$",
+ "^ST1H_[SD]_IMM$",
+ "^ST1W_D_IMM$")>;
+
+// Contiguous store, scalar + scalar
+def : InstRW<[C1NanoVSt0], (instregex "^ST1H(_[SD])?$")>;
+def : InstRW<[C1NanoVSt0], (instregex "^ST1[BWD]$",
+ "^ST1B_[HSD]$",
+ "^ST1W_D$")>;
+
+// Contiguous store two structures from two vectors, scalar + imm
+def : InstRW<[C1NanoVSt<2>], (instregex "^ST2[BHWD]_IMM$")>;
+
+// Contiguous store two structures from two vectors, scalar + scalar
+def : InstRW<[C1NanoVSt<2>], (instrs ST2H)>;
+
+// Contiguous store two structures from two vectors, scalar + scalar
+def : InstRW<[C1NanoVSt<2>], (instregex "^ST2[BWD]$")>;
+
+// Contiguous store three structures from three vectors, scalar + imm
+def : InstRW<[C1NanoVSt<6>], (instregex "^ST3[BHW]_IMM$")>;
+def : InstRW<[C1NanoVSt<3>], (instregex "^ST3D_IMM$")>;
+
+// Contiguous store three structures from three vectors, scalar + scalar
+def : InstRW<[C1NanoVSt<6>], (instregex "^ST3[BHW]$")>;
+def : InstRW<[C1NanoVSt<3>], (instregex "^ST3D$")>;
+
+// Contiguous store four structures from four vectors, scalar + imm
+def : InstRW<[C1NanoVSt<8>], (instregex "^ST4[BHW]_IMM$")>;
+def : InstRW<[C1NanoVSt<4>], (instregex "^ST4D_IMM$")>;
+
+// Contiguous store four structures from four vectors, scalar + scalar
+def : InstRW<[C1NanoVSt<8>], (instregex "^ST4[BHW]$")>;
+
+// Contiguous store four structures from four vectors, scalar + scalar
+def : InstRW<[C1NanoVSt<4>], (instregex "^ST4D$")>;
+
+// Non temporal store, scalar + imm
+def : InstRW<[C1NanoVSt0], (instregex "^STNT1[BHWD]_ZRI$")>;
+
+// Non temporal store, scalar + scalar
+def : InstRW<[C1NanoVSt0], (instrs STNT1H_ZRR)>;
+def : InstRW<[C1NanoVSt0], (instregex "^STNT1[BWD]_ZRR$")>;
+
+// Scatter non temporal store, vector + scalar 32-bit element size
+def : InstRW<[C1NanoVSt<9>], (instregex "^STNT1[BHW]_ZZR_S")>;
+
+// Scatter non temporal store, vector + scalar 64-bit element size
+def : InstRW<[C1NanoVSt<7>], (instregex "^STNT1[BHWD]_ZZR_D")>;
+
+// Scatter store vector + imm 32-bit element size
+def : InstRW<[C1NanoVSt<9>], (instregex "^SST1[BH]_S_IMM$",
+ "^SST1W_IMM$")>;
+
+// Scatter store vector + imm 64-bit element size
+def : InstRW<[C1NanoVSt<7>], (instregex "^SST1[BHW]_D_IMM$",
+ "^SST1D_IMM$")>;
+
+// Scatter store, 32-bit scaled offset
+def : InstRW<[C1NanoVSt<9>],
+ (instregex "^SST1(H_S|W)_[SU]XTW_SCALED$")>;
+
+// Scatter store, 32-bit unpacked unscaled offset
+def : InstRW<[C1NanoVSt<7>], (instregex "^SST1[BHW]_D_[SU]XTW$",
+ "^SST1D_[SU]XTW$")>;
+
+// Scatter store, 32-bit unpacked scaled offset
+def : InstRW<[C1NanoVSt<7>], (instregex "^SST1[HW]_D_[SU]XTW_SCALED$",
+ "^SST1D_[SU]XTW_SCALED$")>;
+
+// Scatter store, 32-bit unscaled offset
+def : InstRW<[C1NanoVSt<9>], (instregex "^SST1[BH]_S_[SU]XTW$",
+ "^SST1W_[SU]XTW$")>;
+
+// Scatter store, 64-bit scaled offset
+def : InstRW<[C1NanoVSt<7>], (instregex "^SST1[HW]_D_SCALED$",
+ "^SST1D_SCALED$")>;
+
+// Scatter store, 64-bit unscaled offset
+def : InstRW<[C1NanoVSt<7>], (instregex "^SST1[BHW]_D$",
+ "^SST1D$")>;
+
+// SVE Miscellaneous instructions
+// -----------------------------------------------------------------------------
+
+// Read first fault register, unpredicated
+def : InstRW<[C1NanoWrite<1, C1NanoUnitALU>], (instrs RDFFR_P)>;
+
+// Read first fault register, predicated
+def : InstRW<[C1NanoWrite<3, C1NanoUnitALU0>], (instrs RDFFR_PPz)>;
+
+// Read first fault register and set flags
+def : InstRW<[C1NanoWrite<3, C1NanoUnitALU0>], (instrs RDFFRS_PPz)>;
+
+// Set first fault register
+// Write to first fault register
+def : InstRW<[C1NanoWrite<1, C1NanoUnitALU>], (instrs SETFFR, WRFFR)>;
+
+// SVE Cryptographic instructions
+// -----------------------------------------------------------------------------
+
+// Crypto AES ops
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^AES[DE]_ZZZ_B$",
+ "^AESI?MC_ZZ_B$")>;
+
+// Crypto SHA3 ops
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(BCAX|EOR3)_ZZZZ$")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^XAR_ZZZI_[BHSD]$")>;
+
+def : InstRW<[C1NanoMC_RC0Write<3, C1NanoUnitVMC>], (instregex "^RAX1_ZZZ_D$")>;
+
+// Crypto SM4 ops
+def : InstRW<[C1NanoMC_RC0Write<9, C1NanoUnitVMC>], (instregex "^SM4E(KEY)?_ZZZ_S$")>;
+
+}
diff --git a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s
new file mode 100644
index 0000000000000..534d77f59626b
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s
@@ -0,0 +1,3875 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -instruction-tables < %s | FileCheck %s
+
+#------------------------------------------------------------------------------
+# Add/sub (immediate)
+#------------------------------------------------------------------------------
+
+add w2, w3, #4095
+add w30, w29, #1, lsl #12
+add w13, w5, #4095, lsl #12
+add x5, x7, #1638
+add w20, wsp, #801
+add wsp, wsp, #1104
+add wsp, w30, #4084
+add x0, x24, #291
+add x3, x24, #4095, lsl #12
+add x8, sp, #1074
+add sp, x29, #3816
+sub w0, wsp, #4077
+sub w4, w20, #546, lsl #12
+sub sp, sp, #288
+sub wsp, w19, #16
+adds w13, w23, #291, lsl #12
+cmn w2, #4095
+adds w20, wsp, #0
+cmn x3, #1, lsl #12
+cmp sp, #20, lsl #12
+cmp x30, #4095
+subs x4, sp, #3822
+cmn w3, #291, lsl #12
+cmn wsp, #1365
+cmn sp, #1092, lsl #12
+mov sp, x30
+mov wsp, w20
+mov x11, sp
+mov w24, wsp
+
+#------------------------------------------------------------------------------
+# Add-subtract (shifted register)
+#------------------------------------------------------------------------------
+
+add w3, w5, w7
+add wzr, w3, w5
+add w20, wzr, w4
+add w4, w6, wzr
+add w11, w13, w15
+add w9, w3, wzr, lsl #10
+add w17, w29, w20, lsl #31
+add w21, w22, w23, lsr #0
+add w24, w25, w26, lsr #18
+add w27, w28, w29, lsr #31
+add w2, w3, w4, asr #0
+add w5, w6, w7, asr #21
+add w8, w9, w10, asr #31
+add x3, x5, x7
+add xzr, x3, x5
+add x20, xzr, x4
+add x4, x6, xzr
+add x11, x13, x15
+add x9, x3, xzr, lsl #10
+add x17, x29, x20, lsl #63
+add x21, x22, x23, lsr #0
+add x24, x25, x26, lsr #18
+add x27, x28, x29, lsr #63
+add x2, x3, x4, asr #0
+add x5, x6, x7, asr #21
+add x8, x9, x10, asr #63
+adds w3, w5, w7
+cmn w3, w5
+adds w20, wzr, w4
+adds w4, w6, wzr
+adds w11, w13, w15
+adds w9, w3, wzr, lsl #10
+adds w17, w29, w20, lsl #31
+adds w21, w22, w23, lsr #0
+adds w24, w25, w26, lsr #18
+adds w27, w28, w29, lsr #31
+adds w2, w3, w4, asr #0
+adds w5, w6, w7, asr #21
+adds w8, w9, w10, asr #31
+adds x3, x5, x7
+cmn x3, x5
+adds x20, xzr, x4
+adds x4, x6, xzr
+adds x11, x13, x15
+adds x9, x3, xzr, lsl #10
+adds x17, x29, x20, lsl #63
+adds x21, x22, x23, lsr #0
+adds x24, x25, x26, lsr #18
+adds x27, x28, x29, lsr #63
+adds x2, x3, x4, asr #0
+adds x5, x6, x7, asr #21
+adds x8, x9, x10, asr #63
+sub w3, w5, w7
+sub wzr, w3, w5
+sub w4, w6, wzr
+sub w11, w13, w15
+sub w9, w3, wzr, lsl #10
+sub w17, w29, w20, lsl #31
+sub w21, w22, w23, lsr #0
+sub w24, w25, w26, lsr #18
+sub w27, w28, w29, lsr #31
+sub w2, w3, w4, asr #0
+sub w5, w6, w7, asr #21
+sub w8, w9, w10, asr #31
+sub x3, x5, x7
+sub xzr, x3, x5
+sub x4, x6, xzr
+sub x11, x13, x15
+sub x9, x3, xzr, lsl #10
+sub x17, x29, x20, lsl #63
+sub x21, x22, x23, lsr #0
+sub x24, x25, x26, lsr #18
+sub x27, x28, x29, lsr #63
+sub x2, x3, x4, asr #0
+sub x5, x6, x7, asr #21
+sub x8, x9, x10, asr #63
+subs w3, w5, w7
+cmp w3, w5
+subs w4, w6, wzr
+subs w11, w13, w15
+subs w9, w3, wzr, lsl #10
+subs w17, w29, w20, lsl #31
+subs w21, w22, w23, lsr #0
+subs w24, w25, w26, lsr #18
+subs w27, w28, w29, lsr #31
+subs w2, w3, w4, asr #0
+subs w5, w6, w7, asr #21
+subs w8, w9, w10, asr #31
+subs x3, x5, x7
+cmp x3, x5
+subs x4, x6, xzr
+subs x11, x13, x15
+subs x9, x3, xzr, lsl #10
+subs x17, x29, x20, lsl #63
+subs x21, x22, x23, lsr #0
+subs x24, x25, x26, lsr #18
+subs x27, x28, x29, lsr #63
+subs x2, x3, x4, asr #0
+subs x5, x6, x7, asr #21
+subs x8, x9, x10, asr #63
+cmn wzr, w4
+cmn w5, wzr
+cmn w6, w7
+cmn w8, w9, lsl #15
+cmn w10, w11, lsl #31
+cmn w12, w13, lsr #0
+cmn w14, w15, lsr #21
+cmn w16, w17, lsr #31
+cmn w18, w19, asr #0
+cmn w20, w21, asr #22
+cmn w22, w23, asr #31
+cmn x0, x3
+cmn xzr, x4
+cmn x5, xzr
+cmn x6, x7
+cmn x8, x9, lsl #15
+cmn x10, x11, lsl #63
+cmn x12, x13, lsr #0
+cmn x14, x15, lsr #41
+cmn x16, x17, lsr #63
+cmn x18, x19, asr #0
+cmn x20, x21, asr #55
+cmn x22, x23, asr #63
+cmp w0, w3
+cmp wzr, w4
+cmp w5, wzr
+cmp w6, w7
+cmp w8, w9, lsl #15
+cmp w10, w11, lsl #31
+cmp w12, w13, lsr #0
+cmp w14, w15, lsr #21
+cmp w18, w19, asr #0
+cmp w20, w21, asr #22
+cmp w22, w23, asr #31
+cmp x0, x3
+cmp xzr, x4
+cmp x5, xzr
+cmp x6, x7
+cmp x8, x9, lsl #15
+cmp x10, x11, lsl #63
+cmp x12, x13, lsr #0
+cmp x14, x15, lsr #41
+cmp x16, x17, lsr #63
+cmp x18, x19, asr #0
+cmp x20, x21, asr #55
+cmp x22, x23, asr #63
+cmp wzr, w0
+cmp xzr, x0
+
+#------------------------------------------------------------------------------
+# Add-subtract (shifted register)
+#------------------------------------------------------------------------------
+
+adc w29, w27, w25
+adc wzr, w3, w4
+adc w9, wzr, w10
+adc w20, w0, wzr
+adc x29, x27, x25
+adc xzr, x3, x4
+adc x9, xzr, x10
+adc x20, x0, xzr
+adcs w29, w27, w25
+adcs wzr, w3, w4
+adcs w9, wzr, w10
+adcs w20, w0, wzr
+adcs x29, x27, x25
+adcs xzr, x3, x4
+adcs x9, xzr, x10
+adcs x20, x0, xzr
+sbc w29, w27, w25
+sbc wzr, w3, w4
+ngc w9, w10
+sbc w20, w0, wzr
+sbc x29, x27, x25
+sbc xzr, x3, x4
+ngc x9, x10
+sbc x20, x0, xzr
+sbcs w29, w27, w25
+sbcs wzr, w3, w4
+ngcs w9, w10
+sbcs w20, w0, wzr
+sbcs x29, x27, x25
+sbcs xzr, x3, x4
+ngcs x9, x10
+sbcs x20, x0, xzr
+ngc w3, w12
+ngc wzr, w9
+ngc w23, wzr
+ngc x29, x30
+ngc xzr, x0
+ngc x0, xzr
+ngcs w3, w12
+ngcs wzr, w9
+ngcs w23, wzr
+ngcs x29, x30
+ngcs xzr, x0
+ngcs x0, xzr
+
+#------------------------------------------------------------------------------
+# Compare and branch (immediate)
+#------------------------------------------------------------------------------
+
+sbfx x1, x2, #3, #2
+asr x3, x4, #63
+asr wzr, wzr, #31
+sbfx w12, w9, #0, #1
+ubfiz x4, x5, #52, #11
+ubfx xzr, x4, #0, #1
+ubfiz x4, xzr, #1, #6
+lsr x5, x6, #12
+bfi x4, x5, #52, #11
+bfxil xzr, x4, #0, #1
+bfi x4, xzr, #1, #6
+bfxil x5, x6, #12, #52
+sxtb w1, w2
+sxtb xzr, w3
+sxth w9, w10
+sxth x0, w1
+sxtw x3, w30
+uxtb w1, w2
+uxth w9, w10
+ubfx x3, x30, #0, #32
+asr w3, w2, #0
+asr w9, w10, #31
+asr x20, x21, #63
+asr w1, wzr, #3
+lsr w3, w2, #0
+lsr w9, w10, #31
+lsr x20, x21, #63
+lsr wzr, wzr, #3
+lsr w3, w2, #0
+lsl w9, w10, #31
+lsl x20, x21, #63
+lsl w1, wzr, #3
+sbfx w9, w10, #0, #1
+sbfiz x2, x3, #63, #1
+asr x19, x20, #0
+sbfiz x9, x10, #5, #59
+asr w9, w10, #0
+sbfiz w11, w12, #31, #1
+sbfiz w13, w14, #29, #3
+sbfiz xzr, xzr, #10, #11
+sbfx w9, w10, #0, #1
+asr x2, x3, #63
+asr x19, x20, #0
+asr x9, x10, #5
+asr w9, w10, #0
+asr w11, w12, #31
+asr w13, w14, #29
+sbfx xzr, xzr, #10, #11
+bfxil w9, w10, #0, #1
+bfi x2, x3, #63, #1
+bfxil x19, x20, #0, #64
+bfi x9, x10, #5, #59
+bfxil w9, w10, #0, #32
+bfi w11, w12, #31, #1
+bfi w13, w14, #29, #3
+bfi xzr, xzr, #10, #11
+bfxil w9, w10, #0, #1
+bfxil x2, x3, #63, #1
+bfxil x19, x20, #0, #64
+bfxil x9, x10, #5, #59
+bfxil w9, w10, #0, #32
+bfxil w11, w12, #31, #1
+bfxil w13, w14, #29, #3
+bfxil xzr, xzr, #10, #11
+ubfx w9, w10, #0, #1
+lsl x2, x3, #63
+lsr x19, x20, #0
+lsl x9, x10, #5
+lsr w9, w10, #0
+lsl w11, w12, #31
+lsl w13, w14, #29
+ubfiz xzr, xzr, #10, #11
+ubfx w9, w10, #0, #1
+lsr x2, x3, #63
+lsr x19, x20, #0
+lsr x9, x10, #5
+lsr w9, w10, #0
+lsr w11, w12, #31
+lsr w13, w14, #29
+ubfx xzr, xzr, #10, #11
+
+#------------------------------------------------------------------------------
+# Compare and branch (immediate)
+#------------------------------------------------------------------------------
+
+cbz w5, #4
+cbz x5, #0
+cbnz x2, #-4
+cbnz x26, #1048572
+cbz wzr, #0
+cbnz xzr, #0
+
+#------------------------------------------------------------------------------
+# Conditional branch (immediate)
+#------------------------------------------------------------------------------
+
+b.ne #4
+b.ge #1048572
+b.ge #-4
+
+#------------------------------------------------------------------------------
+# Conditional compare (immediate)
+#------------------------------------------------------------------------------
+
+ccmp w1, #31, #0, eq
+ccmp w3, #0, #15, hs
+ccmp wzr, #15, #13, hs
+ccmp x9, #31, #0, le
+ccmp x3, #0, #15, gt
+ccmp xzr, #5, #7, ne
+ccmn w1, #31, #0, eq
+ccmn w3, #0, #15, hs
+ccmn wzr, #15, #13, hs
+ccmn x9, #31, #0, le
+ccmn x3, #0, #15, gt
+ccmn xzr, #5, #7, ne
+
+#------------------------------------------------------------------------------
+# Conditional compare (register)
+#------------------------------------------------------------------------------
+
+ccmp w1, wzr, #0, eq
+ccmp w3, w0, #15, hs
+ccmp wzr, w15, #13, hs
+ccmp x9, xzr, #0, le
+ccmp x3, x0, #15, gt
+ccmp xzr, x5, #7, ne
+ccmn w1, wzr, #0, eq
+ccmn w3, w0, #15, hs
+ccmn wzr, w15, #13, hs
+ccmn x9, xzr, #0, le
+ccmn x3, x0, #15, gt
+ccmn xzr, x5, #7, ne
+
+#------------------------------------------------------------------------------
+# Conditional branch (immediate)
+#------------------------------------------------------------------------------
+
+csel w1, w0, w19, ne
+csel wzr, w5, w9, eq
+csel w9, wzr, w30, gt
+csel w1, w28, wzr, mi
+csel x19, x23, x29, lt
+csel xzr, x3, x4, ge
+csel x5, xzr, x6, hs
+csel x7, x8, xzr, lo
+csinc w1, w0, w19, ne
+csinc wzr, w5, w9, eq
+csinc w9, wzr, w30, gt
+csinc w1, w28, wzr, mi
+csinc x19, x23, x29, lt
+csinc xzr, x3, x4, ge
+csinc x5, xzr, x6, hs
+csinc x7, x8, xzr, lo
+csinv w1, w0, w19, ne
+csinv wzr, w5, w9, eq
+csinv w9, wzr, w30, gt
+csinv w1, w28, wzr, mi
+csinv x19, x23, x29, lt
+csinv xzr, x3, x4, ge
+csinv x5, xzr, x6, hs
+csinv x7, x8, xzr, lo
+csneg w1, w0, w19, ne
+csneg wzr, w5, w9, eq
+csneg w9, wzr, w30, gt
+csneg w1, w28, wzr, mi
+csneg x19, x23, x29, lt
+csneg xzr, x3, x4, ge
+csneg x5, xzr, x6, hs
+csneg x7, x8, xzr, lo
+cset w3, eq
+cset x9, pl
+csetm w20, ne
+csetm x30, ge
+csinc w2, wzr, wzr, al
+csinv x3, xzr, xzr, nv
+cinc w3, w5, gt
+cinc wzr, w4, le
+cset w9, lt
+cinc x3, x5, gt
+cinc xzr, x4, le
+cset x9, lt
+csinc w5, w6, w6, nv
+csinc x1, x2, x2, al
+cinv w3, w5, gt
+cinv wzr, w4, le
+csetm w9, lt
+cinv x3, x5, gt
+cinv xzr, x4, le
+csetm x9, lt
+csinv x1, x0, x0, al
+csinv w9, w8, w8, nv
+cneg w3, w5, gt
+cneg wzr, w4, le
+cneg w9, wzr, lt
+cneg x3, x5, gt
+cneg xzr, x4, le
+cneg x9, xzr, lt
+csneg x4, x8, x8, al
+csinv w9, w8, w8, nv
+
+#------------------------------------------------------------------------------
+# Data-processing (1 source)
+#------------------------------------------------------------------------------
+
+rbit w0, w7
+rbit x18, x3
+rev16 w17, w1
+rev16 x5, x2
+rev w18, w0
+rev32 x20, x1
+rev x22, x2
+clz w24, w3
+clz x26, x4
+cls w3, w5
+cls x20, x5
+
+#------------------------------------------------------------------------------
+# Data-processing (2 source)
+#------------------------------------------------------------------------------
+
+udiv w0, w7, w10
+udiv x9, x22, x4
+sdiv w12, w21, w0
+sdiv x13, x2, x1
+lsl w11, w12, w13
+lsl x14, x15, x16
+lsr w17, w18, w19
+lsr x20, x21, x22
+asr w23, w24, w25
+asr x26, x27, x28
+ror w0, w1, w2
+ror x3, x4, x5
+lsl w6, w7, w8
+lsl x9, x10, x11
+lsr w12, w13, w14
+lsr x15, x16, x17
+asr w18, w19, w20
+asr x21, x22, x23
+ror w24, w25, w26
+ror x27, x28, x29
+
+#------------------------------------------------------------------------------
+# Data-processing (3 sources)
+#------------------------------------------------------------------------------
+
+smulh x30, x29, x28
+smulh xzr, x27, x26
+umulh x30, x29, x28
+umulh x23, x30, xzr
+madd w1, w3, w7, w4
+madd wzr, w0, w9, w11
+madd w13, wzr, w4, w4
+madd w19, w30, wzr, w29
+mul w4, w5, w6
+madd x1, x3, x7, x4
+madd xzr, x0, x9, x11
+madd x13, xzr, x4, x4
+madd x19, x30, xzr, x29
+mul x4, x5, x6
+msub w1, w3, w7, w4
+msub wzr, w0, w9, w11
+msub w13, wzr, w4, w4
+msub w19, w30, wzr, w29
+mneg w4, w5, w6
+msub x1, x3, x7, x4
+msub xzr, x0, x9, x11
+msub x13, xzr, x4, x4
+msub x19, x30, xzr, x29
+mneg x4, x5, x6
+smaddl x3, w5, w2, x9
+smaddl xzr, w10, w11, x12
+smaddl x13, wzr, w14, x15
+smaddl x16, w17, wzr, x18
+smull x19, w20, w21
+smsubl x3, w5, w2, x9
+smsubl xzr, w10, w11, x12
+smsubl x13, wzr, w14, x15
+smsubl x16, w17, wzr, x18
+smnegl x19, w20, w21
+umaddl x3, w5, w2, x9
+umaddl xzr, w10, w11, x12
+umaddl x13, wzr, w14, x15
+umaddl x16, w17, wzr, x18
+umull x19, w20, w21
+umsubl x3, w5, w2, x9
+umsubl x16, w17, wzr, x18
+umnegl x19, w20, w21
+smulh x30, x29, x28
+smulh x23, x22, xzr
+umulh x23, x22, xzr
+mul x19, x20, xzr
+mneg w21, w22, w23
+smull x11, w13, w17
+umull x11, w13, w17
+smnegl x11, w13, w17
+umnegl x11, w13, w17
+
+#------------------------------------------------------------------------------
+# Extract (immediate)
+#------------------------------------------------------------------------------
+
+extr w3, w5, w7, #0
+extr w11, w13, w17, #31
+extr x3, x5, x7, #15
+extr x11, x13, x17, #63
+ror x19, x23, #24
+ror x29, xzr, #63
+ror w9, w13, #31
+
+#------------------------------------------------------------------------------
+# Floating-point compare
+#------------------------------------------------------------------------------
+
+fcmp s3, s5
+fcmp s31, #0.0
+fcmp s31, #0.0
+fcmpe s29, s30
+fcmpe s15, #0.0
+fcmpe s15, #0.0
+fcmp d4, d12
+fcmp d23, #0.0
+fcmp d23, #0.0
+fcmpe d26, d22
+fcmpe d29, #0.0
+fcmpe d29, #0.0
+
+#------------------------------------------------------------------------------
+# Floating-point conditional compare
+#------------------------------------------------------------------------------
+
+fccmp s1, s31, #0, eq
+fccmp s3, s0, #15, hs
+fccmp s31, s15, #13, hs
+fccmp d9, d31, #0, le
+fccmp d3, d0, #15, gt
+fccmp d31, d5, #7, ne
+fccmpe s1, s31, #0, eq
+fccmpe s3, s0, #15, hs
+fccmpe s31, s15, #13, hs
+fccmpe d9, d31, #0, le
+fccmpe d3, d0, #15, gt
+fccmpe d31, d5, #7, ne
+
+#-------------------------------------------------------------------------------
+# Floating-point conditional compare
+#-------------------------------------------------------------------------------
+
+fcsel s3, s20, s9, pl
+fcsel d9, d10, d11, mi
+
+#------------------------------------------------------------------------------
+# Floating-point data-processing (1 source)
+#------------------------------------------------------------------------------
+
+fmov s0, s1
+fabs s2, s3
+fneg s4, s5
+fsqrt s6, s7
+fcvt d8, s9
+fcvt h10, s11
+frintn s12, s13
+frintp s14, s15
+frintm s16, s17
+frintz s18, s19
+frinta s20, s21
+frintx s22, s23
+frinti s24, s25
+fmov d0, d1
+fabs d2, d3
+fneg d4, d5
+fsqrt d6, d7
+fcvt s8, d9
+fcvt h10, d11
+frintn d12, d13
+frintp d14, d15
+frintm d16, d17
+frintz d18, d19
+frinta d20, d21
+frintx d22, d23
+frinti d24, d25
+fcvt s26, h27
+fcvt d28, h29
+
+#------------------------------------------------------------------------------
+# Floating-point data-processing (2 sources)
+#------------------------------------------------------------------------------
+
+fmul s20, s19, s17
+fdiv s1, s2, s3
+fadd s4, s5, s6
+fsub s7, s8, s9
+fmax s10, s11, s12
+fmin s13, s14, s15
+fmaxnm s16, s17, s18
+fminnm s19, s20, s21
+fnmul s22, s23, s2
+fmul d20, d19, d17
+fdiv d1, d2, d3
+fadd d4, d5, d6
+fsub d7, d8, d9
+fmax d10, d11, d12
+fmin d13, d14, d15
+fmaxnm d16, d17, d18
+fminnm d19, d20, d21
+fnmul d22, d23, d24
+
+#------------------------------------------------------------------------------
+# Floating-point data-processing (1 source)
+#------------------------------------------------------------------------------
+
+fmadd s3, s5, s6, s31
+fmadd d3, d13, d0, d23
+fmsub s3, s5, s6, s31
+fmsub d3, d13, d0, d23
+fnmadd s3, s5, s6, s31
+fnmadd d3, d13, d0, d23
+fnmsub s3, s5, s6, s31
+fnmsub d3, d13, d0, d23
+
+#------------------------------------------------------------------------------
+# Floating-point <-> fixed-point conversion
+#------------------------------------------------------------------------------
+
+fcvtzs w3, h5, #1
+fcvtzs wzr, h20, #13
+fcvtzs w19, h0, #32
+fcvtzs x3, h5, #1
+fcvtzs x12, h30, #45
+fcvtzs x19, h0, #64
+fcvtzs w3, s5, #1
+fcvtzs wzr, s20, #13
+fcvtzs w19, s0, #32
+fcvtzs x3, s5, #1
+fcvtzs x12, s30, #45
+fcvtzs x19, s0, #64
+fcvtzs w3, d5, #1
+fcvtzs wzr, d20, #13
+fcvtzs w19, d0, #32
+fcvtzs x3, d5, #1
+fcvtzs x12, d30, #45
+fcvtzs x19, d0, #64
+fcvtzu w3, h5, #1
+fcvtzu wzr, h20, #13
+fcvtzu w19, h0, #32
+fcvtzu x3, h5, #1
+fcvtzu x12, h30, #45
+fcvtzu x19, h0, #64
+fcvtzu w3, s5, #1
+fcvtzu wzr, s20, #13
+fcvtzu w19, s0, #32
+fcvtzu x3, s5, #1
+fcvtzu x12, s30, #45
+fcvtzu x19, s0, #64
+fcvtzu w3, d5, #1
+fcvtzu wzr, d20, #13
+fcvtzu w19, d0, #32
+fcvtzu x3, d5, #1
+fcvtzu x12, d30, #45
+fcvtzu x19, d0, #64
+scvtf h23, w19, #1
+scvtf h31, wzr, #20
+scvtf h14, w0, #32
+scvtf h23, x19, #1
+scvtf h31, xzr, #20
+scvtf h14, x0, #64
+scvtf s23, w19, #1
+scvtf s31, wzr, #20
+scvtf s14, w0, #32
+scvtf s23, x19, #1
+scvtf s31, xzr, #20
+scvtf s14, x0, #64
+scvtf d23, w19, #1
+scvtf d31, wzr, #20
+scvtf d14, w0, #32
+scvtf d23, x19, #1
+scvtf d31, xzr, #20
+scvtf d14, x0, #64
+ucvtf h23, w19, #1
+ucvtf h31, wzr, #20
+ucvtf h14, w0, #32
+ucvtf h23, x19, #1
+ucvtf h31, xzr, #20
+ucvtf h14, x0, #64
+ucvtf s23, w19, #1
+ucvtf s31, wzr, #20
+ucvtf s14, w0, #32
+ucvtf s23, x19, #1
+ucvtf s31, xzr, #20
+ucvtf s14, x0, #64
+ucvtf d23, w19, #1
+ucvtf d31, wzr, #20
+ucvtf d14, w0, #32
+ucvtf d23, x19, #1
+ucvtf d31, xzr, #20
+ucvtf d14, x0, #64
+
+#------------------------------------------------------------------------------
+# Floating-point <-> integer conversion
+#------------------------------------------------------------------------------
+
+fcvtns w3, h31
+fcvtns xzr, h12
+fcvtnu wzr, h12
+fcvtnu x0, h0
+fcvtps wzr, h9
+fcvtps x12, h20
+fcvtpu w30, h23
+fcvtpu x29, h3
+fcvtms w2, h3
+fcvtms x4, h5
+fcvtmu w6, h7
+fcvtmu x8, h9
+fcvtzs w10, h11
+fcvtzs x12, h13
+fcvtzu w14, h15
+fcvtzu x15, h16
+scvtf h17, w18
+scvtf h19, x20
+ucvtf h21, w22
+scvtf h23, x24
+fcvtas w25, h26
+fcvtas x27, h28
+fcvtau w29, h30
+fcvtau xzr, h0
+fcvtns w3, s31
+fcvtns xzr, s12
+fcvtnu wzr, s12
+fcvtnu x0, s0
+fcvtps wzr, s9
+fcvtps x12, s20
+fcvtpu w30, s23
+fcvtpu x29, s3
+fcvtms w2, s3
+fcvtms x4, s5
+fcvtmu w6, s7
+fcvtmu x8, s9
+fcvtzs w10, s11
+fcvtzs x12, s13
+fcvtzu w14, s15
+fcvtzu x15, s16
+scvtf s17, w18
+scvtf s19, x20
+ucvtf s21, w22
+scvtf s23, x24
+fcvtas w25, s26
+fcvtas x27, s28
+fcvtau w29, s30
+fcvtau xzr, s0
+fcvtns w3, d31
+fcvtns xzr, d12
+fcvtnu wzr, d12
+fcvtnu x0, d0
+fcvtps wzr, d9
+fcvtps x12, d20
+fcvtpu w30, d23
+fcvtpu x29, d3
+fcvtms w2, d3
+fcvtms x4, d5
+fcvtmu w6, d7
+fcvtmu x8, d9
+fcvtzs w10, d11
+fcvtzs x12, d13
+fcvtzu w14, d15
+fcvtzu x15, d16
+scvtf d17, w18
+scvtf d19, x20
+ucvtf d21, w22
+ucvtf d23, x24
+fcvtas w25, d26
+fcvtas x27, d28
+fcvtau w29, d30
+fcvtau xzr, d0
+fmov w3, s9
+fmov s9, w3
+fmov x20, d31
+fmov d1, x15
+fmov x3, v12.d[1]
+fmov v1.d[1], x19
+
+#------------------------------------------------------------------------------
+# Floating-point immediate
+#------------------------------------------------------------------------------
+
+fmov s2, #0.12500000
+fmov s3, #1.00000000
+fmov d30, #16.00000000
+fmov s4, #1.06250000
+fmov d10, #1.93750000
+fmov s12, #-1.00000000
+fmov d16, #8.50000000
+
+#------------------------------------------------------------------------------
+# Load-register (literal)
+#------------------------------------------------------------------------------
+
+ldr w3, #0
+ldr x29, #4
+ldrsw xzr, #-4
+ldr s0, #8
+ldr d0, #1048572
+ldr q0, #-1048576
+prfm pldl1strm, #0
+prfm #22, #0
+
+#------------------------------------------------------------------------------
+# Load/store exclusive
+#------------------------------------------------------------------------------
+
+stxrb w18, w8, [sp]
+stxrh w24, w15, [x16]
+stxr w5, w6, [x17]
+stxr w1, x10, [x21]
+ldxrb w30, [x0]
+ldxrh w17, [x4]
+ldxr w22, [sp]
+ldxr x11, [x29]
+ldxr x11, [x29]
+ldxr x11, [x29]
+stxp w12, w11, w10, [sp]
+stxp wzr, x27, x9, [x12]
+ldxp w0, wzr, [sp]
+ldxp x17, x0, [x18]
+ldxp x17, x0, [x18]
+stlxrb w12, w22, [x0]
+stlxrh w10, w1, [x1]
+stlxr w9, w2, [x2]
+stlxr w9, x3, [sp]
+ldaxrb w8, [x4]
+ldaxrh w7, [x5]
+ldaxr w6, [sp]
+ldaxr x5, [x6]
+ldaxr x5, [x6]
+ldaxr x5, [x6]
+stlxp w4, w5, w6, [sp]
+stlxp wzr, x6, x7, [x1]
+ldaxp w5, w18, [sp]
+ldaxp x6, x19, [x22]
+ldaxp x6, x19, [x22]
+stlrb w24, [sp]
+stlrh w25, [x30]
+stlr w26, [x29]
+stlr x27, [x28]
+stlr x27, [x28]
+stlr x27, [x28]
+ldarb w23, [sp]
+ldarh w22, [x30]
+ldar wzr, [x29]
+ldar x21, [x28]
+ldar x21, [x28]
+ldar x21, [x28]
+
+#------------------------------------------------------------------------------
+# Load/store (unscaled immediate)
+#------------------------------------------------------------------------------
+
+sturb w9, [sp]
+sturh wzr, [x12, #255]
+stur w16, [x0, #-256]
+stur x28, [x14, #1]
+ldurb w1, [x20, #255]
+ldurh w20, [x1, #255]
+ldur w12, [sp, #255]
+ldur xzr, [x12, #255]
+ldursb x9, [x7, #-256]
+ldursh x17, [x19, #-256]
+ldursw x20, [x15, #-256]
+prfum pldl2keep, [sp, #-256]
+ldursb w19, [x1, #-256]
+ldursh w15, [x21, #-256]
+stur b0, [sp, #1]
+stur h12, [x12, #-1]
+stur s15, [x0, #255]
+stur d31, [x5, #25]
+stur q9, [x5]
+ldur b3, [sp]
+ldur h5, [x4, #-256]
+ldur s7, [x12, #-1]
+ldur d11, [x19, #4]
+ldur q13, [x1, #2]
+
+#------------------------------------------------------------------------------
+# Load/store (immediate post-indexed)
+#------------------------------------------------------------------------------
+
+strb w9, [x2], #255
+strb w10, [x3], #1
+strb w10, [x3], #-256
+strh w9, [x2], #255
+strh w9, [x2], #1
+strh w10, [x3], #-256
+str w19, [sp], #255
+str w20, [x30], #1
+str w21, [x12], #-256
+str xzr, [x9], #255
+str x2, [x3], #1
+str x19, [x12], #-256
+ldrb w9, [x2], #255
+ldrb w10, [x3], #1
+ldrb w10, [x3], #-256
+ldrh w9, [x2], #255
+ldrh w9, [x2], #1
+ldrh w10, [x3], #-256
+ldr w19, [sp], #255
+ldr w20, [x30], #1
+ldr w21, [x12], #-256
+ldr xzr, [x9], #255
+ldr x2, [x3], #1
+ldr x19, [x12], #-256
+ldrsb xzr, [x9], #255
+ldrsb x2, [x3], #1
+ldrsb x19, [x12], #-256
+ldrsh xzr, [x9], #255
+ldrsh x2, [x3], #1
+ldrsh x19, [x12], #-256
+ldrsw xzr, [x9], #255
+ldrsw x2, [x3], #1
+ldrsw x19, [x12], #-256
+ldrsb wzr, [x9], #255
+ldrsb w2, [x3], #1
+ldrsb w19, [x12], #-256
+ldrsh wzr, [x9], #255
+ldrsh w2, [x3], #1
+ldrsh w19, [x12], #-256
+str b0, [x0], #255
+str b3, [x3], #1
+str b5, [sp], #-256
+str h10, [x10], #255
+str h13, [x23], #1
+str h15, [sp], #-256
+str s20, [x20], #255
+str s23, [x23], #1
+str s25, [x0], #-256
+str d20, [x20], #255
+str d23, [x23], #1
+str d25, [x0], #-256
+ldr b0, [x0], #255
+ldr b3, [x3], #1
+ldr b5, [sp], #-256
+ldr h10, [x10], #255
+ldr h13, [x23], #1
+ldr h15, [sp], #-256
+ldr s20, [x20], #255
+ldr s23, [x23], #1
+ldr s25, [x0], #-256
+ldr d20, [x20], #255
+ldr d23, [x23], #1
+ldr d25, [x0], #-256
+ldr q20, [x1], #255
+ldr q23, [x9], #1
+ldr q25, [x20], #-256
+str q10, [x1], #255
+str q22, [sp], #1
+str q21, [x20], #-256
+
+#-------------------------------------------------------------------------------
+# Load-store register (immediate pre-indexed)
+#-------------------------------------------------------------------------------
+
+ldr x3, [x4, #0]!
+strb w9, [x2, #255]!
+strb w10, [x3, #1]!
+strb w10, [x3, #-256]!
+strh w9, [x2, #255]!
+strh w9, [x2, #1]!
+strh w10, [x3, #-256]!
+str w19, [sp, #255]!
+str w20, [x30, #1]!
+str w21, [x12, #-256]!
+str xzr, [x9, #255]!
+str x2, [x3, #1]!
+str x19, [x12, #-256]!
+ldrb w9, [x2, #255]!
+ldrb w10, [x3, #1]!
+ldrb w10, [x3, #-256]!
+ldrh w9, [x2, #255]!
+ldrh w9, [x2, #1]!
+ldrh w10, [x3, #-256]!
+ldr w19, [sp, #255]!
+ldr w20, [x30, #1]!
+ldr w21, [x12, #-256]!
+ldr xzr, [x9, #255]!
+ldr x2, [x3, #1]!
+ldr x19, [x12, #-256]!
+ldrsb xzr, [x9, #255]!
+ldrsb x2, [x3, #1]!
+ldrsb x19, [x12, #-256]!
+ldrsh xzr, [x9, #255]!
+ldrsh x2, [x3, #1]!
+ldrsh x19, [x12, #-256]!
+ldrsw xzr, [x9, #255]!
+ldrsw x2, [x3, #1]!
+ldrsw x19, [x12, #-256]!
+ldrsb wzr, [x9, #255]!
+ldrsb w2, [x3, #1]!
+ldrsb w19, [x12, #-256]!
+ldrsh wzr, [x9, #255]!
+ldrsh w2, [x3, #1]!
+ldrsh w19, [x12, #-256]!
+str b0, [x0, #255]!
+str b3, [x3, #1]!
+str b5, [sp, #-256]!
+str h10, [x10, #255]!
+str h13, [x23, #1]!
+str h15, [sp, #-256]!
+str s20, [x20, #255]!
+str s23, [x23, #1]!
+str s25, [x0, #-256]!
+str d20, [x20, #255]!
+str d23, [x23, #1]!
+str d25, [x0, #-256]!
+ldr b0, [x0, #255]!
+ldr b3, [x3, #1]!
+ldr b5, [sp, #-256]!
+ldr h10, [x10, #255]!
+ldr h13, [x23, #1]!
+ldr h15, [sp, #-256]!
+ldr s20, [x20, #255]!
+ldr s23, [x23, #1]!
+ldr s25, [x0, #-256]!
+ldr d20, [x20, #255]!
+ldr d23, [x23, #1]!
+ldr d25, [x0, #-256]!
+ldr q20, [x1, #255]!
+ldr q23, [x9, #1]!
+ldr q25, [x20, #-256]!
+str q10, [x1, #255]!
+str q22, [sp, #1]!
+str q21, [x20, #-256]!
+
+#------------------------------------------------------------------------------
+# Load/store (unprivileged)
+#------------------------------------------------------------------------------
+
+sttrb w9, [sp]
+sttrh wzr, [x12, #255]
+sttr w16, [x0, #-256]
+sttr x28, [x14, #1]
+ldtrb w1, [x20, #255]
+ldtrh w20, [x1, #255]
+ldtr w12, [sp, #255]
+ldtr xzr, [x12, #255]
+ldtrsb x9, [x7, #-256]
+ldtrsh x17, [x19, #-256]
+ldtrsw x20, [x15, #-256]
+ldtrsb w19, [x1, #-256]
+ldtrsh w15, [x21, #-256]
+
+#------------------------------------------------------------------------------
+# Load/store (unsigned immediate)
+#------------------------------------------------------------------------------
+
+ldr x4, [x29]
+ldr x30, [x12, #32760]
+ldr x20, [sp, #8]
+ldr xzr, [sp]
+ldr w2, [sp]
+ldr w17, [sp, #16380]
+ldr w13, [x2, #4]
+ldrsw x2, [x5, #4]
+ldrsw x23, [sp, #16380]
+ldrh w2, [x4]
+ldrsh w23, [x6, #8190]
+ldrsh wzr, [sp, #2]
+ldrsh x29, [x2, #2]
+ldrb w26, [x3, #121]
+ldrb w12, [x2]
+ldrsb w27, [sp, #4095]
+ldrsb xzr, [x15]
+str x30, [sp]
+str w20, [x4, #16380]
+strh w17, [sp, #8190]
+strb w23, [x3, #4095]
+strb wzr, [x2]
+ldr b31, [sp, #4095]
+ldr h20, [x2, #8190]
+ldr s10, [x19, #16380]
+ldr d3, [x10, #32760]
+str q12, [sp, #65520]
+
+#------------------------------------------------------------------------------
+# Load/store (register offset)
+#------------------------------------------------------------------------------
+
+ldrb w3, [sp, x5]
+ldrb w9, [x27, x6]
+ldrsb w10, [x30, x7]
+ldrb w11, [x29, x3, sxtx]
+strb w12, [x28, xzr, sxtx]
+ldrb w14, [x26, w6, uxtw]
+ldrsb w15, [x25, w7, uxtw]
+ldrb w17, [x23, w9, sxtw]
+ldrsb x18, [x22, w10, sxtw]
+ldrsh w3, [sp, x5]
+ldrsh w9, [x27, x6]
+ldrh w10, [x30, x7, lsl #1]
+strh w11, [x29, x3, sxtx]
+ldrh w12, [x28, xzr, sxtx]
+ldrsh x13, [x27, x5, sxtx #1]
+ldrh w14, [x26, w6, uxtw]
+ldrh w15, [x25, w7, uxtw]
+ldrsh w16, [x24, w8, uxtw #1]
+ldrh w17, [x23, w9, sxtw]
+ldrh w18, [x22, w10, sxtw]
+strh w19, [x21, wzr, sxtw #1]
+ldr w3, [sp, x5]
+ldr s9, [x27, x6]
+ldr w10, [x30, x7, lsl #2]
+ldr w11, [x29, x3, sxtx]
+str s12, [x28, xzr, sxtx]
+str w13, [x27, x5, sxtx #2]
+str w14, [x26, w6, uxtw]
+ldr w15, [x25, w7, uxtw]
+ldr w16, [x24, w8, uxtw #2]
+ldrsw x17, [x23, w9, sxtw]
+ldr w18, [x22, w10, sxtw]
+ldrsw x19, [x21, wzr, sxtw #2]
+ldr x3, [sp, x5]
+str x9, [x27, x6]
+ldr d10, [x30, x7, lsl #3]
+str x11, [x29, x3, sxtx]
+ldr x12, [x28, xzr, sxtx]
+ldr x13, [x27, x5, sxtx #3]
+prfm pldl1keep, [x26, w6, uxtw]
+ldr x15, [x25, w7, uxtw]
+ldr x16, [x24, w8, uxtw #3]
+ldr x17, [x23, w9, sxtw]
+ldr x18, [x22, w10, sxtw]
+str d19, [x21, wzr, sxtw #3]
+ldr q3, [sp, x5]
+ldr q9, [x27, x6]
+ldr q10, [x30, x7, lsl #4]
+str q11, [x29, x3, sxtx]
+str q12, [x28, xzr, sxtx]
+str q13, [x27, x5, sxtx #4]
+ldr q14, [x26, w6, uxtw]
+ldr q15, [x25, w7, uxtw]
+ldr q16, [x24, w8, uxtw #4]
+ldr q17, [x23, w9, sxtw]
+str q18, [x22, w10, sxtw]
+ldr q19, [x21, wzr, sxtw #4]
+
+#------------------------------------------------------------------------------
+# Load/store register pair (offset)
+#------------------------------------------------------------------------------
+
+ldp w3, w5, [sp]
+stp wzr, w9, [sp, #252]
+ldp w2, wzr, [sp, #-256]
+ldp w9, w10, [sp, #4]
+ldpsw x9, x10, [sp, #4]
+ldpsw x9, x10, [x2, #-256]
+ldpsw x20, x30, [sp, #252]
+ldp x21, x29, [x2, #504]
+ldp x22, x23, [x3, #-512]
+ldp x24, x25, [x4, #8]
+ldp s29, s28, [sp, #252]
+stp s27, s26, [sp, #-256]
+ldp s1, s2, [x3, #44]
+stp d3, d5, [x9, #504]
+stp d7, d11, [x10, #-512]
+ldp d2, d3, [x30, #-8]
+stp q3, q5, [sp]
+stp q17, q19, [sp, #1008]
+ldp q23, q29, [x1, #-1024]
+
+#------------------------------------------------------------------------------
+# Load/store register pair (post-indexed)
+#------------------------------------------------------------------------------
+
+ldp w3, w5, [sp], #0
+stp wzr, w9, [sp], #252
+ldp w2, wzr, [sp], #-256
+ldp w9, w10, [sp], #4
+ldpsw x9, x10, [sp], #4
+ldpsw x9, x10, [x2], #-256
+ldpsw x20, x30, [sp], #252
+ldp x21, x29, [x2], #504
+ldp x22, x23, [x3], #-512
+ldp x24, x25, [x4], #8
+ldp s29, s28, [sp], #252
+stp s27, s26, [sp], #-256
+ldp s1, s2, [x3], #44
+stp d3, d5, [x9], #504
+stp d7, d11, [x10], #-512
+ldp d2, d3, [x30], #-8
+stp q3, q5, [sp], #0
+stp q17, q19, [sp], #1008
+ldp q23, q29, [x1], #-1024
+
+#------------------------------------------------------------------------------
+# Load/store register pair (pre-indexed)
+#------------------------------------------------------------------------------
+
+ldp w3, w5, [sp, #0]!
+stp wzr, w9, [sp, #252]!
+ldp w2, wzr, [sp, #-256]!
+ldp w9, w10, [sp, #4]!
+ldpsw x9, x10, [sp, #4]!
+ldpsw x9, x10, [x2, #-256]!
+ldpsw x20, x30, [sp, #252]!
+ldp x21, x29, [x2, #504]!
+ldp x22, x23, [x3, #-512]!
+ldp x24, x25, [x4, #8]!
+ldp s29, s28, [sp, #252]!
+stp s27, s26, [sp, #-256]!
+ldp s1, s2, [x3, #44]!
+stp d3, d5, [x9, #504]!
+stp d7, d11, [x10, #-512]!
+ldp d2, d3, [x30, #-8]!
+stp q3, q5, [sp, #0]!
+stp q17, q19, [sp, #1008]!
+ldp q23, q29, [x1, #-1024]!
+
+#------------------------------------------------------------------------------
+# Load/store register pair (offset)
+#------------------------------------------------------------------------------
+
+ldnp w3, w5, [sp]
+stnp wzr, w9, [sp, #252]
+ldnp w2, wzr, [sp, #-256]
+ldnp w9, w10, [sp, #4]
+ldnp x21, x29, [x2, #504]
+ldnp x22, x23, [x3, #-512]
+ldnp x24, x25, [x4, #8]
+ldnp s29, s28, [sp, #252]
+stnp s27, s26, [sp, #-256]
+ldnp s1, s2, [x3, #44]
+stnp d3, d5, [x9, #504]
+stnp d7, d11, [x10, #-512]
+ldnp d2, d3, [x30, #-8]
+stnp q3, q5, [sp]
+stnp q17, q19, [sp, #1008]
+ldnp q23, q29, [x1, #-1024]
+
+#------------------------------------------------------------------------------
+# Logical (immediate)
+#------------------------------------------------------------------------------
+
+mov w3, #983055
+mov x10, #-6148914691236517206
+
+#------------------------------------------------------------------------------
+# Logical (shifted register)
+#------------------------------------------------------------------------------
+
+and w12, w23, w21
+and w16, w15, w1, lsl #1
+and w9, w4, w10, lsl #31
+and w3, w30, w11
+and x3, x5, x7, lsl #63
+and x5, x14, x19, asr #4
+and w3, w17, w19, ror #31
+and w0, w2, wzr, lsr #17
+and w3, w30, w11, asr #2
+and xzr, x4, x26
+and w3, wzr, w20, ror #2
+and x7, x20, xzr, asr #63
+bic x13, x20, x14, lsl #47
+bic w2, w7, w9
+orr w2, w7, w0, asr #31
+orr x8, x9, x10, lsl #12
+orn x3, x5, x7, asr #2
+orn w2, w5, w29
+ands w7, wzr, w9, lsl #1
+ands x3, x5, x20, ror #63
+bics w3, w5, w7
+bics x3, xzr, x3, lsl #1
+tst w3, w7, lsl #31
+tst x2, x20, asr #2
+mov x3, x6
+mov x3, xzr
+mov wzr, w2
+mov w3, w5
+
+#------------------------------------------------------------------------------
+# Move wide (immediate)
+#------------------------------------------------------------------------------
+
+movz w2, #0, lsl #16
+mov w2, #-1235
+mov x2, #5299989643264
+mov x2, #0
+movk w3, #0
+movz x4, #0, lsl #16
+movk w5, #0, lsl #16
+movz x6, #0, lsl #32
+movk x7, #0, lsl #32
+movz x8, #0, lsl #48
+movk x9, #0, lsl #48
+
+#------------------------------------------------------------------------------
+# PC-relative addressing
+#------------------------------------------------------------------------------
+
+adr x2, #1600
+adrp x21, #6553600
+adr x0, #262144
+
+#------------------------------------------------------------------------------
+# Test and branch (immediate)
+#------------------------------------------------------------------------------
+
+tbz x12, #62, #0
+tbz x12, #62, #4
+tbz x12, #62, #-32768
+tbnz x12, #60, #32764
+
+#------------------------------------------------------------------------------
+# Unconditional branch (immediate)
+#------------------------------------------------------------------------------
+
+b #4
+b #-4
+b #134217724
+
+#------------------------------------------------------------------------------
+# Unconditional branch (register)
+#------------------------------------------------------------------------------
+
+br x20
+blr xzr
+ret x10
+ret
+eret
+drps
+
+#------------------------------------------------------------------------------
+# Pointer authentication instructions
+#------------------------------------------------------------------------------
+
+autda x0, x1
+autdb x2, x3
+autdza x4
+autdzb x5
+autia x6, x7
+autib x8, x9
+autia1716
+autib1716
+autiasp
+autibsp
+autiaz
+autibz
+autiza x10
+autizb x11
+blraa x5, x6
+blraaz x7
+blrab x8, x9
+blrabz x10
+braa x29, x30
+braaz x1
+brab x2, x3
+brabz x4
+retaa
+retab
+eretaa
+eretab
+pacda x12, x13
+pacdb x14, x15
+pacdza x16
+pacdzb x17
+pacga x24, x25, x26
+pacia x18, x19
+pacib x20, x21
+pacia1716
+pacib1716
+paciasp
+pacibsp
+paciaz
+pacibz
+paciza x22
+pacizb x23
+ldraa x11, [x12, #16]!
+ldraa x13, [x14, #32]
+ldrab x15, [x16, #24]!
+ldrab x17, [x18, #8]
+xpacd x27
+xpaci x28
+xpaclri
+
+# 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.33 add w2, w3, #4095
+# CHECK-NEXT: 1 1 0.33 add w30, w29, #1, lsl #12
+# CHECK-NEXT: 1 1 0.33 add w13, w5, #4095, lsl #12
+# CHECK-NEXT: 1 1 0.33 add x5, x7, #1638
+# CHECK-NEXT: 1 1 0.33 add w20, wsp, #801
+# CHECK-NEXT: 1 1 0.33 add wsp, wsp, #1104
+# CHECK-NEXT: 1 1 0.33 add wsp, w30, #4084
+# CHECK-NEXT: 1 1 0.33 add x0, x24, #291
+# CHECK-NEXT: 1 1 0.33 add x3, x24, #4095, lsl #12
+# CHECK-NEXT: 1 1 0.33 add x8, sp, #1074
+# CHECK-NEXT: 1 1 0.33 add sp, x29, #3816
+# CHECK-NEXT: 1 1 0.33 sub w0, wsp, #4077
+# CHECK-NEXT: 1 1 0.33 sub w4, w20, #546, lsl #12
+# CHECK-NEXT: 1 1 0.33 sub sp, sp, #288
+# CHECK-NEXT: 1 1 0.33 sub wsp, w19, #16
+# CHECK-NEXT: 1 1 0.33 adds w13, w23, #291, lsl #12
+# CHECK-NEXT: 1 1 0.33 cmn w2, #4095
+# CHECK-NEXT: 1 1 0.33 adds w20, wsp, #0
+# CHECK-NEXT: 1 1 0.33 cmn x3, #1, lsl #12
+# CHECK-NEXT: 1 1 0.33 cmp sp, #20, lsl #12
+# CHECK-NEXT: 1 1 0.33 cmp x30, #4095
+# CHECK-NEXT: 1 1 0.33 subs x4, sp, #3822
+# CHECK-NEXT: 1 1 0.33 cmn w3, #291, lsl #12
+# CHECK-NEXT: 1 1 0.33 cmn wsp, #1365
+# CHECK-NEXT: 1 1 0.33 cmn sp, #1092, lsl #12
+# CHECK-NEXT: 1 1 0.33 mov sp, x30
+# CHECK-NEXT: 1 1 0.33 mov wsp, w20
+# CHECK-NEXT: 1 1 0.33 mov x11, sp
+# CHECK-NEXT: 1 1 0.33 mov w24, wsp
+# CHECK-NEXT: 1 1 0.33 add w3, w5, w7
+# CHECK-NEXT: 1 1 0.33 add wzr, w3, w5
+# CHECK-NEXT: 1 1 0.33 add w20, wzr, w4
+# CHECK-NEXT: 1 1 0.33 add w4, w6, wzr
+# CHECK-NEXT: 1 1 0.33 add w11, w13, w15
+# CHECK-NEXT: 1 2 0.33 add w9, w3, wzr, lsl #10
+# CHECK-NEXT: 1 2 0.33 add w17, w29, w20, lsl #31
+# CHECK-NEXT: 1 2 0.33 add w21, w22, w23, lsr #0
+# CHECK-NEXT: 1 2 0.33 add w24, w25, w26, lsr #18
+# CHECK-NEXT: 1 2 0.33 add w27, w28, w29, lsr #31
+# CHECK-NEXT: 1 2 0.33 add w2, w3, w4, asr #0
+# CHECK-NEXT: 1 2 0.33 add w5, w6, w7, asr #21
+# CHECK-NEXT: 1 2 0.33 add w8, w9, w10, asr #31
+# CHECK-NEXT: 1 1 0.33 add x3, x5, x7
+# CHECK-NEXT: 1 1 0.33 add xzr, x3, x5
+# CHECK-NEXT: 1 1 0.33 add x20, xzr, x4
+# CHECK-NEXT: 1 1 0.33 add x4, x6, xzr
+# CHECK-NEXT: 1 1 0.33 add x11, x13, x15
+# CHECK-NEXT: 1 2 0.33 add x9, x3, xzr, lsl #10
+# CHECK-NEXT: 1 2 0.33 add x17, x29, x20, lsl #63
+# CHECK-NEXT: 1 2 0.33 add x21, x22, x23, lsr #0
+# CHECK-NEXT: 1 2 0.33 add x24, x25, x26, lsr #18
+# CHECK-NEXT: 1 2 0.33 add x27, x28, x29, lsr #63
+# CHECK-NEXT: 1 2 0.33 add x2, x3, x4, asr #0
+# CHECK-NEXT: 1 2 0.33 add x5, x6, x7, asr #21
+# CHECK-NEXT: 1 2 0.33 add x8, x9, x10, asr #63
+# CHECK-NEXT: 1 1 0.33 adds w3, w5, w7
+# CHECK-NEXT: 1 1 0.33 cmn w3, w5
+# CHECK-NEXT: 1 1 0.33 adds w20, wzr, w4
+# CHECK-NEXT: 1 1 0.33 adds w4, w6, wzr
+# CHECK-NEXT: 1 1 0.33 adds w11, w13, w15
+# CHECK-NEXT: 1 2 0.33 adds w9, w3, wzr, lsl #10
+# CHECK-NEXT: 1 2 0.33 adds w17, w29, w20, lsl #31
+# CHECK-NEXT: 1 2 0.33 adds w21, w22, w23, lsr #0
+# CHECK-NEXT: 1 2 0.33 adds w24, w25, w26, lsr #18
+# CHECK-NEXT: 1 2 0.33 adds w27, w28, w29, lsr #31
+# CHECK-NEXT: 1 2 0.33 adds w2, w3, w4, asr #0
+# CHECK-NEXT: 1 2 0.33 adds w5, w6, w7, asr #21
+# CHECK-NEXT: 1 2 0.33 adds w8, w9, w10, asr #31
+# CHECK-NEXT: 1 1 0.33 adds x3, x5, x7
+# CHECK-NEXT: 1 1 0.33 cmn x3, x5
+# CHECK-NEXT: 1 1 0.33 adds x20, xzr, x4
+# CHECK-NEXT: 1 1 0.33 adds x4, x6, xzr
+# CHECK-NEXT: 1 1 0.33 adds x11, x13, x15
+# CHECK-NEXT: 1 2 0.33 adds x9, x3, xzr, lsl #10
+# CHECK-NEXT: 1 2 0.33 adds x17, x29, x20, lsl #63
+# CHECK-NEXT: 1 2 0.33 adds x21, x22, x23, lsr #0
+# CHECK-NEXT: 1 2 0.33 adds x24, x25, x26, lsr #18
+# CHECK-NEXT: 1 2 0.33 adds x27, x28, x29, lsr #63
+# CHECK-NEXT: 1 2 0.33 adds x2, x3, x4, asr #0
+# CHECK-NEXT: 1 2 0.33 adds x5, x6, x7, asr #21
+# CHECK-NEXT: 1 2 0.33 adds x8, x9, x10, asr #63
+# CHECK-NEXT: 1 1 0.33 sub w3, w5, w7
+# CHECK-NEXT: 1 1 0.33 sub wzr, w3, w5
+# CHECK-NEXT: 1 1 0.33 sub w4, w6, wzr
+# CHECK-NEXT: 1 1 0.33 sub w11, w13, w15
+# CHECK-NEXT: 1 2 0.33 sub w9, w3, wzr, lsl #10
+# CHECK-NEXT: 1 2 0.33 sub w17, w29, w20, lsl #31
+# CHECK-NEXT: 1 2 0.33 sub w21, w22, w23, lsr #0
+# CHECK-NEXT: 1 2 0.33 sub w24, w25, w26, lsr #18
+# CHECK-NEXT: 1 2 0.33 sub w27, w28, w29, lsr #31
+# CHECK-NEXT: 1 2 0.33 sub w2, w3, w4, asr #0
+# CHECK-NEXT: 1 2 0.33 sub w5, w6, w7, asr #21
+# CHECK-NEXT: 1 2 0.33 sub w8, w9, w10, asr #31
+# CHECK-NEXT: 1 1 0.33 sub x3, x5, x7
+# CHECK-NEXT: 1 1 0.33 sub xzr, x3, x5
+# CHECK-NEXT: 1 1 0.33 sub x4, x6, xzr
+# CHECK-NEXT: 1 1 0.33 sub x11, x13, x15
+# CHECK-NEXT: 1 2 0.33 sub x9, x3, xzr, lsl #10
+# CHECK-NEXT: 1 2 0.33 sub x17, x29, x20, lsl #63
+# CHECK-NEXT: 1 2 0.33 sub x21, x22, x23, lsr #0
+# CHECK-NEXT: 1 2 0.33 sub x24, x25, x26, lsr #18
+# CHECK-NEXT: 1 2 0.33 sub x27, x28, x29, lsr #63
+# CHECK-NEXT: 1 2 0.33 sub x2, x3, x4, asr #0
+# CHECK-NEXT: 1 2 0.33 sub x5, x6, x7, asr #21
+# CHECK-NEXT: 1 2 0.33 sub x8, x9, x10, asr #63
+# CHECK-NEXT: 1 1 0.33 subs w3, w5, w7
+# CHECK-NEXT: 1 1 0.33 cmp w3, w5
+# CHECK-NEXT: 1 1 0.33 subs w4, w6, wzr
+# CHECK-NEXT: 1 1 0.33 subs w11, w13, w15
+# CHECK-NEXT: 1 2 0.33 subs w9, w3, wzr, lsl #10
+# CHECK-NEXT: 1 2 0.33 subs w17, w29, w20, lsl #31
+# CHECK-NEXT: 1 2 0.33 subs w21, w22, w23, lsr #0
+# CHECK-NEXT: 1 2 0.33 subs w24, w25, w26, lsr #18
+# CHECK-NEXT: 1 2 0.33 subs w27, w28, w29, lsr #31
+# CHECK-NEXT: 1 2 0.33 subs w2, w3, w4, asr #0
+# CHECK-NEXT: 1 2 0.33 subs w5, w6, w7, asr #21
+# CHECK-NEXT: 1 2 0.33 subs w8, w9, w10, asr #31
+# CHECK-NEXT: 1 1 0.33 subs x3, x5, x7
+# CHECK-NEXT: 1 1 0.33 cmp x3, x5
+# CHECK-NEXT: 1 1 0.33 subs x4, x6, xzr
+# CHECK-NEXT: 1 1 0.33 subs x11, x13, x15
+# CHECK-NEXT: 1 2 0.33 subs x9, x3, xzr, lsl #10
+# CHECK-NEXT: 1 2 0.33 subs x17, x29, x20, lsl #63
+# CHECK-NEXT: 1 2 0.33 subs x21, x22, x23, lsr #0
+# CHECK-NEXT: 1 2 0.33 subs x24, x25, x26, lsr #18
+# CHECK-NEXT: 1 2 0.33 subs x27, x28, x29, lsr #63
+# CHECK-NEXT: 1 2 0.33 subs x2, x3, x4, asr #0
+# CHECK-NEXT: 1 2 0.33 subs x5, x6, x7, asr #21
+# CHECK-NEXT: 1 2 0.33 subs x8, x9, x10, asr #63
+# CHECK-NEXT: 1 1 0.33 cmn wzr, w4
+# CHECK-NEXT: 1 1 0.33 cmn w5, wzr
+# CHECK-NEXT: 1 1 0.33 cmn w6, w7
+# CHECK-NEXT: 1 2 0.33 cmn w8, w9, lsl #15
+# CHECK-NEXT: 1 2 0.33 cmn w10, w11, lsl #31
+# CHECK-NEXT: 1 2 0.33 cmn w12, w13, lsr #0
+# CHECK-NEXT: 1 2 0.33 cmn w14, w15, lsr #21
+# CHECK-NEXT: 1 2 0.33 cmn w16, w17, lsr #31
+# CHECK-NEXT: 1 2 0.33 cmn w18, w19, asr #0
+# CHECK-NEXT: 1 2 0.33 cmn w20, w21, asr #22
+# CHECK-NEXT: 1 2 0.33 cmn w22, w23, asr #31
+# CHECK-NEXT: 1 1 0.33 cmn x0, x3
+# CHECK-NEXT: 1 1 0.33 cmn xzr, x4
+# CHECK-NEXT: 1 1 0.33 cmn x5, xzr
+# CHECK-NEXT: 1 1 0.33 cmn x6, x7
+# CHECK-NEXT: 1 2 0.33 cmn x8, x9, lsl #15
+# CHECK-NEXT: 1 2 0.33 cmn x10, x11, lsl #63
+# CHECK-NEXT: 1 2 0.33 cmn x12, x13, lsr #0
+# CHECK-NEXT: 1 2 0.33 cmn x14, x15, lsr #41
+# CHECK-NEXT: 1 2 0.33 cmn x16, x17, lsr #63
+# CHECK-NEXT: 1 2 0.33 cmn x18, x19, asr #0
+# CHECK-NEXT: 1 2 0.33 cmn x20, x21, asr #55
+# CHECK-NEXT: 1 2 0.33 cmn x22, x23, asr #63
+# CHECK-NEXT: 1 1 0.33 cmp w0, w3
+# CHECK-NEXT: 1 1 0.33 cmp wzr, w4
+# CHECK-NEXT: 1 1 0.33 cmp w5, wzr
+# CHECK-NEXT: 1 1 0.33 cmp w6, w7
+# CHECK-NEXT: 1 2 0.33 cmp w8, w9, lsl #15
+# CHECK-NEXT: 1 2 0.33 cmp w10, w11, lsl #31
+# CHECK-NEXT: 1 2 0.33 cmp w12, w13, lsr #0
+# CHECK-NEXT: 1 2 0.33 cmp w14, w15, lsr #21
+# CHECK-NEXT: 1 2 0.33 cmp w18, w19, asr #0
+# CHECK-NEXT: 1 2 0.33 cmp w20, w21, asr #22
+# CHECK-NEXT: 1 2 0.33 cmp w22, w23, asr #31
+# CHECK-NEXT: 1 1 0.33 cmp x0, x3
+# CHECK-NEXT: 1 1 0.33 cmp xzr, x4
+# CHECK-NEXT: 1 1 0.33 cmp x5, xzr
+# CHECK-NEXT: 1 1 0.33 cmp x6, x7
+# CHECK-NEXT: 1 2 0.33 cmp x8, x9, lsl #15
+# CHECK-NEXT: 1 2 0.33 cmp x10, x11, lsl #63
+# CHECK-NEXT: 1 2 0.33 cmp x12, x13, lsr #0
+# CHECK-NEXT: 1 2 0.33 cmp x14, x15, lsr #41
+# CHECK-NEXT: 1 2 0.33 cmp x16, x17, lsr #63
+# CHECK-NEXT: 1 2 0.33 cmp x18, x19, asr #0
+# CHECK-NEXT: 1 2 0.33 cmp x20, x21, asr #55
+# CHECK-NEXT: 1 2 0.33 cmp x22, x23, asr #63
+# CHECK-NEXT: 1 1 0.33 cmp wzr, w0
+# CHECK-NEXT: 1 1 0.33 cmp xzr, x0
+# CHECK-NEXT: 1 1 0.33 adc w29, w27, w25
+# CHECK-NEXT: 1 1 0.33 adc wzr, w3, w4
+# CHECK-NEXT: 1 1 0.33 adc w9, wzr, w10
+# CHECK-NEXT: 1 1 0.33 adc w20, w0, wzr
+# CHECK-NEXT: 1 1 0.33 adc x29, x27, x25
+# CHECK-NEXT: 1 1 0.33 adc xzr, x3, x4
+# CHECK-NEXT: 1 1 0.33 adc x9, xzr, x10
+# CHECK-NEXT: 1 1 0.33 adc x20, x0, xzr
+# CHECK-NEXT: 1 1 0.33 adcs w29, w27, w25
+# CHECK-NEXT: 1 1 0.33 adcs wzr, w3, w4
+# CHECK-NEXT: 1 1 0.33 adcs w9, wzr, w10
+# CHECK-NEXT: 1 1 0.33 adcs w20, w0, wzr
+# CHECK-NEXT: 1 1 0.33 adcs x29, x27, x25
+# CHECK-NEXT: 1 1 0.33 adcs xzr, x3, x4
+# CHECK-NEXT: 1 1 0.33 adcs x9, xzr, x10
+# CHECK-NEXT: 1 1 0.33 adcs x20, x0, xzr
+# CHECK-NEXT: 1 1 0.33 sbc w29, w27, w25
+# CHECK-NEXT: 1 1 0.33 sbc wzr, w3, w4
+# CHECK-NEXT: 1 1 0.33 ngc w9, w10
+# CHECK-NEXT: 1 1 0.33 sbc w20, w0, wzr
+# CHECK-NEXT: 1 1 0.33 sbc x29, x27, x25
+# CHECK-NEXT: 1 1 0.33 sbc xzr, x3, x4
+# CHECK-NEXT: 1 1 0.33 ngc x9, x10
+# CHECK-NEXT: 1 1 0.33 sbc x20, x0, xzr
+# CHECK-NEXT: 1 1 0.33 sbcs w29, w27, w25
+# CHECK-NEXT: 1 1 0.33 sbcs wzr, w3, w4
+# CHECK-NEXT: 1 1 0.33 ngcs w9, w10
+# CHECK-NEXT: 1 1 0.33 sbcs w20, w0, wzr
+# CHECK-NEXT: 1 1 0.33 sbcs x29, x27, x25
+# CHECK-NEXT: 1 1 0.33 sbcs xzr, x3, x4
+# CHECK-NEXT: 1 1 0.33 ngcs x9, x10
+# CHECK-NEXT: 1 1 0.33 sbcs x20, x0, xzr
+# CHECK-NEXT: 1 1 0.33 ngc w3, w12
+# CHECK-NEXT: 1 1 0.33 ngc wzr, w9
+# CHECK-NEXT: 1 1 0.33 ngc w23, wzr
+# CHECK-NEXT: 1 1 0.33 ngc x29, x30
+# CHECK-NEXT: 1 1 0.33 ngc xzr, x0
+# CHECK-NEXT: 1 1 0.33 ngc x0, xzr
+# CHECK-NEXT: 1 1 0.33 ngcs w3, w12
+# CHECK-NEXT: 1 1 0.33 ngcs wzr, w9
+# CHECK-NEXT: 1 1 0.33 ngcs w23, wzr
+# CHECK-NEXT: 1 1 0.33 ngcs x29, x30
+# CHECK-NEXT: 1 1 0.33 ngcs xzr, x0
+# CHECK-NEXT: 1 1 0.33 ngcs x0, xzr
+# CHECK-NEXT: 1 2 0.33 sbfx x1, x2, #3, #2
+# CHECK-NEXT: 1 2 0.33 asr x3, x4, #63
+# CHECK-NEXT: 1 2 0.33 asr wzr, wzr, #31
+# CHECK-NEXT: 1 2 0.33 sbfx w12, w9, #0, #1
+# CHECK-NEXT: 1 2 0.33 ubfiz x4, x5, #52, #11
+# CHECK-NEXT: 1 2 0.33 ubfx xzr, x4, #0, #1
+# CHECK-NEXT: 1 2 0.33 ubfiz x4, xzr, #1, #6
+# CHECK-NEXT: 1 2 0.33 lsr x5, x6, #12
+# CHECK-NEXT: 1 2 0.33 bfi x4, x5, #52, #11
+# CHECK-NEXT: 1 2 0.33 bfxil xzr, x4, #0, #1
+# CHECK-NEXT: 1 2 0.33 bfc x4, #1, #6
+# CHECK-NEXT: 1 2 0.33 bfxil x5, x6, #12, #52
+# CHECK-NEXT: 1 2 0.33 sxtb w1, w2
+# CHECK-NEXT: 1 2 0.33 sxtb xzr, w3
+# CHECK-NEXT: 1 2 0.33 sxth w9, w10
+# CHECK-NEXT: 1 2 0.33 sxth x0, w1
+# CHECK-NEXT: 1 2 0.33 sxtw x3, w30
+# CHECK-NEXT: 1 2 0.33 uxtb w1, w2
+# CHECK-NEXT: 1 2 0.33 uxth w9, w10
+# CHECK-NEXT: 1 2 0.33 ubfx x3, x30, #0, #32
+# CHECK-NEXT: 1 2 0.33 asr w3, w2, #0
+# CHECK-NEXT: 1 2 0.33 asr w9, w10, #31
+# CHECK-NEXT: 1 2 0.33 asr x20, x21, #63
+# CHECK-NEXT: 1 2 0.33 asr w1, wzr, #3
+# CHECK-NEXT: 1 2 0.33 lsr w3, w2, #0
+# CHECK-NEXT: 1 2 0.33 lsr w9, w10, #31
+# CHECK-NEXT: 1 2 0.33 lsr x20, x21, #63
+# CHECK-NEXT: 1 2 0.33 lsr wzr, wzr, #3
+# CHECK-NEXT: 1 2 0.33 lsr w3, w2, #0
+# CHECK-NEXT: 1 2 0.33 lsl w9, w10, #31
+# CHECK-NEXT: 1 2 0.33 lsl x20, x21, #63
+# CHECK-NEXT: 1 2 0.33 lsl w1, wzr, #3
+# CHECK-NEXT: 1 2 0.33 sbfx w9, w10, #0, #1
+# CHECK-NEXT: 1 2 0.33 sbfiz x2, x3, #63, #1
+# CHECK-NEXT: 1 2 0.33 asr x19, x20, #0
+# CHECK-NEXT: 1 2 0.33 sbfiz x9, x10, #5, #59
+# CHECK-NEXT: 1 2 0.33 asr w9, w10, #0
+# CHECK-NEXT: 1 2 0.33 sbfiz w11, w12, #31, #1
+# CHECK-NEXT: 1 2 0.33 sbfiz w13, w14, #29, #3
+# CHECK-NEXT: 1 2 0.33 sbfiz xzr, xzr, #10, #11
+# CHECK-NEXT: 1 2 0.33 sbfx w9, w10, #0, #1
+# CHECK-NEXT: 1 2 0.33 asr x2, x3, #63
+# CHECK-NEXT: 1 2 0.33 asr x19, x20, #0
+# CHECK-NEXT: 1 2 0.33 asr x9, x10, #5
+# CHECK-NEXT: 1 2 0.33 asr w9, w10, #0
+# CHECK-NEXT: 1 2 0.33 asr w11, w12, #31
+# CHECK-NEXT: 1 2 0.33 asr w13, w14, #29
+# CHECK-NEXT: 1 2 0.33 sbfx xzr, xzr, #10, #11
+# CHECK-NEXT: 1 2 0.33 bfxil w9, w10, #0, #1
+# CHECK-NEXT: 1 2 0.33 bfi x2, x3, #63, #1
+# CHECK-NEXT: 1 2 0.33 bfxil x19, x20, #0, #64
+# CHECK-NEXT: 1 2 0.33 bfi x9, x10, #5, #59
+# CHECK-NEXT: 1 2 0.33 bfxil w9, w10, #0, #32
+# CHECK-NEXT: 1 2 0.33 bfi w11, w12, #31, #1
+# CHECK-NEXT: 1 2 0.33 bfi w13, w14, #29, #3
+# CHECK-NEXT: 1 2 0.33 bfc xzr, #10, #11
+# CHECK-NEXT: 1 2 0.33 bfxil w9, w10, #0, #1
+# CHECK-NEXT: 1 2 0.33 bfxil x2, x3, #63, #1
+# CHECK-NEXT: 1 2 0.33 bfxil x19, x20, #0, #64
+# CHECK-NEXT: 1 2 0.33 bfxil x9, x10, #5, #59
+# CHECK-NEXT: 1 2 0.33 bfxil w9, w10, #0, #32
+# CHECK-NEXT: 1 2 0.33 bfxil w11, w12, #31, #1
+# CHECK-NEXT: 1 2 0.33 bfxil w13, w14, #29, #3
+# CHECK-NEXT: 1 2 0.33 bfxil xzr, xzr, #10, #11
+# CHECK-NEXT: 1 2 0.33 ubfx w9, w10, #0, #1
+# CHECK-NEXT: 1 2 0.33 lsl x2, x3, #63
+# CHECK-NEXT: 1 2 0.33 lsr x19, x20, #0
+# CHECK-NEXT: 1 2 0.33 lsl x9, x10, #5
+# CHECK-NEXT: 1 2 0.33 lsr w9, w10, #0
+# CHECK-NEXT: 1 2 0.33 lsl w11, w12, #31
+# CHECK-NEXT: 1 2 0.33 lsl w13, w14, #29
+# CHECK-NEXT: 1 2 0.33 ubfiz xzr, xzr, #10, #11
+# CHECK-NEXT: 1 2 0.33 ubfx w9, w10, #0, #1
+# CHECK-NEXT: 1 2 0.33 lsr x2, x3, #63
+# CHECK-NEXT: 1 2 0.33 lsr x19, x20, #0
+# CHECK-NEXT: 1 2 0.33 lsr x9, x10, #5
+# CHECK-NEXT: 1 2 0.33 lsr w9, w10, #0
+# CHECK-NEXT: 1 2 0.33 lsr w11, w12, #31
+# CHECK-NEXT: 1 2 0.33 lsr w13, w14, #29
+# CHECK-NEXT: 1 2 0.33 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 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 0.33 ccmp w1, #31, #0, eq
+# CHECK-NEXT: 1 1 0.33 ccmp w3, #0, #15, hs
+# CHECK-NEXT: 1 1 0.33 ccmp wzr, #15, #13, hs
+# CHECK-NEXT: 1 1 0.33 ccmp x9, #31, #0, le
+# CHECK-NEXT: 1 1 0.33 ccmp x3, #0, #15, gt
+# CHECK-NEXT: 1 1 0.33 ccmp xzr, #5, #7, ne
+# CHECK-NEXT: 1 1 0.33 ccmn w1, #31, #0, eq
+# CHECK-NEXT: 1 1 0.33 ccmn w3, #0, #15, hs
+# CHECK-NEXT: 1 1 0.33 ccmn wzr, #15, #13, hs
+# CHECK-NEXT: 1 1 0.33 ccmn x9, #31, #0, le
+# CHECK-NEXT: 1 1 0.33 ccmn x3, #0, #15, gt
+# CHECK-NEXT: 1 1 0.33 ccmn xzr, #5, #7, ne
+# CHECK-NEXT: 1 1 0.33 ccmp w1, wzr, #0, eq
+# CHECK-NEXT: 1 1 0.33 ccmp w3, w0, #15, hs
+# CHECK-NEXT: 1 1 0.33 ccmp wzr, w15, #13, hs
+# CHECK-NEXT: 1 1 0.33 ccmp x9, xzr, #0, le
+# CHECK-NEXT: 1 1 0.33 ccmp x3, x0, #15, gt
+# CHECK-NEXT: 1 1 0.33 ccmp xzr, x5, #7, ne
+# CHECK-NEXT: 1 1 0.33 ccmn w1, wzr, #0, eq
+# CHECK-NEXT: 1 1 0.33 ccmn w3, w0, #15, hs
+# CHECK-NEXT: 1 1 0.33 ccmn wzr, w15, #13, hs
+# CHECK-NEXT: 1 1 0.33 ccmn x9, xzr, #0, le
+# CHECK-NEXT: 1 1 0.33 ccmn x3, x0, #15, gt
+# CHECK-NEXT: 1 1 0.33 ccmn xzr, x5, #7, ne
+# CHECK-NEXT: 1 1 0.33 csel w1, w0, w19, ne
+# CHECK-NEXT: 1 1 0.33 csel wzr, w5, w9, eq
+# CHECK-NEXT: 1 1 0.33 csel w9, wzr, w30, gt
+# CHECK-NEXT: 1 1 0.33 csel w1, w28, wzr, mi
+# CHECK-NEXT: 1 1 0.33 csel x19, x23, x29, lt
+# CHECK-NEXT: 1 1 0.33 csel xzr, x3, x4, ge
+# CHECK-NEXT: 1 1 0.33 csel x5, xzr, x6, hs
+# CHECK-NEXT: 1 1 0.33 csel x7, x8, xzr, lo
+# CHECK-NEXT: 1 1 0.33 csinc w1, w0, w19, ne
+# CHECK-NEXT: 1 1 0.33 csinc wzr, w5, w9, eq
+# CHECK-NEXT: 1 1 0.33 csinc w9, wzr, w30, gt
+# CHECK-NEXT: 1 1 0.33 csinc w1, w28, wzr, mi
+# CHECK-NEXT: 1 1 0.33 csinc x19, x23, x29, lt
+# CHECK-NEXT: 1 1 0.33 csinc xzr, x3, x4, ge
+# CHECK-NEXT: 1 1 0.33 csinc x5, xzr, x6, hs
+# CHECK-NEXT: 1 1 0.33 csinc x7, x8, xzr, lo
+# CHECK-NEXT: 1 1 0.33 csinv w1, w0, w19, ne
+# CHECK-NEXT: 1 1 0.33 csinv wzr, w5, w9, eq
+# CHECK-NEXT: 1 1 0.33 csinv w9, wzr, w30, gt
+# CHECK-NEXT: 1 1 0.33 csinv w1, w28, wzr, mi
+# CHECK-NEXT: 1 1 0.33 csinv x19, x23, x29, lt
+# CHECK-NEXT: 1 1 0.33 csinv xzr, x3, x4, ge
+# CHECK-NEXT: 1 1 0.33 csinv x5, xzr, x6, hs
+# CHECK-NEXT: 1 1 0.33 csinv x7, x8, xzr, lo
+# CHECK-NEXT: 1 1 0.33 csneg w1, w0, w19, ne
+# CHECK-NEXT: 1 1 0.33 csneg wzr, w5, w9, eq
+# CHECK-NEXT: 1 1 0.33 csneg w9, wzr, w30, gt
+# CHECK-NEXT: 1 1 0.33 csneg w1, w28, wzr, mi
+# CHECK-NEXT: 1 1 0.33 csneg x19, x23, x29, lt
+# CHECK-NEXT: 1 1 0.33 csneg xzr, x3, x4, ge
+# CHECK-NEXT: 1 1 0.33 csneg x5, xzr, x6, hs
+# CHECK-NEXT: 1 1 0.33 csneg x7, x8, xzr, lo
+# CHECK-NEXT: 1 1 0.33 cset w3, eq
+# CHECK-NEXT: 1 1 0.33 cset x9, pl
+# CHECK-NEXT: 1 1 0.33 csetm w20, ne
+# CHECK-NEXT: 1 1 0.33 csetm x30, ge
+# CHECK-NEXT: 1 1 0.33 csinc w2, wzr, wzr, al
+# CHECK-NEXT: 1 1 0.33 csinv x3, xzr, xzr, nv
+# CHECK-NEXT: 1 1 0.33 cinc w3, w5, gt
+# CHECK-NEXT: 1 1 0.33 cinc wzr, w4, le
+# CHECK-NEXT: 1 1 0.33 cset w9, lt
+# CHECK-NEXT: 1 1 0.33 cinc x3, x5, gt
+# CHECK-NEXT: 1 1 0.33 cinc xzr, x4, le
+# CHECK-NEXT: 1 1 0.33 cset x9, lt
+# CHECK-NEXT: 1 1 0.33 csinc w5, w6, w6, nv
+# CHECK-NEXT: 1 1 0.33 csinc x1, x2, x2, al
+# CHECK-NEXT: 1 1 0.33 cinv w3, w5, gt
+# CHECK-NEXT: 1 1 0.33 cinv wzr, w4, le
+# CHECK-NEXT: 1 1 0.33 csetm w9, lt
+# CHECK-NEXT: 1 1 0.33 cinv x3, x5, gt
+# CHECK-NEXT: 1 1 0.33 cinv xzr, x4, le
+# CHECK-NEXT: 1 1 0.33 csetm x9, lt
+# CHECK-NEXT: 1 1 0.33 csinv x1, x0, x0, al
+# CHECK-NEXT: 1 1 0.33 csinv w9, w8, w8, nv
+# CHECK-NEXT: 1 1 0.33 cneg w3, w5, gt
+# CHECK-NEXT: 1 1 0.33 cneg wzr, w4, le
+# CHECK-NEXT: 1 1 0.33 cneg w9, wzr, lt
+# CHECK-NEXT: 1 1 0.33 cneg x3, x5, gt
+# CHECK-NEXT: 1 1 0.33 cneg xzr, x4, le
+# CHECK-NEXT: 1 1 0.33 cneg x9, xzr, lt
+# CHECK-NEXT: 1 1 0.33 csneg x4, x8, x8, al
+# CHECK-NEXT: 1 1 0.33 csinv w9, w8, w8, nv
+# CHECK-NEXT: 1 2 0.33 rbit w0, w7
+# CHECK-NEXT: 1 2 0.33 rbit x18, x3
+# CHECK-NEXT: 1 1 0.33 rev16 w17, w1
+# CHECK-NEXT: 1 1 0.33 rev16 x5, x2
+# CHECK-NEXT: 1 1 0.33 rev w18, w0
+# CHECK-NEXT: 1 1 0.33 rev32 x20, x1
+# CHECK-NEXT: 1 1 0.33 rev x22, x2
+# CHECK-NEXT: 1 1 0.33 clz w24, w3
+# CHECK-NEXT: 1 1 0.33 clz x26, x4
+# CHECK-NEXT: 1 1 0.33 cls w3, w5
+# CHECK-NEXT: 1 1 0.33 cls x20, x5
+# CHECK-NEXT: 1 8 8.00 udiv w0, w7, w10
+# CHECK-NEXT: 1 16 16.00 udiv x9, x22, x4
+# CHECK-NEXT: 1 8 8.00 sdiv w12, w21, w0
+# CHECK-NEXT: 1 16 16.00 sdiv x13, x2, x1
+# CHECK-NEXT: 1 2 0.33 lsl w11, w12, w13
+# CHECK-NEXT: 1 2 0.33 lsl x14, x15, x16
+# CHECK-NEXT: 1 2 0.33 lsr w17, w18, w19
+# CHECK-NEXT: 1 2 0.33 lsr x20, x21, x22
+# CHECK-NEXT: 1 2 0.33 asr w23, w24, w25
+# CHECK-NEXT: 1 2 0.33 asr x26, x27, x28
+# CHECK-NEXT: 1 2 0.33 ror w0, w1, w2
+# CHECK-NEXT: 1 2 0.33 ror x3, x4, x5
+# CHECK-NEXT: 1 2 0.33 lsl w6, w7, w8
+# CHECK-NEXT: 1 2 0.33 lsl x9, x10, x11
+# CHECK-NEXT: 1 2 0.33 lsr w12, w13, w14
+# CHECK-NEXT: 1 2 0.33 lsr x15, x16, x17
+# CHECK-NEXT: 1 2 0.33 asr w18, w19, w20
+# CHECK-NEXT: 1 2 0.33 asr x21, x22, x23
+# CHECK-NEXT: 1 2 0.33 ror w24, w25, w26
+# CHECK-NEXT: 1 2 0.33 ror x27, x28, x29
+# CHECK-NEXT: 1 4 2.00 smulh x30, x29, x28
+# CHECK-NEXT: 1 4 2.00 smulh xzr, x27, x26
+# CHECK-NEXT: 1 4 2.00 umulh x30, x29, x28
+# CHECK-NEXT: 1 4 2.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 3 1.00 smaddl x3, w5, w2, x9
+# CHECK-NEXT: 1 3 1.00 smaddl xzr, w10, w11, x12
+# CHECK-NEXT: 1 3 1.00 smaddl x13, wzr, w14, x15
+# CHECK-NEXT: 1 3 1.00 smaddl x16, w17, wzr, x18
+# CHECK-NEXT: 1 3 1.00 smull x19, w20, w21
+# CHECK-NEXT: 1 3 1.00 smsubl x3, w5, w2, x9
+# CHECK-NEXT: 1 3 1.00 smsubl xzr, w10, w11, x12
+# CHECK-NEXT: 1 3 1.00 smsubl x13, wzr, w14, x15
+# CHECK-NEXT: 1 3 1.00 smsubl x16, w17, wzr, x18
+# CHECK-NEXT: 1 3 1.00 smnegl x19, w20, w21
+# CHECK-NEXT: 1 3 1.00 umaddl x3, w5, w2, x9
+# CHECK-NEXT: 1 3 1.00 umaddl xzr, w10, w11, x12
+# CHECK-NEXT: 1 3 1.00 umaddl x13, wzr, w14, x15
+# CHECK-NEXT: 1 3 1.00 umaddl x16, w17, wzr, x18
+# CHECK-NEXT: 1 3 1.00 umull x19, w20, w21
+# CHECK-NEXT: 1 3 1.00 umsubl x3, w5, w2, x9
+# CHECK-NEXT: 1 3 1.00 umsubl x16, w17, wzr, x18
+# CHECK-NEXT: 1 3 1.00 umnegl x19, w20, w21
+# CHECK-NEXT: 1 4 2.00 smulh x30, x29, x28
+# CHECK-NEXT: 1 4 2.00 smulh x23, x22, xzr
+# CHECK-NEXT: 1 4 2.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 3 1.00 smull x11, w13, w17
+# CHECK-NEXT: 1 3 1.00 umull x11, w13, w17
+# CHECK-NEXT: 1 3 1.00 smnegl x11, w13, w17
+# CHECK-NEXT: 1 3 1.00 umnegl x11, w13, w17
+# CHECK-NEXT: 1 2 0.33 extr w3, w5, w7, #0
+# CHECK-NEXT: 1 2 0.33 extr w11, w13, w17, #31
+# CHECK-NEXT: 1 2 0.33 extr x3, x5, x7, #15
+# CHECK-NEXT: 1 2 0.33 extr x11, x13, x17, #63
+# CHECK-NEXT: 1 2 0.33 ror x19, x23, #24
+# CHECK-NEXT: 1 2 0.33 ror x29, xzr, #63
+# CHECK-NEXT: 1 2 0.33 ror w9, w13, #31
+# CHECK-NEXT: 1 3 0.50 fcmp s3, s5
+# CHECK-NEXT: 1 3 0.50 fcmp s31, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmp s31, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmpe s29, s30
+# CHECK-NEXT: 1 3 0.50 fcmpe s15, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmpe s15, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmp d4, d12
+# CHECK-NEXT: 1 3 0.50 fcmp d23, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmp d23, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmpe d26, d22
+# CHECK-NEXT: 1 3 0.50 fcmpe d29, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmpe d29, #0.0
+# CHECK-NEXT: 1 3 0.50 fccmp s1, s31, #0, eq
+# CHECK-NEXT: 1 3 0.50 fccmp s3, s0, #15, hs
+# CHECK-NEXT: 1 3 0.50 fccmp s31, s15, #13, hs
+# CHECK-NEXT: 1 3 0.50 fccmp d9, d31, #0, le
+# CHECK-NEXT: 1 3 0.50 fccmp d3, d0, #15, gt
+# CHECK-NEXT: 1 3 0.50 fccmp d31, d5, #7, ne
+# CHECK-NEXT: 1 3 0.50 fccmpe s1, s31, #0, eq
+# CHECK-NEXT: 1 3 0.50 fccmpe s3, s0, #15, hs
+# CHECK-NEXT: 1 3 0.50 fccmpe s31, s15, #13, hs
+# CHECK-NEXT: 1 3 0.50 fccmpe d9, d31, #0, le
+# CHECK-NEXT: 1 3 0.50 fccmpe d3, d0, #15, gt
+# CHECK-NEXT: 1 3 0.50 fccmpe d31, d5, #7, ne
+# CHECK-NEXT: 1 3 0.50 fcsel s3, s20, s9, pl
+# CHECK-NEXT: 1 3 0.50 fcsel d9, d10, d11, mi
+# CHECK-NEXT: 1 4 0.50 fmov s0, s1
+# CHECK-NEXT: 1 4 0.50 fabs s2, s3
+# CHECK-NEXT: 1 4 0.50 fneg s4, s5
+# CHECK-NEXT: 1 22 29.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 s12, s13
+# CHECK-NEXT: 1 4 0.50 frintp s14, s15
+# CHECK-NEXT: 1 4 0.50 frintm s16, s17
+# CHECK-NEXT: 1 4 0.50 frintz s18, s19
+# CHECK-NEXT: 1 4 0.50 frinta s20, s21
+# CHECK-NEXT: 1 4 0.50 frintx s22, s23
+# CHECK-NEXT: 1 4 0.50 frinti s24, s25
+# CHECK-NEXT: 1 4 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 22 29.00 fsqrt d6, d7
+# CHECK-NEXT: 1 4 0.50 fcvt s8, d9
+# CHECK-NEXT: 1 4 0.50 fcvt h10, d11
+# CHECK-NEXT: 1 4 0.50 frintn d12, d13
+# CHECK-NEXT: 1 4 0.50 frintp d14, d15
+# CHECK-NEXT: 1 4 0.50 frintm d16, d17
+# CHECK-NEXT: 1 4 0.50 frintz d18, d19
+# CHECK-NEXT: 1 4 0.50 frinta d20, d21
+# CHECK-NEXT: 1 4 0.50 frintx d22, d23
+# CHECK-NEXT: 1 4 0.50 frinti d24, d25
+# CHECK-NEXT: 1 4 0.50 fcvt s26, h27
+# CHECK-NEXT: 1 4 0.50 fcvt d28, h29
+# CHECK-NEXT: 1 4 0.50 fmul s20, s19, s17
+# CHECK-NEXT: 1 13 10.00 fdiv s1, s2, s3
+# CHECK-NEXT: 1 4 0.50 fadd s4, s5, s6
+# CHECK-NEXT: 1 4 0.50 fsub s7, s8, s9
+# CHECK-NEXT: 1 4 0.50 fmax s10, s11, s12
+# CHECK-NEXT: 1 4 0.50 fmin s13, s14, s15
+# CHECK-NEXT: 1 4 0.50 fmaxnm s16, s17, s18
+# CHECK-NEXT: 1 4 0.50 fminnm s19, s20, s21
+# CHECK-NEXT: 1 4 0.50 fnmul s22, s23, s2
+# CHECK-NEXT: 1 4 0.50 fmul d20, d19, d17
+# CHECK-NEXT: 1 22 19.00 fdiv d1, d2, d3
+# CHECK-NEXT: 1 4 0.50 fadd d4, d5, d6
+# CHECK-NEXT: 1 4 0.50 fsub d7, d8, d9
+# CHECK-NEXT: 1 4 0.50 fmax d10, d11, d12
+# CHECK-NEXT: 1 4 0.50 fmin d13, d14, d15
+# CHECK-NEXT: 1 4 0.50 fmaxnm d16, d17, d18
+# CHECK-NEXT: 1 4 0.50 fminnm d19, d20, d21
+# CHECK-NEXT: 1 4 0.50 fnmul d22, d23, d24
+# CHECK-NEXT: 1 4 0.50 fmadd s3, s5, s6, s31
+# CHECK-NEXT: 1 4 0.50 fmadd d3, d13, d0, d23
+# CHECK-NEXT: 1 4 0.50 fmsub s3, s5, s6, s31
+# CHECK-NEXT: 1 4 0.50 fmsub d3, d13, d0, d23
+# CHECK-NEXT: 1 4 0.50 fnmadd s3, s5, s6, s31
+# CHECK-NEXT: 1 4 0.50 fnmadd d3, d13, d0, d23
+# CHECK-NEXT: 1 4 0.50 fnmsub s3, s5, s6, s31
+# CHECK-NEXT: 1 4 0.50 fnmsub d3, d13, d0, d23
+# CHECK-NEXT: 1 4 0.50 fcvtzs w3, h5, #1
+# CHECK-NEXT: 1 4 0.50 fcvtzs wzr, h20, #13
+# CHECK-NEXT: 1 4 0.50 fcvtzs w19, h0, #32
+# CHECK-NEXT: 1 4 0.50 fcvtzs x3, h5, #1
+# CHECK-NEXT: 1 4 0.50 fcvtzs x12, h30, #45
+# CHECK-NEXT: 1 4 0.50 fcvtzs x19, h0, #64
+# CHECK-NEXT: 1 4 0.50 fcvtzs w3, s5, #1
+# CHECK-NEXT: 1 4 0.50 fcvtzs wzr, s20, #13
+# CHECK-NEXT: 1 4 0.50 fcvtzs w19, s0, #32
+# CHECK-NEXT: 1 4 0.50 fcvtzs x3, s5, #1
+# CHECK-NEXT: 1 4 0.50 fcvtzs x12, s30, #45
+# CHECK-NEXT: 1 4 0.50 fcvtzs x19, s0, #64
+# CHECK-NEXT: 1 4 0.50 fcvtzs w3, d5, #1
+# CHECK-NEXT: 1 4 0.50 fcvtzs wzr, d20, #13
+# CHECK-NEXT: 1 4 0.50 fcvtzs w19, d0, #32
+# CHECK-NEXT: 1 4 0.50 fcvtzs x3, d5, #1
+# CHECK-NEXT: 1 4 0.50 fcvtzs x12, d30, #45
+# CHECK-NEXT: 1 4 0.50 fcvtzs x19, d0, #64
+# CHECK-NEXT: 1 4 0.50 fcvtzu w3, h5, #1
+# CHECK-NEXT: 1 4 0.50 fcvtzu wzr, h20, #13
+# CHECK-NEXT: 1 4 0.50 fcvtzu w19, h0, #32
+# CHECK-NEXT: 1 4 0.50 fcvtzu x3, h5, #1
+# CHECK-NEXT: 1 4 0.50 fcvtzu x12, h30, #45
+# CHECK-NEXT: 1 4 0.50 fcvtzu x19, h0, #64
+# CHECK-NEXT: 1 4 0.50 fcvtzu w3, s5, #1
+# CHECK-NEXT: 1 4 0.50 fcvtzu wzr, s20, #13
+# CHECK-NEXT: 1 4 0.50 fcvtzu w19, s0, #32
+# CHECK-NEXT: 1 4 0.50 fcvtzu x3, s5, #1
+# CHECK-NEXT: 1 4 0.50 fcvtzu x12, s30, #45
+# CHECK-NEXT: 1 4 0.50 fcvtzu x19, s0, #64
+# CHECK-NEXT: 1 4 0.50 fcvtzu w3, d5, #1
+# CHECK-NEXT: 1 4 0.50 fcvtzu wzr, d20, #13
+# CHECK-NEXT: 1 4 0.50 fcvtzu w19, d0, #32
+# CHECK-NEXT: 1 4 0.50 fcvtzu x3, d5, #1
+# CHECK-NEXT: 1 4 0.50 fcvtzu x12, d30, #45
+# CHECK-NEXT: 1 4 0.50 fcvtzu x19, d0, #64
+# CHECK-NEXT: 1 4 0.50 scvtf h23, w19, #1
+# CHECK-NEXT: 1 4 0.50 scvtf h31, wzr, #20
+# CHECK-NEXT: 1 4 0.50 scvtf h14, w0, #32
+# CHECK-NEXT: 1 4 0.50 scvtf h23, x19, #1
+# CHECK-NEXT: 1 4 0.50 scvtf h31, xzr, #20
+# CHECK-NEXT: 1 4 0.50 scvtf h14, x0, #64
+# CHECK-NEXT: 1 4 0.50 scvtf s23, w19, #1
+# CHECK-NEXT: 1 4 0.50 scvtf s31, wzr, #20
+# CHECK-NEXT: 1 4 0.50 scvtf s14, w0, #32
+# CHECK-NEXT: 1 4 0.50 scvtf s23, x19, #1
+# CHECK-NEXT: 1 4 0.50 scvtf s31, xzr, #20
+# CHECK-NEXT: 1 4 0.50 scvtf s14, x0, #64
+# CHECK-NEXT: 1 4 0.50 scvtf d23, w19, #1
+# CHECK-NEXT: 1 4 0.50 scvtf d31, wzr, #20
+# CHECK-NEXT: 1 4 0.50 scvtf d14, w0, #32
+# CHECK-NEXT: 1 4 0.50 scvtf d23, x19, #1
+# CHECK-NEXT: 1 4 0.50 scvtf d31, xzr, #20
+# CHECK-NEXT: 1 4 0.50 scvtf d14, x0, #64
+# CHECK-NEXT: 1 4 0.50 ucvtf h23, w19, #1
+# CHECK-NEXT: 1 4 0.50 ucvtf h31, wzr, #20
+# CHECK-NEXT: 1 4 0.50 ucvtf h14, w0, #32
+# CHECK-NEXT: 1 4 0.50 ucvtf h23, x19, #1
+# CHECK-NEXT: 1 4 0.50 ucvtf h31, xzr, #20
+# CHECK-NEXT: 1 4 0.50 ucvtf h14, x0, #64
+# CHECK-NEXT: 1 4 0.50 ucvtf s23, w19, #1
+# CHECK-NEXT: 1 4 0.50 ucvtf s31, wzr, #20
+# CHECK-NEXT: 1 4 0.50 ucvtf s14, w0, #32
+# CHECK-NEXT: 1 4 0.50 ucvtf s23, x19, #1
+# CHECK-NEXT: 1 4 0.50 ucvtf s31, xzr, #20
+# CHECK-NEXT: 1 4 0.50 ucvtf s14, x0, #64
+# CHECK-NEXT: 1 4 0.50 ucvtf d23, w19, #1
+# CHECK-NEXT: 1 4 0.50 ucvtf d31, wzr, #20
+# CHECK-NEXT: 1 4 0.50 ucvtf d14, w0, #32
+# CHECK-NEXT: 1 4 0.50 ucvtf d23, x19, #1
+# CHECK-NEXT: 1 4 0.50 ucvtf d31, xzr, #20
+# CHECK-NEXT: 1 4 0.50 ucvtf d14, x0, #64
+# CHECK-NEXT: 1 4 0.50 fcvtns w3, h31
+# CHECK-NEXT: 1 4 0.50 fcvtns xzr, h12
+# CHECK-NEXT: 1 4 0.50 fcvtnu wzr, h12
+# CHECK-NEXT: 1 4 0.50 fcvtnu x0, h0
+# CHECK-NEXT: 1 4 0.50 fcvtps wzr, h9
+# CHECK-NEXT: 1 4 0.50 fcvtps x12, h20
+# CHECK-NEXT: 1 4 0.50 fcvtpu w30, h23
+# CHECK-NEXT: 1 4 0.50 fcvtpu x29, h3
+# CHECK-NEXT: 1 4 0.50 fcvtms w2, h3
+# CHECK-NEXT: 1 4 0.50 fcvtms x4, h5
+# CHECK-NEXT: 1 4 0.50 fcvtmu w6, h7
+# CHECK-NEXT: 1 4 0.50 fcvtmu x8, h9
+# CHECK-NEXT: 1 4 0.50 fcvtzs w10, h11
+# CHECK-NEXT: 1 4 0.50 fcvtzs x12, h13
+# CHECK-NEXT: 1 4 0.50 fcvtzu w14, h15
+# CHECK-NEXT: 1 4 0.50 fcvtzu x15, h16
+# CHECK-NEXT: 1 4 0.50 scvtf h17, w18
+# CHECK-NEXT: 1 4 0.50 scvtf h19, x20
+# CHECK-NEXT: 1 4 0.50 ucvtf h21, w22
+# CHECK-NEXT: 1 4 0.50 scvtf h23, x24
+# CHECK-NEXT: 1 4 0.50 fcvtas w25, h26
+# CHECK-NEXT: 1 4 0.50 fcvtas x27, h28
+# CHECK-NEXT: 1 4 0.50 fcvtau w29, h30
+# CHECK-NEXT: 1 4 0.50 fcvtau xzr, h0
+# CHECK-NEXT: 1 4 0.50 fcvtns w3, s31
+# CHECK-NEXT: 1 4 0.50 fcvtns xzr, s12
+# CHECK-NEXT: 1 4 0.50 fcvtnu wzr, s12
+# CHECK-NEXT: 1 4 0.50 fcvtnu x0, s0
+# CHECK-NEXT: 1 4 0.50 fcvtps wzr, s9
+# CHECK-NEXT: 1 4 0.50 fcvtps x12, s20
+# CHECK-NEXT: 1 4 0.50 fcvtpu w30, s23
+# CHECK-NEXT: 1 4 0.50 fcvtpu x29, s3
+# CHECK-NEXT: 1 4 0.50 fcvtms w2, s3
+# CHECK-NEXT: 1 4 0.50 fcvtms x4, s5
+# CHECK-NEXT: 1 4 0.50 fcvtmu w6, s7
+# CHECK-NEXT: 1 4 0.50 fcvtmu x8, s9
+# CHECK-NEXT: 1 4 0.50 fcvtzs w10, s11
+# CHECK-NEXT: 1 4 0.50 fcvtzs x12, s13
+# CHECK-NEXT: 1 4 0.50 fcvtzu w14, s15
+# CHECK-NEXT: 1 4 0.50 fcvtzu x15, s16
+# CHECK-NEXT: 1 4 0.50 scvtf s17, w18
+# CHECK-NEXT: 1 4 0.50 scvtf s19, x20
+# CHECK-NEXT: 1 4 0.50 ucvtf s21, w22
+# CHECK-NEXT: 1 4 0.50 scvtf s23, x24
+# CHECK-NEXT: 1 4 0.50 fcvtas w25, s26
+# CHECK-NEXT: 1 4 0.50 fcvtas x27, s28
+# CHECK-NEXT: 1 4 0.50 fcvtau w29, s30
+# CHECK-NEXT: 1 4 0.50 fcvtau xzr, s0
+# CHECK-NEXT: 1 4 0.50 fcvtns w3, d31
+# CHECK-NEXT: 1 4 0.50 fcvtns xzr, d12
+# CHECK-NEXT: 1 4 0.50 fcvtnu wzr, d12
+# CHECK-NEXT: 1 4 0.50 fcvtnu x0, d0
+# CHECK-NEXT: 1 4 0.50 fcvtps wzr, d9
+# CHECK-NEXT: 1 4 0.50 fcvtps x12, d20
+# CHECK-NEXT: 1 4 0.50 fcvtpu w30, d23
+# CHECK-NEXT: 1 4 0.50 fcvtpu x29, d3
+# CHECK-NEXT: 1 4 0.50 fcvtms w2, d3
+# CHECK-NEXT: 1 4 0.50 fcvtms x4, d5
+# CHECK-NEXT: 1 4 0.50 fcvtmu w6, d7
+# CHECK-NEXT: 1 4 0.50 fcvtmu x8, d9
+# CHECK-NEXT: 1 4 0.50 fcvtzs w10, d11
+# CHECK-NEXT: 1 4 0.50 fcvtzs x12, d13
+# CHECK-NEXT: 1 4 0.50 fcvtzu w14, d15
+# CHECK-NEXT: 1 4 0.50 fcvtzu x15, d16
+# CHECK-NEXT: 1 4 0.50 scvtf d17, w18
+# CHECK-NEXT: 1 4 0.50 scvtf d19, x20
+# CHECK-NEXT: 1 4 0.50 ucvtf d21, w22
+# CHECK-NEXT: 1 4 0.50 ucvtf d23, x24
+# CHECK-NEXT: 1 4 0.50 fcvtas w25, d26
+# CHECK-NEXT: 1 4 0.50 fcvtas x27, d28
+# CHECK-NEXT: 1 4 0.50 fcvtau w29, d30
+# CHECK-NEXT: 1 4 0.50 fcvtau xzr, d0
+# CHECK-NEXT: 1 3 0.50 fmov w3, s9
+# CHECK-NEXT: 1 3 0.50 fmov s9, w3
+# CHECK-NEXT: 1 3 0.50 fmov x20, d31
+# CHECK-NEXT: 1 3 0.50 fmov d1, x15
+# CHECK-NEXT: 1 3 0.50 fmov x3, v12.d[1]
+# CHECK-NEXT: 1 3 0.50 fmov v1.d[1], x19
+# CHECK-NEXT: 1 3 0.50 fmov s2, #0.12500000
+# CHECK-NEXT: 1 3 0.50 fmov s3, #1.00000000
+# CHECK-NEXT: 1 3 0.50 fmov d30, #16.00000000
+# CHECK-NEXT: 1 3 0.50 fmov s4, #1.06250000
+# CHECK-NEXT: 1 3 0.50 fmov d10, #1.93750000
+# CHECK-NEXT: 1 3 0.50 fmov s12, #-1.00000000
+# CHECK-NEXT: 1 3 0.50 fmov d16, #8.50000000
+# CHECK-NEXT: 1 2 0.50 * ldr w3, #0
+# CHECK-NEXT: 1 2 0.50 * ldr x29, #4
+# CHECK-NEXT: 1 2 0.50 * ldrsw xzr, #-4
+# CHECK-NEXT: 1 2 0.50 * ldr s0, #8
+# CHECK-NEXT: 1 2 0.50 * ldr d0, #1048572
+# CHECK-NEXT: 1 2 0.50 * ldr q0, #-1048576
+# CHECK-NEXT: 1 2 0.50 U prfm pldl1strm, #0
+# CHECK-NEXT: 1 2 0.50 U prfm #22, #0
+# CHECK-NEXT: 2 3 1.00 * * U stxrb w18, w8, [sp]
+# CHECK-NEXT: 2 3 1.00 * * U stxrh w24, w15, [x16]
+# CHECK-NEXT: 2 3 1.00 * * U stxr w5, w6, [x17]
+# CHECK-NEXT: 2 3 1.00 * * U stxr w1, x10, [x21]
+# CHECK-NEXT: 1 2 0.50 * * U ldxrb w30, [x0]
+# CHECK-NEXT: 1 2 0.50 * * U ldxrh w17, [x4]
+# CHECK-NEXT: 1 2 0.50 * * U ldxr w22, [sp]
+# CHECK-NEXT: 1 2 0.50 * * U ldxr x11, [x29]
+# CHECK-NEXT: 1 2 0.50 * * U ldxr x11, [x29]
+# CHECK-NEXT: 1 2 0.50 * * U ldxr x11, [x29]
+# CHECK-NEXT: 2 3 1.00 * * U stxp w12, w11, w10, [sp]
+# CHECK-NEXT: 2 3 1.00 * * U stxp wzr, x27, x9, [x12]
+# CHECK-NEXT: 2 2 1.00 * * U ldxp w0, wzr, [sp]
+# CHECK-NEXT: 2 2 1.00 * * U ldxp x17, x0, [x18]
+# CHECK-NEXT: 2 2 1.00 * * U ldxp x17, x0, [x18]
+# CHECK-NEXT: 2 3 1.00 * * U stlxrb w12, w22, [x0]
+# CHECK-NEXT: 2 3 1.00 * * U stlxrh w10, w1, [x1]
+# CHECK-NEXT: 2 3 1.00 * * U stlxr w9, w2, [x2]
+# CHECK-NEXT: 2 3 1.00 * * U stlxr w9, x3, [sp]
+# CHECK-NEXT: 1 2 0.50 * * U ldaxrb w8, [x4]
+# CHECK-NEXT: 1 2 0.50 * * U ldaxrh w7, [x5]
+# CHECK-NEXT: 1 2 0.50 * * U ldaxr w6, [sp]
+# CHECK-NEXT: 1 2 0.50 * * U ldaxr x5, [x6]
+# CHECK-NEXT: 1 2 0.50 * * U ldaxr x5, [x6]
+# CHECK-NEXT: 1 2 0.50 * * U ldaxr x5, [x6]
+# CHECK-NEXT: 2 3 1.00 * * U stlxp w4, w5, w6, [sp]
+# CHECK-NEXT: 2 3 1.00 * * U stlxp wzr, x6, x7, [x1]
+# CHECK-NEXT: 2 2 1.00 * * U ldaxp w5, w18, [sp]
+# CHECK-NEXT: 2 2 1.00 * * U ldaxp x6, x19, [x22]
+# CHECK-NEXT: 2 2 1.00 * * U ldaxp x6, x19, [x22]
+# CHECK-NEXT: 1 1 1.00 * U stlrb w24, [sp]
+# CHECK-NEXT: 1 1 1.00 * U stlrh w25, [x30]
+# CHECK-NEXT: 1 1 1.00 * U stlr w26, [x29]
+# CHECK-NEXT: 1 1 1.00 * U stlr x27, [x28]
+# CHECK-NEXT: 1 1 1.00 * U stlr x27, [x28]
+# CHECK-NEXT: 1 1 1.00 * U stlr x27, [x28]
+# CHECK-NEXT: 1 2 0.50 * U ldarb w23, [sp]
+# CHECK-NEXT: 1 2 0.50 * U ldarh w22, [x30]
+# CHECK-NEXT: 1 2 0.50 * U ldar wzr, [x29]
+# CHECK-NEXT: 1 2 0.50 * U ldar x21, [x28]
+# CHECK-NEXT: 1 2 0.50 * U ldar x21, [x28]
+# CHECK-NEXT: 1 2 0.50 * U ldar x21, [x28]
+# CHECK-NEXT: 1 1 1.00 * sturb w9, [sp]
+# CHECK-NEXT: 1 1 1.00 * sturh wzr, [x12, #255]
+# CHECK-NEXT: 1 1 1.00 * stur w16, [x0, #-256]
+# CHECK-NEXT: 1 1 1.00 * stur x28, [x14, #1]
+# CHECK-NEXT: 1 2 0.50 * ldurb w1, [x20, #255]
+# CHECK-NEXT: 1 2 0.50 * ldurh w20, [x1, #255]
+# CHECK-NEXT: 1 2 0.50 * ldur w12, [sp, #255]
+# CHECK-NEXT: 1 2 0.50 * ldur xzr, [x12, #255]
+# CHECK-NEXT: 1 2 0.50 * ldursb x9, [x7, #-256]
+# CHECK-NEXT: 1 2 0.50 * ldursh x17, [x19, #-256]
+# CHECK-NEXT: 1 2 0.50 * ldursw x20, [x15, #-256]
+# CHECK-NEXT: 1 2 0.50 U prfum pldl2keep, [sp, #-256]
+# CHECK-NEXT: 1 2 0.50 * ldursb w19, [x1, #-256]
+# CHECK-NEXT: 1 2 0.50 * ldursh w15, [x21, #-256]
+# CHECK-NEXT: 1 1 1.00 * stur b0, [sp, #1]
+# CHECK-NEXT: 1 1 1.00 * stur h12, [x12, #-1]
+# CHECK-NEXT: 1 1 1.00 * stur s15, [x0, #255]
+# CHECK-NEXT: 1 1 1.00 * stur d31, [x5, #25]
+# CHECK-NEXT: 1 1 1.00 * stur q9, [x5]
+# CHECK-NEXT: 1 2 0.50 * ldur b3, [sp]
+# CHECK-NEXT: 1 2 0.50 * ldur h5, [x4, #-256]
+# CHECK-NEXT: 1 2 0.50 * ldur s7, [x12, #-1]
+# CHECK-NEXT: 1 2 0.50 * ldur d11, [x19, #4]
+# CHECK-NEXT: 1 2 0.50 * ldur q13, [x1, #2]
+# CHECK-NEXT: 2 1 1.00 * strb w9, [x2], #255
+# CHECK-NEXT: 2 1 1.00 * strb w10, [x3], #1
+# CHECK-NEXT: 2 1 1.00 * strb w10, [x3], #-256
+# CHECK-NEXT: 2 1 1.00 * strh w9, [x2], #255
+# CHECK-NEXT: 2 1 1.00 * strh w9, [x2], #1
+# CHECK-NEXT: 2 1 1.00 * strh w10, [x3], #-256
+# CHECK-NEXT: 2 1 1.00 * str w19, [sp], #255
+# CHECK-NEXT: 2 1 1.00 * str w20, [x30], #1
+# CHECK-NEXT: 2 1 1.00 * str w21, [x12], #-256
+# CHECK-NEXT: 2 1 1.00 * str xzr, [x9], #255
+# CHECK-NEXT: 2 1 1.00 * str x2, [x3], #1
+# CHECK-NEXT: 2 1 1.00 * str x19, [x12], #-256
+# CHECK-NEXT: 2 2 0.50 * ldrb w9, [x2], #255
+# CHECK-NEXT: 2 2 0.50 * ldrb w10, [x3], #1
+# CHECK-NEXT: 2 2 0.50 * ldrb w10, [x3], #-256
+# CHECK-NEXT: 2 2 0.50 * ldrh w9, [x2], #255
+# CHECK-NEXT: 2 2 0.50 * ldrh w9, [x2], #1
+# CHECK-NEXT: 2 2 0.50 * ldrh w10, [x3], #-256
+# CHECK-NEXT: 2 2 0.50 * ldr w19, [sp], #255
+# CHECK-NEXT: 2 2 0.50 * ldr w20, [x30], #1
+# CHECK-NEXT: 2 2 0.50 * ldr w21, [x12], #-256
+# CHECK-NEXT: 2 2 0.50 * ldr xzr, [x9], #255
+# CHECK-NEXT: 2 2 0.50 * ldr x2, [x3], #1
+# CHECK-NEXT: 2 2 0.50 * ldr x19, [x12], #-256
+# CHECK-NEXT: 2 2 0.50 * ldrsb xzr, [x9], #255
+# CHECK-NEXT: 2 2 0.50 * ldrsb x2, [x3], #1
+# CHECK-NEXT: 2 2 0.50 * ldrsb x19, [x12], #-256
+# CHECK-NEXT: 2 2 0.50 * ldrsh xzr, [x9], #255
+# CHECK-NEXT: 2 2 0.50 * ldrsh x2, [x3], #1
+# CHECK-NEXT: 2 2 0.50 * ldrsh x19, [x12], #-256
+# CHECK-NEXT: 2 2 0.50 * ldrsw xzr, [x9], #255
+# CHECK-NEXT: 2 2 0.50 * ldrsw x2, [x3], #1
+# CHECK-NEXT: 2 2 0.50 * ldrsw x19, [x12], #-256
+# CHECK-NEXT: 2 2 0.50 * ldrsb wzr, [x9], #255
+# CHECK-NEXT: 2 2 0.50 * ldrsb w2, [x3], #1
+# CHECK-NEXT: 2 2 0.50 * ldrsb w19, [x12], #-256
+# CHECK-NEXT: 2 2 0.50 * ldrsh wzr, [x9], #255
+# CHECK-NEXT: 2 2 0.50 * ldrsh w2, [x3], #1
+# CHECK-NEXT: 2 2 0.50 * ldrsh w19, [x12], #-256
+# CHECK-NEXT: 2 1 1.00 * str b0, [x0], #255
+# CHECK-NEXT: 2 1 1.00 * str b3, [x3], #1
+# CHECK-NEXT: 2 1 1.00 * str b5, [sp], #-256
+# CHECK-NEXT: 2 1 1.00 * str h10, [x10], #255
+# CHECK-NEXT: 2 1 1.00 * str h13, [x23], #1
+# CHECK-NEXT: 2 1 1.00 * str h15, [sp], #-256
+# CHECK-NEXT: 2 1 1.00 * str s20, [x20], #255
+# CHECK-NEXT: 2 1 1.00 * str s23, [x23], #1
+# CHECK-NEXT: 2 1 1.00 * str s25, [x0], #-256
+# CHECK-NEXT: 2 1 1.00 * str d20, [x20], #255
+# CHECK-NEXT: 2 1 1.00 * str d23, [x23], #1
+# CHECK-NEXT: 2 1 1.00 * str d25, [x0], #-256
+# CHECK-NEXT: 2 2 0.50 * ldr b0, [x0], #255
+# CHECK-NEXT: 2 2 0.50 * ldr b3, [x3], #1
+# CHECK-NEXT: 2 2 0.50 * ldr b5, [sp], #-256
+# CHECK-NEXT: 2 2 0.50 * ldr h10, [x10], #255
+# CHECK-NEXT: 2 2 0.50 * ldr h13, [x23], #1
+# CHECK-NEXT: 2 2 0.50 * ldr h15, [sp], #-256
+# CHECK-NEXT: 2 2 0.50 * ldr s20, [x20], #255
+# CHECK-NEXT: 2 2 0.50 * ldr s23, [x23], #1
+# CHECK-NEXT: 2 2 0.50 * ldr s25, [x0], #-256
+# CHECK-NEXT: 2 2 0.50 * ldr d20, [x20], #255
+# CHECK-NEXT: 2 2 0.50 * ldr d23, [x23], #1
+# CHECK-NEXT: 2 2 0.50 * ldr d25, [x0], #-256
+# CHECK-NEXT: 2 2 0.50 * ldr q20, [x1], #255
+# CHECK-NEXT: 2 2 0.50 * ldr q23, [x9], #1
+# CHECK-NEXT: 2 2 0.50 * ldr q25, [x20], #-256
+# CHECK-NEXT: 2 1 1.00 * str q10, [x1], #255
+# CHECK-NEXT: 2 1 1.00 * str q22, [sp], #1
+# CHECK-NEXT: 2 1 1.00 * str q21, [x20], #-256
+# CHECK-NEXT: 2 2 0.50 * ldr x3, [x4, #0]!
+# CHECK-NEXT: 2 1 1.00 * strb w9, [x2, #255]!
+# CHECK-NEXT: 2 1 1.00 * strb w10, [x3, #1]!
+# CHECK-NEXT: 2 1 1.00 * strb w10, [x3, #-256]!
+# CHECK-NEXT: 2 1 1.00 * strh w9, [x2, #255]!
+# CHECK-NEXT: 2 1 1.00 * strh w9, [x2, #1]!
+# CHECK-NEXT: 2 1 1.00 * strh w10, [x3, #-256]!
+# CHECK-NEXT: 2 1 1.00 * str w19, [sp, #255]!
+# CHECK-NEXT: 2 1 1.00 * str w20, [x30, #1]!
+# CHECK-NEXT: 2 1 1.00 * str w21, [x12, #-256]!
+# CHECK-NEXT: 2 1 1.00 * str xzr, [x9, #255]!
+# CHECK-NEXT: 2 1 1.00 * str x2, [x3, #1]!
+# CHECK-NEXT: 2 1 1.00 * str x19, [x12, #-256]!
+# CHECK-NEXT: 2 2 0.50 * ldrb w9, [x2, #255]!
+# CHECK-NEXT: 2 2 0.50 * ldrb w10, [x3, #1]!
+# CHECK-NEXT: 2 2 0.50 * ldrb w10, [x3, #-256]!
+# CHECK-NEXT: 2 2 0.50 * ldrh w9, [x2, #255]!
+# CHECK-NEXT: 2 2 0.50 * ldrh w9, [x2, #1]!
+# CHECK-NEXT: 2 2 0.50 * ldrh w10, [x3, #-256]!
+# CHECK-NEXT: 2 2 0.50 * ldr w19, [sp, #255]!
+# CHECK-NEXT: 2 2 0.50 * ldr w20, [x30, #1]!
+# CHECK-NEXT: 2 2 0.50 * ldr w21, [x12, #-256]!
+# CHECK-NEXT: 2 2 0.50 * ldr xzr, [x9, #255]!
+# CHECK-NEXT: 2 2 0.50 * ldr x2, [x3, #1]!
+# CHECK-NEXT: 2 2 0.50 * ldr x19, [x12, #-256]!
+# CHECK-NEXT: 2 2 0.50 * ldrsb xzr, [x9, #255]!
+# CHECK-NEXT: 2 2 0.50 * ldrsb x2, [x3, #1]!
+# CHECK-NEXT: 2 2 0.50 * ldrsb x19, [x12, #-256]!
+# CHECK-NEXT: 2 2 0.50 * ldrsh xzr, [x9, #255]!
+# CHECK-NEXT: 2 2 0.50 * ldrsh x2, [x3, #1]!
+# CHECK-NEXT: 2 2 0.50 * ldrsh x19, [x12, #-256]!
+# CHECK-NEXT: 2 2 0.50 * ldrsw xzr, [x9, #255]!
+# CHECK-NEXT: 2 2 0.50 * ldrsw x2, [x3, #1]!
+# CHECK-NEXT: 2 2 0.50 * ldrsw x19, [x12, #-256]!
+# CHECK-NEXT: 2 2 0.50 * ldrsb wzr, [x9, #255]!
+# CHECK-NEXT: 2 2 0.50 * ldrsb w2, [x3, #1]!
+# CHECK-NEXT: 2 2 0.50 * ldrsb w19, [x12, #-256]!
+# CHECK-NEXT: 2 2 0.50 * ldrsh wzr, [x9, #255]!
+# CHECK-NEXT: 2 2 0.50 * ldrsh w2, [x3, #1]!
+# CHECK-NEXT: 2 2 0.50 * ldrsh w19, [x12, #-256]!
+# CHECK-NEXT: 2 1 1.00 * str b0, [x0, #255]!
+# CHECK-NEXT: 2 1 1.00 * str b3, [x3, #1]!
+# CHECK-NEXT: 2 1 1.00 * str b5, [sp, #-256]!
+# CHECK-NEXT: 2 1 1.00 * str h10, [x10, #255]!
+# CHECK-NEXT: 2 1 1.00 * str h13, [x23, #1]!
+# CHECK-NEXT: 2 1 1.00 * str h15, [sp, #-256]!
+# CHECK-NEXT: 2 1 1.00 * str s20, [x20, #255]!
+# CHECK-NEXT: 2 1 1.00 * str s23, [x23, #1]!
+# CHECK-NEXT: 2 1 1.00 * str s25, [x0, #-256]!
+# CHECK-NEXT: 2 1 1.00 * str d20, [x20, #255]!
+# CHECK-NEXT: 2 1 1.00 * str d23, [x23, #1]!
+# CHECK-NEXT: 2 1 1.00 * str d25, [x0, #-256]!
+# CHECK-NEXT: 2 2 0.50 * ldr b0, [x0, #255]!
+# CHECK-NEXT: 2 2 0.50 * ldr b3, [x3, #1]!
+# CHECK-NEXT: 2 2 0.50 * ldr b5, [sp, #-256]!
+# CHECK-NEXT: 2 2 0.50 * ldr h10, [x10, #255]!
+# CHECK-NEXT: 2 2 0.50 * ldr h13, [x23, #1]!
+# CHECK-NEXT: 2 2 0.50 * ldr h15, [sp, #-256]!
+# CHECK-NEXT: 2 2 0.50 * ldr s20, [x20, #255]!
+# CHECK-NEXT: 2 2 0.50 * ldr s23, [x23, #1]!
+# CHECK-NEXT: 2 2 0.50 * ldr s25, [x0, #-256]!
+# CHECK-NEXT: 2 2 0.50 * ldr d20, [x20, #255]!
+# CHECK-NEXT: 2 2 0.50 * ldr d23, [x23, #1]!
+# CHECK-NEXT: 2 2 0.50 * ldr d25, [x0, #-256]!
+# CHECK-NEXT: 2 2 0.50 * ldr q20, [x1, #255]!
+# CHECK-NEXT: 2 2 0.50 * ldr q23, [x9, #1]!
+# CHECK-NEXT: 2 2 0.50 * ldr q25, [x20, #-256]!
+# CHECK-NEXT: 2 1 1.00 * str q10, [x1, #255]!
+# CHECK-NEXT: 2 1 1.00 * str q22, [sp, #1]!
+# CHECK-NEXT: 2 1 1.00 * str q21, [x20, #-256]!
+# CHECK-NEXT: 1 1 1.00 * sttrb w9, [sp]
+# CHECK-NEXT: 1 1 1.00 * sttrh wzr, [x12, #255]
+# CHECK-NEXT: 1 1 1.00 * sttr w16, [x0, #-256]
+# CHECK-NEXT: 1 1 1.00 * sttr x28, [x14, #1]
+# CHECK-NEXT: 1 2 0.50 * ldtrb w1, [x20, #255]
+# CHECK-NEXT: 1 2 0.50 * ldtrh w20, [x1, #255]
+# CHECK-NEXT: 1 2 0.50 * ldtr w12, [sp, #255]
+# CHECK-NEXT: 1 2 0.50 * ldtr xzr, [x12, #255]
+# CHECK-NEXT: 1 2 0.50 * ldtrsb x9, [x7, #-256]
+# CHECK-NEXT: 1 2 0.50 * ldtrsh x17, [x19, #-256]
+# CHECK-NEXT: 1 2 0.50 * ldtrsw x20, [x15, #-256]
+# CHECK-NEXT: 1 2 0.50 * ldtrsb w19, [x1, #-256]
+# CHECK-NEXT: 1 2 0.50 * ldtrsh w15, [x21, #-256]
+# CHECK-NEXT: 1 2 0.50 * ldr x4, [x29]
+# CHECK-NEXT: 1 2 0.50 * ldr x30, [x12, #32760]
+# CHECK-NEXT: 1 2 0.50 * ldr x20, [sp, #8]
+# CHECK-NEXT: 1 2 0.50 * ldr xzr, [sp]
+# CHECK-NEXT: 1 2 0.50 * ldr w2, [sp]
+# CHECK-NEXT: 1 2 0.50 * ldr w17, [sp, #16380]
+# CHECK-NEXT: 1 2 0.50 * ldr w13, [x2, #4]
+# CHECK-NEXT: 1 2 0.50 * ldrsw x2, [x5, #4]
+# CHECK-NEXT: 1 2 0.50 * ldrsw x23, [sp, #16380]
+# CHECK-NEXT: 1 2 0.50 * ldrh w2, [x4]
+# CHECK-NEXT: 1 2 0.50 * ldrsh w23, [x6, #8190]
+# CHECK-NEXT: 1 2 0.50 * ldrsh wzr, [sp, #2]
+# CHECK-NEXT: 1 2 0.50 * ldrsh x29, [x2, #2]
+# CHECK-NEXT: 1 2 0.50 * ldrb w26, [x3, #121]
+# CHECK-NEXT: 1 2 0.50 * ldrb w12, [x2]
+# CHECK-NEXT: 1 2 0.50 * ldrsb w27, [sp, #4095]
+# CHECK-NEXT: 1 2 0.50 * ldrsb xzr, [x15]
+# CHECK-NEXT: 1 1 1.00 * str x30, [sp]
+# CHECK-NEXT: 1 1 1.00 * str w20, [x4, #16380]
+# CHECK-NEXT: 1 1 1.00 * strh w17, [sp, #8190]
+# CHECK-NEXT: 1 1 1.00 * strb w23, [x3, #4095]
+# CHECK-NEXT: 1 1 1.00 * strb wzr, [x2]
+# CHECK-NEXT: 1 2 0.50 * ldr b31, [sp, #4095]
+# CHECK-NEXT: 1 2 0.50 * ldr h20, [x2, #8190]
+# CHECK-NEXT: 1 2 0.50 * ldr s10, [x19, #16380]
+# CHECK-NEXT: 1 2 0.50 * ldr d3, [x10, #32760]
+# CHECK-NEXT: 1 1 1.00 * str q12, [sp, #65520]
+# CHECK-NEXT: 1 2 0.50 * ldrb w3, [sp, x5]
+# CHECK-NEXT: 1 2 0.50 * ldrb w9, [x27, x6]
+# CHECK-NEXT: 1 2 0.50 * ldrsb w10, [x30, x7]
+# CHECK-NEXT: 1 2 0.50 * ldrb w11, [x29, x3, sxtx]
+# CHECK-NEXT: 1 1 1.00 * strb w12, [x28, xzr, sxtx]
+# CHECK-NEXT: 1 2 0.50 * ldrb w14, [x26, w6, uxtw]
+# CHECK-NEXT: 1 2 0.50 * ldrsb w15, [x25, w7, uxtw]
+# CHECK-NEXT: 1 2 0.50 * ldrb w17, [x23, w9, sxtw]
+# CHECK-NEXT: 1 2 0.50 * ldrsb x18, [x22, w10, sxtw]
+# CHECK-NEXT: 1 2 0.50 * ldrsh w3, [sp, x5]
+# CHECK-NEXT: 1 2 0.50 * ldrsh w9, [x27, x6]
+# CHECK-NEXT: 1 2 0.50 * ldrh w10, [x30, x7, lsl #1]
+# CHECK-NEXT: 1 1 1.00 * strh w11, [x29, x3, sxtx]
+# CHECK-NEXT: 1 2 0.50 * ldrh w12, [x28, xzr, sxtx]
+# CHECK-NEXT: 1 2 0.50 * ldrsh x13, [x27, x5, sxtx #1]
+# CHECK-NEXT: 1 2 0.50 * ldrh w14, [x26, w6, uxtw]
+# CHECK-NEXT: 1 2 0.50 * ldrh w15, [x25, w7, uxtw]
+# CHECK-NEXT: 1 2 0.50 * ldrsh w16, [x24, w8, uxtw #1]
+# CHECK-NEXT: 1 2 0.50 * ldrh w17, [x23, w9, sxtw]
+# CHECK-NEXT: 1 2 0.50 * ldrh w18, [x22, w10, sxtw]
+# CHECK-NEXT: 1 1 1.00 * strh w19, [x21, wzr, sxtw #1]
+# CHECK-NEXT: 1 2 0.50 * ldr w3, [sp, x5]
+# CHECK-NEXT: 1 2 0.50 * ldr s9, [x27, x6]
+# CHECK-NEXT: 1 2 0.50 * ldr w10, [x30, x7, lsl #2]
+# CHECK-NEXT: 1 2 0.50 * ldr w11, [x29, x3, sxtx]
+# CHECK-NEXT: 1 1 1.00 * str s12, [x28, xzr, sxtx]
+# CHECK-NEXT: 1 1 1.00 * str w13, [x27, x5, sxtx #2]
+# CHECK-NEXT: 1 1 1.00 * str w14, [x26, w6, uxtw]
+# CHECK-NEXT: 1 2 0.50 * ldr w15, [x25, w7, uxtw]
+# CHECK-NEXT: 1 2 0.50 * ldr w16, [x24, w8, uxtw #2]
+# CHECK-NEXT: 1 2 0.50 * ldrsw x17, [x23, w9, sxtw]
+# CHECK-NEXT: 1 2 0.50 * ldr w18, [x22, w10, sxtw]
+# CHECK-NEXT: 1 2 0.50 * ldrsw x19, [x21, wzr, sxtw #2]
+# CHECK-NEXT: 1 2 0.50 * ldr x3, [sp, x5]
+# CHECK-NEXT: 1 1 1.00 * str x9, [x27, x6]
+# CHECK-NEXT: 1 2 0.50 * ldr d10, [x30, x7, lsl #3]
+# CHECK-NEXT: 1 1 1.00 * str x11, [x29, x3, sxtx]
+# CHECK-NEXT: 1 2 0.50 * ldr x12, [x28, xzr, sxtx]
+# CHECK-NEXT: 1 2 0.50 * ldr x13, [x27, x5, sxtx #3]
+# CHECK-NEXT: 1 2 0.50 U prfm pldl1keep, [x26, w6, uxtw]
+# CHECK-NEXT: 1 2 0.50 * ldr x15, [x25, w7, uxtw]
+# CHECK-NEXT: 1 2 0.50 * ldr x16, [x24, w8, uxtw #3]
+# CHECK-NEXT: 1 2 0.50 * ldr x17, [x23, w9, sxtw]
+# CHECK-NEXT: 1 2 0.50 * ldr x18, [x22, w10, sxtw]
+# CHECK-NEXT: 1 1 1.00 * str d19, [x21, wzr, sxtw #3]
+# CHECK-NEXT: 1 2 0.50 * ldr q3, [sp, x5]
+# CHECK-NEXT: 1 2 0.50 * ldr q9, [x27, x6]
+# CHECK-NEXT: 1 2 0.50 * ldr q10, [x30, x7, lsl #4]
+# CHECK-NEXT: 1 1 1.00 * str q11, [x29, x3, sxtx]
+# CHECK-NEXT: 1 1 1.00 * str q12, [x28, xzr, sxtx]
+# CHECK-NEXT: 1 1 1.00 * str q13, [x27, x5, sxtx #4]
+# CHECK-NEXT: 1 2 0.50 * ldr q14, [x26, w6, uxtw]
+# CHECK-NEXT: 1 2 0.50 * ldr q15, [x25, w7, uxtw]
+# CHECK-NEXT: 1 2 0.50 * ldr q16, [x24, w8, uxtw #4]
+# CHECK-NEXT: 1 2 0.50 * ldr q17, [x23, w9, sxtw]
+# CHECK-NEXT: 1 1 1.00 * str q18, [x22, w10, sxtw]
+# CHECK-NEXT: 1 2 0.50 * ldr q19, [x21, wzr, sxtw #4]
+# CHECK-NEXT: 2 3 1.00 * ldp w3, w5, [sp]
+# CHECK-NEXT: 1 1 1.00 * stp wzr, w9, [sp, #252]
+# CHECK-NEXT: 2 3 1.00 * ldp w2, wzr, [sp, #-256]
+# CHECK-NEXT: 2 3 1.00 * ldp w9, w10, [sp, #4]
+# CHECK-NEXT: 2 3 1.00 * ldpsw x9, x10, [sp, #4]
+# CHECK-NEXT: 2 3 1.00 * ldpsw x9, x10, [x2, #-256]
+# CHECK-NEXT: 2 3 1.00 * ldpsw x20, x30, [sp, #252]
+# CHECK-NEXT: 2 3 1.00 * ldp x21, x29, [x2, #504]
+# CHECK-NEXT: 2 3 1.00 * ldp x22, x23, [x3, #-512]
+# CHECK-NEXT: 2 3 1.00 * ldp x24, x25, [x4, #8]
+# CHECK-NEXT: 2 3 1.00 * ldp s29, s28, [sp, #252]
+# CHECK-NEXT: 1 1 1.00 * stp s27, s26, [sp, #-256]
+# CHECK-NEXT: 2 3 1.00 * ldp s1, s2, [x3, #44]
+# CHECK-NEXT: 1 1 1.00 * stp d3, d5, [x9, #504]
+# CHECK-NEXT: 1 1 1.00 * stp d7, d11, [x10, #-512]
+# CHECK-NEXT: 2 3 1.00 * ldp d2, d3, [x30, #-8]
+# CHECK-NEXT: 1 1 1.00 * stp q3, q5, [sp]
+# CHECK-NEXT: 1 1 1.00 * stp q17, q19, [sp, #1008]
+# CHECK-NEXT: 2 3 1.00 * ldp q23, q29, [x1, #-1024]
+# CHECK-NEXT: 3 3 1.00 * ldp w3, w5, [sp], #0
+# CHECK-NEXT: 2 1 1.00 * stp wzr, w9, [sp], #252
+# CHECK-NEXT: 3 3 1.00 * ldp w2, wzr, [sp], #-256
+# CHECK-NEXT: 3 3 1.00 * ldp w9, w10, [sp], #4
+# CHECK-NEXT: 3 3 1.00 * ldpsw x9, x10, [sp], #4
+# CHECK-NEXT: 3 3 1.00 * ldpsw x9, x10, [x2], #-256
+# CHECK-NEXT: 3 3 1.00 * ldpsw x20, x30, [sp], #252
+# CHECK-NEXT: 3 3 1.00 * ldp x21, x29, [x2], #504
+# CHECK-NEXT: 3 3 1.00 * ldp x22, x23, [x3], #-512
+# CHECK-NEXT: 3 3 1.00 * ldp x24, x25, [x4], #8
+# CHECK-NEXT: 3 3 1.00 * ldp s29, s28, [sp], #252
+# CHECK-NEXT: 2 1 1.00 * stp s27, s26, [sp], #-256
+# CHECK-NEXT: 3 3 1.00 * ldp s1, s2, [x3], #44
+# CHECK-NEXT: 2 1 1.00 * stp d3, d5, [x9], #504
+# CHECK-NEXT: 2 1 1.00 * stp d7, d11, [x10], #-512
+# CHECK-NEXT: 3 3 1.00 * ldp d2, d3, [x30], #-8
+# CHECK-NEXT: 2 1 1.00 * stp q3, q5, [sp], #0
+# CHECK-NEXT: 2 1 1.00 * stp q17, q19, [sp], #1008
+# CHECK-NEXT: 3 3 1.00 * ldp q23, q29, [x1], #-1024
+# CHECK-NEXT: 3 3 1.00 * ldp w3, w5, [sp, #0]!
+# CHECK-NEXT: 2 1 1.00 * stp wzr, w9, [sp, #252]!
+# CHECK-NEXT: 3 3 1.00 * ldp w2, wzr, [sp, #-256]!
+# CHECK-NEXT: 3 3 1.00 * ldp w9, w10, [sp, #4]!
+# CHECK-NEXT: 3 3 1.00 * ldpsw x9, x10, [sp, #4]!
+# CHECK-NEXT: 3 3 1.00 * ldpsw x9, x10, [x2, #-256]!
+# CHECK-NEXT: 3 3 1.00 * ldpsw x20, x30, [sp, #252]!
+# CHECK-NEXT: 3 3 1.00 * ldp x21, x29, [x2, #504]!
+# CHECK-NEXT: 3 3 1.00 * ldp x22, x23, [x3, #-512]!
+# CHECK-NEXT: 3 3 1.00 * ldp x24, x25, [x4, #8]!
+# CHECK-NEXT: 3 3 1.00 * ldp s29, s28, [sp, #252]!
+# CHECK-NEXT: 2 1 1.00 * stp s27, s26, [sp, #-256]!
+# CHECK-NEXT: 3 3 1.00 * ldp s1, s2, [x3, #44]!
+# CHECK-NEXT: 2 1 1.00 * stp d3, d5, [x9, #504]!
+# CHECK-NEXT: 2 1 1.00 * stp d7, d11, [x10, #-512]!
+# CHECK-NEXT: 3 3 1.00 * ldp d2, d3, [x30, #-8]!
+# CHECK-NEXT: 2 1 1.00 * stp q3, q5, [sp, #0]!
+# CHECK-NEXT: 2 1 1.00 * stp q17, q19, [sp, #1008]!
+# CHECK-NEXT: 3 3 1.00 * ldp q23, q29, [x1, #-1024]!
+# CHECK-NEXT: 2 2 1.00 * ldnp w3, w5, [sp]
+# CHECK-NEXT: 1 1 1.00 * stnp wzr, w9, [sp, #252]
+# CHECK-NEXT: 2 2 1.00 * ldnp w2, wzr, [sp, #-256]
+# CHECK-NEXT: 2 2 1.00 * ldnp w9, w10, [sp, #4]
+# CHECK-NEXT: 2 2 1.00 * ldnp x21, x29, [x2, #504]
+# CHECK-NEXT: 2 2 1.00 * ldnp x22, x23, [x3, #-512]
+# CHECK-NEXT: 2 2 1.00 * ldnp x24, x25, [x4, #8]
+# CHECK-NEXT: 2 2 1.00 * ldnp s29, s28, [sp, #252]
+# CHECK-NEXT: 1 1 1.00 * stnp s27, s26, [sp, #-256]
+# CHECK-NEXT: 2 2 1.00 * ldnp s1, s2, [x3, #44]
+# CHECK-NEXT: 1 1 1.00 * stnp d3, d5, [x9, #504]
+# CHECK-NEXT: 1 1 1.00 * stnp d7, d11, [x10, #-512]
+# CHECK-NEXT: 2 2 1.00 * ldnp d2, d3, [x30, #-8]
+# CHECK-NEXT: 1 1 1.00 * stnp q3, q5, [sp]
+# CHECK-NEXT: 1 1 1.00 * stnp q17, q19, [sp, #1008]
+# CHECK-NEXT: 2 2 1.00 * ldnp q23, q29, [x1, #-1024]
+# CHECK-NEXT: 1 1 0.33 mov w3, #983055
+# CHECK-NEXT: 1 1 0.33 mov x10, #-6148914691236517206
+# CHECK-NEXT: 1 1 0.33 and w12, w23, w21
+# CHECK-NEXT: 1 2 0.33 and w16, w15, w1, lsl #1
+# CHECK-NEXT: 1 2 0.33 and w9, w4, w10, lsl #31
+# CHECK-NEXT: 1 1 0.33 and w3, w30, w11
+# CHECK-NEXT: 1 2 0.33 and x3, x5, x7, lsl #63
+# CHECK-NEXT: 1 2 0.33 and x5, x14, x19, asr #4
+# CHECK-NEXT: 1 2 0.33 and w3, w17, w19, ror #31
+# CHECK-NEXT: 1 2 0.33 and w0, w2, wzr, lsr #17
+# CHECK-NEXT: 1 2 0.33 and w3, w30, w11, asr #2
+# CHECK-NEXT: 1 1 0.33 and xzr, x4, x26
+# CHECK-NEXT: 1 2 0.33 and w3, wzr, w20, ror #2
+# CHECK-NEXT: 1 2 0.33 and x7, x20, xzr, asr #63
+# CHECK-NEXT: 1 2 0.33 bic x13, x20, x14, lsl #47
+# CHECK-NEXT: 1 1 0.33 bic w2, w7, w9
+# CHECK-NEXT: 1 2 0.33 orr w2, w7, w0, asr #31
+# CHECK-NEXT: 1 2 0.33 orr x8, x9, x10, lsl #12
+# CHECK-NEXT: 1 2 0.33 orn x3, x5, x7, asr #2
+# CHECK-NEXT: 1 1 0.33 orn w2, w5, w29
+# CHECK-NEXT: 1 2 0.33 ands w7, wzr, w9, lsl #1
+# CHECK-NEXT: 1 2 0.33 ands x3, x5, x20, ror #63
+# CHECK-NEXT: 1 1 0.33 bics w3, w5, w7
+# CHECK-NEXT: 1 2 0.33 bics x3, xzr, x3, lsl #1
+# CHECK-NEXT: 1 2 0.33 tst w3, w7, lsl #31
+# CHECK-NEXT: 1 2 0.33 tst x2, x20, asr #2
+# CHECK-NEXT: 1 1 0.33 mov x3, x6
+# CHECK-NEXT: 1 1 0.33 mov x3, xzr
+# CHECK-NEXT: 1 1 0.33 mov wzr, w2
+# CHECK-NEXT: 1 1 0.33 mov w3, w5
+# CHECK-NEXT: 1 1 0.33 movz w2, #0, lsl #16
+# CHECK-NEXT: 1 1 0.33 mov w2, #-1235
+# CHECK-NEXT: 1 1 0.33 mov x2, #5299989643264
+# CHECK-NEXT: 1 1 0.33 mov x2, #0
+# CHECK-NEXT: 1 1 0.33 movk w3, #0
+# CHECK-NEXT: 1 1 0.33 movz x4, #0, lsl #16
+# CHECK-NEXT: 1 1 0.33 movk w5, #0, lsl #16
+# CHECK-NEXT: 1 1 0.33 movz x6, #0, lsl #32
+# CHECK-NEXT: 1 1 0.33 movk x7, #0, lsl #32
+# CHECK-NEXT: 1 1 0.33 movz x8, #0, lsl #48
+# CHECK-NEXT: 1 1 0.33 movk x9, #0, lsl #48
+# CHECK-NEXT: 1 1 0.33 adr x2, #1600
+# CHECK-NEXT: 1 1 0.33 adrp x21, #6553600
+# CHECK-NEXT: 1 1 0.33 adr x0, #262144
+# CHECK-NEXT: 1 1 1.00 tbz x12, #62, #0
+# CHECK-NEXT: 1 1 1.00 tbz x12, #62, #4
+# CHECK-NEXT: 1 1 1.00 tbz x12, #62, #-32768
+# CHECK-NEXT: 1 1 1.00 tbnz x12, #60, #32764
+# CHECK-NEXT: 1 1 1.00 b #4
+# CHECK-NEXT: 1 1 1.00 b #-4
+# CHECK-NEXT: 1 1 1.00 b #134217724
+# CHECK-NEXT: 1 1 1.00 br x20
+# CHECK-NEXT: 1 1 1.00 blr xzr
+# CHECK-NEXT: 1 1 1.00 U ret x10
+# CHECK-NEXT: 1 1 1.00 U ret
+# CHECK-NEXT: 1 1 1.00 U eret
+# CHECK-NEXT: 1 1 1.00 U drps
+# CHECK-NEXT: 1 4 1.00 U autda x0, x1
+# CHECK-NEXT: 1 4 1.00 U autdb x2, x3
+# CHECK-NEXT: 1 4 1.00 U autdza x4
+# CHECK-NEXT: 1 4 1.00 U autdzb x5
+# CHECK-NEXT: 1 4 1.00 U autia x6, x7
+# CHECK-NEXT: 1 4 1.00 U autib x8, x9
+# CHECK-NEXT: 1 4 1.00 U autia1716
+# CHECK-NEXT: 1 4 1.00 U autib1716
+# CHECK-NEXT: 1 4 1.00 U autiasp
+# CHECK-NEXT: 1 4 1.00 U autibsp
+# CHECK-NEXT: 1 4 1.00 U autiaz
+# CHECK-NEXT: 1 4 1.00 U autibz
+# CHECK-NEXT: 1 4 1.00 U autiza x10
+# CHECK-NEXT: 1 4 1.00 U autizb x11
+# CHECK-NEXT: 2 1 1.00 U blraa x5, x6
+# CHECK-NEXT: 2 1 1.00 U blraaz x7
+# CHECK-NEXT: 2 1 1.00 U blrab x8, x9
+# CHECK-NEXT: 2 1 1.00 U blrabz x10
+# CHECK-NEXT: 2 1 1.00 U braa x29, x30
+# CHECK-NEXT: 2 1 1.00 U braaz x1
+# CHECK-NEXT: 2 1 1.00 U brab x2, x3
+# CHECK-NEXT: 2 1 1.00 U brabz x4
+# CHECK-NEXT: 2 1 1.00 U retaa
+# CHECK-NEXT: 2 1 1.00 U retab
+# CHECK-NEXT: 2 1 1.00 U eretaa
+# CHECK-NEXT: 2 1 1.00 U eretab
+# CHECK-NEXT: 1 4 1.00 U pacda x12, x13
+# CHECK-NEXT: 1 4 1.00 U pacdb x14, x15
+# CHECK-NEXT: 1 4 1.00 U pacdza x16
+# CHECK-NEXT: 1 4 1.00 U pacdzb x17
+# CHECK-NEXT: 1 5 1.00 pacga x24, x25, x26
+# CHECK-NEXT: 1 4 1.00 U pacia x18, x19
+# CHECK-NEXT: 1 4 1.00 U pacib x20, x21
+# CHECK-NEXT: 1 4 1.00 U pacia1716
+# CHECK-NEXT: 1 4 1.00 U pacib1716
+# CHECK-NEXT: 1 4 1.00 U paciasp
+# CHECK-NEXT: 1 4 1.00 U pacibsp
+# CHECK-NEXT: 1 4 1.00 U paciaz
+# CHECK-NEXT: 1 4 1.00 U pacibz
+# CHECK-NEXT: 1 4 1.00 U paciza x22
+# CHECK-NEXT: 1 4 1.00 U pacizb x23
+# CHECK-NEXT: 1 2 1.00 * U ldraa x11, [x12, #16]!
+# CHECK-NEXT: 1 2 1.00 * U ldraa x13, [x14, #32]
+# CHECK-NEXT: 1 2 1.00 * U ldrab x15, [x16, #24]!
+# CHECK-NEXT: 1 2 1.00 * U ldrab x17, [x18, #8]
+# CHECK-NEXT: 1 4 1.00 xpacd x27
+# CHECK-NEXT: 1 4 1.00 xpaci x28
+# CHECK-NEXT: 1 4 1.00 U xpaclri
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - C1NanoUnitALU0
+# CHECK-NEXT: [1.0] - C1NanoUnitALU1
+# CHECK-NEXT: [1.1] - C1NanoUnitALU1
+# CHECK-NEXT: [2] - C1NanoUnitB
+# CHECK-NEXT: [3] - C1NanoUnitDiv
+# CHECK-NEXT: [4] - C1NanoUnitLd1
+# CHECK-NEXT: [5] - C1NanoUnitLdSt
+# CHECK-NEXT: [6] - C1NanoUnitMAC
+# CHECK-NEXT: [7] - C1NanoUnitPAC
+# CHECK-NEXT: [8] - C1NanoUnitVALU0
+# CHECK-NEXT: [9] - C1NanoUnitVALU1
+# CHECK-NEXT: [10.0] - C1NanoUnitVMAC
+# CHECK-NEXT: [10.1] - C1NanoUnitVMAC
+# CHECK-NEXT: [11] - C1NanoUnitVMC
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1.0] [1.1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11]
+# CHECK-NEXT: 155.00 155.00 155.00 34.00 48.00 161.00 289.00 69.00 48.00 110.50 110.50 6.00 6.00 87.00
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1.0] [1.1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11] Instructions:
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w2, w3, #4095
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w30, w29, #1, lsl #12
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w13, w5, #4095, lsl #12
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x5, x7, #1638
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w20, wsp, #801
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add wsp, wsp, #1104
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add wsp, w30, #4084
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x0, x24, #291
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x3, x24, #4095, lsl #12
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x8, sp, #1074
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add sp, x29, #3816
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w0, wsp, #4077
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w4, w20, #546, lsl #12
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub sp, sp, #288
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub wsp, w19, #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w13, w23, #291, lsl #12
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w2, #4095
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w20, wsp, #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x3, #1, lsl #12
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp sp, #20, lsl #12
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x30, #4095
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x4, sp, #3822
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w3, #291, lsl #12
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn wsp, #1365
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn sp, #1092, lsl #12
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov sp, x30
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov wsp, w20
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov x11, sp
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov w24, wsp
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w3, w5, w7
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add wzr, w3, w5
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w20, wzr, w4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w4, w6, wzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w11, w13, w15
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w9, w3, wzr, lsl #10
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w17, w29, w20, lsl #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w21, w22, w23, lsr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w24, w25, w26, lsr #18
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w27, w28, w29, lsr #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w2, w3, w4, asr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w5, w6, w7, asr #21
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w8, w9, w10, asr #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x3, x5, x7
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add xzr, x3, x5
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x20, xzr, x4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x4, x6, xzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x11, x13, x15
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x9, x3, xzr, lsl #10
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x17, x29, x20, lsl #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x21, x22, x23, lsr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x24, x25, x26, lsr #18
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x27, x28, x29, lsr #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x2, x3, x4, asr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x5, x6, x7, asr #21
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x8, x9, x10, asr #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w3, w5, w7
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w3, w5
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w20, wzr, w4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w4, w6, wzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w11, w13, w15
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w9, w3, wzr, lsl #10
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w17, w29, w20, lsl #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w21, w22, w23, lsr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w24, w25, w26, lsr #18
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w27, w28, w29, lsr #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w2, w3, w4, asr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w5, w6, w7, asr #21
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w8, w9, w10, asr #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x3, x5, x7
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x3, x5
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x20, xzr, x4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x4, x6, xzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x11, x13, x15
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x9, x3, xzr, lsl #10
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x17, x29, x20, lsl #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x21, x22, x23, lsr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x24, x25, x26, lsr #18
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x27, x28, x29, lsr #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x2, x3, x4, asr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x5, x6, x7, asr #21
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x8, x9, x10, asr #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w3, w5, w7
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub wzr, w3, w5
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w4, w6, wzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w11, w13, w15
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w9, w3, wzr, lsl #10
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w17, w29, w20, lsl #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w21, w22, w23, lsr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w24, w25, w26, lsr #18
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w27, w28, w29, lsr #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w2, w3, w4, asr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w5, w6, w7, asr #21
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w8, w9, w10, asr #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x3, x5, x7
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub xzr, x3, x5
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x4, x6, xzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x11, x13, x15
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x9, x3, xzr, lsl #10
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x17, x29, x20, lsl #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x21, x22, x23, lsr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x24, x25, x26, lsr #18
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x27, x28, x29, lsr #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x2, x3, x4, asr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x5, x6, x7, asr #21
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x8, x9, x10, asr #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w3, w5, w7
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w3, w5
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w4, w6, wzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w11, w13, w15
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w9, w3, wzr, lsl #10
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w17, w29, w20, lsl #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w21, w22, w23, lsr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w24, w25, w26, lsr #18
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w27, w28, w29, lsr #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w2, w3, w4, asr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w5, w6, w7, asr #21
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w8, w9, w10, asr #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x3, x5, x7
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x3, x5
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x4, x6, xzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x11, x13, x15
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x9, x3, xzr, lsl #10
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x17, x29, x20, lsl #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x21, x22, x23, lsr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x24, x25, x26, lsr #18
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x27, x28, x29, lsr #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x2, x3, x4, asr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x5, x6, x7, asr #21
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x8, x9, x10, asr #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn wzr, w4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w5, wzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w6, w7
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w8, w9, lsl #15
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w10, w11, lsl #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w12, w13, lsr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w14, w15, lsr #21
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w16, w17, lsr #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w18, w19, asr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w20, w21, asr #22
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w22, w23, asr #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x0, x3
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn xzr, x4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x5, xzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x6, x7
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x8, x9, lsl #15
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x10, x11, lsl #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x12, x13, lsr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x14, x15, lsr #41
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x16, x17, lsr #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x18, x19, asr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x20, x21, asr #55
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x22, x23, asr #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w0, w3
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp wzr, w4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w5, wzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w6, w7
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w8, w9, lsl #15
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w10, w11, lsl #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w12, w13, lsr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w14, w15, lsr #21
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w18, w19, asr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w20, w21, asr #22
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w22, w23, asr #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x0, x3
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp xzr, x4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x5, xzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x6, x7
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x8, x9, lsl #15
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x10, x11, lsl #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x12, x13, lsr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x14, x15, lsr #41
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x16, x17, lsr #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x18, x19, asr #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x20, x21, asr #55
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x22, x23, asr #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp wzr, w0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp xzr, x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adc w29, w27, w25
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adc wzr, w3, w4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adc w9, wzr, w10
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adc w20, w0, wzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adc x29, x27, x25
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adc xzr, x3, x4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adc x9, xzr, x10
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adc x20, x0, xzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adcs w29, w27, w25
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adcs wzr, w3, w4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adcs w9, wzr, w10
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adcs w20, w0, wzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adcs x29, x27, x25
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adcs xzr, x3, x4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adcs x9, xzr, x10
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adcs x20, x0, xzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbc w29, w27, w25
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbc wzr, w3, w4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngc w9, w10
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbc w20, w0, wzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbc x29, x27, x25
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbc xzr, x3, x4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngc x9, x10
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbc x20, x0, xzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbcs w29, w27, w25
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbcs wzr, w3, w4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngcs w9, w10
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbcs w20, w0, wzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbcs x29, x27, x25
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbcs xzr, x3, x4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngcs x9, x10
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbcs x20, x0, xzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngc w3, w12
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngc wzr, w9
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngc w23, wzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngc x29, x30
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngc xzr, x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngc x0, xzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngcs w3, w12
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngcs wzr, w9
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngcs w23, wzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngcs x29, x30
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngcs xzr, x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngcs x0, xzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfx x1, x2, #3, #2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr x3, x4, #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr wzr, wzr, #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfx w12, w9, #0, #1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ubfiz x4, x5, #52, #11
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ubfx xzr, x4, #0, #1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ubfiz x4, xzr, #1, #6
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr x5, x6, #12
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfi x4, x5, #52, #11
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil xzr, x4, #0, #1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfc x4, #1, #6
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil x5, x6, #12, #52
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sxtb w1, w2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sxtb xzr, w3
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sxth w9, w10
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sxth x0, w1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sxtw x3, w30
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uxtb w1, w2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uxth w9, w10
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ubfx x3, x30, #0, #32
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr w3, w2, #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr w9, w10, #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr x20, x21, #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr w1, wzr, #3
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr w3, w2, #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr w9, w10, #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr x20, x21, #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr wzr, wzr, #3
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr w3, w2, #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl w9, w10, #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl x20, x21, #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl w1, wzr, #3
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfx w9, w10, #0, #1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfiz x2, x3, #63, #1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr x19, x20, #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfiz x9, x10, #5, #59
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr w9, w10, #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfiz w11, w12, #31, #1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfiz w13, w14, #29, #3
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfiz xzr, xzr, #10, #11
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfx w9, w10, #0, #1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr x2, x3, #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr x19, x20, #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr x9, x10, #5
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr w9, w10, #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr w11, w12, #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr w13, w14, #29
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfx xzr, xzr, #10, #11
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil w9, w10, #0, #1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfi x2, x3, #63, #1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil x19, x20, #0, #64
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfi x9, x10, #5, #59
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil w9, w10, #0, #32
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfi w11, w12, #31, #1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfi w13, w14, #29, #3
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfc xzr, #10, #11
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil w9, w10, #0, #1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil x2, x3, #63, #1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil x19, x20, #0, #64
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil x9, x10, #5, #59
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil w9, w10, #0, #32
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil w11, w12, #31, #1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil w13, w14, #29, #3
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil xzr, xzr, #10, #11
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ubfx w9, w10, #0, #1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl x2, x3, #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr x19, x20, #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl x9, x10, #5
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr w9, w10, #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl w11, w12, #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl w13, w14, #29
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ubfiz xzr, xzr, #10, #11
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ubfx w9, w10, #0, #1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr x2, x3, #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr x19, x20, #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr x9, x10, #5
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr w9, w10, #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr w11, w12, #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr w13, w14, #29
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ubfx xzr, xzr, #10, #11
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - cbz w5, #4
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - cbz x5, #0
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - cbnz x2, #-4
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - cbnz x26, #1048572
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - cbz wzr, #0
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - cbnz xzr, #0
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - b.ne #4
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - b.ge #1048572
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - b.ge #-4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp w1, #31, #0, eq
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp w3, #0, #15, hs
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp wzr, #15, #13, hs
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp x9, #31, #0, le
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp x3, #0, #15, gt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp xzr, #5, #7, ne
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn w1, #31, #0, eq
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn w3, #0, #15, hs
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn wzr, #15, #13, hs
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn x9, #31, #0, le
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn x3, #0, #15, gt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn xzr, #5, #7, ne
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp w1, wzr, #0, eq
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp w3, w0, #15, hs
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp wzr, w15, #13, hs
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp x9, xzr, #0, le
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp x3, x0, #15, gt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp xzr, x5, #7, ne
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn w1, wzr, #0, eq
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn w3, w0, #15, hs
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn wzr, w15, #13, hs
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn x9, xzr, #0, le
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn x3, x0, #15, gt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn xzr, x5, #7, ne
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csel w1, w0, w19, ne
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csel wzr, w5, w9, eq
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csel w9, wzr, w30, gt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csel w1, w28, wzr, mi
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csel x19, x23, x29, lt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csel xzr, x3, x4, ge
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csel x5, xzr, x6, hs
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csel x7, x8, xzr, lo
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc w1, w0, w19, ne
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc wzr, w5, w9, eq
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc w9, wzr, w30, gt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc w1, w28, wzr, mi
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc x19, x23, x29, lt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc xzr, x3, x4, ge
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc x5, xzr, x6, hs
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc x7, x8, xzr, lo
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv w1, w0, w19, ne
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv wzr, w5, w9, eq
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv w9, wzr, w30, gt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv w1, w28, wzr, mi
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv x19, x23, x29, lt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv xzr, x3, x4, ge
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv x5, xzr, x6, hs
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv x7, x8, xzr, lo
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csneg w1, w0, w19, ne
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csneg wzr, w5, w9, eq
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csneg w9, wzr, w30, gt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csneg w1, w28, wzr, mi
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csneg x19, x23, x29, lt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csneg xzr, x3, x4, ge
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csneg x5, xzr, x6, hs
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csneg x7, x8, xzr, lo
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cset w3, eq
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cset x9, pl
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csetm w20, ne
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csetm x30, ge
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc w2, wzr, wzr, al
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv x3, xzr, xzr, nv
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cinc w3, w5, gt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cinc wzr, w4, le
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cset w9, lt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cinc x3, x5, gt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cinc xzr, x4, le
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cset x9, lt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc w5, w6, w6, nv
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc x1, x2, x2, al
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cinv w3, w5, gt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cinv wzr, w4, le
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csetm w9, lt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cinv x3, x5, gt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cinv xzr, x4, le
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csetm x9, lt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv x1, x0, x0, al
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv w9, w8, w8, nv
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cneg w3, w5, gt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cneg wzr, w4, le
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cneg w9, wzr, lt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cneg x3, x5, gt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cneg xzr, x4, le
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cneg x9, xzr, lt
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csneg x4, x8, x8, al
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv w9, w8, w8, nv
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rbit w0, w7
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rbit x18, x3
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rev16 w17, w1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rev16 x5, x2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rev w18, w0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rev32 x20, x1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rev x22, x2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - clz w24, w3
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - clz x26, x4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cls w3, w5
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cls x20, x5
+# CHECK-NEXT: - - - - 8.00 - - - - - - - - - udiv w0, w7, w10
+# CHECK-NEXT: - - - - 16.00 - - - - - - - - - udiv x9, x22, x4
+# CHECK-NEXT: - - - - 8.00 - - - - - - - - - sdiv w12, w21, w0
+# CHECK-NEXT: - - - - 16.00 - - - - - - - - - sdiv x13, x2, x1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl w11, w12, w13
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl x14, x15, x16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr w17, w18, w19
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr x20, x21, x22
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr w23, w24, w25
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr x26, x27, x28
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ror w0, w1, w2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ror x3, x4, x5
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl w6, w7, w8
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl x9, x10, x11
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr w12, w13, w14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr x15, x16, x17
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr w18, w19, w20
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr x21, x22, x23
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ror w24, w25, w26
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ror x27, x28, x29
+# CHECK-NEXT: - - - - - - - 2.00 - - - - - - smulh x30, x29, x28
+# CHECK-NEXT: - - - - - - - 2.00 - - - - - - smulh xzr, x27, x26
+# CHECK-NEXT: - - - - - - - 2.00 - - - - - - umulh x30, x29, x28
+# CHECK-NEXT: - - - - - - - 2.00 - - - - - - umulh x23, x30, xzr
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - madd w1, w3, w7, w4
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - madd wzr, w0, w9, w11
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - madd w13, wzr, w4, w4
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - madd w19, w30, wzr, w29
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - mul w4, w5, w6
+# CHECK-NEXT: - - - - - - - 2.00 - - - - - - madd x1, x3, x7, x4
+# CHECK-NEXT: - - - - - - - 2.00 - - - - - - madd xzr, x0, x9, x11
+# CHECK-NEXT: - - - - - - - 2.00 - - - - - - madd x13, xzr, x4, x4
+# CHECK-NEXT: - - - - - - - 2.00 - - - - - - madd x19, x30, xzr, x29
+# CHECK-NEXT: - - - - - - - 2.00 - - - - - - mul x4, x5, x6
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - msub w1, w3, w7, w4
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - msub wzr, w0, w9, w11
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - msub w13, wzr, w4, w4
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - msub w19, w30, wzr, w29
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - mneg w4, w5, w6
+# CHECK-NEXT: - - - - - - - 2.00 - - - - - - msub x1, x3, x7, x4
+# CHECK-NEXT: - - - - - - - 2.00 - - - - - - msub xzr, x0, x9, x11
+# CHECK-NEXT: - - - - - - - 2.00 - - - - - - msub x13, xzr, x4, x4
+# CHECK-NEXT: - - - - - - - 2.00 - - - - - - msub x19, x30, xzr, x29
+# CHECK-NEXT: - - - - - - - 2.00 - - - - - - mneg x4, x5, x6
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smaddl x3, w5, w2, x9
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smaddl xzr, w10, w11, x12
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smaddl x13, wzr, w14, x15
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smaddl x16, w17, wzr, x18
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smull x19, w20, w21
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smsubl x3, w5, w2, x9
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smsubl xzr, w10, w11, x12
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smsubl x13, wzr, w14, x15
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smsubl x16, w17, wzr, x18
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smnegl x19, w20, w21
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umaddl x3, w5, w2, x9
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umaddl xzr, w10, w11, x12
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umaddl x13, wzr, w14, x15
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umaddl x16, w17, wzr, x18
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umull x19, w20, w21
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umsubl x3, w5, w2, x9
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umsubl x16, w17, wzr, x18
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umnegl x19, w20, w21
+# CHECK-NEXT: - - - - - - - 2.00 - - - - - - smulh x30, x29, x28
+# CHECK-NEXT: - - - - - - - 2.00 - - - - - - smulh x23, x22, xzr
+# CHECK-NEXT: - - - - - - - 2.00 - - - - - - umulh x23, x22, xzr
+# CHECK-NEXT: - - - - - - - 2.00 - - - - - - mul x19, x20, xzr
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - mneg w21, w22, w23
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smull x11, w13, w17
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umull x11, w13, w17
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smnegl x11, w13, w17
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umnegl x11, w13, w17
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - extr w3, w5, w7, #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - extr w11, w13, w17, #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - extr x3, x5, x7, #15
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - extr x11, x13, x17, #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ror x19, x23, #24
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ror x29, xzr, #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ror w9, w13, #31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmp s3, s5
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmp s31, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmp s31, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmpe s29, s30
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmpe s15, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmpe s15, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmp d4, d12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmp d23, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmp d23, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmpe d26, d22
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmpe d29, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmpe d29, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmp s1, s31, #0, eq
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmp s3, s0, #15, hs
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmp s31, s15, #13, hs
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmp d9, d31, #0, le
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmp d3, d0, #15, gt
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmp d31, d5, #7, ne
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmpe s1, s31, #0, eq
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmpe s3, s0, #15, hs
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmpe s31, s15, #13, hs
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmpe d9, d31, #0, le
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmpe d3, d0, #15, gt
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmpe d31, d5, #7, ne
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcsel s3, s20, s9, pl
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcsel d9, d10, d11, mi
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov s0, s1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs s2, s3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg s4, s5
+# CHECK-NEXT: - - - - - - - - - - - - - 29.00 fsqrt s6, s7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt d8, s9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt h10, s11
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn s12, s13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp s14, s15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm s16, s17
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz s18, s19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta s20, s21
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx s22, s23
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti s24, s25
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov d0, d1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs d2, d3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg d4, d5
+# CHECK-NEXT: - - - - - - - - - - - - - 29.00 fsqrt d6, d7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt s8, d9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt h10, d11
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn d12, d13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp d14, d15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm d16, d17
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz d18, d19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta d20, d21
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx d22, d23
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti d24, d25
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt s26, h27
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt d28, h29
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul s20, s19, s17
+# CHECK-NEXT: - - - - - - - - - - - - - 10.00 fdiv s1, s2, s3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd s4, s5, s6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub s7, s8, s9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax s10, s11, s12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin s13, s14, s15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm s16, s17, s18
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm s19, s20, s21
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmul s22, s23, s2
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul d20, d19, d17
+# CHECK-NEXT: - - - - - - - - - - - - - 19.00 fdiv d1, d2, d3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd d4, d5, d6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub d7, d8, d9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax d10, d11, d12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin d13, d14, d15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm d16, d17, d18
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm d19, d20, d21
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmul d22, d23, d24
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmadd s3, s5, s6, s31
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmadd d3, d13, d0, d23
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmsub s3, s5, s6, s31
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmsub d3, d13, d0, d23
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmadd s3, s5, s6, s31
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmadd d3, d13, d0, d23
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmsub s3, s5, s6, s31
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmsub d3, d13, d0, d23
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs w3, h5, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs wzr, h20, #13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs w19, h0, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x3, h5, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x12, h30, #45
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x19, h0, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs w3, s5, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs wzr, s20, #13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs w19, s0, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x3, s5, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x12, s30, #45
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x19, s0, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs w3, d5, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs wzr, d20, #13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs w19, d0, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x3, d5, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x12, d30, #45
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x19, d0, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu w3, h5, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu wzr, h20, #13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu w19, h0, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x3, h5, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x12, h30, #45
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x19, h0, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu w3, s5, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu wzr, s20, #13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu w19, s0, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x3, s5, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x12, s30, #45
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x19, s0, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu w3, d5, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu wzr, d20, #13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu w19, d0, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x3, d5, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x12, d30, #45
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x19, d0, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf h23, w19, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf h31, wzr, #20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf h14, w0, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf h23, x19, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf h31, xzr, #20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf h14, x0, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s23, w19, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s31, wzr, #20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s14, w0, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s23, x19, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s31, xzr, #20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s14, x0, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d23, w19, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d31, wzr, #20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d14, w0, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d23, x19, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d31, xzr, #20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d14, x0, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf h23, w19, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf h31, wzr, #20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf h14, w0, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf h23, x19, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf h31, xzr, #20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf h14, x0, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf s23, w19, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf s31, wzr, #20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf s14, w0, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf s23, x19, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf s31, xzr, #20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf s14, x0, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d23, w19, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d31, wzr, #20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d14, w0, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d23, x19, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d31, xzr, #20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d14, x0, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns w3, h31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns xzr, h12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu wzr, h12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu x0, h0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps wzr, h9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps x12, h20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu w30, h23
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu x29, h3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms w2, h3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms x4, h5
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu w6, h7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu x8, h9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs w10, h11
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x12, h13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu w14, h15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x15, h16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf h17, w18
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf h19, x20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf h21, w22
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf h23, x24
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas w25, h26
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas x27, h28
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau w29, h30
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau xzr, h0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns w3, s31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns xzr, s12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu wzr, s12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu x0, s0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps wzr, s9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps x12, s20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu w30, s23
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu x29, s3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms w2, s3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms x4, s5
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu w6, s7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu x8, s9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs w10, s11
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x12, s13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu w14, s15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x15, s16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s17, w18
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s19, x20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf s21, w22
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s23, x24
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas w25, s26
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas x27, s28
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau w29, s30
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau xzr, s0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns w3, d31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns xzr, d12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu wzr, d12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu x0, d0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps wzr, d9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps x12, d20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu w30, d23
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu x29, d3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms w2, d3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms x4, d5
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu w6, d7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu x8, d9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs w10, d11
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x12, d13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu w14, d15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x15, d16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d17, w18
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d19, x20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d21, w22
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d23, x24
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas w25, d26
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas x27, d28
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau w29, d30
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau xzr, d0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov w3, s9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov s9, w3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov x20, d31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov d1, x15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov x3, v12.d[1]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov v1.d[1], x19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov s2, #0.12500000
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov s3, #1.00000000
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov d30, #16.00000000
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov s4, #1.06250000
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov d10, #1.93750000
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov s12, #-1.00000000
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov d16, #8.50000000
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w3, #0
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x29, #4
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw xzr, #-4
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr s0, #8
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr d0, #1048572
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q0, #-1048576
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - prfm pldl1strm, #0
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - prfm #22, #0
+# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stxrb w18, w8, [sp]
+# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stxrh w24, w15, [x16]
+# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stxr w5, w6, [x17]
+# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stxr w1, x10, [x21]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldxrb w30, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldxrh w17, [x4]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldxr w22, [sp]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldxr x11, [x29]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldxr x11, [x29]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldxr x11, [x29]
+# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stxp w12, w11, w10, [sp]
+# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stxp wzr, x27, x9, [x12]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldxp w0, wzr, [sp]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldxp x17, x0, [x18]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldxp x17, x0, [x18]
+# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stlxrb w12, w22, [x0]
+# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stlxrh w10, w1, [x1]
+# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stlxr w9, w2, [x2]
+# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stlxr w9, x3, [sp]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldaxrb w8, [x4]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldaxrh w7, [x5]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldaxr w6, [sp]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldaxr x5, [x6]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldaxr x5, [x6]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldaxr x5, [x6]
+# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stlxp w4, w5, w6, [sp]
+# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stlxp wzr, x6, x7, [x1]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldaxp w5, w18, [sp]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldaxp x6, x19, [x22]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldaxp x6, x19, [x22]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stlrb w24, [sp]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stlrh w25, [x30]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stlr w26, [x29]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stlr x27, [x28]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stlr x27, [x28]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stlr x27, [x28]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldarb w23, [sp]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldarh w22, [x30]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldar wzr, [x29]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldar x21, [x28]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldar x21, [x28]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldar x21, [x28]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - sturb w9, [sp]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - sturh wzr, [x12, #255]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stur w16, [x0, #-256]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stur x28, [x14, #1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldurb w1, [x20, #255]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldurh w20, [x1, #255]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldur w12, [sp, #255]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldur xzr, [x12, #255]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldursb x9, [x7, #-256]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldursh x17, [x19, #-256]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldursw x20, [x15, #-256]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - prfum pldl2keep, [sp, #-256]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldursb w19, [x1, #-256]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldursh w15, [x21, #-256]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stur b0, [sp, #1]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stur h12, [x12, #-1]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stur s15, [x0, #255]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stur d31, [x5, #25]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stur q9, [x5]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldur b3, [sp]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldur h5, [x4, #-256]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldur s7, [x12, #-1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldur d11, [x19, #4]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldur q13, [x1, #2]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strb w9, [x2], #255
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strb w10, [x3], #1
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strb w10, [x3], #-256
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strh w9, [x2], #255
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strh w9, [x2], #1
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strh w10, [x3], #-256
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str w19, [sp], #255
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str w20, [x30], #1
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str w21, [x12], #-256
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str xzr, [x9], #255
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str x2, [x3], #1
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str x19, [x12], #-256
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w9, [x2], #255
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w10, [x3], #1
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w10, [x3], #-256
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w9, [x2], #255
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w9, [x2], #1
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w10, [x3], #-256
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w19, [sp], #255
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w20, [x30], #1
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w21, [x12], #-256
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr xzr, [x9], #255
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x2, [x3], #1
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x19, [x12], #-256
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb xzr, [x9], #255
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb x2, [x3], #1
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb x19, [x12], #-256
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh xzr, [x9], #255
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh x2, [x3], #1
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh x19, [x12], #-256
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw xzr, [x9], #255
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw x2, [x3], #1
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw x19, [x12], #-256
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb wzr, [x9], #255
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb w2, [x3], #1
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb w19, [x12], #-256
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh wzr, [x9], #255
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh w2, [x3], #1
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh w19, [x12], #-256
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str b0, [x0], #255
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str b3, [x3], #1
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str b5, [sp], #-256
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str h10, [x10], #255
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str h13, [x23], #1
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str h15, [sp], #-256
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str s20, [x20], #255
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str s23, [x23], #1
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str s25, [x0], #-256
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str d20, [x20], #255
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str d23, [x23], #1
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str d25, [x0], #-256
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr b0, [x0], #255
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr b3, [x3], #1
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr b5, [sp], #-256
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr h10, [x10], #255
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr h13, [x23], #1
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr h15, [sp], #-256
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr s20, [x20], #255
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr s23, [x23], #1
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr s25, [x0], #-256
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr d20, [x20], #255
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr d23, [x23], #1
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr d25, [x0], #-256
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q20, [x1], #255
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q23, [x9], #1
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q25, [x20], #-256
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q10, [x1], #255
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q22, [sp], #1
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q21, [x20], #-256
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x3, [x4, #0]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strb w9, [x2, #255]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strb w10, [x3, #1]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strb w10, [x3, #-256]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strh w9, [x2, #255]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strh w9, [x2, #1]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strh w10, [x3, #-256]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str w19, [sp, #255]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str w20, [x30, #1]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str w21, [x12, #-256]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str xzr, [x9, #255]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str x2, [x3, #1]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str x19, [x12, #-256]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w9, [x2, #255]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w10, [x3, #1]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w10, [x3, #-256]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w9, [x2, #255]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w9, [x2, #1]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w10, [x3, #-256]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w19, [sp, #255]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w20, [x30, #1]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w21, [x12, #-256]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr xzr, [x9, #255]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x2, [x3, #1]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x19, [x12, #-256]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb xzr, [x9, #255]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb x2, [x3, #1]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb x19, [x12, #-256]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh xzr, [x9, #255]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh x2, [x3, #1]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh x19, [x12, #-256]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw xzr, [x9, #255]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw x2, [x3, #1]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw x19, [x12, #-256]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb wzr, [x9, #255]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb w2, [x3, #1]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb w19, [x12, #-256]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh wzr, [x9, #255]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh w2, [x3, #1]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh w19, [x12, #-256]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str b0, [x0, #255]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str b3, [x3, #1]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str b5, [sp, #-256]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str h10, [x10, #255]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str h13, [x23, #1]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str h15, [sp, #-256]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str s20, [x20, #255]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str s23, [x23, #1]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str s25, [x0, #-256]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str d20, [x20, #255]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str d23, [x23, #1]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str d25, [x0, #-256]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr b0, [x0, #255]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr b3, [x3, #1]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr b5, [sp, #-256]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr h10, [x10, #255]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr h13, [x23, #1]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr h15, [sp, #-256]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr s20, [x20, #255]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr s23, [x23, #1]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr s25, [x0, #-256]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr d20, [x20, #255]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr d23, [x23, #1]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr d25, [x0, #-256]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q20, [x1, #255]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q23, [x9, #1]!
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q25, [x20, #-256]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q10, [x1, #255]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q22, [sp, #1]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q21, [x20, #-256]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - sttrb w9, [sp]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - sttrh wzr, [x12, #255]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - sttr w16, [x0, #-256]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - sttr x28, [x14, #1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldtrb w1, [x20, #255]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldtrh w20, [x1, #255]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldtr w12, [sp, #255]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldtr xzr, [x12, #255]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldtrsb x9, [x7, #-256]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldtrsh x17, [x19, #-256]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldtrsw x20, [x15, #-256]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldtrsb w19, [x1, #-256]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldtrsh w15, [x21, #-256]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x4, [x29]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x30, [x12, #32760]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x20, [sp, #8]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr xzr, [sp]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w2, [sp]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w17, [sp, #16380]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w13, [x2, #4]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw x2, [x5, #4]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw x23, [sp, #16380]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w2, [x4]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh w23, [x6, #8190]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh wzr, [sp, #2]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh x29, [x2, #2]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w26, [x3, #121]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w12, [x2]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb w27, [sp, #4095]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb xzr, [x15]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str x30, [sp]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str w20, [x4, #16380]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strh w17, [sp, #8190]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strb w23, [x3, #4095]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strb wzr, [x2]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr b31, [sp, #4095]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr h20, [x2, #8190]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr s10, [x19, #16380]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr d3, [x10, #32760]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q12, [sp, #65520]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w3, [sp, x5]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w9, [x27, x6]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb w10, [x30, x7]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w11, [x29, x3, sxtx]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strb w12, [x28, xzr, sxtx]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w14, [x26, w6, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb w15, [x25, w7, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w17, [x23, w9, sxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb x18, [x22, w10, sxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh w3, [sp, x5]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh w9, [x27, x6]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w10, [x30, x7, lsl #1]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strh w11, [x29, x3, sxtx]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w12, [x28, xzr, sxtx]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh x13, [x27, x5, sxtx #1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w14, [x26, w6, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w15, [x25, w7, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh w16, [x24, w8, uxtw #1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w17, [x23, w9, sxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w18, [x22, w10, sxtw]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strh w19, [x21, wzr, sxtw #1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w3, [sp, x5]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr s9, [x27, x6]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w10, [x30, x7, lsl #2]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w11, [x29, x3, sxtx]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str s12, [x28, xzr, sxtx]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str w13, [x27, x5, sxtx #2]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str w14, [x26, w6, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w15, [x25, w7, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w16, [x24, w8, uxtw #2]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw x17, [x23, w9, sxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w18, [x22, w10, sxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw x19, [x21, wzr, sxtw #2]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x3, [sp, x5]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str x9, [x27, x6]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr d10, [x30, x7, lsl #3]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str x11, [x29, x3, sxtx]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x12, [x28, xzr, sxtx]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x13, [x27, x5, sxtx #3]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - prfm pldl1keep, [x26, w6, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x15, [x25, w7, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x16, [x24, w8, uxtw #3]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x17, [x23, w9, sxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x18, [x22, w10, sxtw]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str d19, [x21, wzr, sxtw #3]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q3, [sp, x5]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q9, [x27, x6]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q10, [x30, x7, lsl #4]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q11, [x29, x3, sxtx]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q12, [x28, xzr, sxtx]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q13, [x27, x5, sxtx #4]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q14, [x26, w6, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q15, [x25, w7, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q16, [x24, w8, uxtw #4]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q17, [x23, w9, sxtw]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q18, [x22, w10, sxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q19, [x21, wzr, sxtw #4]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp w3, w5, [sp]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp wzr, w9, [sp, #252]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp w2, wzr, [sp, #-256]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp w9, w10, [sp, #4]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [sp, #4]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [x2, #-256]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldpsw x20, x30, [sp, #252]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp x21, x29, [x2, #504]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp x22, x23, [x3, #-512]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp x24, x25, [x4, #8]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp s29, s28, [sp, #252]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp s27, s26, [sp, #-256]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp s1, s2, [x3, #44]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp d3, d5, [x9, #504]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp d7, d11, [x10, #-512]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp d2, d3, [x30, #-8]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp q3, q5, [sp]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp q17, q19, [sp, #1008]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp q23, q29, [x1, #-1024]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp w3, w5, [sp], #0
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp wzr, w9, [sp], #252
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp w2, wzr, [sp], #-256
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp w9, w10, [sp], #4
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [sp], #4
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [x2], #-256
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldpsw x20, x30, [sp], #252
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp x21, x29, [x2], #504
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp x22, x23, [x3], #-512
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp x24, x25, [x4], #8
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp s29, s28, [sp], #252
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp s27, s26, [sp], #-256
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp s1, s2, [x3], #44
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp d3, d5, [x9], #504
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp d7, d11, [x10], #-512
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp d2, d3, [x30], #-8
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp q3, q5, [sp], #0
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp q17, q19, [sp], #1008
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp q23, q29, [x1], #-1024
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp w3, w5, [sp, #0]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp wzr, w9, [sp, #252]!
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp w2, wzr, [sp, #-256]!
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp w9, w10, [sp, #4]!
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [sp, #4]!
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [x2, #-256]!
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldpsw x20, x30, [sp, #252]!
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp x21, x29, [x2, #504]!
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp x22, x23, [x3, #-512]!
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp x24, x25, [x4, #8]!
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp s29, s28, [sp, #252]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp s27, s26, [sp, #-256]!
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp s1, s2, [x3, #44]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp d3, d5, [x9, #504]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp d7, d11, [x10, #-512]!
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp d2, d3, [x30, #-8]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp q3, q5, [sp, #0]!
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp q17, q19, [sp, #1008]!
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp q23, q29, [x1, #-1024]!
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp w3, w5, [sp]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnp wzr, w9, [sp, #252]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp w2, wzr, [sp, #-256]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp w9, w10, [sp, #4]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp x21, x29, [x2, #504]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp x22, x23, [x3, #-512]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp x24, x25, [x4, #8]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp s29, s28, [sp, #252]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnp s27, s26, [sp, #-256]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp s1, s2, [x3, #44]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnp d3, d5, [x9, #504]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnp d7, d11, [x10, #-512]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp d2, d3, [x30, #-8]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnp q3, q5, [sp]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnp q17, q19, [sp, #1008]
+# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp q23, q29, [x1, #-1024]
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov w3, #983055
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov x10, #-6148914691236517206
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and w12, w23, w21
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and w16, w15, w1, lsl #1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and w9, w4, w10, lsl #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and w3, w30, w11
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and x3, x5, x7, lsl #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and x5, x14, x19, asr #4
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and w3, w17, w19, ror #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and w0, w2, wzr, lsr #17
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and w3, w30, w11, asr #2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and xzr, x4, x26
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and w3, wzr, w20, ror #2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and x7, x20, xzr, asr #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bic x13, x20, x14, lsl #47
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bic w2, w7, w9
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - orr w2, w7, w0, asr #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - orr x8, x9, x10, lsl #12
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - orn x3, x5, x7, asr #2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - orn w2, w5, w29
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ands w7, wzr, w9, lsl #1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ands x3, x5, x20, ror #63
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bics w3, w5, w7
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bics x3, xzr, x3, lsl #1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - tst w3, w7, lsl #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - tst x2, x20, asr #2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov x3, x6
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov x3, xzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov wzr, w2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov w3, w5
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - movz w2, #0, lsl #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov w2, #-1235
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov x2, #5299989643264
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov x2, #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - movk w3, #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - movz x4, #0, lsl #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - movk w5, #0, lsl #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - movz x6, #0, lsl #32
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - movk x7, #0, lsl #32
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - movz x8, #0, lsl #48
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - movk x9, #0, lsl #48
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adr x2, #1600
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adrp x21, #6553600
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adr x0, #262144
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - tbz x12, #62, #0
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - tbz x12, #62, #4
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - tbz x12, #62, #-32768
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - tbnz x12, #60, #32764
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - b #4
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - b #-4
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - b #134217724
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - br x20
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - blr xzr
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - ret x10
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - ret
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - eret
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - drps
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autda x0, x1
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autdb x2, x3
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autdza x4
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autdzb x5
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autia x6, x7
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autib x8, x9
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autia1716
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autib1716
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autiasp
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autibsp
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autiaz
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autibz
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autiza x10
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autizb x11
+# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - blraa x5, x6
+# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - blraaz x7
+# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - blrab x8, x9
+# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - blrabz x10
+# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - braa x29, x30
+# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - braaz x1
+# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - brab x2, x3
+# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - brabz x4
+# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - retaa
+# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - retab
+# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - eretaa
+# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - eretab
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacda x12, x13
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacdb x14, x15
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacdza x16
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacdzb x17
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacga x24, x25, x26
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacia x18, x19
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacib x20, x21
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacia1716
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacib1716
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - paciasp
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacibsp
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - paciaz
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacibz
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - paciza x22
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacizb x23
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - ldraa x11, [x12, #16]!
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - ldraa x13, [x14, #32]
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - ldrab x15, [x16, #24]!
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - ldrab x17, [x18, #8]
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - xpacd x27
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - xpaci x28
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - - xpaclri
diff --git a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s
new file mode 100644
index 0000000000000..0402c1c6b88e2
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s
@@ -0,0 +1,3213 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -instruction-tables < %s | FileCheck %s
+
+abs d29, d24
+abs v0.16b, v0.16b
+abs v0.2d, v0.2d
+abs v0.2s, v0.2s
+abs v0.4h, v0.4h
+abs v0.4s, v0.4s
+abs v0.8b, v0.8b
+abs v0.8h, v0.8h
+add d17, d31, d29
+add v0.8b, v0.8b, v0.8b
+addhn v0.2s, v0.2d, v0.2d
+addhn v0.4h, v0.4s, v0.4s
+addhn v0.8b, v0.8h, v0.8h
+addhn2 v0.16b, v0.8h, v0.8h
+addhn2 v0.4s, v0.2d, v0.2d
+addhn2 v0.8h, v0.4s, v0.4s
+addp v0.2d, v0.2d, v0.2d
+addp v0.8b, v0.8b, v0.8b
+and v0.8b, v0.8b, v0.8b
+bic v0.4h, #15, lsl #8
+bic v0.8b, v0.8b, v0.8b
+bif v0.16b, v0.16b, v0.16b
+bit v0.16b, v0.16b, v0.16b
+bsl v0.8b, v0.8b, v0.8b
+cls v0.16b, v0.16b
+cls v0.2s, v0.2s
+cls v0.4h, v0.4h
+cls v0.4s, v0.4s
+cls v0.8b, v0.8b
+cls v0.8h, v0.8h
+clz v0.16b, v0.16b
+clz v0.2s, v0.2s
+clz v0.4h, v0.4h
+clz v0.4s, v0.4s
+clz v0.8b, v0.8b
+clz v0.8h, v0.8h
+cmeq d20, d21, 0
+cmeq d20, d21, d22
+cmeq v0.16b, v0.16b, 0
+cmeq v0.16b, v0.16b, v0.16b
+cmge d20, d21, 0
+cmge d20, d21, d22
+cmge v0.4h, v0.4h, v0.4h
+cmge v0.8b, v0.8b, 0
+cmgt d20, d21, 0
+cmgt d20, d21, d22
+cmgt v0.2s, v0.2s, 0
+cmgt v0.4s, v0.4s, v0.4s
+cmhi d20, d21, d22
+cmhi v0.8h, v0.8h, v0.8h
+cmhs d20, d21, d22
+cmhs v0.8b, v0.8b, v0.8b
+cmle d20, d21, 0
+cmle v0.2d, v0.2d, 0
+cmlt d20, d21, 0
+cmlt v0.8h, v0.8h, 0
+cmtst d20, d21, d22
+cmtst v0.2s, v0.2s, v0.2s
+cnt v0.16b, v0.16b
+cnt v0.8b, v0.8b
+dup v0.16b,w28
+dup v0.2d,x28
+dup v0.2s,w28
+dup v0.4h,w28
+dup v0.4s,w28
+dup v0.8b,w28
+dup v0.8h,w28
+eor v0.16b, v0.16b, v0.16b
+ext v0.16b, v0.16b, v0.16b, #3
+ext v0.8b, v0.8b, v0.8b, #3
+fabd d29, d24, d20
+fabd s29, s24, s20
+fabd v0.4s, v0.4s, v0.4s
+fabs v0.2d, v0.2d
+fabs v0.2s, v0.2s
+fabs v0.4h, v0.4h
+fabs v0.4s, v0.4s
+fabs v0.8h, v0.8h
+facge d20, d21, d22
+facge s10, s11, s12
+facge v0.4s, v0.4s, v0.4s
+facgt d20, d21, d22
+facgt s10, s11, s12
+facgt v0.2d, v0.2d, v0.2d
+fadd v0.4s, v0.4s, v0.4s
+faddp v0.2s, v0.2s, v0.2s
+faddp v0.4s, v0.4s, v0.4s
+fcmeq d20, d21, #0.0
+fcmeq d20, d21, d22
+fcmeq s10, s11, #0.0
+fcmeq s10, s11, s12
+fcmeq v0.2s, v0.2s, #0.0
+fcmeq v0.2s, v0.2s, v0.2s
+fcmge d20, d21, #0.0
+fcmge d20, d21, d22
+fcmge s10, s11, #0.0
+fcmge s10, s11, s12
+fcmge v0.2d, v0.2d, #0.0
+fcmge v0.4s, v0.4s, v0.4s
+fcmgt d20, d21, #0.0
+fcmgt d20, d21, d22
+fcmgt s10, s11, #0.0
+fcmgt s10, s11, s12
+fcmgt v0.4s, v0.4s, #0.0
+fcmgt v0.4s, v0.4s, v0.4s
+fcmle d20, d21, #0.0
+fcmle s10, s11, #0.0
+fcmle v0.2d, v0.2d, #0.0
+fcmlt d20, d21, #0.0
+fcmlt s10, s11, #0.0
+fcmlt v0.4s, v0.4s, #0.0
+fcvtas d21, d14
+fcvtas s12, s13
+fcvtas v0.2d, v0.2d
+fcvtas v0.2s, v0.2s
+fcvtas v0.4h, v0.4h
+fcvtas v0.4s, v0.4s
+fcvtas v0.8h, v0.8h
+fcvtau d21, d14
+fcvtau s12, s13
+fcvtau v0.2d, v0.2d
+fcvtau v0.2s, v0.2s
+fcvtau v0.4h, v0.4h
+fcvtau v0.4s, v0.4s
+fcvtau v0.8h, v0.8h
+fcvtl v0.2d, v0.2s
+fcvtl v0.4s, v0.4h
+fcvtl2 v0.2d, v0.4s
+fcvtl2 v0.4s, v0.8h
+fcvtms d21, d14
+fcvtms s22, s13
+fcvtms v0.2d, v0.2d
+fcvtms v0.2s, v0.2s
+fcvtms v0.4h, v0.4h
+fcvtms v0.4s, v0.4s
+fcvtms v0.8h, v0.8h
+fcvtmu d21, d14
+fcvtmu s12, s13
+fcvtmu v0.2d, v0.2d
+fcvtmu v0.2s, v0.2s
+fcvtmu v0.4h, v0.4h
+fcvtmu v0.4s, v0.4s
+fcvtmu v0.8h, v0.8h
+fcvtn v0.2s, v0.2d
+fcvtn v0.4h, v0.4s
+fcvtn2 v0.4s, v0.2d
+fcvtn2 v0.8h, v0.4s
+fcvtns d21, d14
+fcvtns s22, s13
+fcvtns v0.2d, v0.2d
+fcvtns v0.2s, v0.2s
+fcvtns v0.4h, v0.4h
+fcvtns v0.4s, v0.4s
+fcvtns v0.8h, v0.8h
+fcvtnu d21, d14
+fcvtnu s12, s13
+fcvtnu v0.2d, v0.2d
+fcvtnu v0.2s, v0.2s
+fcvtnu v0.4h, v0.4h
+fcvtnu v0.4s, v0.4s
+fcvtnu v0.8h, v0.8h
+fcvtps d21, d14
+fcvtps s22, s13
+fcvtps v0.2d, v0.2d
+fcvtps v0.2s, v0.2s
+fcvtps v0.4h, v0.4h
+fcvtps v0.4s, v0.4s
+fcvtps v0.8h, v0.8h
+fcvtpu d21, d14
+fcvtpu s12, s13
+fcvtpu v0.2d, v0.2d
+fcvtpu v0.2s, v0.2s
+fcvtpu v0.4h, v0.4h
+fcvtpu v0.4s, v0.4s
+fcvtpu v0.8h, v0.8h
+fcvtxn s22, d13
+fcvtxn v0.2s, v0.2d
+fcvtxn2 v0.4s, v0.2d
+fcvtzs d21, d12, #1
+fcvtzs d21, d14
+fcvtzs s12, s13
+fcvtzs s21, s12, #1
+fcvtzs v0.2d, v0.2d
+fcvtzs v0.2d, v0.2d, #3
+fcvtzs v0.2s, v0.2s
+fcvtzs v0.2s, v0.2s, #3
+fcvtzs v0.4h, v0.4h
+fcvtzs v0.4s, v0.4s
+fcvtzs v0.4s, v0.4s, #3
+fcvtzs v0.8h, v0.8h
+fcvtzu d21, d12, #1
+fcvtzu d21, d14
+fcvtzu s12, s13
+fcvtzu s21, s12, #1
+fcvtzu v0.2d, v0.2d
+fcvtzu v0.2d, v0.2d, #3
+fcvtzu v0.2s, v0.2s
+fcvtzu v0.2s, v0.2s, #3
+fcvtzu v0.4h, v0.4h
+fcvtzu v0.4s, v0.4s
+fcvtzu v0.4s, v0.4s, #3
+fcvtzu v0.8h, v0.8h
+fdiv v0.2s, v0.2s, v0.2s
+fmax v0.2d, v0.2d, v0.2d
+fmax v0.2s, v0.2s, v0.2s
+fmax v0.4s, v0.4s, v0.4s
+fmaxnm v0.2d, v0.2d, v0.2d
+fmaxnm v0.2s, v0.2s, v0.2s
+fmaxnm v0.4s, v0.4s, v0.4s
+fmaxnmp v0.2d, v0.2d, v0.2d
+fmaxnmp v0.2s, v0.2s, v0.2s
+fmaxnmp v0.4s, v0.4s, v0.4s
+fmaxp v0.2d, v0.2d, v0.2d
+fmaxp v0.2s, v0.2s, v0.2s
+fmaxp v0.4s, v0.4s, v0.4s
+fmin v0.2d, v0.2d, v0.2d
+fmin v0.2s, v0.2s, v0.2s
+fmin v0.4s, v0.4s, v0.4s
+fminnm v0.2d, v0.2d, v0.2d
+fminnm v0.2s, v0.2s, v0.2s
+fminnm v0.4s, v0.4s, v0.4s
+fminnmp v0.2d, v0.2d, v0.2d
+fminnmp v0.2s, v0.2s, v0.2s
+fminnmp v0.4s, v0.4s, v0.4s
+fminp v0.2d, v0.2d, v0.2d
+fminp v0.2s, v0.2s, v0.2s
+fminp v0.4s, v0.4s, v0.4s
+fmla d0, d1, v0.d[1]
+fmla s0, s1, v0.s[3]
+fmla v0.2s, v0.2s, v0.2s
+fmls d0, d4, v0.d[1]
+fmls s3, s5, v0.s[3]
+fmls v0.2s, v0.2s, v0.2s
+fmov v0.2d, #-1.25
+fmov v0.2s, #13.0
+fmov v0.4s, #1.0
+fmul d0, d1, v0.d[1]
+fmul s0, s1, v0.s[3]
+fmul v0.2s, v0.2s, v0.2s
+fmulx d0, d4, v0.d[1]
+fmulx d23, d11, d1
+fmulx s20, s22, s15
+fmulx s3, s5, v0.s[3]
+fmulx v0.2d, v0.2d, v0.2d
+fmulx v0.2s, v0.2s, v0.2s
+fmulx v0.4s, v0.4s, v0.4s
+fneg v0.2d, v0.2d
+fneg v0.2s, v0.2s
+fneg v0.4h, v0.4h
+fneg v0.4s, v0.4s
+fneg v0.8h, v0.8h
+frecpe d13, d13
+frecpe s19, s14
+frecpe v0.2d, v0.2d
+frecpe v0.2s, v0.2s
+frecpe v0.4h, v0.4h
+frecpe v0.4s, v0.4s
+frecpe v0.8h, v0.8h
+frecps v0.4s, v0.4s, v0.4s
+frecps d22, d30, d21
+frecps s21, s16, s13
+frecpx d16, d19
+frecpx s18, s10
+frinta v0.2d, v0.2d
+frinta v0.2s, v0.2s
+frinta v0.4h, v0.4h
+frinta v0.4s, v0.4s
+frinta v0.8h, v0.8h
+frinti v0.2d, v0.2d
+frinti v0.2s, v0.2s
+frinti v0.4h, v0.4h
+frinti v0.4s, v0.4s
+frinti v0.8h, v0.8h
+frintm v0.2d, v0.2d
+frintm v0.2s, v0.2s
+frintm v0.4h, v0.4h
+frintm v0.4s, v0.4s
+frintm v0.8h, v0.8h
+frintn v0.2d, v0.2d
+frintn v0.2s, v0.2s
+frintn v0.4h, v0.4h
+frintn v0.4s, v0.4s
+frintn v0.8h, v0.8h
+frintp v0.2d, v0.2d
+frintp v0.2s, v0.2s
+frintp v0.4h, v0.4h
+frintp v0.4s, v0.4s
+frintp v0.8h, v0.8h
+frintx v0.2d, v0.2d
+frintx v0.2s, v0.2s
+frintx v0.4h, v0.4h
+frintx v0.4s, v0.4s
+frintx v0.8h, v0.8h
+frintz v0.2d, v0.2d
+frintz v0.2s, v0.2s
+frintz v0.4h, v0.4h
+frintz v0.4s, v0.4s
+frintz v0.8h, v0.8h
+frsqrte d21, d12
+frsqrte s22, s13
+frsqrte v0.2d, v0.2d
+frsqrte v0.2s, v0.2s
+frsqrte v0.4h, v0.4h
+frsqrte v0.4s, v0.4s
+frsqrte v0.8h, v0.8h
+frsqrts d8, d22, d18
+frsqrts s21, s5, s12
+frsqrts v0.2d, v0.2d, v0.2d
+fsqrt v0.2d, v0.2d
+fsqrt v0.2s, v0.2s
+fsqrt v0.4h, v0.4h
+fsqrt v0.4s, v0.4s
+fsqrt v0.8h, v0.8h
+fsub v0.2s, v0.2s, v0.2s
+ld1 { v0.16b }, [x0]
+ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48
+ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
+ld1 { v0.4s, v1.4s }, [sp], #32
+ld1 { v0.4s, v1.4s, v2.4s }, [sp]
+ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
+ld1 { v0.8h }, [x15], x2
+ld1 { v0.8h, v1.8h }, [x15]
+ld1 { v0.b }[9], [x0]
+ld1 { v0.b }[9], [x0], #1
+ld1r { v0.16b }, [x0]
+ld1r { v0.16b }, [x0], #1
+ld1r { v0.8h }, [x15]
+ld1r { v0.8h }, [x15], #2
+ld2 { v0.16b, v1.16b }, [x0], x1
+ld2 { v0.8b, v1.8b }, [x0]
+ld2 { v0.h, v1.h }[7], [x15]
+ld2 { v0.h, v1.h }[7], [x15], #4
+ld2r { v0.2d, v1.2d }, [x0]
+ld2r { v0.2d, v1.2d }, [x0], #16
+ld2r { v0.4s, v1.4s }, [sp]
+ld2r { v0.4s, v1.4s }, [sp], #8
+ld3 { v0.4h, v1.4h, v2.4h }, [x15]
+ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2
+ld3 { v0.s, v1.s, v2.s }[3], [sp]
+ld3 { v0.s, v1.s, v2.s }[3], [sp], x3
+ld3r { v0.4h, v1.4h, v2.4h }, [x15]
+ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6
+ld3r { v0.8b, v1.8b, v2.8b }, [x0]
+ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3
+ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
+ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0]
+ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32
+ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0
+ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp]
+ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7
+ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30
+mla v0.8b, v0.8b, v0.8b
+mls v0.4h, v0.4h, v0.4h
+mov b0, v0.b[15]
+mov d6, v0.d[1]
+mov h2, v0.h[5]
+mov s17, v0.s[2]
+mov v0.16b, v0.16b
+mov v0.8b, v0.8b
+movi d15, #0xff00ff00ff00ff
+movi v0.16b, #31
+movi v0.2d, #0xff0000ff0000ffff
+movi v0.2s, #8, msl #8
+movi v0.4s, #255, lsl #24
+movi v0.8b, #255
+mul v0.8b, v0.8b, v0.8b
+mvni v0.2s, 0
+mvni v0.4s, #16, msl #16
+neg d29, d24
+neg v0.16b, v0.16b
+neg v0.2d, v0.2d
+neg v0.2s, v0.2s
+neg v0.4h, v0.4h
+neg v0.4s, v0.4s
+neg v0.8b, v0.8b
+neg v0.8h, v0.8h
+not v0.16b, v0.16b
+not v0.8b, v0.8b
+orn v0.16b, v0.16b, v0.16b
+orr v0.16b, v0.16b, v0.16b
+orr v0.8h, #31
+pmul v0.16b, v0.16b, v0.16b
+pmul v0.8b, v0.8b, v0.8b
+pmull v0.8h, v0.8b, v0.8b
+pmull2 v0.8h, v0.16b, v0.16b
+raddhn v0.2s, v0.2d, v0.2d
+raddhn v0.4h, v0.4s, v0.4s
+raddhn v0.8b, v0.8h, v0.8h
+raddhn2 v0.16b, v0.8h, v0.8h
+raddhn2 v0.4s, v0.2d, v0.2d
+raddhn2 v0.8h, v0.4s, v0.4s
+rbit v0.16b, v0.16b
+rbit v0.8b, v0.8b
+rev16 v21.8b, v1.8b
+rev16 v30.16b, v31.16b
+rev32 v0.4h, v9.4h
+rev32 v21.8b, v1.8b
+rev32 v30.16b, v31.16b
+rev32 v4.8h, v7.8h
+rev64 v0.16b, v31.16b
+rev64 v1.8b, v9.8b
+rev64 v13.4h, v21.4h
+rev64 v2.8h, v4.8h
+rev64 v4.2s, v0.2s
+rev64 v6.4s, v8.4s
+rshrn v0.2s, v0.2d, #3
+rshrn v0.4h, v0.4s, #3
+rshrn v0.8b, v0.8h, #3
+rshrn2 v0.16b, v0.8h, #3
+rshrn2 v0.4s, v0.2d, #3
+rshrn2 v0.8h, v0.4s, #3
+rsubhn v0.2s, v0.2d, v0.2d
+rsubhn v0.4h, v0.4s, v0.4s
+rsubhn v0.8b, v0.8h, v0.8h
+rsubhn2 v0.16b, v0.8h, v0.8h
+rsubhn2 v0.4s, v0.2d, v0.2d
+rsubhn2 v0.8h, v0.4s, v0.4s
+saba v0.16b, v0.16b, v0.16b
+sabal v0.2d, v0.2s, v0.2s
+sabal v0.4s, v0.4h, v0.4h
+sabal v0.8h, v0.8b, v0.8b
+sabal2 v0.2d, v0.4s, v0.4s
+sabal2 v0.4s, v0.8h, v0.8h
+sabal2 v0.8h, v0.16b, v0.16b
+sabd v0.4h, v0.4h, v0.4h
+sabdl v0.2d, v0.2s, v0.2s
+sabdl v0.4s, v0.4h, v0.4h
+sabdl v0.8h, v0.8b, v0.8b
+sabdl2 v0.2d, v0.4s, v0.4s
+sabdl2 v0.4s, v0.8h, v0.8h
+sabdl2 v0.8h, v0.16b, v0.16b
+sadalp v0.1d, v0.2s
+sadalp v0.2d, v0.4s
+sadalp v0.2s, v0.4h
+sadalp v0.4h, v0.8b
+sadalp v0.4s, v0.8h
+sadalp v0.8h, v0.16b
+saddl v0.2d, v0.2s, v0.2s
+saddl v0.4s, v0.4h, v0.4h
+saddl v0.8h, v0.8b, v0.8b
+saddl2 v0.2d, v0.4s, v0.4s
+saddl2 v0.4s, v0.8h, v0.8h
+saddl2 v0.8h, v0.16b, v0.16b
+saddlp v0.1d, v0.2s
+saddlp v0.2d, v0.4s
+saddlp v0.2s, v0.4h
+saddlp v0.4h, v0.8b
+saddlp v0.4s, v0.8h
+saddlp v0.8h, v0.16b
+saddw v0.2d, v0.2d, v0.2s
+saddw v0.4s, v0.4s, v0.4h
+saddw v0.8h, v0.8h, v0.8b
+saddw2 v0.2d, v0.2d, v0.4s
+saddw2 v0.4s, v0.4s, v0.8h
+saddw2 v0.8h, v0.8h, v0.16b
+scvtf d21, d12
+scvtf d21, d12, #64
+scvtf s22, s13
+scvtf s22, s13, #32
+scvtf v0.2d, v0.2d
+scvtf v0.2d, v0.2d, #3
+scvtf v0.2s, v0.2s
+scvtf v0.2s, v0.2s, #3
+scvtf v0.4h, v0.4h
+scvtf v0.4s, v0.4s
+scvtf v0.4s, v0.4s, #3
+scvtf v0.8h, v0.8h
+shadd v0.8b, v0.8b, v0.8b
+shl d7, d10, #12
+shl v0.16b, v0.16b, #3
+shl v0.2d, v0.2d, #3
+shl v0.4h, v0.4h, #3
+shl v0.4s, v0.4s, #3
+shll v0.2d, v0.2s, #32
+shll v0.4s, v0.4h, #16
+shll v0.8h, v0.8b, #8
+shll v0.2d, v0.2s, #32
+shll v0.4s, v0.4h, #16
+shll v0.8h, v0.8b, #8
+shll2 v0.2d, v0.4s, #32
+shll2 v0.4s, v0.8h, #16
+shll2 v0.8h, v0.16b, #8
+shll2 v0.2d, v0.4s, #32
+shll2 v0.4s, v0.8h, #16
+shll2 v0.8h, v0.16b, #8
+shrn v0.2s, v0.2d, #3
+shrn v0.4h, v0.4s, #3
+shrn v0.8b, v0.8h, #3
+shrn2 v0.16b, v0.8h, #3
+shrn2 v0.4s, v0.2d, #3
+shrn2 v0.8h, v0.4s, #3
+shsub v0.2s, v0.2s, v0.2s
+shsub v0.4h, v0.4h, v0.4h
+sli d10, d14, #12
+sli v0.16b, v0.16b, #3
+sli v0.2d, v0.2d, #3
+sli v0.2s, v0.2s, #3
+sli v0.4h, v0.4h, #3
+sli v0.4s, v0.4s, #3
+sli v0.8b, v0.8b, #3
+sli v0.8h, v0.8h, #3
+smax v0.2s, v0.2s, v0.2s
+smax v0.4h, v0.4h, v0.4h
+smax v0.8b, v0.8b, v0.8b
+smaxp v0.2s, v0.2s, v0.2s
+smaxp v0.4h, v0.4h, v0.4h
+smaxp v0.8b, v0.8b, v0.8b
+smin v0.16b, v0.16b, v0.16b
+smin v0.4s, v0.4s, v0.4s
+smin v0.8h, v0.8h, v0.8h
+sminp v0.16b, v0.16b, v0.16b
+sminp v0.4s, v0.4s, v0.4s
+sminp v0.8h, v0.8h, v0.8h
+smlal v0.2d, v0.2s, v0.2s
+smlal v0.4s, v0.4h, v0.4h
+smlal v0.8h, v0.8b, v0.8b
+smlal2 v0.2d, v0.4s, v0.4s
+smlal2 v0.4s, v0.8h, v0.8h
+smlal2 v0.8h, v0.16b, v0.16b
+smlsl v0.2d, v0.2s, v0.2s
+smlsl v0.4s, v0.4h, v0.4h
+smlsl v0.8h, v0.8b, v0.8b
+smlsl2 v0.2d, v0.4s, v0.4s
+smlsl2 v0.4s, v0.8h, v0.8h
+smlsl2 v0.8h, v0.16b, v0.16b
+smull v0.2d, v0.2s, v0.2s
+smull v0.4s, v0.4h, v0.4h
+smull v0.8h, v0.8b, v0.8b
+smull2 v0.2d, v0.4s, v0.4s
+smull2 v0.4s, v0.8h, v0.8h
+smull2 v0.8h, v0.16b, v0.16b
+sqabs b19, b14
+sqabs d18, d12
+sqabs h21, h15
+sqabs s20, s12
+sqabs v0.16b, v0.16b
+sqabs v0.2d, v0.2d
+sqabs v0.2s, v0.2s
+sqabs v0.4h, v0.4h
+sqabs v0.4s, v0.4s
+sqabs v0.8b, v0.8b
+sqabs v0.8h, v0.8h
+sqadd b20, b11, b15
+sqadd v0.16b, v0.16b, v0.16b
+sqadd v0.2s, v0.2s, v0.2s
+sqdmlal d19, s24, s12
+sqdmlal d8, s9, v0.s[1]
+sqdmlal s0, h0, v0.h[3]
+sqdmlal s17, h27, h12
+sqdmlal v0.2d, v0.2s, v0.2s
+sqdmlal v0.4s, v0.4h, v0.4h
+sqdmlal2 v0.2d, v0.4s, v0.4s
+sqdmlal2 v0.4s, v0.8h, v0.8h
+sqdmlsl d12, s23, s13
+sqdmlsl d8, s9, v0.s[1]
+sqdmlsl s0, h0, v0.h[3]
+sqdmlsl s14, h12, h25
+sqdmlsl v0.2d, v0.2s, v0.2s
+sqdmlsl v0.4s, v0.4h, v0.4h
+sqdmlsl2 v0.2d, v0.4s, v0.4s
+sqdmlsl2 v0.4s, v0.8h, v0.8h
+sqdmulh h10, h11, h12
+sqdmulh h7, h15, v0.h[3]
+sqdmulh s15, s14, v0.s[1]
+sqdmulh s20, s21, s2
+sqdmulh v0.2s, v0.2s, v0.2s
+sqdmulh v0.4s, v0.4s, v0.4s
+sqdmull d1, s1, v0.s[1]
+sqdmull d15, s22, s12
+sqdmull s1, h1, v0.h[3]
+sqdmull s12, h22, h12
+sqdmull v0.2d, v0.2s, v0.2s
+sqdmull v0.4s, v0.4h, v0.4h
+sqdmull2 v0.2d, v0.4s, v0.4s
+sqdmull2 v0.4s, v0.8h, v0.8h
+sqneg b19, b14
+sqneg d18, d12
+sqneg h21, h15
+sqneg s20, s12
+sqneg v0.16b, v0.16b
+sqneg v0.2d, v0.2d
+sqneg v0.2s, v0.2s
+sqneg v0.4h, v0.4h
+sqneg v0.4s, v0.4s
+sqneg v0.8b, v0.8b
+sqneg v0.8h, v0.8h
+sqrdmulh h10, h11, h12
+sqrdmulh h7, h15, v0.h[3]
+sqrdmulh s15, s14, v0.s[1]
+sqrdmulh s20, s21, s2
+sqrdmulh v0.4h, v0.4h, v0.4h
+sqrdmulh v0.8h, v0.8h, v0.8h
+sqrshl d31, d31, d31
+sqrshl h3, h4, h15
+sqrshl v0.2s, v0.2s, v0.2s
+sqrshl v0.4h, v0.4h, v0.4h
+sqrshl v0.8b, v0.8b, v0.8b
+sqrshrn b10, h13, #2
+sqrshrn h15, s10, #6
+sqrshrn s15, d12, #9
+sqrshrn v0.2s, v0.2d, #3
+sqrshrn v0.4h, v0.4s, #3
+sqrshrn v0.8b, v0.8h, #3
+sqrshrn2 v0.16b, v0.8h, #3
+sqrshrn2 v0.4s, v0.2d, #3
+sqrshrn2 v0.8h, v0.4s, #3
+sqrshrun b17, h10, #6
+sqrshrun h10, s13, #15
+sqrshrun s22, d16, #31
+sqrshrun v0.2s, v0.2d, #3
+sqrshrun v0.4h, v0.4s, #3
+sqrshrun v0.8b, v0.8h, #3
+sqrshrun2 v0.16b, v0.8h, #3
+sqrshrun2 v0.4s, v0.2d, #3
+sqrshrun2 v0.8h, v0.4s, #3
+sqshl b11, b19, #7
+sqshl d15, d16, #51
+sqshl d31, d31, d31
+sqshl h13, h18, #11
+sqshl h3, h4, h15
+sqshl s14, s17, #22
+sqshl v0.16b, v0.16b, #3
+sqshl v0.2d, v0.2d, #3
+sqshl v0.2s, v0.2s, #3
+sqshl v0.2s, v0.2s, v0.2s
+sqshl v0.4h, v0.4h, #3
+sqshl v0.4h, v0.4h, v0.4h
+sqshl v0.4s, v0.4s, #3
+sqshl v0.8b, v0.8b, #3
+sqshl v0.8b, v0.8b, v0.8b
+sqshl v0.8h, v0.8h, #3
+sqshlu b15, b18, #6
+sqshlu d11, d13, #32
+sqshlu h19, h17, #6
+sqshlu s16, s14, #25
+sqshlu v0.16b, v0.16b, #3
+sqshlu v0.2d, v0.2d, #3
+sqshlu v0.2s, v0.2s, #3
+sqshlu v0.4h, v0.4h, #3
+sqshlu v0.4s, v0.4s, #3
+sqshlu v0.8b, v0.8b, #3
+sqshlu v0.8h, v0.8h, #3
+sqshrn b10, h15, #5
+sqshrn h17, s10, #4
+sqshrn s18, d10, #31
+sqshrn v0.2s, v0.2d, #3
+sqshrn v0.4h, v0.4s, #3
+sqshrn v0.8b, v0.8h, #3
+sqshrn2 v0.16b, v0.8h, #3
+sqshrn2 v0.4s, v0.2d, #3
+sqshrn2 v0.8h, v0.4s, #3
+sqshrun b15, h10, #7
+sqshrun h20, s14, #3
+sqshrun s10, d15, #15
+sqshrun v0.2s, v0.2d, #3
+sqshrun v0.4h, v0.4s, #3
+sqshrun v0.8b, v0.8h, #3
+sqshrun2 v0.16b, v0.8h, #3
+sqshrun2 v0.4s, v0.2d, #3
+sqshrun2 v0.8h, v0.4s, #3
+sqsub s20, s10, s7
+sqsub v0.2d, v0.2d, v0.2d
+sqsub v0.4s, v0.4s, v0.4s
+sqsub v0.8b, v0.8b, v0.8b
+sqxtn b18, h18
+sqxtn h20, s17
+sqxtn s19, d14
+sqxtn v0.2s, v0.2d
+sqxtn v0.4h, v0.4s
+sqxtn v0.8b, v0.8h
+sqxtn2 v0.16b, v0.8h
+sqxtn2 v0.4s, v0.2d
+sqxtn2 v0.8h, v0.4s
+sqxtun b19, h14
+sqxtun h21, s15
+sqxtun s20, d12
+sqxtun v0.2s, v0.2d
+sqxtun v0.4h, v0.4s
+sqxtun v0.8b, v0.8h
+sqxtun2 v0.16b, v0.8h
+sqxtun2 v0.4s, v0.2d
+sqxtun2 v0.8h, v0.4s
+srhadd v0.2s, v0.2s, v0.2s
+srhadd v0.4h, v0.4h, v0.4h
+srhadd v0.8b, v0.8b, v0.8b
+sri d10, d12, #14
+sri v0.16b, v0.16b, #3
+sri v0.2d, v0.2d, #3
+sri v0.2s, v0.2s, #3
+sri v0.4h, v0.4h, #3
+sri v0.4s, v0.4s, #3
+sri v0.8b, v0.8b, #3
+sri v0.8h, v0.8h, #3
+srshl d16, d16, d16
+srshl v0.2s, v0.2s, v0.2s
+srshl v0.4h, v0.4h, v0.4h
+srshl v0.8b, v0.8b, v0.8b
+srshr d19, d18, #7
+srshr v0.16b, v0.16b, #3
+srshr v0.2d, v0.2d, #3
+srshr v0.2s, v0.2s, #3
+srshr v0.4h, v0.4h, #3
+srshr v0.4s, v0.4s, #3
+srshr v0.8b, v0.8b, #3
+srshr v0.8h, v0.8h, #3
+srsra d15, d11, #19
+srsra v0.16b, v0.16b, #3
+srsra v0.2d, v0.2d, #3
+srsra v0.2s, v0.2s, #3
+srsra v0.4h, v0.4h, #3
+srsra v0.4s, v0.4s, #3
+srsra v0.8b, v0.8b, #3
+srsra v0.8h, v0.8h, #3
+sshl d31, d31, d31
+sshl v0.2d, v0.2d, v0.2d
+sshl v0.2s, v0.2s, v0.2s
+sshl v0.4h, v0.4h, v0.4h
+sshl v0.8b, v0.8b, v0.8b
+sshll v0.2d, v0.2s, #3
+sshll2 v0.4s, v0.8h, #3
+sshr d15, d16, #12
+sshr v0.16b, v0.16b, #3
+sshr v0.2d, v0.2d, #3
+sshr v0.2s, v0.2s, #3
+sshr v0.4h, v0.4h, #3
+sshr v0.4s, v0.4s, #3
+sshr v0.8b, v0.8b, #3
+sshr v0.8h, v0.8h, #3
+ssra d18, d12, #21
+ssra v0.16b, v0.16b, #3
+ssra v0.2d, v0.2d, #3
+ssra v0.2s, v0.2s, #3
+ssra v0.4h, v0.4h, #3
+ssra v0.4s, v0.4s, #3
+ssra v0.8b, v0.8b, #3
+ssra v0.8h, v0.8h, #3
+ssubl v0.2d, v0.2s, v0.2s
+ssubl v0.4s, v0.4h, v0.4h
+ssubl v0.8h, v0.8b, v0.8b
+ssubl2 v0.2d, v0.4s, v0.4s
+ssubl2 v0.4s, v0.8h, v0.8h
+ssubl2 v0.8h, v0.16b, v0.16b
+ssubw v0.2d, v0.2d, v0.2s
+ssubw v0.4s, v0.4s, v0.4h
+ssubw v0.8h, v0.8h, v0.8b
+ssubw2 v0.2d, v0.2d, v0.4s
+ssubw2 v0.4s, v0.4s, v0.8h
+ssubw2 v0.8h, v0.8h, v0.16b
+st1 { v0.16b }, [x0]
+st1 { v0.2d, v1.2d, v2.2d }, [x0], #48
+st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
+st1 { v0.4s, v1.4s }, [sp], #32
+st1 { v0.4s, v1.4s, v2.4s }, [sp]
+st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
+st1 { v0.8h }, [x15], x2
+st1 { v0.8h, v1.8h }, [x15]
+st1 { v0.d }[1], [x0]
+st1 { v0.d }[1], [x0], #8
+st2 { v0.16b, v1.16b }, [x0], x1
+st2 { v0.8b, v1.8b }, [x0]
+st2 { v0.s, v1.s }[3], [sp]
+st2 { v0.s, v1.s }[3], [sp], #8
+st3 { v0.4h, v1.4h, v2.4h }, [x15]
+st3 { v0.8h, v1.8h, v2.8h }, [x15], x2
+st3 { v0.h, v1.h, v2.h }[7], [x15]
+st3 { v0.h, v1.h, v2.h }[7], [x15], #6
+st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
+st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0]
+st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5
+sub d15, d5, d16
+sub v0.2d, v0.2d, v0.2d
+suqadd b19, b14
+suqadd d18, d22
+suqadd h20, h15
+suqadd s21, s12
+suqadd v0.16b, v0.16b
+suqadd v0.2d, v0.2d
+suqadd v0.2s, v0.2s
+suqadd v0.4h, v0.4h
+suqadd v0.4s, v0.4s
+suqadd v0.8b, v0.8b
+suqadd v0.8h, v0.8h
+tbl v0.16b, { v0.16b }, v0.16b
+tbl v0.16b, { v0.16b, v1.16b }, v0.16b
+tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+tbl v0.8b, { v0.16b }, v0.8b
+tbl v0.8b, { v0.16b, v1.16b }, v0.8b
+tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+tbx v0.16b, { v0.16b }, v0.16b
+tbx v0.16b, { v0.16b, v1.16b }, v0.16b
+tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+tbx v0.8b, { v0.16b }, v0.8b
+tbx v0.8b, { v0.16b, v1.16b }, v0.8b
+tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+trn1 v0.16b, v0.16b, v0.16b
+trn1 v0.2d, v0.2d, v0.2d
+trn1 v0.2s, v0.2s, v0.2s
+trn1 v0.4h, v0.4h, v0.4h
+trn1 v0.4s, v0.4s, v0.4s
+trn1 v0.8b, v0.8b, v0.8b
+trn1 v0.8h, v0.8h, v0.8h
+trn2 v0.16b, v0.16b, v0.16b
+trn2 v0.2d, v0.2d, v0.2d
+trn2 v0.2s, v0.2s, v0.2s
+trn2 v0.4h, v0.4h, v0.4h
+trn2 v0.4s, v0.4s, v0.4s
+trn2 v0.8b, v0.8b, v0.8b
+trn2 v0.8h, v0.8h, v0.8h
+uaba v0.8b, v0.8b, v0.8b
+uabal v0.2d, v0.2s, v0.2s
+uabal v0.4s, v0.4h, v0.4h
+uabal v0.8h, v0.8b, v0.8b
+uabal2 v0.2d, v0.4s, v0.4s
+uabal2 v0.4s, v0.8h, v0.8h
+uabal2 v0.8h, v0.16b, v0.16b
+uabd v0.4h, v0.4h, v0.4h
+uabdl v0.2d, v0.2s, v0.2s
+uabdl v0.4s, v0.4h, v0.4h
+uabdl v0.8h, v0.8b, v0.8b
+uabdl2 v0.2d, v0.4s, v0.4s
+uabdl2 v0.4s, v0.8h, v0.8h
+uabdl2 v0.8h, v0.16b, v0.16b
+uadalp v0.1d, v0.2s
+uadalp v0.2d, v0.4s
+uadalp v0.2s, v0.4h
+uadalp v0.4h, v0.8b
+uadalp v0.4s, v0.8h
+uadalp v0.8h, v0.16b
+uaddl v0.2d, v0.2s, v0.2s
+uaddl v0.4s, v0.4h, v0.4h
+uaddl v0.8h, v0.8b, v0.8b
+uaddl2 v0.2d, v0.4s, v0.4s
+uaddl2 v0.4s, v0.8h, v0.8h
+uaddl2 v0.8h, v0.16b, v0.16b
+uaddlp v0.1d, v0.2s
+uaddlp v0.2d, v0.4s
+uaddlp v0.2s, v0.4h
+uaddlp v0.4h, v0.8b
+uaddlp v0.4s, v0.8h
+uaddlp v0.8h, v0.16b
+uaddw v0.2d, v0.2d, v0.2s
+uaddw v0.4s, v0.4s, v0.4h
+uaddw v0.8h, v0.8h, v0.8b
+uaddw2 v0.2d, v0.2d, v0.4s
+uaddw2 v0.4s, v0.4s, v0.8h
+uaddw2 v0.8h, v0.8h, v0.16b
+ucvtf d21, d14
+ucvtf d21, d14, #64
+ucvtf s22, s13
+ucvtf s22, s13, #32
+ucvtf v0.2d, v0.2d
+ucvtf v0.2d, v0.2d, #3
+ucvtf v0.2s, v0.2s
+ucvtf v0.2s, v0.2s, #3
+ucvtf v0.4h, v0.4h
+ucvtf v0.4s, v0.4s
+ucvtf v0.4s, v0.4s, #3
+ucvtf v0.8h, v0.8h
+uhadd v0.16b, v0.16b, v0.16b
+uhadd v0.8h, v0.8h, v0.8h
+uhsub v0.4s, v0.4s, v0.4s
+umax v0.16b, v0.16b, v0.16b
+umax v0.4s, v0.4s, v0.4s
+umax v0.8h, v0.8h, v0.8h
+umaxp v0.16b, v0.16b, v0.16b
+umaxp v0.4s, v0.4s, v0.4s
+umaxp v0.8h, v0.8h, v0.8h
+umin v0.2s, v0.2s, v0.2s
+umin v0.4h, v0.4h, v0.4h
+umin v0.8b, v0.8b, v0.8b
+uminp v0.2s, v0.2s, v0.2s
+uminp v0.4h, v0.4h, v0.4h
+uminp v0.8b, v0.8b, v0.8b
+umlal v0.2d, v0.2s, v0.2s
+umlal v0.4s, v0.4h, v0.4h
+umlal v0.8h, v0.8b, v0.8b
+umlal2 v0.2d, v0.4s, v0.4s
+umlal2 v0.4s, v0.8h, v0.8h
+umlal2 v0.8h, v0.16b, v0.16b
+umlsl v0.2d, v0.2s, v0.2s
+umlsl v0.4s, v0.4h, v0.4h
+umlsl v0.8h, v0.8b, v0.8b
+umlsl2 v0.2d, v0.4s, v0.4s
+umlsl2 v0.4s, v0.8h, v0.8h
+umlsl2 v0.8h, v0.16b, v0.16b
+umull v0.2d, v0.2s, v0.2s
+umull v0.4s, v0.4h, v0.4h
+umull v0.8h, v0.8b, v0.8b
+umull2 v0.2d, v0.4s, v0.4s
+umull2 v0.4s, v0.8h, v0.8h
+umull2 v0.8h, v0.16b, v0.16b
+uqadd h0, h1, h5
+uqadd v0.8h, v0.8h, v0.8h
+uqrshl b11, b20, b30
+uqrshl s23, s20, s16
+uqrshl v0.16b, v0.16b, v0.16b
+uqrshl v0.4s, v0.4s, v0.4s
+uqrshl v0.4s, v0.4s, v0.4s
+uqrshl v0.8h, v0.8h, v0.8h
+uqrshrn b10, h12, #5
+uqrshrn h12, s10, #14
+uqrshrn s10, d10, #25
+uqrshrn v0.2s, v0.2d, #3
+uqrshrn v0.4h, v0.4s, #3
+uqrshrn v0.8b, v0.8h, #3
+uqrshrn2 v0.16b, v0.8h, #3
+uqrshrn2 v0.4s, v0.2d, #3
+uqrshrn2 v0.8h, v0.4s, #3
+uqshl b11, b20, b30
+uqshl b18, b15, #6
+uqshl d15, d12, #19
+uqshl h11, h18, #7
+uqshl s14, s19, #18
+uqshl s23, s20, s16
+uqshl v0.16b, v0.16b, #3
+uqshl v0.16b, v0.16b, v0.16b
+uqshl v0.2d, v0.2d, #3
+uqshl v0.2d, v0.2d, v0.2d
+uqshl v0.2s, v0.2s, #3
+uqshl v0.4h, v0.4h, #3
+uqshl v0.4s, v0.4s, #3
+uqshl v0.4s, v0.4s, v0.4s
+uqshl v0.8b, v0.8b, #3
+uqshl v0.8h, v0.8h, #3
+uqshl v0.8h, v0.8h, v0.8h
+uqshrn b12, h10, #7
+uqshrn h10, s14, #5
+uqshrn s10, d12, #13
+uqshrn v0.2s, v0.2d, #3
+uqshrn v0.4h, v0.4s, #3
+uqshrn v0.8b, v0.8h, #3
+uqshrn2 v0.16b, v0.8h, #3
+uqshrn2 v0.4s, v0.2d, #3
+uqshrn2 v0.8h, v0.4s, #3
+uqsub d16, d16, d16
+uqsub v0.4h, v0.4h, v0.4h
+uqxtn b18, h18
+uqxtn h20, s17
+uqxtn s19, d14
+uqxtn v0.2s, v0.2d
+uqxtn v0.4h, v0.4s
+uqxtn v0.8b, v0.8h
+uqxtn2 v0.16b, v0.8h
+uqxtn2 v0.4s, v0.2d
+uqxtn2 v0.8h, v0.4s
+urecpe v0.2s, v0.2s
+urecpe v0.4s, v0.4s
+urhadd v0.16b, v0.16b, v0.16b
+urhadd v0.4s, v0.4s, v0.4s
+urhadd v0.8h, v0.8h, v0.8h
+urshl d8, d7, d4
+urshl v0.16b, v0.16b, v0.16b
+urshl v0.2d, v0.2d, v0.2d
+urshl v0.4s, v0.4s, v0.4s
+urshl v0.8h, v0.8h, v0.8h
+urshr d20, d23, #31
+urshr v0.16b, v0.16b, #3
+urshr v0.2d, v0.2d, #3
+urshr v0.2s, v0.2s, #3
+urshr v0.4h, v0.4h, #3
+urshr v0.4s, v0.4s, #3
+urshr v0.8b, v0.8b, #3
+urshr v0.8h, v0.8h, #3
+ursqrte v0.2s, v0.2s
+ursqrte v0.4s, v0.4s
+ursra d18, d10, #13
+ursra v0.16b, v0.16b, #3
+ursra v0.2d, v0.2d, #3
+ursra v0.2s, v0.2s, #3
+ursra v0.4h, v0.4h, #3
+ursra v0.4s, v0.4s, #3
+ursra v0.8b, v0.8b, #3
+ursra v0.8h, v0.8h, #3
+ushl d0, d0, d0
+ushl v0.16b, v0.16b, v0.16b
+ushl v0.4s, v0.4s, v0.4s
+ushl v0.8h, v0.8h, v0.8h
+ushll v0.4s, v0.4h, #3
+ushll2 v0.8h, v0.16b, #3
+ushr d10, d17, #18
+ushr v0.16b, v0.16b, #3
+ushr v0.2d, v0.2d, #3
+ushr v0.2s, v0.2s, #3
+ushr v0.4h, v0.4h, #3
+ushr v0.4s, v0.4s, #3
+ushr v0.8b, v0.8b, #3
+ushr v0.8h, v0.8h, #3
+usqadd b19, b14
+usqadd d18, d22
+usqadd h20, h15
+usqadd s21, s12
+usqadd v0.16b, v0.16b
+usqadd v0.2d, v0.2d
+usqadd v0.2s, v0.2s
+usqadd v0.4h, v0.4h
+usqadd v0.4s, v0.4s
+usqadd v0.8b, v0.8b
+usqadd v0.8h, v0.8h
+usra d20, d13, #61
+usra v0.16b, v0.16b, #3
+usra v0.2d, v0.2d, #3
+usra v0.2s, v0.2s, #3
+usra v0.4h, v0.4h, #3
+usra v0.4s, v0.4s, #3
+usra v0.8b, v0.8b, #3
+usra v0.8h, v0.8h, #3
+usubl v0.2d, v0.2s, v0.2s
+usubl v0.4s, v0.4h, v0.4h
+usubl v0.8h, v0.8b, v0.8b
+usubl2 v0.2d, v0.4s, v0.4s
+usubl2 v0.4s, v0.8h, v0.8h
+usubl2 v0.8h, v0.16b, v0.16b
+usubw v0.2d, v0.2d, v0.2s
+usubw v0.4s, v0.4s, v0.4h
+usubw v0.8h, v0.8h, v0.8b
+usubw2 v0.2d, v0.2d, v0.4s
+usubw2 v0.4s, v0.4s, v0.8h
+usubw2 v0.8h, v0.8h, v0.16b
+uzp1 v0.16b, v0.16b, v0.16b
+uzp1 v0.2d, v0.2d, v0.2d
+uzp1 v0.2s, v0.2s, v0.2s
+uzp1 v0.4h, v0.4h, v0.4h
+uzp1 v0.4s, v0.4s, v0.4s
+uzp1 v0.8b, v0.8b, v0.8b
+uzp1 v0.8h, v0.8h, v0.8h
+uzp2 v0.16b, v0.16b, v0.16b
+uzp2 v0.2d, v0.2d, v0.2d
+uzp2 v0.2s, v0.2s, v0.2s
+uzp2 v0.4h, v0.4h, v0.4h
+uzp2 v0.4s, v0.4s, v0.4s
+uzp2 v0.8b, v0.8b, v0.8b
+uzp2 v0.8h, v0.8h, v0.8h
+xtn v0.2s, v0.2d
+xtn v0.4h, v0.4s
+xtn v0.8b, v0.8h
+xtn2 v0.16b, v0.8h
+xtn2 v0.4s, v0.2d
+xtn2 v0.8h, v0.4s
+zip1 v0.16b, v0.16b, v0.16b
+zip1 v0.2d, v0.2d, v0.2d
+zip1 v0.2s, v0.2s, v0.2s
+zip1 v0.4h, v0.4h, v0.4h
+zip1 v0.4s, v0.4s, v0.4s
+zip1 v0.8b, v0.8b, v0.8b
+zip1 v0.8h, v0.8h, v0.8h
+zip2 v0.16b, v0.16b, v0.16b
+zip2 v0.2d, v0.2d, v0.2d
+zip2 v0.2s, v0.2s, v0.2s
+zip2 v0.4h, v0.4h, v0.4h
+zip2 v0.4s, v0.4s, v0.4s
+zip2 v0.8b, v0.8b, v0.8b
+zip2 v0.8h, v0.8h, v0.8h
+
+# 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 3 0.50 abs d29, d24
+# CHECK-NEXT: 1 3 0.50 abs v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 abs v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.50 abs v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 abs v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 abs v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 abs v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 abs v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 add d17, d31, d29
+# CHECK-NEXT: 1 3 0.50 add v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 addhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 addhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 addhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 addhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 addhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 addhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 addp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.50 addp v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 and v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 bic v0.4h, #15, lsl #8
+# CHECK-NEXT: 1 3 0.50 bic v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 bif v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 bit v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 bsl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 cls v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 cls v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 cls v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 cls v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 cls v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 cls v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 clz v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 clz v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 clz v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 clz v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 clz v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 clz v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 cmeq d20, d21, #0
+# CHECK-NEXT: 1 3 0.50 cmeq d20, d21, d22
+# CHECK-NEXT: 1 3 0.50 cmeq v0.16b, v0.16b, #0
+# CHECK-NEXT: 1 3 0.50 cmeq v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 cmge d20, d21, #0
+# CHECK-NEXT: 1 3 0.50 cmge d20, d21, d22
+# CHECK-NEXT: 1 3 0.50 cmge v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 cmge v0.8b, v0.8b, #0
+# CHECK-NEXT: 1 3 0.50 cmgt d20, d21, #0
+# CHECK-NEXT: 1 3 0.50 cmgt d20, d21, d22
+# CHECK-NEXT: 1 3 0.50 cmgt v0.2s, v0.2s, #0
+# CHECK-NEXT: 1 3 0.50 cmgt v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 cmhi d20, d21, d22
+# CHECK-NEXT: 1 3 0.50 cmhi v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 cmhs d20, d21, d22
+# CHECK-NEXT: 1 3 0.50 cmhs v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 cmle d20, d21, #0
+# CHECK-NEXT: 1 3 0.50 cmle v0.2d, v0.2d, #0
+# CHECK-NEXT: 1 3 0.50 cmlt d20, d21, #0
+# CHECK-NEXT: 1 3 0.50 cmlt v0.8h, v0.8h, #0
+# CHECK-NEXT: 1 4 0.50 cmtst d20, d21, d22
+# CHECK-NEXT: 1 4 0.50 cmtst v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 cnt v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 cnt v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 dup v0.16b, w28
+# CHECK-NEXT: 1 3 0.50 dup v0.2d, x28
+# CHECK-NEXT: 1 4 0.50 dup v0.2s, w28
+# CHECK-NEXT: 1 4 0.50 dup v0.4h, w28
+# CHECK-NEXT: 1 3 0.50 dup v0.4s, w28
+# CHECK-NEXT: 1 4 0.50 dup v0.8b, w28
+# CHECK-NEXT: 1 3 0.50 dup v0.8h, w28
+# CHECK-NEXT: 1 3 0.50 eor v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 ext v0.16b, v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 4 0.50 ext v0.8b, v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 4 0.50 fabd d29, d24, d20
+# CHECK-NEXT: 1 4 0.50 fabd s29, s24, s20
+# CHECK-NEXT: 1 4 0.50 fabd v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fabs v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fabs v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fabs v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 fabs v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fabs v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 facge d20, d21, d22
+# CHECK-NEXT: 1 4 0.50 facge s10, s11, s12
+# CHECK-NEXT: 1 4 0.50 facge v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 facgt d20, d21, d22
+# CHECK-NEXT: 1 4 0.50 facgt s10, s11, s12
+# CHECK-NEXT: 1 4 0.50 facgt v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fadd v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 faddp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 faddp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fcmeq d20, d21, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmeq d20, d21, d22
+# CHECK-NEXT: 1 4 0.50 fcmeq s10, s11, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmeq s10, s11, s12
+# CHECK-NEXT: 1 4 0.50 fcmeq v0.2s, v0.2s, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmeq v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fcmge d20, d21, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmge d20, d21, d22
+# CHECK-NEXT: 1 4 0.50 fcmge s10, s11, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmge s10, s11, s12
+# CHECK-NEXT: 1 4 0.50 fcmge v0.2d, v0.2d, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmge v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fcmgt d20, d21, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmgt d20, d21, d22
+# CHECK-NEXT: 1 4 0.50 fcmgt s10, s11, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmgt s10, s11, s12
+# CHECK-NEXT: 1 4 0.50 fcmgt v0.4s, v0.4s, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmgt v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fcmle d20, d21, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmle s10, s11, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmle v0.2d, v0.2d, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmlt d20, d21, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmlt s10, s11, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmlt v0.4s, v0.4s, #0.0
+# CHECK-NEXT: 1 4 0.50 fcvtas d21, d14
+# CHECK-NEXT: 1 4 0.50 fcvtas s12, s13
+# CHECK-NEXT: 1 4 0.50 fcvtas v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fcvtas v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fcvtas v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 fcvtas v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fcvtas v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 fcvtau d21, d14
+# CHECK-NEXT: 1 4 0.50 fcvtau s12, s13
+# CHECK-NEXT: 1 4 0.50 fcvtau v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fcvtau v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fcvtau v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 fcvtau v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fcvtau v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 fcvtl v0.2d, v0.2s
+# CHECK-NEXT: 1 4 0.50 fcvtl v0.4s, v0.4h
+# CHECK-NEXT: 1 4 0.50 fcvtl2 v0.2d, v0.4s
+# CHECK-NEXT: 1 4 0.50 fcvtl2 v0.4s, v0.8h
+# CHECK-NEXT: 1 4 0.50 fcvtms d21, d14
+# CHECK-NEXT: 1 4 0.50 fcvtms s22, s13
+# CHECK-NEXT: 1 4 0.50 fcvtms v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fcvtms v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fcvtms v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 fcvtms v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fcvtms v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 fcvtmu d21, d14
+# CHECK-NEXT: 1 4 0.50 fcvtmu s12, s13
+# CHECK-NEXT: 1 4 0.50 fcvtmu v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fcvtmu v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fcvtmu v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 fcvtmu v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fcvtmu v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 fcvtn v0.2s, v0.2d
+# CHECK-NEXT: 1 4 0.50 fcvtn v0.4h, v0.4s
+# CHECK-NEXT: 1 4 0.50 fcvtn2 v0.4s, v0.2d
+# CHECK-NEXT: 1 4 0.50 fcvtn2 v0.8h, v0.4s
+# CHECK-NEXT: 1 4 0.50 fcvtns d21, d14
+# CHECK-NEXT: 1 4 0.50 fcvtns s22, s13
+# CHECK-NEXT: 1 4 0.50 fcvtns v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fcvtns v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fcvtns v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 fcvtns v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fcvtns v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 fcvtnu d21, d14
+# CHECK-NEXT: 1 4 0.50 fcvtnu s12, s13
+# CHECK-NEXT: 1 4 0.50 fcvtnu v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fcvtnu v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fcvtnu v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 fcvtnu v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fcvtnu v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 fcvtps d21, d14
+# CHECK-NEXT: 1 4 0.50 fcvtps s22, s13
+# CHECK-NEXT: 1 4 0.50 fcvtps v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fcvtps v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fcvtps v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 fcvtps v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fcvtps v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 fcvtpu d21, d14
+# CHECK-NEXT: 1 4 0.50 fcvtpu s12, s13
+# CHECK-NEXT: 1 4 0.50 fcvtpu v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fcvtpu v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fcvtpu v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 fcvtpu v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fcvtpu v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 fcvtxn s22, d13
+# CHECK-NEXT: 1 4 0.50 fcvtxn v0.2s, v0.2d
+# CHECK-NEXT: 1 4 0.50 fcvtxn2 v0.4s, v0.2d
+# CHECK-NEXT: 1 4 0.50 fcvtzs d21, d12, #1
+# CHECK-NEXT: 1 4 0.50 fcvtzs d21, d14
+# CHECK-NEXT: 1 4 0.50 fcvtzs s12, s13
+# CHECK-NEXT: 1 4 0.50 fcvtzs s21, s12, #1
+# CHECK-NEXT: 1 4 0.50 fcvtzs v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fcvtzs v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 fcvtzs v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fcvtzs v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 4 0.50 fcvtzs v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 fcvtzs v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fcvtzs v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 fcvtzs v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 fcvtzu d21, d12, #1
+# CHECK-NEXT: 1 4 0.50 fcvtzu d21, d14
+# CHECK-NEXT: 1 4 0.50 fcvtzu s12, s13
+# CHECK-NEXT: 1 4 0.50 fcvtzu s21, s12, #1
+# CHECK-NEXT: 1 4 0.50 fcvtzu v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fcvtzu v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 fcvtzu v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fcvtzu v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 4 0.50 fcvtzu v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 fcvtzu v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fcvtzu v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 fcvtzu v0.8h, v0.8h
+# CHECK-NEXT: 1 13 10.00 fdiv v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fmax v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fmax v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fmax v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fmaxnm v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fmaxnm v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fmaxnm v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fmaxnmp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fmaxnmp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fmaxnmp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fmaxp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fmaxp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fmaxp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fmin v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fmin v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fmin v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fminnm v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fminnm v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fminnm v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fminnmp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fminnmp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fminnmp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fminp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fminp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fminp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fmla d0, d1, v0.d[1]
+# 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 fmls d0, d4, v0.d[1]
+# 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 fmov v0.2d, #-1.25000000
+# CHECK-NEXT: 1 4 0.50 fmov v0.2s, #13.00000000
+# CHECK-NEXT: 1 4 0.50 fmov v0.4s, #1.00000000
+# CHECK-NEXT: 1 4 0.50 fmul d0, d1, v0.d[1]
+# CHECK-NEXT: 1 4 0.50 fmul s0, s1, v0.s[3]
+# CHECK-NEXT: 1 4 0.50 fmul v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fmulx d0, d4, v0.d[1]
+# CHECK-NEXT: 1 4 0.50 fmulx d23, d11, d1
+# CHECK-NEXT: 1 4 0.50 fmulx s20, s22, s15
+# CHECK-NEXT: 1 4 0.50 fmulx s3, s5, v0.s[3]
+# CHECK-NEXT: 1 4 0.50 fmulx v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fmulx v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fmulx v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fneg v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fneg v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 fneg v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 fneg v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fneg v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 frecpe d13, d13
+# CHECK-NEXT: 1 4 0.50 frecpe s19, s14
+# CHECK-NEXT: 1 4 0.50 frecpe v0.2d, v0.2d
+# CHECK-NEXT: 1 4 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 4 0.50 frecpe v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 frecps v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 frecps d22, d30, d21
+# CHECK-NEXT: 1 4 0.50 frecps s21, s16, s13
+# CHECK-NEXT: 1 4 0.50 frecpx d16, d19
+# CHECK-NEXT: 1 4 0.50 frecpx s18, s10
+# CHECK-NEXT: 1 4 0.50 frinta v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 frinta v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 frinta v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 frinta v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 frinta v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 frinti v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 frinti v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 frinti v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 frinti v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 frinti v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 frintm v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 frintm v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 frintm v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 frintm v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 frintm v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 frintn v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 frintn v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 frintn v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 frintn v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 frintn v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 frintp v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 frintp v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 frintp v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 frintp v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 frintp v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 frintx v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 frintx v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 frintx v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 frintx v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 frintx v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 frintz v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 frintz v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 frintz v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 frintz v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 frintz v0.8h, v0.8h
+# CHECK-NEXT: 1 22 19.00 frsqrte d21, d12
+# CHECK-NEXT: 1 12 9.00 frsqrte s22, s13
+# CHECK-NEXT: 1 22 19.00 frsqrte v0.2d, v0.2d
+# CHECK-NEXT: 1 12 9.00 frsqrte v0.2s, v0.2s
+# CHECK-NEXT: 1 8 5.00 frsqrte v0.4h, v0.4h
+# CHECK-NEXT: 1 12 9.00 frsqrte v0.4s, v0.4s
+# CHECK-NEXT: 1 8 5.00 frsqrte v0.8h, v0.8h
+# CHECK-NEXT: 1 22 19.00 frsqrts d8, d22, d18
+# CHECK-NEXT: 1 12 9.00 frsqrts s21, s5, s12
+# CHECK-NEXT: 1 22 19.00 frsqrts v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 22 19.00 fsqrt v0.2d, v0.2d
+# CHECK-NEXT: 1 12 9.00 fsqrt v0.2s, v0.2s
+# CHECK-NEXT: 1 8 5.00 fsqrt v0.4h, v0.4h
+# CHECK-NEXT: 1 12 9.00 fsqrt v0.4s, v0.4s
+# CHECK-NEXT: 1 8 5.00 fsqrt v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 fsub v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 1.00 * ld1 { v0.16b }, [x0]
+# CHECK-NEXT: 2 4 2.00 * ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48
+# CHECK-NEXT: 1 4 2.00 * ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
+# CHECK-NEXT: 2 3 1.00 * ld1 { v0.4s, v1.4s }, [sp], #32
+# CHECK-NEXT: 1 4 2.00 * ld1 { v0.4s, v1.4s, v2.4s }, [sp]
+# CHECK-NEXT: 2 4 2.00 * ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
+# CHECK-NEXT: 2 3 1.00 * ld1 { v0.8h }, [x15], x2
+# CHECK-NEXT: 1 3 1.00 * ld1 { v0.8h, v1.8h }, [x15]
+# CHECK-NEXT: 1 3 1.00 * ld1 { v0.b }[9], [x0]
+# CHECK-NEXT: 2 3 1.00 * ld1 { v0.b }[9], [x0], #1
+# CHECK-NEXT: 1 3 1.00 * ld1r { v0.16b }, [x0]
+# CHECK-NEXT: 2 3 1.00 * ld1r { v0.16b }, [x0], #1
+# CHECK-NEXT: 1 3 1.00 * ld1r { v0.8h }, [x15]
+# CHECK-NEXT: 2 3 1.00 * ld1r { v0.8h }, [x15], #2
+# CHECK-NEXT: 2 4 1.00 * ld2 { v0.16b, v1.16b }, [x0], x1
+# CHECK-NEXT: 1 4 1.00 * ld2 { v0.8b, v1.8b }, [x0]
+# CHECK-NEXT: 1 4 4.00 * ld2 { v0.h, v1.h }[7], [x15]
+# CHECK-NEXT: 2 4 4.00 * ld2 { v0.h, v1.h }[7], [x15], #4
+# CHECK-NEXT: 1 3 2.00 * ld2r { v0.2d, v1.2d }, [x0]
+# CHECK-NEXT: 2 3 2.00 * ld2r { v0.2d, v1.2d }, [x0], #16
+# CHECK-NEXT: 1 3 2.00 * ld2r { v0.4s, v1.4s }, [sp]
+# CHECK-NEXT: 2 3 2.00 * ld2r { v0.4s, v1.4s }, [sp], #8
+# CHECK-NEXT: 1 5 3.00 * ld3 { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT: 2 5 3.00 * ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2
+# CHECK-NEXT: 1 5 5.00 * ld3 { v0.s, v1.s, v2.s }[3], [sp]
+# CHECK-NEXT: 2 5 5.00 * ld3 { v0.s, v1.s, v2.s }[3], [sp], x3
+# CHECK-NEXT: 1 4 2.00 * ld3r { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT: 2 4 2.00 * ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6
+# CHECK-NEXT: 1 4 2.00 * ld3r { v0.8b, v1.8b, v2.8b }, [x0]
+# CHECK-NEXT: 2 4 2.00 * ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3
+# CHECK-NEXT: 1 5 3.00 * ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+# CHECK-NEXT: 2 5 3.00 * ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
+# CHECK-NEXT: 1 6 5.00 * ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0]
+# CHECK-NEXT: 2 6 5.00 * ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32
+# CHECK-NEXT: 2 6 5.00 * ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0
+# CHECK-NEXT: 1 4 2.00 * ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp]
+# CHECK-NEXT: 2 4 2.00 * ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7
+# CHECK-NEXT: 1 4 2.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+# CHECK-NEXT: 2 4 2.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30
+# CHECK-NEXT: 1 4 0.50 mla v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 mls v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 mov b0, v0.b[15]
+# CHECK-NEXT: 1 4 0.50 mov d6, v0.d[1]
+# CHECK-NEXT: 1 4 0.50 mov h2, v0.h[5]
+# CHECK-NEXT: 1 4 0.50 mov s17, v0.s[2]
+# CHECK-NEXT: 1 3 0.50 mov v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 mov v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 movi d15, #0xff00ff00ff00ff
+# CHECK-NEXT: 1 4 0.50 movi v0.16b, #31
+# CHECK-NEXT: 1 4 0.50 movi v0.2d, #0xff0000ff0000ffff
+# CHECK-NEXT: 1 4 0.50 movi v0.2s, #8, msl #8
+# CHECK-NEXT: 1 4 0.50 movi v0.4s, #255, lsl #24
+# CHECK-NEXT: 1 4 0.50 movi v0.8b, #255
+# CHECK-NEXT: 1 4 0.50 mul v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 mvni v0.2s, #0
+# CHECK-NEXT: 1 3 0.50 mvni v0.4s, #16, msl #16
+# CHECK-NEXT: 1 3 0.50 neg d29, d24
+# CHECK-NEXT: 1 3 0.50 neg v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 neg v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.50 neg v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 neg v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 neg v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 neg v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 neg v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 mvn v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 mvn v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 orn v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 mov v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 orr v0.8h, #31
+# CHECK-NEXT: 1 4 0.50 pmul v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 pmul v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 pmull v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 pmull2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 8 0.50 raddhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: 1 8 0.50 raddhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: 1 8 0.50 raddhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: 1 8 0.50 raddhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: 1 8 0.50 raddhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: 1 8 0.50 raddhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 rbit v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 rbit v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 rev16 v21.8b, v1.8b
+# CHECK-NEXT: 1 4 0.50 rev16 v30.16b, v31.16b
+# CHECK-NEXT: 1 4 0.50 rev32 v0.4h, v9.4h
+# CHECK-NEXT: 1 4 0.50 rev32 v21.8b, v1.8b
+# CHECK-NEXT: 1 4 0.50 rev32 v30.16b, v31.16b
+# CHECK-NEXT: 1 4 0.50 rev32 v4.8h, v7.8h
+# CHECK-NEXT: 1 4 0.50 rev64 v0.16b, v31.16b
+# CHECK-NEXT: 1 4 0.50 rev64 v1.8b, v9.8b
+# CHECK-NEXT: 1 4 0.50 rev64 v13.4h, v21.4h
+# CHECK-NEXT: 1 4 0.50 rev64 v2.8h, v4.8h
+# CHECK-NEXT: 1 4 0.50 rev64 v4.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 rev64 v6.4s, v8.4s
+# CHECK-NEXT: 1 4 0.50 rshrn v0.2s, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 rshrn v0.4h, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 rshrn v0.8b, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 rshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 rshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 rshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: 1 8 0.50 rsubhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: 1 8 0.50 rsubhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: 1 8 0.50 rsubhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: 1 8 0.50 rsubhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: 1 8 0.50 rsubhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: 1 8 0.50 rsubhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: 1 6 0.50 saba v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 6 0.50 sabal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 6 0.50 sabal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 6 0.50 sabal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 6 0.50 sabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 6 0.50 sabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 6 0.50 sabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 sabd v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 sabdl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 sabdl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 sabdl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 sabdl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 sabdl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 sabdl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 7 1.00 sadalp v0.1d, v0.2s
+# CHECK-NEXT: 1 7 1.00 sadalp v0.2d, v0.4s
+# CHECK-NEXT: 1 7 1.00 sadalp v0.2s, v0.4h
+# CHECK-NEXT: 1 7 1.00 sadalp v0.4h, v0.8b
+# CHECK-NEXT: 1 7 1.00 sadalp v0.4s, v0.8h
+# CHECK-NEXT: 1 7 1.00 sadalp v0.8h, v0.16b
+# CHECK-NEXT: 1 3 0.50 saddl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 saddl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 saddl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 saddl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 saddl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 saddl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 saddlp v0.1d, v0.2s
+# CHECK-NEXT: 1 3 0.50 saddlp v0.2d, v0.4s
+# CHECK-NEXT: 1 3 0.50 saddlp v0.2s, v0.4h
+# CHECK-NEXT: 1 3 0.50 saddlp v0.4h, v0.8b
+# CHECK-NEXT: 1 3 0.50 saddlp v0.4s, v0.8h
+# CHECK-NEXT: 1 3 0.50 saddlp v0.8h, v0.16b
+# CHECK-NEXT: 1 3 0.50 saddw v0.2d, v0.2d, v0.2s
+# CHECK-NEXT: 1 3 0.50 saddw v0.4s, v0.4s, v0.4h
+# CHECK-NEXT: 1 3 0.50 saddw v0.8h, v0.8h, v0.8b
+# CHECK-NEXT: 1 3 0.50 saddw2 v0.2d, v0.2d, v0.4s
+# CHECK-NEXT: 1 3 0.50 saddw2 v0.4s, v0.4s, v0.8h
+# CHECK-NEXT: 1 3 0.50 saddw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT: 1 4 0.50 scvtf d21, d12
+# CHECK-NEXT: 1 4 0.50 scvtf d21, d12, #64
+# CHECK-NEXT: 1 4 0.50 scvtf s22, s13
+# CHECK-NEXT: 1 4 0.50 scvtf s22, s13, #32
+# CHECK-NEXT: 1 4 0.50 scvtf v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 scvtf v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 scvtf v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 scvtf v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 4 0.50 scvtf v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 scvtf v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 scvtf v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 scvtf v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 shadd v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 shl d7, d10, #12
+# CHECK-NEXT: 1 3 0.50 shl v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 3 0.50 shl v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 3 0.50 shl v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 3 0.50 shl v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 3 0.50 shll v0.2d, v0.2s, #32
+# CHECK-NEXT: 1 3 0.50 shll v0.4s, v0.4h, #16
+# CHECK-NEXT: 1 3 0.50 shll v0.8h, v0.8b, #8
+# CHECK-NEXT: 1 3 0.50 shll v0.2d, v0.2s, #32
+# CHECK-NEXT: 1 3 0.50 shll v0.4s, v0.4h, #16
+# CHECK-NEXT: 1 3 0.50 shll v0.8h, v0.8b, #8
+# CHECK-NEXT: 1 3 0.50 shll2 v0.2d, v0.4s, #32
+# CHECK-NEXT: 1 3 0.50 shll2 v0.4s, v0.8h, #16
+# CHECK-NEXT: 1 3 0.50 shll2 v0.8h, v0.16b, #8
+# CHECK-NEXT: 1 3 0.50 shll2 v0.2d, v0.4s, #32
+# CHECK-NEXT: 1 3 0.50 shll2 v0.4s, v0.8h, #16
+# CHECK-NEXT: 1 3 0.50 shll2 v0.8h, v0.16b, #8
+# CHECK-NEXT: 1 3 0.50 shrn v0.2s, v0.2d, #3
+# CHECK-NEXT: 1 3 0.50 shrn v0.4h, v0.4s, #3
+# CHECK-NEXT: 1 3 0.50 shrn v0.8b, v0.8h, #3
+# CHECK-NEXT: 1 3 0.50 shrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: 1 3 0.50 shrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: 1 3 0.50 shrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: 1 3 0.50 shsub v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 shsub v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 sli d10, d14, #12
+# CHECK-NEXT: 1 4 0.50 sli v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 4 0.50 sli v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 sli v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 4 0.50 sli v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 4 0.50 sli v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 sli v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 4 0.50 sli v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 3 0.50 smax v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 smax v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 smax v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 smaxp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 smaxp v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 smaxp v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 smin v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 smin v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 smin v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 sminp v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 sminp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 sminp v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 smlal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 smlal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 smlal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 smlal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 smlal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 smlal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 smlsl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 smlsl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 smlsl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 smlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 smlsl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 smlsl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 smull v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 smull v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 smull v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 smull2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 smull2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 smull2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 sqabs b19, b14
+# CHECK-NEXT: 1 4 0.50 sqabs d18, d12
+# CHECK-NEXT: 1 4 0.50 sqabs h21, h15
+# CHECK-NEXT: 1 4 0.50 sqabs s20, s12
+# CHECK-NEXT: 1 4 0.50 sqabs v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 sqabs v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 sqabs v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 sqabs v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 sqabs v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 sqabs v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 sqabs v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 sqadd b20, b11, b15
+# CHECK-NEXT: 1 4 0.50 sqadd v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 sqadd v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 sqdmlal d19, s24, s12
+# CHECK-NEXT: 1 4 0.50 sqdmlal d8, s9, v0.s[1]
+# CHECK-NEXT: 1 4 0.50 sqdmlal s0, h0, v0.h[3]
+# CHECK-NEXT: 1 4 0.50 sqdmlal s17, h27, h12
+# CHECK-NEXT: 1 4 0.50 sqdmlal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 sqdmlal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 sqdmlal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 sqdmlal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 sqdmlsl d12, s23, s13
+# CHECK-NEXT: 1 4 0.50 sqdmlsl d8, s9, v0.s[1]
+# CHECK-NEXT: 1 4 0.50 sqdmlsl s0, h0, v0.h[3]
+# CHECK-NEXT: 1 4 0.50 sqdmlsl s14, h12, h25
+# CHECK-NEXT: 1 4 0.50 sqdmlsl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 sqdmlsl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 sqdmlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 sqdmlsl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 sqdmulh h10, h11, h12
+# CHECK-NEXT: 1 4 0.50 sqdmulh h7, h15, v0.h[3]
+# CHECK-NEXT: 1 4 0.50 sqdmulh s15, s14, v0.s[1]
+# CHECK-NEXT: 1 4 0.50 sqdmulh s20, s21, s2
+# CHECK-NEXT: 1 4 0.50 sqdmulh v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 sqdmulh v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 sqdmull d1, s1, v0.s[1]
+# CHECK-NEXT: 1 4 0.50 sqdmull d15, s22, s12
+# CHECK-NEXT: 1 4 0.50 sqdmull s1, h1, v0.h[3]
+# CHECK-NEXT: 1 4 0.50 sqdmull s12, h22, h12
+# CHECK-NEXT: 1 4 0.50 sqdmull v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 sqdmull v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 sqdmull2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 sqdmull2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 sqneg b19, b14
+# CHECK-NEXT: 1 4 0.50 sqneg d18, d12
+# CHECK-NEXT: 1 4 0.50 sqneg h21, h15
+# CHECK-NEXT: 1 4 0.50 sqneg s20, s12
+# CHECK-NEXT: 1 4 0.50 sqneg v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 sqneg v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 sqneg v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 sqneg v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 sqneg v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 sqneg v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 sqneg v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 sqrdmulh h10, h11, h12
+# CHECK-NEXT: 1 4 0.50 sqrdmulh h7, h15, v0.h[3]
+# CHECK-NEXT: 1 4 0.50 sqrdmulh s15, s14, v0.s[1]
+# CHECK-NEXT: 1 4 0.50 sqrdmulh s20, s21, s2
+# CHECK-NEXT: 1 4 0.50 sqrdmulh v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 sqrdmulh v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 sqrshl d31, d31, d31
+# CHECK-NEXT: 1 4 0.50 sqrshl h3, h4, h15
+# CHECK-NEXT: 1 4 0.50 sqrshl v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 sqrshl v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 sqrshl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 sqrshrn b10, h13, #2
+# CHECK-NEXT: 1 4 0.50 sqrshrn h15, s10, #6
+# CHECK-NEXT: 1 4 0.50 sqrshrn s15, d12, #9
+# CHECK-NEXT: 1 4 0.50 sqrshrn v0.2s, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 sqrshrn v0.4h, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 sqrshrn v0.8b, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 sqrshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 sqrshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 sqrshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 sqrshrun b17, h10, #6
+# CHECK-NEXT: 1 4 0.50 sqrshrun h10, s13, #15
+# CHECK-NEXT: 1 4 0.50 sqrshrun s22, d16, #31
+# CHECK-NEXT: 1 4 0.50 sqrshrun v0.2s, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 sqrshrun v0.4h, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 sqrshrun v0.8b, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 sqrshrun2 v0.16b, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 sqrshrun2 v0.4s, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 sqrshrun2 v0.8h, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 sqshl b11, b19, #7
+# CHECK-NEXT: 1 4 0.50 sqshl d15, d16, #51
+# CHECK-NEXT: 1 4 0.50 sqshl d31, d31, d31
+# CHECK-NEXT: 1 4 0.50 sqshl h13, h18, #11
+# CHECK-NEXT: 1 4 0.50 sqshl h3, h4, h15
+# CHECK-NEXT: 1 4 0.50 sqshl s14, s17, #22
+# CHECK-NEXT: 1 4 0.50 sqshl v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 4 0.50 sqshl v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 sqshl v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 4 0.50 sqshl v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 sqshl v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 4 0.50 sqshl v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 sqshl v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 sqshl v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 4 0.50 sqshl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 sqshl v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 sqshlu b15, b18, #6
+# CHECK-NEXT: 1 4 0.50 sqshlu d11, d13, #32
+# CHECK-NEXT: 1 4 0.50 sqshlu h19, h17, #6
+# CHECK-NEXT: 1 4 0.50 sqshlu s16, s14, #25
+# CHECK-NEXT: 1 4 0.50 sqshlu v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 4 0.50 sqshlu v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 sqshlu v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 4 0.50 sqshlu v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 4 0.50 sqshlu v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 sqshlu v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 4 0.50 sqshlu v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 sqshrn b10, h15, #5
+# CHECK-NEXT: 1 4 0.50 sqshrn h17, s10, #4
+# CHECK-NEXT: 1 4 0.50 sqshrn s18, d10, #31
+# CHECK-NEXT: 1 4 0.50 sqshrn v0.2s, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 sqshrn v0.4h, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 sqshrn v0.8b, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 sqshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 sqshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 sqshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 sqshrun b15, h10, #7
+# CHECK-NEXT: 1 4 0.50 sqshrun h20, s14, #3
+# CHECK-NEXT: 1 4 0.50 sqshrun s10, d15, #15
+# CHECK-NEXT: 1 4 0.50 sqshrun v0.2s, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 sqshrun v0.4h, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 sqshrun v0.8b, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 sqshrun2 v0.16b, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 sqshrun2 v0.4s, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 sqshrun2 v0.8h, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 sqsub s20, s10, s7
+# CHECK-NEXT: 1 4 0.50 sqsub v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 sqsub v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 sqsub v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 sqxtn b18, h18
+# CHECK-NEXT: 1 4 0.50 sqxtn h20, s17
+# CHECK-NEXT: 1 4 0.50 sqxtn s19, d14
+# CHECK-NEXT: 1 4 0.50 sqxtn v0.2s, v0.2d
+# CHECK-NEXT: 1 4 0.50 sqxtn v0.4h, v0.4s
+# CHECK-NEXT: 1 4 0.50 sqxtn v0.8b, v0.8h
+# CHECK-NEXT: 1 4 0.50 sqxtn2 v0.16b, v0.8h
+# CHECK-NEXT: 1 4 0.50 sqxtn2 v0.4s, v0.2d
+# CHECK-NEXT: 1 4 0.50 sqxtn2 v0.8h, v0.4s
+# CHECK-NEXT: 1 4 0.50 sqxtun b19, h14
+# CHECK-NEXT: 1 4 0.50 sqxtun h21, s15
+# CHECK-NEXT: 1 4 0.50 sqxtun s20, d12
+# CHECK-NEXT: 1 4 0.50 sqxtun v0.2s, v0.2d
+# CHECK-NEXT: 1 4 0.50 sqxtun v0.4h, v0.4s
+# CHECK-NEXT: 1 4 0.50 sqxtun v0.8b, v0.8h
+# CHECK-NEXT: 1 4 0.50 sqxtun2 v0.16b, v0.8h
+# CHECK-NEXT: 1 4 0.50 sqxtun2 v0.4s, v0.2d
+# CHECK-NEXT: 1 4 0.50 sqxtun2 v0.8h, v0.4s
+# CHECK-NEXT: 1 3 0.50 srhadd v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 srhadd v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 srhadd v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 sri d10, d12, #14
+# CHECK-NEXT: 1 4 0.50 sri v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 4 0.50 sri v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 sri v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 4 0.50 sri v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 4 0.50 sri v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 sri v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 4 0.50 sri v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 3 0.50 srshl d16, d16, d16
+# CHECK-NEXT: 1 3 0.50 srshl v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 srshl v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 srshl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 srshr d19, d18, #7
+# CHECK-NEXT: 1 3 0.50 srshr v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 3 0.50 srshr v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 3 0.50 srshr v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 3 0.50 srshr v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 3 0.50 srshr v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 3 0.50 srshr v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 3 0.50 srshr v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 7 1.00 srsra d15, d11, #19
+# CHECK-NEXT: 1 7 1.00 srsra v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 7 1.00 srsra v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 7 1.00 srsra v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 7 1.00 srsra v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 7 1.00 srsra v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 7 1.00 srsra v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 7 1.00 srsra v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 3 0.50 sshl d31, d31, d31
+# CHECK-NEXT: 1 3 0.50 sshl v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.50 sshl v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 sshl v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 sshl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 sshll v0.2d, v0.2s, #3
+# CHECK-NEXT: 1 3 0.50 sshll2 v0.4s, v0.8h, #3
+# CHECK-NEXT: 1 3 0.50 sshr d15, d16, #12
+# CHECK-NEXT: 1 3 0.50 sshr v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 3 0.50 sshr v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 3 0.50 sshr v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 3 0.50 sshr v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 3 0.50 sshr v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 3 0.50 sshr v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 3 0.50 sshr v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 3 0.50 ssra d18, d12, #21
+# CHECK-NEXT: 1 3 0.50 ssra v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 3 0.50 ssra v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 3 0.50 ssra v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 3 0.50 ssra v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 3 0.50 ssra v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 3 0.50 ssra v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 3 0.50 ssra v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 3 0.50 ssubl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 ssubl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 ssubl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 ssubl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 ssubl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 ssubl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 ssubw v0.2d, v0.2d, v0.2s
+# CHECK-NEXT: 1 3 0.50 ssubw v0.4s, v0.4s, v0.4h
+# CHECK-NEXT: 1 3 0.50 ssubw v0.8h, v0.8h, v0.8b
+# CHECK-NEXT: 1 3 0.50 ssubw2 v0.2d, v0.2d, v0.4s
+# CHECK-NEXT: 1 3 0.50 ssubw2 v0.4s, v0.4s, v0.8h
+# CHECK-NEXT: 1 3 0.50 ssubw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT: 1 5 2.00 * st1 { v0.16b }, [x0]
+# CHECK-NEXT: 2 5 2.00 * st1 { v0.2d, v1.2d, v2.2d }, [x0], #48
+# CHECK-NEXT: 1 5 4.00 * st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
+# CHECK-NEXT: 2 5 2.00 * st1 { v0.4s, v1.4s }, [sp], #32
+# CHECK-NEXT: 1 5 2.00 * st1 { v0.4s, v1.4s, v2.4s }, [sp]
+# CHECK-NEXT: 2 5 4.00 * st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
+# CHECK-NEXT: 2 5 2.00 * st1 { v0.8h }, [x15], x2
+# CHECK-NEXT: 1 5 2.00 * st1 { v0.8h, v1.8h }, [x15]
+# CHECK-NEXT: 1 4 1.00 * st1 { v0.d }[1], [x0]
+# CHECK-NEXT: 2 4 1.00 * st1 { v0.d }[1], [x0], #8
+# CHECK-NEXT: 2 5 4.00 * st2 { v0.16b, v1.16b }, [x0], x1
+# CHECK-NEXT: 1 5 2.00 * st2 { v0.8b, v1.8b }, [x0]
+# CHECK-NEXT: 1 5 2.00 * st2 { v0.s, v1.s }[3], [sp]
+# CHECK-NEXT: 2 5 2.00 * st2 { v0.s, v1.s }[3], [sp], #8
+# CHECK-NEXT: 1 5 4.00 * st3 { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT: 2 5 4.00 * st3 { v0.8h, v1.8h, v2.8h }, [x15], x2
+# CHECK-NEXT: 1 5 2.00 * st3 { v0.h, v1.h, v2.h }[7], [x15]
+# CHECK-NEXT: 2 5 2.00 * st3 { v0.h, v1.h, v2.h }[7], [x15], #6
+# CHECK-NEXT: 1 5 4.00 * st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+# CHECK-NEXT: 2 5 4.00 * st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
+# CHECK-NEXT: 1 5 2.00 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0]
+# CHECK-NEXT: 2 5 2.00 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5
+# CHECK-NEXT: 1 3 0.50 sub d15, d5, d16
+# CHECK-NEXT: 1 3 0.50 sub v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 suqadd b19, b14
+# CHECK-NEXT: 1 4 0.50 suqadd d18, d22
+# CHECK-NEXT: 1 4 0.50 suqadd h20, h15
+# CHECK-NEXT: 1 4 0.50 suqadd s21, s12
+# CHECK-NEXT: 1 4 0.50 suqadd v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 suqadd v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 suqadd v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 suqadd v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 suqadd v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 suqadd v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 suqadd v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 tbl v0.16b, { v0.16b }, v0.16b
+# CHECK-NEXT: 1 4 0.50 tbl v0.16b, { v0.16b, v1.16b }, v0.16b
+# CHECK-NEXT: 1 4 0.50 tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+# CHECK-NEXT: 1 4 0.50 tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+# CHECK-NEXT: 1 4 0.50 tbl v0.8b, { v0.16b }, v0.8b
+# CHECK-NEXT: 1 4 0.50 tbl v0.8b, { v0.16b, v1.16b }, v0.8b
+# CHECK-NEXT: 1 4 0.50 tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+# CHECK-NEXT: 1 4 0.50 tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+# CHECK-NEXT: 1 4 0.50 tbx v0.16b, { v0.16b }, v0.16b
+# CHECK-NEXT: 1 4 0.50 tbx v0.16b, { v0.16b, v1.16b }, v0.16b
+# CHECK-NEXT: 1 4 0.50 tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+# CHECK-NEXT: 1 4 0.50 tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+# CHECK-NEXT: 1 4 0.50 tbx v0.8b, { v0.16b }, v0.8b
+# CHECK-NEXT: 1 4 0.50 tbx v0.8b, { v0.16b, v1.16b }, v0.8b
+# CHECK-NEXT: 1 4 0.50 tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+# CHECK-NEXT: 1 4 0.50 tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+# CHECK-NEXT: 1 4 0.50 trn1 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 trn1 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 trn1 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 trn1 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 trn1 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 trn1 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 trn1 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 trn2 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 trn2 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 trn2 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 trn2 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 trn2 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 trn2 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 trn2 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 6 0.50 uaba v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 6 0.50 uabal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 6 0.50 uabal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 6 0.50 uabal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 6 0.50 uabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 6 0.50 uabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 6 0.50 uabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 uabd v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 uabdl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 uabdl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 uabdl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 uabdl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 uabdl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 uabdl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 7 1.00 uadalp v0.1d, v0.2s
+# CHECK-NEXT: 1 7 1.00 uadalp v0.2d, v0.4s
+# CHECK-NEXT: 1 7 1.00 uadalp v0.2s, v0.4h
+# CHECK-NEXT: 1 7 1.00 uadalp v0.4h, v0.8b
+# CHECK-NEXT: 1 7 1.00 uadalp v0.4s, v0.8h
+# CHECK-NEXT: 1 7 1.00 uadalp v0.8h, v0.16b
+# CHECK-NEXT: 1 3 0.50 uaddl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 uaddl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 uaddl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 uaddl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 uaddl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 uaddl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 uaddlp v0.1d, v0.2s
+# CHECK-NEXT: 1 3 0.50 uaddlp v0.2d, v0.4s
+# CHECK-NEXT: 1 3 0.50 uaddlp v0.2s, v0.4h
+# CHECK-NEXT: 1 3 0.50 uaddlp v0.4h, v0.8b
+# CHECK-NEXT: 1 3 0.50 uaddlp v0.4s, v0.8h
+# CHECK-NEXT: 1 3 0.50 uaddlp v0.8h, v0.16b
+# CHECK-NEXT: 1 3 0.50 uaddw v0.2d, v0.2d, v0.2s
+# CHECK-NEXT: 1 3 0.50 uaddw v0.4s, v0.4s, v0.4h
+# CHECK-NEXT: 1 3 0.50 uaddw v0.8h, v0.8h, v0.8b
+# CHECK-NEXT: 1 3 0.50 uaddw2 v0.2d, v0.2d, v0.4s
+# CHECK-NEXT: 1 3 0.50 uaddw2 v0.4s, v0.4s, v0.8h
+# CHECK-NEXT: 1 3 0.50 uaddw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT: 1 4 0.50 ucvtf d21, d14
+# CHECK-NEXT: 1 4 0.50 ucvtf d21, d14, #64
+# CHECK-NEXT: 1 4 0.50 ucvtf s22, s13
+# CHECK-NEXT: 1 4 0.50 ucvtf s22, s13, #32
+# CHECK-NEXT: 1 4 0.50 ucvtf v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 ucvtf v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 ucvtf v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 ucvtf v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 4 0.50 ucvtf v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 ucvtf v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 ucvtf v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 ucvtf v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 uhadd v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 uhadd v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 uhsub v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 umax v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 umax v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 umax v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 umaxp v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 umaxp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 umaxp v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 umin v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 umin v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 umin v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 uminp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 uminp v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 uminp v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 umlal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 umlal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 umlal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 umlal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 umlal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 umlal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 umlsl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 umlsl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 umlsl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 umlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 umlsl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 umlsl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 umull v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 umull v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 umull v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 umull2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 umull2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 umull2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 uqadd h0, h1, h5
+# CHECK-NEXT: 1 4 0.50 uqadd v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 uqrshl b11, b20, b30
+# CHECK-NEXT: 1 4 0.50 uqrshl s23, s20, s16
+# CHECK-NEXT: 1 4 0.50 uqrshl v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 uqrshl v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 uqrshl v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 uqrshl v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 uqrshrn b10, h12, #5
+# CHECK-NEXT: 1 4 0.50 uqrshrn h12, s10, #14
+# CHECK-NEXT: 1 4 0.50 uqrshrn s10, d10, #25
+# CHECK-NEXT: 1 4 0.50 uqrshrn v0.2s, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 uqrshrn v0.4h, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 uqrshrn v0.8b, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 uqrshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 uqrshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 uqrshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 uqshl b11, b20, b30
+# CHECK-NEXT: 1 4 0.50 uqshl b18, b15, #6
+# CHECK-NEXT: 1 4 0.50 uqshl d15, d12, #19
+# CHECK-NEXT: 1 4 0.50 uqshl h11, h18, #7
+# CHECK-NEXT: 1 4 0.50 uqshl s14, s19, #18
+# CHECK-NEXT: 1 4 0.50 uqshl s23, s20, s16
+# CHECK-NEXT: 1 4 0.50 uqshl v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 4 0.50 uqshl v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 uqshl v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 uqshl v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 uqshl v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 4 0.50 uqshl v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 4 0.50 uqshl v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 uqshl v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 uqshl v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 4 0.50 uqshl v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 uqshl v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 uqshrn b12, h10, #7
+# CHECK-NEXT: 1 4 0.50 uqshrn h10, s14, #5
+# CHECK-NEXT: 1 4 0.50 uqshrn s10, d12, #13
+# CHECK-NEXT: 1 4 0.50 uqshrn v0.2s, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 uqshrn v0.4h, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 uqshrn v0.8b, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 uqshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 uqshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 uqshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 uqsub d16, d16, d16
+# CHECK-NEXT: 1 4 0.50 uqsub v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 uqxtn b18, h18
+# CHECK-NEXT: 1 4 0.50 uqxtn h20, s17
+# CHECK-NEXT: 1 4 0.50 uqxtn s19, d14
+# CHECK-NEXT: 1 4 0.50 uqxtn v0.2s, v0.2d
+# CHECK-NEXT: 1 4 0.50 uqxtn v0.4h, v0.4s
+# CHECK-NEXT: 1 4 0.50 uqxtn v0.8b, v0.8h
+# CHECK-NEXT: 1 4 0.50 uqxtn2 v0.16b, v0.8h
+# CHECK-NEXT: 1 4 0.50 uqxtn2 v0.4s, v0.2d
+# CHECK-NEXT: 1 4 0.50 uqxtn2 v0.8h, v0.4s
+# CHECK-NEXT: 1 4 0.50 urecpe v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 urecpe v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 urhadd v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 urhadd v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 urhadd v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 urshl d8, d7, d4
+# CHECK-NEXT: 1 3 0.50 urshl v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 urshl v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.50 urshl v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 urshl v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 urshr d20, d23, #31
+# CHECK-NEXT: 1 3 0.50 urshr v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 3 0.50 urshr v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 3 0.50 urshr v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 3 0.50 urshr v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 3 0.50 urshr v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 3 0.50 urshr v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 3 0.50 urshr v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 12 9.00 ursqrte v0.2s, v0.2s
+# CHECK-NEXT: 1 12 9.00 ursqrte v0.4s, v0.4s
+# CHECK-NEXT: 1 7 1.00 ursra d18, d10, #13
+# CHECK-NEXT: 1 7 1.00 ursra v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 7 1.00 ursra v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 7 1.00 ursra v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 7 1.00 ursra v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 7 1.00 ursra v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 7 1.00 ursra v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 7 1.00 ursra v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 3 0.50 ushl d0, d0, d0
+# CHECK-NEXT: 1 3 0.50 ushl v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 ushl v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 ushl v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 ushll v0.4s, v0.4h, #3
+# CHECK-NEXT: 1 3 0.50 ushll2 v0.8h, v0.16b, #3
+# CHECK-NEXT: 1 3 0.50 ushr d10, d17, #18
+# CHECK-NEXT: 1 3 0.50 ushr v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 3 0.50 ushr v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 3 0.50 ushr v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 3 0.50 ushr v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 3 0.50 ushr v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 3 0.50 ushr v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 3 0.50 ushr v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 usqadd b19, b14
+# CHECK-NEXT: 1 4 0.50 usqadd d18, d22
+# CHECK-NEXT: 1 4 0.50 usqadd h20, h15
+# CHECK-NEXT: 1 4 0.50 usqadd s21, s12
+# CHECK-NEXT: 1 4 0.50 usqadd v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 usqadd v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 usqadd v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 usqadd v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 usqadd v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 usqadd v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 usqadd v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 usra d20, d13, #61
+# CHECK-NEXT: 1 3 0.50 usra v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 3 0.50 usra v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 3 0.50 usra v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 3 0.50 usra v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 3 0.50 usra v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 3 0.50 usra v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 3 0.50 usra v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 3 0.50 usubl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 usubl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 usubl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 usubl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 usubl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 usubl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 usubw v0.2d, v0.2d, v0.2s
+# CHECK-NEXT: 1 3 0.50 usubw v0.4s, v0.4s, v0.4h
+# CHECK-NEXT: 1 3 0.50 usubw v0.8h, v0.8h, v0.8b
+# CHECK-NEXT: 1 3 0.50 usubw2 v0.2d, v0.2d, v0.4s
+# CHECK-NEXT: 1 3 0.50 usubw2 v0.4s, v0.4s, v0.8h
+# CHECK-NEXT: 1 3 0.50 usubw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT: 1 4 0.50 uzp1 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 uzp1 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 uzp1 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 uzp1 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 uzp1 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 uzp1 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 uzp1 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 uzp2 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 uzp2 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 uzp2 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 uzp2 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 uzp2 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 uzp2 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 uzp2 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 xtn v0.2s, v0.2d
+# CHECK-NEXT: 1 4 0.50 xtn v0.4h, v0.4s
+# CHECK-NEXT: 1 4 0.50 xtn v0.8b, v0.8h
+# CHECK-NEXT: 1 4 0.50 xtn2 v0.16b, v0.8h
+# CHECK-NEXT: 1 4 0.50 xtn2 v0.4s, v0.2d
+# CHECK-NEXT: 1 4 0.50 xtn2 v0.8h, v0.4s
+# CHECK-NEXT: 1 4 0.50 zip1 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 zip1 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 zip1 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 zip1 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 zip1 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 zip1 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 zip1 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 zip2 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 zip2 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 zip2 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 zip2 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 zip2 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 zip2 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 zip2 v0.8h, v0.8h, v0.8h
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - C1NanoUnitALU0
+# CHECK-NEXT: [1.0] - C1NanoUnitALU1
+# CHECK-NEXT: [1.1] - C1NanoUnitALU1
+# CHECK-NEXT: [2] - C1NanoUnitB
+# CHECK-NEXT: [3] - C1NanoUnitDiv
+# CHECK-NEXT: [4] - C1NanoUnitLd1
+# CHECK-NEXT: [5] - C1NanoUnitLdSt
+# CHECK-NEXT: [6] - C1NanoUnitMAC
+# CHECK-NEXT: [7] - C1NanoUnitPAC
+# CHECK-NEXT: [8] - C1NanoUnitVALU0
+# CHECK-NEXT: [9] - C1NanoUnitVALU1
+# CHECK-NEXT: [10.0] - C1NanoUnitVMAC
+# CHECK-NEXT: [10.1] - C1NanoUnitVMAC
+# CHECK-NEXT: [11] - C1NanoUnitVMC
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1.0] [1.1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11]
+# CHECK-NEXT: - - - - - - 145.00 - - 501.00 501.00 3.00 3.00 197.00
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1.0] [1.1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11] Instructions:
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs d29, d24
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add d17, d31, d29
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addp v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bic v0.4h, #15, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bic v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bif v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bit v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bsl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmeq d20, d21, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmeq d20, d21, d22
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmeq v0.16b, v0.16b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmeq v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmge d20, d21, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmge d20, d21, d22
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmge v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmge v0.8b, v0.8b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmgt d20, d21, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmgt d20, d21, d22
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmgt v0.2s, v0.2s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmgt v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmhi d20, d21, d22
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmhi v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmhs d20, d21, d22
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmhs v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmle d20, d21, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmle v0.2d, v0.2d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmlt d20, d21, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmlt v0.8h, v0.8h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmtst d20, d21, d22
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmtst v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnt v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnt v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dup v0.16b, w28
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dup v0.2d, x28
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dup v0.2s, w28
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dup v0.4h, w28
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dup v0.4s, w28
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dup v0.8b, w28
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dup v0.8h, w28
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ext v0.16b, v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ext v0.8b, v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabd d29, d24, d20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabd s29, s24, s20
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabd v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - facge d20, d21, d22
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - facge s10, s11, s12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - facge v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - facgt d20, d21, d22
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - facgt s10, s11, s12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - facgt v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - faddp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - faddp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmeq d20, d21, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmeq d20, d21, d22
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmeq s10, s11, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmeq s10, s11, s12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmeq v0.2s, v0.2s, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmeq v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmge d20, d21, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmge d20, d21, d22
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmge s10, s11, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmge s10, s11, s12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmge v0.2d, v0.2d, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmge v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmgt d20, d21, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmgt d20, d21, d22
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmgt s10, s11, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmgt s10, s11, s12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmgt v0.4s, v0.4s, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmgt v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmle d20, d21, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmle s10, s11, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmle v0.2d, v0.2d, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmlt d20, d21, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmlt s10, s11, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmlt v0.4s, v0.4s, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas d21, d14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas s12, s13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau d21, d14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau s12, s13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtl v0.2d, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtl v0.4s, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtl2 v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtl2 v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms d21, d14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms s22, s13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu d21, d14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu s12, s13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtn v0.2s, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtn v0.4h, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtn2 v0.4s, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtn2 v0.8h, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns d21, d14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns s22, s13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu d21, d14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu s12, s13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps d21, d14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps s22, s13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu d21, d14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu s12, s13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtxn s22, d13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtxn v0.2s, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtxn2 v0.4s, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs d21, d12, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs d21, d14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs s12, s13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs s21, s12, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu d21, d12, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu d21, d14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu s12, s13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu s21, s12, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - - - - 10.00 fdiv v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnmp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnmp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnmp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnmp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnmp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnmp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmla d0, d1, v0.d[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmla s0, s1, v0.s[3]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmla v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmls d0, d4, v0.d[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmls s3, s5, v0.s[3]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmls v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov v0.2d, #-1.25000000
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov v0.2s, #13.00000000
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov v0.4s, #1.00000000
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmul d0, d1, v0.d[1]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmul s0, s1, v0.s[3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmul v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmulx d0, d4, v0.d[1]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmulx d23, d11, d1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmulx s20, s22, s15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmulx s3, s5, v0.s[3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmulx v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmulx v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmulx v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecpe d13, d13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecpe s19, s14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecpe v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecpe v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecpe v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecpe v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecpe v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecps v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecps d22, d30, d21
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecps s21, s16, s13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecpx d16, d19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecpx s18, s10
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - - - - 19.00 frsqrte d21, d12
+# CHECK-NEXT: - - - - - - - - - - - - - 9.00 frsqrte s22, s13
+# CHECK-NEXT: - - - - - - - - - - - - - 19.00 frsqrte v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - - - - - 9.00 frsqrte v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - - - - 5.00 frsqrte v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - - - - 9.00 frsqrte v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - - - - 5.00 frsqrte v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - - - - 19.00 frsqrts d8, d22, d18
+# CHECK-NEXT: - - - - - - - - - - - - - 9.00 frsqrts s21, s5, s12
+# CHECK-NEXT: - - - - - - - - - - - - - 19.00 frsqrts v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - - - - - 19.00 fsqrt v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - - - - - 9.00 fsqrt v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - - - - 5.00 fsqrt v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - - - - 9.00 fsqrt v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - - - - 5.00 fsqrt v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1 { v0.16b }, [x0]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1 { v0.4s, v1.4s }, [sp], #32
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld1 { v0.4s, v1.4s, v2.4s }, [sp]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1 { v0.8h }, [x15], x2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1 { v0.8h, v1.8h }, [x15]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1 { v0.b }[9], [x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1 { v0.b }[9], [x0], #1
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1r { v0.16b }, [x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1r { v0.16b }, [x0], #1
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1r { v0.8h }, [x15]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1r { v0.8h }, [x15], #2
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2 { v0.16b, v1.16b }, [x0], x1
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2 { v0.8b, v1.8b }, [x0]
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - - ld2 { v0.h, v1.h }[7], [x15]
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - - ld2 { v0.h, v1.h }[7], [x15], #4
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2r { v0.2d, v1.2d }, [x0]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2r { v0.2d, v1.2d }, [x0], #16
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2r { v0.4s, v1.4s }, [sp]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2r { v0.4s, v1.4s }, [sp], #8
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3 { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2
+# CHECK-NEXT: - - - - - - 5.00 - - - - - - - ld3 { v0.s, v1.s, v2.s }[3], [sp]
+# CHECK-NEXT: - - - - - - 5.00 - - - - - - - ld3 { v0.s, v1.s, v2.s }[3], [sp], x3
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld3r { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld3r { v0.8b, v1.8b, v2.8b }, [x0]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
+# CHECK-NEXT: - - - - - - 5.00 - - - - - - - ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0]
+# CHECK-NEXT: - - - - - - 5.00 - - - - - - - ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32
+# CHECK-NEXT: - - - - - - 5.00 - - - - - - - ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mla v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mls v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov b0, v0.b[15]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov d6, v0.d[1]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov h2, v0.h[5]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov s17, v0.s[2]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - movi d15, #0xff00ff00ff00ff
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - movi v0.16b, #31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - movi v0.2d, #0xff0000ff0000ffff
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - movi v0.2s, #8, msl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - movi v0.4s, #255, lsl #24
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - movi v0.8b, #255
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mul v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mvni v0.2s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mvni v0.4s, #16, msl #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg d29, d24
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mvn v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mvn v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orn v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr v0.8h, #31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - pmul v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - pmul v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - pmull v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - pmull2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rbit v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rbit v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev16 v21.8b, v1.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev16 v30.16b, v31.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev32 v0.4h, v9.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev32 v21.8b, v1.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev32 v30.16b, v31.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev32 v4.8h, v7.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev64 v0.16b, v31.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev64 v1.8b, v9.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev64 v13.4h, v21.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev64 v2.8h, v4.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev64 v4.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev64 v6.4s, v8.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrn v0.2s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrn v0.4h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrn v0.8b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saba v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabd v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sadalp v0.1d, v0.2s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sadalp v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sadalp v0.2s, v0.4h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sadalp v0.4h, v0.8b
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sadalp v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sadalp v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlp v0.1d, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlp v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlp v0.2s, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlp v0.4h, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlp v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlp v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddw v0.2d, v0.2d, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddw v0.4s, v0.4s, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddw v0.8h, v0.8h, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddw2 v0.2d, v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddw2 v0.4s, v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d21, d12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d21, d12, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s22, s13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s22, s13, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shadd v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shl d7, d10, #12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shl v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shl v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shl v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shl v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll v0.2d, v0.2s, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll v0.4s, v0.4h, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll v0.8h, v0.8b, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll v0.2d, v0.2s, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll v0.4s, v0.4h, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll v0.8h, v0.8b, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll2 v0.2d, v0.4s, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll2 v0.4s, v0.8h, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll2 v0.8h, v0.16b, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll2 v0.2d, v0.4s, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll2 v0.4s, v0.8h, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll2 v0.8h, v0.16b, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrn v0.2s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrn v0.4h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrn v0.8b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsub v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsub v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli d10, d14, #12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smaxp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smaxp v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smaxp v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sminp v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sminp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sminp v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlsl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlsl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlsl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlsl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlsl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smull v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smull v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smull v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smull2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smull2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smull2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs b19, b14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs d18, d12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs h21, h15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs s20, s12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd b20, b11, b15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlal d19, s24, s12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlal d8, s9, v0.s[1]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlal s0, h0, v0.h[3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlal s17, h27, h12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlsl d12, s23, s13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlsl d8, s9, v0.s[1]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlsl s0, h0, v0.h[3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlsl s14, h12, h25
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlsl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlsl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlsl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmulh h10, h11, h12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmulh h7, h15, v0.h[3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmulh s15, s14, v0.s[1]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmulh s20, s21, s2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmulh v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmulh v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmull d1, s1, v0.s[1]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmull d15, s22, s12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmull s1, h1, v0.h[3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmull s12, h22, h12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmull v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmull v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmull2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmull2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg b19, b14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg d18, d12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg h21, h15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg s20, s12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrdmulh h10, h11, h12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrdmulh h7, h15, v0.h[3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrdmulh s15, s14, v0.s[1]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrdmulh s20, s21, s2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrdmulh v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrdmulh v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshl d31, d31, d31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshl h3, h4, h15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshl v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshl v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrn b10, h13, #2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrn h15, s10, #6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrn s15, d12, #9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrn v0.2s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrn v0.4h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrn v0.8b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrun b17, h10, #6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrun h10, s13, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrun s22, d16, #31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrun v0.2s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrun v0.4h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrun v0.8b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrun2 v0.16b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrun2 v0.4s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrun2 v0.8h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl b11, b19, #7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl d15, d16, #51
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl d31, d31, d31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl h13, h18, #11
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl h3, h4, h15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl s14, s17, #22
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu b15, b18, #6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu d11, d13, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu h19, h17, #6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu s16, s14, #25
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrn b10, h15, #5
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrn h17, s10, #4
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrn s18, d10, #31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrn v0.2s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrn v0.4h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrn v0.8b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrun b15, h10, #7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrun h20, s14, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrun s10, d15, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrun v0.2s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrun v0.4h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrun v0.8b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrun2 v0.16b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrun2 v0.4s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrun2 v0.8h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub s20, s10, s7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtn b18, h18
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtn h20, s17
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtn s19, d14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtn v0.2s, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtn v0.4h, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtn v0.8b, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtn2 v0.16b, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtn2 v0.4s, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtn2 v0.8h, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtun b19, h14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtun h21, s15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtun s20, d12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtun v0.2s, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtun v0.4h, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtun v0.8b, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtun2 v0.16b, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtun2 v0.4s, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtun2 v0.8h, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srhadd v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srhadd v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srhadd v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri d10, d12, #14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshl d16, d16, d16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshl v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshl v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr d19, d18, #7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - srsra d15, d11, #19
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - srsra v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - srsra v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - srsra v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - srsra v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - srsra v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - srsra v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - srsra v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshl d31, d31, d31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshl v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshl v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshl v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshll v0.2d, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshll2 v0.4s, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshr d15, d16, #12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshr v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshr v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshr v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshr v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshr v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshr v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshr v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra d18, d12, #21
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubw v0.2d, v0.2d, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubw v0.4s, v0.4s, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubw v0.8h, v0.8h, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubw2 v0.2d, v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubw2 v0.4s, v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st1 { v0.16b }, [x0]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st1 { v0.2d, v1.2d, v2.2d }, [x0], #48
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st1 { v0.4s, v1.4s }, [sp], #32
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st1 { v0.4s, v1.4s, v2.4s }, [sp]
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st1 { v0.8h }, [x15], x2
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st1 { v0.8h, v1.8h }, [x15]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1 { v0.d }[1], [x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1 { v0.d }[1], [x0], #8
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st2 { v0.16b, v1.16b }, [x0], x1
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2 { v0.8b, v1.8b }, [x0]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2 { v0.s, v1.s }[3], [sp]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2 { v0.s, v1.s }[3], [sp], #8
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st3 { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st3 { v0.8h, v1.8h, v2.8h }, [x15], x2
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st3 { v0.h, v1.h, v2.h }[7], [x15]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st3 { v0.h, v1.h, v2.h }[7], [x15], #6
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub d15, d5, d16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd b19, b14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd d18, d22
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd h20, h15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd s21, s12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl v0.16b, { v0.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl v0.16b, { v0.16b, v1.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl v0.8b, { v0.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl v0.8b, { v0.16b, v1.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx v0.16b, { v0.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx v0.16b, { v0.16b, v1.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx v0.8b, { v0.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx v0.8b, { v0.16b, v1.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaba v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabd v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uadalp v0.1d, v0.2s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uadalp v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uadalp v0.2s, v0.4h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uadalp v0.4h, v0.8b
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uadalp v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uadalp v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlp v0.1d, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlp v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlp v0.2s, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlp v0.4h, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlp v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlp v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddw v0.2d, v0.2d, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddw v0.4s, v0.4s, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddw v0.8h, v0.8h, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddw2 v0.2d, v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddw2 v0.4s, v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d21, d14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d21, d14, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf s22, s13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf s22, s13, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhadd v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhadd v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhsub v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umax v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umax v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umax v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umaxp v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umaxp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umaxp v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umin v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umin v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umin v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uminp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uminp v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uminp v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlsl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlsl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlsl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlsl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlsl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umull v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umull v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umull v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umull2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umull2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umull2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd h0, h1, h5
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl b11, b20, b30
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl s23, s20, s16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrn b10, h12, #5
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrn h12, s10, #14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrn s10, d10, #25
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrn v0.2s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrn v0.4h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrn v0.8b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl b11, b20, b30
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl b18, b15, #6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl d15, d12, #19
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl h11, h18, #7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl s14, s19, #18
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl s23, s20, s16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrn b12, h10, #7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrn h10, s14, #5
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrn s10, d12, #13
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrn v0.2s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrn v0.4h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrn v0.8b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub d16, d16, d16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtn b18, h18
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtn h20, s17
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtn s19, d14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtn v0.2s, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtn v0.4h, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtn v0.8b, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtn2 v0.16b, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtn2 v0.4s, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtn2 v0.8h, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urecpe v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urecpe v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urhadd v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urhadd v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urhadd v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshl d8, d7, d4
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshl v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshl v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshl v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshl v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr d20, d23, #31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - - - - - 9.00 ursqrte v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - - - - 9.00 ursqrte v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - ursra d18, d10, #13
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - ursra v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - ursra v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - ursra v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - ursra v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - ursra v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - ursra v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - ursra v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushl d0, d0, d0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushl v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushl v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushl v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushll v0.4s, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushll2 v0.8h, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushr d10, d17, #18
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushr v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushr v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushr v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushr v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushr v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushr v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushr v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd b19, b14
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd d18, d22
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd h20, h15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd s21, s12
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra d20, d13, #61
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubw v0.2d, v0.2d, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubw v0.4s, v0.4s, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubw v0.8h, v0.8h, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubw2 v0.2d, v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubw2 v0.4s, v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xtn v0.2s, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xtn v0.4h, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xtn v0.8b, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xtn2 v0.16b, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xtn2 v0.4s, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xtn2 v0.8h, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 v0.8h, v0.8h, v0.8h
diff --git a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s
new file mode 100644
index 0000000000000..ff2a6d562502b
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s
@@ -0,0 +1,10263 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -mattr=+sve2-aes,+sve2-sha3,+sve2-sm4 -instruction-tables < %s | FileCheck %s
+
+abs z0.b, p0/m, z0.b
+abs z0.d, p0/m, z0.d
+abs z0.h, p0/m, z0.h
+abs z0.s, p0/m, z0.s
+abs z31.b, p7/m, z31.b
+abs z31.d, p7/m, z31.d
+abs z31.h, p7/m, z31.h
+abs z31.s, p7/m, z31.s
+adclb z0.d, z1.d, z31.d
+adclb z0.s, z1.s, z31.s
+adclt z0.d, z1.d, z31.d
+adclt z0.s, z1.s, z31.s
+add z0.b, p0/m, z0.b, z0.b
+add z0.b, z0.b, #0
+add z0.b, z0.b, z0.b
+add z0.d, p0/m, z0.d, z0.d
+add z0.d, z0.d, #0
+add z0.d, z0.d, #0, lsl #8
+add z0.d, z0.d, z0.d
+add z0.h, p0/m, z0.h, z0.h
+add z0.h, z0.h, #0
+add z0.h, z0.h, #0, lsl #8
+add z0.h, z0.h, z0.h
+add z0.s, p0/m, z0.s, z0.s
+add z0.s, z0.s, #0
+add z0.s, z0.s, #0, lsl #8
+add z0.s, z0.s, z0.s
+add z0.s, z1.s, z2.s
+add z21.b, p5/m, z21.b, z10.b
+add z21.b, z10.b, z21.b
+add z21.d, p5/m, z21.d, z10.d
+add z21.d, z10.d, z21.d
+add z21.h, p5/m, z21.h, z10.h
+add z21.h, z10.h, z21.h
+add z21.s, p5/m, z21.s, z10.s
+add z21.s, z10.s, z21.s
+add z23.b, p3/m, z23.b, z13.b
+add z23.b, z13.b, z8.b
+add z23.d, p3/m, z23.d, z13.d
+add z23.d, z13.d, z8.d
+add z23.h, p3/m, z23.h, z13.h
+add z23.h, z13.h, z8.h
+add z23.s, p3/m, z23.s, z13.s
+add z23.s, z13.s, z8.s
+add z31.b, p7/m, z31.b, z31.b
+add z31.b, z31.b, #255
+add z31.b, z31.b, z31.b
+add z31.d, p7/m, z31.d, z31.d
+add z31.d, z31.d, #65280
+add z31.d, z31.d, z31.d
+add z31.h, p7/m, z31.h, z31.h
+add z31.h, z31.h, #65280
+add z31.h, z31.h, z31.h
+add z31.s, p7/m, z31.s, z31.s
+add z31.s, z31.s, #65280
+add z31.s, z31.s, z31.s
+addhnb z0.b, z1.h, z31.h
+addhnb z0.h, z1.s, z31.s
+addhnb z0.s, z1.d, z31.d
+addhnt z0.b, z1.h, z31.h
+addhnt z0.h, z1.s, z31.s
+addhnt z0.s, z1.d, z31.d
+addp z0.b, p0/m, z0.b, z1.b
+addp z0.h, p0/m, z0.h, z1.h
+addp z29.s, p7/m, z29.s, z30.s
+addp z31.d, p7/m, z31.d, z30.d
+addpl sp, sp, #31
+addpl x0, x0, #-32
+addpl x21, x21, #0
+addpl x23, x8, #-1
+addvl sp, sp, #31
+addvl x0, x0, #-32
+addvl x21, x21, #0
+addvl x23, x8, #-1
+adr z0.d, [z0.d, z0.d, lsl #1]
+adr z0.d, [z0.d, z0.d, lsl #2]
+adr z0.d, [z0.d, z0.d, lsl #3]
+adr z0.d, [z0.d, z0.d, sxtw #1]
+adr z0.d, [z0.d, z0.d, sxtw #2]
+adr z0.d, [z0.d, z0.d, sxtw #3]
+adr z0.d, [z0.d, z0.d, sxtw]
+adr z0.d, [z0.d, z0.d, uxtw #1]
+adr z0.d, [z0.d, z0.d, uxtw #2]
+adr z0.d, [z0.d, z0.d, uxtw #3]
+adr z0.d, [z0.d, z0.d, uxtw]
+adr z0.d, [z0.d, z0.d]
+adr z0.s, [z0.s, z0.s, lsl #1]
+adr z0.s, [z0.s, z0.s, lsl #2]
+adr z0.s, [z0.s, z0.s, lsl #3]
+adr z0.s, [z0.s, z0.s]
+aesd z0.b, z0.b, z31.b
+aese z0.b, z0.b, z31.b
+aesimc z0.b, z0.b
+aesimc z31.b, z31.b
+aesmc z0.b, z0.b
+aesmc z31.b, z31.b
+and p0.b, p0/z, p0.b, p1.b
+and z0.d, z0.d, #0x6
+and z0.d, z0.d, #0xfffffffffffffff9
+and z0.d, z0.d, z0.d
+and z0.s, z0.s, #0x6
+and z0.s, z0.s, #0xfffffff9
+and z23.d, z13.d, z8.d
+and z23.h, z23.h, #0x6
+and z23.h, z23.h, #0xfff9
+and z31.b, p7/m, z31.b, z31.b
+and z31.d, p7/m, z31.d, z31.d
+and z31.h, p7/m, z31.h, z31.h
+and z31.s, p7/m, z31.s, z31.s
+and z5.b, z5.b, #0x6
+and z5.b, z5.b, #0xf9
+ands p0.b, p0/z, p0.b, p1.b
+andv b0, p7, z31.b
+andv d0, p7, z31.d
+andv h0, p7, z31.h
+andv s0, p7, z31.s
+asr z0.b, p0/m, z0.b, #1
+asr z0.b, p0/m, z0.b, z0.b
+asr z0.b, p0/m, z0.b, z1.d
+asr z0.b, z0.b, #1
+asr z0.b, z1.b, z2.d
+asr z0.d, p0/m, z0.d, #1
+asr z0.d, p0/m, z0.d, z0.d
+asr z0.d, z0.d, #1
+asr z0.h, p0/m, z0.h, #1
+asr z0.h, p0/m, z0.h, z0.h
+asr z0.h, p0/m, z0.h, z1.d
+asr z0.h, z0.h, #1
+asr z0.h, z1.h, z2.d
+asr z0.s, p0/m, z0.s, #1
+asr z0.s, p0/m, z0.s, z0.s
+asr z0.s, p0/m, z0.s, z1.d
+asr z0.s, z0.s, #1
+asr z0.s, z1.s, z2.d
+asr z31.b, p0/m, z31.b, #8
+asr z31.b, z31.b, #8
+asr z31.d, p0/m, z31.d, #64
+asr z31.d, z31.d, #64
+asr z31.h, p0/m, z31.h, #16
+asr z31.h, z31.h, #16
+asr z31.s, p0/m, z31.s, #32
+asr z31.s, z31.s, #32
+asrd z0.b, p0/m, z0.b, #1
+asrd z0.d, p0/m, z0.d, #1
+asrd z0.h, p0/m, z0.h, #1
+asrd z0.s, p0/m, z0.s, #1
+asrd z31.b, p0/m, z31.b, #8
+asrd z31.d, p0/m, z31.d, #64
+asrd z31.h, p0/m, z31.h, #16
+asrd z31.s, p0/m, z31.s, #32
+asrr z0.b, p0/m, z0.b, z0.b
+asrr z0.d, p0/m, z0.d, z0.d
+asrr z0.h, p0/m, z0.h, z0.h
+asrr z0.s, p0/m, z0.s, z0.s
+bcax z29.d, z29.d, z30.d, z31.d
+bdep z0.b, z1.b, z31.b
+bdep z0.d, z1.d, z31.d
+bdep z0.h, z1.h, z31.h
+bdep z0.s, z1.s, z31.s
+bext z0.b, z1.b, z31.b
+bext z0.d, z1.d, z31.d
+bext z0.h, z1.h, z31.h
+bext z0.s, z1.s, z31.s
+bfcvt z0.h, p0/m, z1.s
+bfcvtnt z0.h, p0/m, z1.s
+bfdot z0.s, z1.h, z2.h
+bfdot z0.s, z1.h, z2.h[0]
+bfdot z0.s, z1.h, z2.h[3]
+bfmlalb z0.s, z1.h, z2.h
+bfmlalb z0.s, z1.h, z2.h[0]
+bfmlalb z0.s, z1.h, z2.h[7]
+bfmlalb z10.s, z21.h, z14.h
+bfmlalb z21.s, z14.h, z3.h[2]
+bfmlalt z0.s, z1.h, z2.h
+bfmlalt z0.s, z1.h, z2.h[0]
+bfmlalt z0.s, z1.h, z2.h[7]
+bfmlalt z0.s, z1.h, z7.h[7]
+bfmlalt z14.s, z10.h, z21.h
+bfmmla z0.s, z1.h, z2.h
+bgrp z0.b, z1.b, z31.b
+bgrp z0.d, z1.d, z31.d
+bgrp z0.h, z1.h, z31.h
+bgrp z0.s, z1.s, z31.s
+bic p0.b, p0/z, p0.b, p0.b
+bic p15.b, p15/z, p15.b, p15.b
+bic z0.d, z0.d, z0.d
+bic z23.d, z13.d, z8.d
+bic z31.b, p7/m, z31.b, z31.b
+bic z31.d, p7/m, z31.d, z31.d
+bic z31.h, p7/m, z31.h, z31.h
+bic z31.s, p7/m, z31.s, z31.s
+bics p0.b, p0/z, p0.b, p0.b
+bics p15.b, p15/z, p15.b, p15.b
+brka p0.b, p15/m, p15.b
+brka p0.b, p15/z, p15.b
+brkas p0.b, p15/z, p15.b
+brkb p0.b, p15/m, p15.b
+brkb p0.b, p15/z, p15.b
+brkbs p0.b, p15/z, p15.b
+brkn p0.b, p15/z, p1.b, p0.b
+brkn p15.b, p15/z, p15.b, p15.b
+brkns p0.b, p15/z, p1.b, p0.b
+brkns p15.b, p15/z, p15.b, p15.b
+brkpa p0.b, p15/z, p1.b, p2.b
+brkpa p15.b, p15/z, p15.b, p15.b
+brkpas p0.b, p15/z, p1.b, p2.b
+brkpas p15.b, p15/z, p15.b, p15.b
+brkpb p0.b, p15/z, p1.b, p2.b
+brkpb p15.b, p15/z, p15.b, p15.b
+brkpbs p0.b, p15/z, p1.b, p2.b
+brkpbs p15.b, p15/z, p15.b, p15.b
+bsl z0.d, z0.d, z1.d, z2.d
+bsl1n z0.d, z0.d, z1.d, z2.d
+bsl2n z0.d, z0.d, z1.d, z2.d
+cadd z0.b, z0.b, z0.b, #90
+cadd z0.d, z0.d, z0.d, #90
+cadd z0.h, z0.h, z0.h, #90
+cadd z0.s, z0.s, z0.s, #90
+cadd z31.b, z31.b, z31.b, #270
+cadd z31.d, z31.d, z31.d, #270
+cadd z31.h, z31.h, z31.h, #270
+cadd z31.s, z31.s, z31.s, #270
+cdot z0.d, z1.h, z15.h[1], #0
+cdot z0.d, z1.h, z31.h, #0
+cdot z0.d, z1.h, z31.h, #180
+cdot z0.d, z1.h, z31.h, #270
+cdot z0.d, z1.h, z31.h, #90
+cdot z0.s, z1.b, z31.b, #0
+cdot z0.s, z1.b, z7.b[3], #0
+cdot z29.d, z30.h, z0.h[0], #180
+cdot z31.d, z30.h, z7.h[1], #270
+cdot z5.d, z6.h, z3.h[0], #90
+clasta b0, p7, b0, z31.b
+clasta d0, p7, d0, z31.d
+clasta h0, p7, h0, z31.h
+clasta s0, p7, s0, z31.s
+clasta w0, p7, w0, z31.b
+clasta w0, p7, w0, z31.h
+clasta w0, p7, w0, z31.s
+clasta x0, p7, x0, z31.d
+clasta z0.b, p7, z0.b, z31.b
+clasta z0.d, p7, z0.d, z31.d
+clasta z0.h, p7, z0.h, z31.h
+clasta z0.s, p7, z0.s, z31.s
+clastb b0, p7, b0, z31.b
+clastb d0, p7, d0, z31.d
+clastb h0, p7, h0, z31.h
+clastb s0, p7, s0, z31.s
+clastb w0, p7, w0, z31.b
+clastb w0, p7, w0, z31.h
+clastb w0, p7, w0, z31.s
+clastb x0, p7, x0, z31.d
+clastb z0.b, p7, z0.b, z31.b
+clastb z0.d, p7, z0.d, z31.d
+clastb z0.h, p7, z0.h, z31.h
+clastb z0.s, p7, z0.s, z31.s
+cls z31.b, p7/m, z31.b
+cls z31.d, p7/m, z31.d
+cls z31.h, p7/m, z31.h
+cls z31.s, p7/m, z31.s
+clz z31.b, p7/m, z31.b
+clz z31.d, p7/m, z31.d
+clz z31.h, p7/m, z31.h
+clz z31.s, p7/m, z31.s
+cmla z0.b, z1.b, z2.b, #0
+cmla z0.d, z1.d, z2.d, #0
+cmla z0.h, z1.h, z2.h, #0
+cmla z0.h, z1.h, z2.h[0], #0
+cmla z0.s, z1.s, z2.s, #0
+cmla z0.s, z1.s, z2.s[0], #0
+cmla z15.b, z16.b, z17.b, #270
+cmla z15.d, z16.d, z17.d, #270
+cmla z15.h, z16.h, z17.h, #270
+cmla z15.s, z16.s, z17.s, #270
+cmla z29.b, z30.b, z31.b, #90
+cmla z29.d, z30.d, z31.d, #90
+cmla z29.h, z30.h, z31.h, #90
+cmla z29.s, z30.s, z31.s, #90
+cmla z31.b, z31.b, z31.b, #180
+cmla z31.d, z31.d, z31.d, #180
+cmla z31.h, z30.h, z7.h[0], #180
+cmla z31.h, z31.h, z31.h, #180
+cmla z31.s, z30.s, z7.s[0], #180
+cmla z31.s, z31.s, z31.s, #180
+cmpeq p0.b, p0/z, z0.b, #-16
+cmpeq p0.b, p0/z, z0.b, #15
+cmpeq p0.b, p0/z, z0.b, z0.b
+cmpeq p0.b, p0/z, z0.b, z0.d
+cmpeq p0.d, p0/z, z0.d, #-16
+cmpeq p0.d, p0/z, z0.d, #15
+cmpeq p0.d, p0/z, z0.d, z0.d
+cmpeq p0.h, p0/z, z0.h, #-16
+cmpeq p0.h, p0/z, z0.h, #15
+cmpeq p0.h, p0/z, z0.h, z0.d
+cmpeq p0.h, p0/z, z0.h, z0.h
+cmpeq p0.s, p0/z, z0.s, #-16
+cmpeq p0.s, p0/z, z0.s, #15
+cmpeq p0.s, p0/z, z0.s, z0.d
+cmpeq p0.s, p0/z, z0.s, z0.s
+cmpge p0.b, p0/z, z0.b, #-16
+cmpge p0.b, p0/z, z0.b, #15
+cmpge p0.b, p0/z, z0.b, z0.b
+cmpge p0.b, p0/z, z0.b, z0.d
+cmpge p0.b, p0/z, z1.b, z0.b
+cmpge p0.d, p0/z, z0.d, #-16
+cmpge p0.d, p0/z, z0.d, #15
+cmpge p0.d, p0/z, z0.d, z0.d
+cmpge p0.d, p0/z, z1.d, z0.d
+cmpge p0.h, p0/z, z0.h, #-16
+cmpge p0.h, p0/z, z0.h, #15
+cmpge p0.h, p0/z, z0.h, z0.d
+cmpge p0.h, p0/z, z0.h, z0.h
+cmpge p0.h, p0/z, z1.h, z0.h
+cmpge p0.s, p0/z, z0.s, #-16
+cmpge p0.s, p0/z, z0.s, #15
+cmpge p0.s, p0/z, z0.s, z0.d
+cmpge p0.s, p0/z, z0.s, z0.s
+cmpge p0.s, p0/z, z1.s, z0.s
+cmpgt p0.b, p0/z, z0.b, #-16
+cmpgt p0.b, p0/z, z0.b, #15
+cmpgt p0.b, p0/z, z0.b, z0.b
+cmpgt p0.b, p0/z, z0.b, z0.d
+cmpgt p0.b, p0/z, z1.b, z0.b
+cmpgt p0.d, p0/z, z0.d, #-16
+cmpgt p0.d, p0/z, z0.d, #15
+cmpgt p0.d, p0/z, z0.d, z0.d
+cmpgt p0.d, p0/z, z1.d, z0.d
+cmpgt p0.h, p0/z, z0.h, #-16
+cmpgt p0.h, p0/z, z0.h, #15
+cmpgt p0.h, p0/z, z0.h, z0.d
+cmpgt p0.h, p0/z, z0.h, z0.h
+cmpgt p0.h, p0/z, z1.h, z0.h
+cmpgt p0.s, p0/z, z0.s, #-16
+cmpgt p0.s, p0/z, z0.s, #15
+cmpgt p0.s, p0/z, z0.s, z0.d
+cmpgt p0.s, p0/z, z0.s, z0.s
+cmpgt p0.s, p0/z, z1.s, z0.s
+cmphi p0.b, p0/z, z0.b, #0
+cmphi p0.b, p0/z, z0.b, #127
+cmphi p0.b, p0/z, z0.b, z0.b
+cmphi p0.b, p0/z, z0.b, z0.d
+cmphi p0.b, p0/z, z1.b, z0.b
+cmphi p0.d, p0/z, z0.d, #0
+cmphi p0.d, p0/z, z0.d, #127
+cmphi p0.d, p0/z, z0.d, z0.d
+cmphi p0.d, p0/z, z1.d, z0.d
+cmphi p0.h, p0/z, z0.h, #0
+cmphi p0.h, p0/z, z0.h, #127
+cmphi p0.h, p0/z, z0.h, z0.d
+cmphi p0.h, p0/z, z0.h, z0.h
+cmphi p0.h, p0/z, z1.h, z0.h
+cmphi p0.s, p0/z, z0.s, #0
+cmphi p0.s, p0/z, z0.s, #127
+cmphi p0.s, p0/z, z0.s, z0.d
+cmphi p0.s, p0/z, z0.s, z0.s
+cmphi p0.s, p0/z, z1.s, z0.s
+cmphs p0.b, p0/z, z0.b, #0
+cmphs p0.b, p0/z, z0.b, #127
+cmphs p0.b, p0/z, z0.b, z0.b
+cmphs p0.b, p0/z, z0.b, z0.d
+cmphs p0.b, p0/z, z1.b, z0.b
+cmphs p0.d, p0/z, z0.d, #0
+cmphs p0.d, p0/z, z0.d, #127
+cmphs p0.d, p0/z, z0.d, z0.d
+cmphs p0.d, p0/z, z1.d, z0.d
+cmphs p0.h, p0/z, z0.h, #0
+cmphs p0.h, p0/z, z0.h, #127
+cmphs p0.h, p0/z, z0.h, z0.d
+cmphs p0.h, p0/z, z0.h, z0.h
+cmphs p0.h, p0/z, z1.h, z0.h
+cmphs p0.s, p0/z, z0.s, #0
+cmphs p0.s, p0/z, z0.s, #127
+cmphs p0.s, p0/z, z0.s, z0.d
+cmphs p0.s, p0/z, z0.s, z0.s
+cmphs p0.s, p0/z, z1.s, z0.s
+cmple p0.b, p0/z, z0.b, #-16
+cmple p0.b, p0/z, z0.b, #15
+cmple p0.b, p0/z, z0.b, z0.d
+cmple p0.d, p0/z, z0.d, #-16
+cmple p0.d, p0/z, z0.d, #15
+cmple p0.h, p0/z, z0.h, #-16
+cmple p0.h, p0/z, z0.h, #15
+cmple p0.h, p0/z, z0.h, z0.d
+cmple p0.s, p0/z, z0.s, #-16
+cmple p0.s, p0/z, z0.s, #15
+cmple p0.s, p0/z, z0.s, z0.d
+cmplo p0.b, p0/z, z0.b, #0
+cmplo p0.b, p0/z, z0.b, #127
+cmplo p0.b, p0/z, z0.b, z0.d
+cmplo p0.d, p0/z, z0.d, #0
+cmplo p0.d, p0/z, z0.d, #127
+cmplo p0.h, p0/z, z0.h, #0
+cmplo p0.h, p0/z, z0.h, #127
+cmplo p0.h, p0/z, z0.h, z0.d
+cmplo p0.s, p0/z, z0.s, #0
+cmplo p0.s, p0/z, z0.s, #127
+cmplo p0.s, p0/z, z0.s, z0.d
+cmpls p0.b, p0/z, z0.b, #0
+cmpls p0.b, p0/z, z0.b, #127
+cmpls p0.b, p0/z, z0.b, z0.d
+cmpls p0.d, p0/z, z0.d, #0
+cmpls p0.d, p0/z, z0.d, #127
+cmpls p0.h, p0/z, z0.h, #0
+cmpls p0.h, p0/z, z0.h, #127
+cmpls p0.h, p0/z, z0.h, z0.d
+cmpls p0.s, p0/z, z0.s, #0
+cmpls p0.s, p0/z, z0.s, #127
+cmpls p0.s, p0/z, z0.s, z0.d
+cmplt p0.b, p0/z, z0.b, #-16
+cmplt p0.b, p0/z, z0.b, #15
+cmplt p0.b, p0/z, z0.b, z0.d
+cmplt p0.d, p0/z, z0.d, #-16
+cmplt p0.d, p0/z, z0.d, #15
+cmplt p0.h, p0/z, z0.h, #-16
+cmplt p0.h, p0/z, z0.h, #15
+cmplt p0.h, p0/z, z0.h, z0.d
+cmplt p0.s, p0/z, z0.s, #-16
+cmplt p0.s, p0/z, z0.s, #15
+cmplt p0.s, p0/z, z0.s, z0.d
+cmpne p0.b, p0/z, z0.b, #-16
+cmpne p0.b, p0/z, z0.b, #15
+cmpne p0.b, p0/z, z0.b, z0.b
+cmpne p0.b, p0/z, z0.b, z0.d
+cmpne p0.d, p0/z, z0.d, #-16
+cmpne p0.d, p0/z, z0.d, #15
+cmpne p0.d, p0/z, z0.d, z0.d
+cmpne p0.h, p0/z, z0.h, #-16
+cmpne p0.h, p0/z, z0.h, #15
+cmpne p0.h, p0/z, z0.h, z0.d
+cmpne p0.h, p0/z, z0.h, z0.h
+cmpne p0.s, p0/z, z0.s, #-16
+cmpne p0.s, p0/z, z0.s, #15
+cmpne p0.s, p0/z, z0.s, z0.d
+cmpne p0.s, p0/z, z0.s, z0.s
+cnot z31.b, p7/m, z31.b
+cnot z31.d, p7/m, z31.d
+cnot z31.h, p7/m, z31.h
+cnot z31.s, p7/m, z31.s
+cnt z31.b, p7/m, z31.b
+cnt z31.d, p7/m, z31.d
+cnt z31.h, p7/m, z31.h
+cnt z31.s, p7/m, z31.s
+cntb x0
+cntb x0, #28
+cntb x0, all, mul #16
+cntb x0, pow2
+cntd x0
+cntd x0, #28
+cntd x0, all, mul #16
+cntd x0, pow2
+cnth x0
+cnth x0, #28
+cnth x0, all, mul #16
+cnth x0, pow2
+cntp x0, p15, p0.b
+cntp x0, p15, p0.d
+cntp x0, p15, p0.h
+cntp x0, p15, p0.s
+cntw x0
+cntw x0, #28
+cntw x0, all, mul #16
+cntw x0, pow2
+compact z31.d, p7, z31.d
+compact z31.s, p7, z31.s
+ctermeq w30, wzr
+ctermeq wzr, w30
+ctermeq x30, xzr
+ctermeq xzr, x30
+ctermne w30, wzr
+ctermne wzr, w30
+ctermne x30, xzr
+ctermne xzr, x30
+decb x0
+decb x0, #14
+decb x0, all, mul #16
+decb x0, pow2
+decb x0, vl1
+decd x0
+decd x0, #14
+decd x0, all, mul #16
+decd x0, pow2
+decd x0, vl1
+dech x0
+dech x0, #14
+dech x0, all, mul #16
+dech x0, pow2
+dech x0, vl1
+decp x0, p0.b
+decp x0, p0.d
+decp x0, p0.h
+decp x0, p0.s
+decp xzr, p15.b
+decp xzr, p15.d
+decp xzr, p15.h
+decp xzr, p15.s
+decp z31.d, p15.d
+decp z31.h, p15.h
+decp z31.s, p15.s
+decw x0
+decw x0, #14
+decw x0, all, mul #16
+decw x0, pow2
+decw x0, vl1
+dupm z0.d, #0xfffffffffffffff9
+dupm z0.s, #0xfffffff9
+dupm z23.h, #0xfff9
+dupm z5.b, #0xf9
+eor p0.b, p0/z, p0.b, p1.b
+eor z0.d, z0.d, #0x6
+eor z0.d, z0.d, #0xfffffffffffffff9
+eor z0.d, z0.d, z0.d
+eor z0.s, z0.s, #0x6
+eor z0.s, z0.s, #0xfffffff9
+eor z23.d, z13.d, z8.d
+eor z23.h, z23.h, #0x6
+eor z23.h, z23.h, #0xfff9
+eor z31.b, p7/m, z31.b, z31.b
+eor z31.d, p7/m, z31.d, z31.d
+eor z31.h, p7/m, z31.h, z31.h
+eor z31.s, p7/m, z31.s, z31.s
+eor z5.b, z5.b, #0x6
+eor z5.b, z5.b, #0xf9
+eor3 z29.d, z29.d, z30.d, z31.d
+eorbt z0.b, z1.b, z31.b
+eorbt z0.d, z1.d, z31.d
+eorbt z0.h, z1.h, z31.h
+eorbt z0.s, z1.s, z31.s
+eors p0.b, p0/z, p0.b, p1.b
+eortb z0.b, z1.b, z31.b
+eortb z0.d, z1.d, z31.d
+eortb z0.h, z1.h, z31.h
+eortb z0.s, z1.s, z31.s
+eorv b0, p7, z31.b
+eorv d0, p7, z31.d
+eorv h0, p7, z31.h
+eorv s0, p7, z31.s
+ext z0.b, { z1.b, z2.b }, #0
+ext z31.b, z31.b, z0.b, #0
+ext z31.b, z31.b, z0.b, #255
+ext z31.b, { z30.b, z31.b }, #255
+fabd z0.d, p7/m, z0.d, z31.d
+fabd z0.h, p7/m, z0.h, z31.h
+fabd z0.s, p7/m, z0.s, z31.s
+fabs z31.d, p7/m, z31.d
+fabs z31.h, p7/m, z31.h
+fabs z31.s, p7/m, z31.s
+facge p0.d, p0/z, z0.d, z1.d
+facge p0.d, p0/z, z1.d, z0.d
+facge p0.h, p0/z, z0.h, z1.h
+facge p0.h, p0/z, z1.h, z0.h
+facge p0.s, p0/z, z0.s, z1.s
+facge p0.s, p0/z, z1.s, z0.s
+facgt p0.d, p0/z, z0.d, z1.d
+facgt p0.d, p0/z, z1.d, z0.d
+facgt p0.h, p0/z, z0.h, z1.h
+facgt p0.h, p0/z, z1.h, z0.h
+facgt p0.s, p0/z, z0.s, z1.s
+facgt p0.s, p0/z, z1.s, z0.s
+fadd z0.d, p0/m, z0.d, #0.5
+fadd z0.d, p7/m, z0.d, z31.d
+fadd z0.d, z1.d, z31.d
+fadd z0.h, p0/m, z0.h, #0.5
+fadd z0.h, p7/m, z0.h, z31.h
+fadd z0.h, z1.h, z31.h
+fadd z0.s, p0/m, z0.s, #0.5
+fadd z0.s, p7/m, z0.s, z31.s
+fadd z0.s, z1.s, z31.s
+fadd z31.d, p7/m, z31.d, #1.0
+fadd z31.h, p7/m, z31.h, #1.0
+fadd z31.s, p7/m, z31.s, #1.0
+fadda d0, p7, d0, z31.d
+fadda h0, p7, h0, z31.h
+fadda s0, p7, s0, z31.s
+faddp z0.h, p0/m, z0.h, z1.h
+faddp z29.s, p3/m, z29.s, z30.s
+faddp z31.d, p7/m, z31.d, z30.d
+faddv d0, p7, z31.d
+faddv h0, p7, z31.h
+faddv s0, p7, z31.s
+fcadd z0.d, p0/m, z0.d, z0.d, #90
+fcadd z0.h, p0/m, z0.h, z0.h, #90
+fcadd z0.s, p0/m, z0.s, z0.s, #90
+fcadd z31.d, p7/m, z31.d, z31.d, #270
+fcadd z31.h, p7/m, z31.h, z31.h, #270
+fcadd z31.s, p7/m, z31.s, z31.s, #270
+fcmeq p0.d, p0/z, z0.d, #0.0
+fcmeq p0.d, p0/z, z0.d, z1.d
+fcmeq p0.h, p0/z, z0.h, #0.0
+fcmeq p0.h, p0/z, z0.h, z1.h
+fcmeq p0.s, p0/z, z0.s, #0.0
+fcmeq p0.s, p0/z, z0.s, z1.s
+fcmge p0.d, p0/z, z0.d, #0.0
+fcmge p0.d, p0/z, z0.d, z1.d
+fcmge p0.d, p0/z, z1.d, z0.d
+fcmge p0.h, p0/z, z0.h, #0.0
+fcmge p0.h, p0/z, z0.h, z1.h
+fcmge p0.h, p0/z, z1.h, z0.h
+fcmge p0.s, p0/z, z0.s, #0.0
+fcmge p0.s, p0/z, z0.s, z1.s
+fcmge p0.s, p0/z, z1.s, z0.s
+fcmgt p0.d, p0/z, z0.d, #0.0
+fcmgt p0.d, p0/z, z0.d, z1.d
+fcmgt p0.d, p0/z, z1.d, z0.d
+fcmgt p0.h, p0/z, z0.h, #0.0
+fcmgt p0.h, p0/z, z0.h, z1.h
+fcmgt p0.h, p0/z, z1.h, z0.h
+fcmgt p0.s, p0/z, z0.s, #0.0
+fcmgt p0.s, p0/z, z0.s, z1.s
+fcmgt p0.s, p0/z, z1.s, z0.s
+fcmla z0.d, p0/m, z0.d, z0.d, #0
+fcmla z0.d, p0/m, z1.d, z2.d, #90
+fcmla z0.h, p0/m, z0.h, z0.h, #0
+fcmla z0.h, p0/m, z1.h, z2.h, #90
+fcmla z0.h, z0.h, z0.h[0], #0
+fcmla z0.s, p0/m, z0.s, z0.s, #0
+fcmla z0.s, p0/m, z1.s, z2.s, #90
+fcmla z21.s, z10.s, z5.s[1], #90
+fcmla z23.s, z13.s, z8.s[0], #270
+fcmla z29.d, p7/m, z30.d, z31.d, #180
+fcmla z29.h, p7/m, z30.h, z31.h, #180
+fcmla z29.s, p7/m, z30.s, z31.s, #180
+fcmla z31.d, p7/m, z31.d, z31.d, #270
+fcmla z31.h, p7/m, z31.h, z31.h, #270
+fcmla z31.h, z31.h, z7.h[3], #270
+fcmla z31.s, p7/m, z31.s, z31.s, #270
+fcmle p0.d, p0/z, z0.d, #0.0
+fcmle p0.h, p0/z, z0.h, #0.0
+fcmle p0.s, p0/z, z0.s, #0.0
+fcmlt p0.d, p0/z, z0.d, #0.0
+fcmlt p0.h, p0/z, z0.h, #0.0
+fcmlt p0.s, p0/z, z0.s, #0.0
+fcmne p0.d, p0/z, z0.d, #0.0
+fcmne p0.d, p0/z, z0.d, z1.d
+fcmne p0.h, p0/z, z0.h, #0.0
+fcmne p0.h, p0/z, z0.h, z1.h
+fcmne p0.s, p0/z, z0.s, #0.0
+fcmne p0.s, p0/z, z0.s, z1.s
+fcmuo p0.d, p0/z, z0.d, z1.d
+fcmuo p0.h, p0/z, z0.h, z1.h
+fcmuo p0.s, p0/z, z0.s, z1.s
+fcvt z0.d, p0/m, z0.h
+fcvt z0.d, p0/m, z0.s
+fcvt z0.h, p0/m, z0.d
+fcvt z0.h, p0/m, z0.s
+fcvt z0.s, p0/m, z0.d
+fcvt z0.s, p0/m, z0.h
+fcvtlt z0.s, p0/m, z1.h
+fcvtlt z30.d, p7/m, z31.s
+fcvtnt z0.h, p0/m, z1.s
+fcvtnt z30.s, p7/m, z31.d
+fcvtx z0.s, p0/m, z0.d
+fcvtx z30.s, p7/m, z31.d
+fcvtxnt z0.s, p0/m, z1.d
+fcvtxnt z30.s, p7/m, z31.d
+fcvtzs z0.d, p0/m, z0.d
+fcvtzs z0.d, p0/m, z0.h
+fcvtzs z0.d, p0/m, z0.s
+fcvtzs z0.h, p0/m, z0.h
+fcvtzs z0.s, p0/m, z0.d
+fcvtzs z0.s, p0/m, z0.h
+fcvtzs z0.s, p0/m, z0.s
+fcvtzu z0.d, p0/m, z0.d
+fcvtzu z0.d, p0/m, z0.h
+fcvtzu z0.d, p0/m, z0.s
+fcvtzu z0.h, p0/m, z0.h
+fcvtzu z0.s, p0/m, z0.d
+fcvtzu z0.s, p0/m, z0.h
+fcvtzu z0.s, p0/m, z0.s
+fdiv z0.d, p7/m, z0.d, z31.d
+fdiv z0.h, p7/m, z0.h, z31.h
+fdiv z0.s, p7/m, z0.s, z31.s
+fdivr z0.d, p7/m, z0.d, z31.d
+fdivr z0.h, p7/m, z0.h, z31.h
+fdivr z0.s, p7/m, z0.s, z31.s
+fexpa z0.d, z31.d
+fexpa z0.h, z31.h
+fexpa z0.s, z31.s
+flogb z31.d, p7/m, z31.d
+flogb z31.h, p7/m, z31.h
+flogb z31.s, p7/m, z31.s
+fmad z0.d, p7/m, z1.d, z31.d
+fmad z0.h, p7/m, z1.h, z31.h
+fmad z0.s, p7/m, z1.s, z31.s
+fmax z0.d, p0/m, z0.d, #0.0
+fmax z0.d, p7/m, z0.d, z31.d
+fmax z0.h, p0/m, z0.h, #0.0
+fmax z0.h, p7/m, z0.h, z31.h
+fmax z0.s, p0/m, z0.s, #0.0
+fmax z0.s, p7/m, z0.s, z31.s
+fmax z31.d, p7/m, z31.d, #1.0
+fmax z31.h, p7/m, z31.h, #1.0
+fmax z31.s, p7/m, z31.s, #1.0
+fmaxnm z0.d, p0/m, z0.d, #0.0
+fmaxnm z0.d, p7/m, z0.d, z31.d
+fmaxnm z0.h, p0/m, z0.h, #0.0
+fmaxnm z0.h, p7/m, z0.h, z31.h
+fmaxnm z0.s, p0/m, z0.s, #0.0
+fmaxnm z0.s, p7/m, z0.s, z31.s
+fmaxnm z31.d, p7/m, z31.d, #1.0
+fmaxnm z31.h, p7/m, z31.h, #1.0
+fmaxnm z31.s, p7/m, z31.s, #1.0
+fmaxnmp z0.h, p0/m, z0.h, z1.h
+fmaxnmp z29.s, p3/m, z29.s, z30.s
+fmaxnmp z31.d, p7/m, z31.d, z30.d
+fmaxnmv d0, p7, z31.d
+fmaxnmv h0, p7, z31.h
+fmaxnmv s0, p7, z31.s
+fmaxp z0.h, p0/m, z0.h, z1.h
+fmaxp z29.s, p3/m, z29.s, z30.s
+fmaxp z31.d, p7/m, z31.d, z30.d
+fmaxv d0, p7, z31.d
+fmaxv h0, p7, z31.h
+fmaxv s0, p7, z31.s
+fmin z0.d, p0/m, z0.d, #0.0
+fmin z0.d, p7/m, z0.d, z31.d
+fmin z0.h, p0/m, z0.h, #0.0
+fmin z0.h, p7/m, z0.h, z31.h
+fmin z0.s, p0/m, z0.s, #0.0
+fmin z0.s, p7/m, z0.s, z31.s
+fmin z31.d, p7/m, z31.d, #1.0
+fmin z31.h, p7/m, z31.h, #1.0
+fmin z31.s, p7/m, z31.s, #1.0
+fminnm z0.d, p0/m, z0.d, #0.0
+fminnm z0.d, p7/m, z0.d, z31.d
+fminnm z0.h, p0/m, z0.h, #0.0
+fminnm z0.h, p7/m, z0.h, z31.h
+fminnm z0.s, p0/m, z0.s, #0.0
+fminnm z0.s, p7/m, z0.s, z31.s
+fminnm z31.d, p7/m, z31.d, #1.0
+fminnm z31.h, p7/m, z31.h, #1.0
+fminnm z31.s, p7/m, z31.s, #1.0
+fminnmp z0.h, p0/m, z0.h, z1.h
+fminnmp z29.s, p3/m, z29.s, z30.s
+fminnmp z31.d, p7/m, z31.d, z30.d
+fminnmv d0, p7, z31.d
+fminnmv h0, p7, z31.h
+fminnmv s0, p7, z31.s
+fminp z0.h, p0/m, z0.h, z1.h
+fminp z29.s, p3/m, z29.s, z30.s
+fminp z31.d, p7/m, z31.d, z30.d
+fminv d0, p7, z31.d
+fminv h0, p7, z31.h
+fminv s0, p7, z31.s
+fmla z0.d, p7/m, z1.d, z31.d
+fmla z0.d, z1.d, z7.d[1]
+fmla z0.h, p7/m, z1.h, z31.h
+fmla z0.h, z1.h, z7.h[7]
+fmla z0.s, p7/m, z1.s, z31.s
+fmla z0.s, z1.s, z7.s[3]
+fmlalb z0.s, z1.h, z7.h[0]
+fmlalb z29.s, z30.h, z31.h
+fmlalb z30.s, z31.h, z7.h[7]
+fmlalt z0.s, z1.h, z7.h[0]
+fmlalt z29.s, z30.h, z31.h
+fmlalt z30.s, z31.h, z7.h[7]
+fmls z0.d, p7/m, z1.d, z31.d
+fmls z0.d, z1.d, z7.d[1]
+fmls z0.h, p7/m, z1.h, z31.h
+fmls z0.h, z1.h, z7.h[7]
+fmls z0.s, p7/m, z1.s, z31.s
+fmls z0.s, z1.s, z7.s[3]
+fmlslb z0.s, z1.h, z7.h[0]
+fmlslb z29.s, z30.h, z31.h
+fmlslb z30.s, z31.h, z7.h[7]
+fmlslt z0.s, z1.h, z7.h[0]
+fmlslt z29.s, z30.h, z31.h
+fmlslt z30.s, z31.h, z7.h[7]
+fmov z0.d, #-10.00000000
+fmov z0.d, #0.12500000
+fmov z0.d, p0/m, #-10.00000000
+fmov z0.d, p0/m, #0.12500000
+fmov z0.h, #-0.12500000
+fmov z0.h, p0/m, #-0.12500000
+fmov z0.s, #-0.12500000
+fmov z0.s, p0/m, #-0.12500000
+fmsb z0.d, p7/m, z1.d, z31.d
+fmsb z0.h, p7/m, z1.h, z31.h
+fmsb z0.s, p7/m, z1.s, z31.s
+fmul z0.d, p0/m, z0.d, #0.5
+fmul z0.d, p7/m, z0.d, z31.d
+fmul z0.d, z0.d, z0.d[0]
+fmul z0.d, z1.d, z31.d
+fmul z0.h, p0/m, z0.h, #0.5
+fmul z0.h, p7/m, z0.h, z31.h
+fmul z0.h, z0.h, z0.h[0]
+fmul z0.h, z1.h, z31.h
+fmul z0.s, p0/m, z0.s, #0.5
+fmul z0.s, p7/m, z0.s, z31.s
+fmul z0.s, z0.s, z0.s[0]
+fmul z0.s, z1.s, z31.s
+fmul z31.d, p7/m, z31.d, #2.0
+fmul z31.d, z31.d, z15.d[1]
+fmul z31.h, p7/m, z31.h, #2.0
+fmul z31.h, z31.h, z7.h[7]
+fmul z31.s, p7/m, z31.s, #2.0
+fmul z31.s, z31.s, z7.s[3]
+fmulx z0.d, p7/m, z0.d, z31.d
+fmulx z0.h, p7/m, z0.h, z31.h
+fmulx z0.s, p7/m, z0.s, z31.s
+fneg z31.d, p7/m, z31.d
+fneg z31.h, p7/m, z31.h
+fneg z31.s, p7/m, z31.s
+fnmad z0.d, p7/m, z1.d, z31.d
+fnmad z0.h, p7/m, z1.h, z31.h
+fnmad z0.s, p7/m, z1.s, z31.s
+fnmla z0.d, p7/m, z1.d, z31.d
+fnmla z0.h, p7/m, z1.h, z31.h
+fnmla z0.s, p7/m, z1.s, z31.s
+fnmls z0.d, p7/m, z1.d, z31.d
+fnmls z0.h, p7/m, z1.h, z31.h
+fnmls z0.s, p7/m, z1.s, z31.s
+fnmsb z0.d, p7/m, z1.d, z31.d
+fnmsb z0.h, p7/m, z1.h, z31.h
+fnmsb z0.s, p7/m, z1.s, z31.s
+frecpe z0.d, z31.d
+frecpe z0.h, z31.h
+frecpe z0.s, z31.s
+frecps z0.d, z1.d, z31.d
+frecps z0.h, z1.h, z31.h
+frecps z0.s, z1.s, z31.s
+frecpx z31.d, p7/m, z31.d
+frecpx z31.h, p7/m, z31.h
+frecpx z31.s, p7/m, z31.s
+frinta z31.d, p7/m, z31.d
+frinta z31.h, p7/m, z31.h
+frinta z31.s, p7/m, z31.s
+frinti z31.d, p7/m, z31.d
+frinti z31.h, p7/m, z31.h
+frinti z31.s, p7/m, z31.s
+frintm z31.d, p7/m, z31.d
+frintm z31.h, p7/m, z31.h
+frintm z31.s, p7/m, z31.s
+frintn z31.d, p7/m, z31.d
+frintn z31.h, p7/m, z31.h
+frintn z31.s, p7/m, z31.s
+frintp z31.d, p7/m, z31.d
+frintp z31.h, p7/m, z31.h
+frintp z31.s, p7/m, z31.s
+frintx z31.d, p7/m, z31.d
+frintx z31.h, p7/m, z31.h
+frintx z31.s, p7/m, z31.s
+frintz z31.d, p7/m, z31.d
+frintz z31.h, p7/m, z31.h
+frintz z31.s, p7/m, z31.s
+frsqrte z0.d, z31.d
+frsqrte z0.h, z31.h
+frsqrte z0.s, z31.s
+frsqrts z0.d, z1.d, z31.d
+frsqrts z0.h, z1.h, z31.h
+frsqrts z0.s, z1.s, z31.s
+fscale z0.d, p7/m, z0.d, z31.d
+fscale z0.h, p7/m, z0.h, z31.h
+fscale z0.s, p7/m, z0.s, z31.s
+fsqrt z31.d, p7/m, z31.d
+fsqrt z31.h, p7/m, z31.h
+fsqrt z31.s, p7/m, z31.s
+fsub z0.d, p0/m, z0.d, #0.5
+fsub z0.d, p7/m, z0.d, z31.d
+fsub z0.d, z1.d, z31.d
+fsub z0.h, p0/m, z0.h, #0.5
+fsub z0.h, p7/m, z0.h, z31.h
+fsub z0.h, z1.h, z31.h
+fsub z0.s, p0/m, z0.s, #0.5
+fsub z0.s, p7/m, z0.s, z31.s
+fsub z0.s, z1.s, z31.s
+fsub z31.d, p7/m, z31.d, #1.0
+fsub z31.h, p7/m, z31.h, #1.0
+fsub z31.s, p7/m, z31.s, #1.0
+fsubr z0.d, p0/m, z0.d, #0.5
+fsubr z0.d, p7/m, z0.d, z31.d
+fsubr z0.h, p0/m, z0.h, #0.5
+fsubr z0.h, p7/m, z0.h, z31.h
+fsubr z0.s, p0/m, z0.s, #0.5
+fsubr z0.s, p7/m, z0.s, z31.s
+fsubr z31.d, p7/m, z31.d, #1.0
+fsubr z31.h, p7/m, z31.h, #1.0
+fsubr z31.s, p7/m, z31.s, #1.0
+ftmad z0.d, z0.d, z31.d, #7
+ftmad z0.h, z0.h, z31.h, #7
+ftmad z0.s, z0.s, z31.s, #7
+ftsmul z0.d, z1.d, z31.d
+ftsmul z0.h, z1.h, z31.h
+ftsmul z0.s, z1.s, z31.s
+ftssel z0.d, z1.d, z31.d
+ftssel z0.h, z1.h, z31.h
+ftssel z0.s, z1.s, z31.s
+histcnt z0.s, p0/z, z1.s, z2.s
+histcnt z29.d, p7/z, z30.d, z31.d
+histseg z0.b, z1.b, z31.b
+incb x0
+incb x0, #14
+incb x0, all, mul #16
+incb x0, pow2
+incb x0, vl1
+incd x0
+incd x0, #14
+incd x0, all, mul #16
+incd x0, pow2
+incd x0, vl1
+incd z0.d
+incd z0.d, all, mul #16
+inch x0
+inch x0, #14
+inch x0, all, mul #16
+inch x0, pow2
+inch x0, vl1
+inch z0.h
+inch z0.h, all, mul #16
+incp x0, p0.b
+incp x0, p0.d
+incp x0, p0.h
+incp x0, p0.s
+incp xzr, p15.b
+incp xzr, p15.d
+incp xzr, p15.h
+incp xzr, p15.s
+incp z31.d, p15.d
+incp z31.h, p15.h
+incp z31.s, p15.s
+incw x0
+incw x0, #14
+incw x0, all, mul #16
+incw x0, pow2
+incw x0, vl1
+incw z0.s
+incw z0.s, all, mul #16
+index z0.b, #0, #0
+index z0.d, #0, #0
+index z0.h, #0, #0
+index z0.h, w0, w0
+index z0.s, #0, #0
+index z21.b, w10, w21
+index z21.d, x10, x21
+index z21.s, w10, w21
+index z23.b, #13, w8
+index z23.b, w13, #8
+index z23.d, #13, x8
+index z23.d, x13, #8
+index z23.h, #13, w8
+index z23.h, w13, #8
+index z23.s, #13, w8
+index z23.s, w13, #8
+index z31.b, #-1, #-1
+index z31.b, #-1, wzr
+index z31.b, wzr, #-1
+index z31.b, wzr, wzr
+index z31.d, #-1, #-1
+index z31.d, #-1, xzr
+index z31.d, xzr, #-1
+index z31.d, xzr, xzr
+index z31.h, #-1, #-1
+index z31.h, #-1, wzr
+index z31.h, wzr, #-1
+index z31.h, wzr, wzr
+index z31.s, #-1, #-1
+index z31.s, #-1, wzr
+index z31.s, wzr, #-1
+index z31.s, wzr, wzr
+insr z0.b, w0
+insr z0.d, x0
+insr z0.h, w0
+insr z0.s, w0
+insr z31.b, b31
+insr z31.b, wzr
+insr z31.d, d31
+insr z31.d, xzr
+insr z31.h, h31
+insr z31.h, wzr
+insr z31.s, s31
+insr z31.s, wzr
+lasta b0, p7, z31.b
+lasta d0, p7, z31.d
+lasta h0, p7, z31.h
+lasta s0, p7, z31.s
+lasta w0, p7, z31.b
+lasta w0, p7, z31.h
+lasta w0, p7, z31.s
+lasta x0, p7, z31.d
+lastb b0, p7, z31.b
+lastb d0, p7, z31.d
+lastb h0, p7, z31.h
+lastb s0, p7, z31.s
+lastb w0, p7, z31.b
+lastb w0, p7, z31.h
+lastb w0, p7, z31.s
+lastb x0, p7, z31.d
+ld1b { z0.b }, p0/z, [sp, x0]
+ld1b { z0.b }, p0/z, [x0, x0]
+ld1b { z0.b }, p0/z, [x0]
+ld1b { z0.d }, p0/z, [x0]
+ld1b { z0.d }, p0/z, [z0.d]
+ld1b { z0.h }, p0/z, [x0]
+ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+ld1b { z0.s }, p0/z, [x0]
+ld1b { z0.s }, p0/z, [z0.s]
+ld1b { z21.b }, p5/z, [x10, #5, mul vl]
+ld1b { z21.d }, p5/z, [x10, #5, mul vl]
+ld1b { z21.d }, p5/z, [x10, z21.d, sxtw]
+ld1b { z21.d }, p5/z, [x10, z21.d, uxtw]
+ld1b { z21.h }, p5/z, [x10, #5, mul vl]
+ld1b { z21.s }, p5/z, [x10, #5, mul vl]
+ld1b { z21.s }, p5/z, [x10, x21]
+ld1b { z23.d }, p3/z, [x13, x8]
+ld1b { z31.b }, p7/z, [sp, #-1, mul vl]
+ld1b { z31.d }, p7/z, [sp, #-1, mul vl]
+ld1b { z31.d }, p7/z, [sp, z31.d]
+ld1b { z31.d }, p7/z, [z31.d, #31]
+ld1b { z31.h }, p7/z, [sp, #-1, mul vl]
+ld1b { z31.s }, p7/z, [sp, #-1, mul vl]
+ld1b { z31.s }, p7/z, [z31.s, #31]
+ld1b { z5.h }, p3/z, [x17, x16]
+ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+ld1d { z0.d }, p0/z, [x0]
+ld1d { z0.d }, p0/z, [z0.d]
+ld1d { z21.d }, p5/z, [x10, #5, mul vl]
+ld1d { z21.d }, p5/z, [x10, z21.d, sxtw]
+ld1d { z21.d }, p5/z, [x10, z21.d, uxtw]
+ld1d { z23.d }, p3/z, [sp, x8, lsl #3]
+ld1d { z23.d }, p3/z, [x13, x8, lsl #3]
+ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
+ld1d { z31.d }, p7/z, [sp, #-1, mul vl]
+ld1d { z31.d }, p7/z, [sp, z31.d]
+ld1d { z31.d }, p7/z, [z31.d, #248]
+ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+ld1h { z0.d }, p0/z, [x0]
+ld1h { z0.d }, p0/z, [z0.d]
+ld1h { z0.h }, p0/z, [x0]
+ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+ld1h { z0.s }, p0/z, [x0]
+ld1h { z0.s }, p0/z, [z0.s]
+ld1h { z21.d }, p5/z, [x10, #5, mul vl]
+ld1h { z21.d }, p5/z, [x10, z21.d, sxtw]
+ld1h { z21.d }, p5/z, [x10, z21.d, uxtw]
+ld1h { z21.h }, p5/z, [x10, #5, mul vl]
+ld1h { z21.s }, p5/z, [x10, #5, mul vl]
+ld1h { z21.s }, p5/z, [x10, x21, lsl #1]
+ld1h { z23.d }, p3/z, [x13, x8, lsl #1]
+ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
+ld1h { z31.d }, p7/z, [sp, #-1, mul vl]
+ld1h { z31.d }, p7/z, [sp, z31.d]
+ld1h { z31.d }, p7/z, [z31.d, #62]
+ld1h { z31.h }, p7/z, [sp, #-1, mul vl]
+ld1h { z31.s }, p7/z, [sp, #-1, mul vl]
+ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+ld1h { z31.s }, p7/z, [z31.s, #62]
+ld1h { z5.h }, p3/z, [sp, x16, lsl #1]
+ld1h { z5.h }, p3/z, [x17, x16, lsl #1]
+ld1rb { z0.b }, p0/z, [x0]
+ld1rb { z0.d }, p0/z, [x0]
+ld1rb { z0.h }, p0/z, [x0]
+ld1rb { z0.s }, p0/z, [x0]
+ld1rb { z31.b }, p7/z, [sp, #63]
+ld1rb { z31.d }, p7/z, [sp, #63]
+ld1rb { z31.h }, p7/z, [sp, #63]
+ld1rb { z31.s }, p7/z, [sp, #63]
+ld1rd { z0.d }, p0/z, [x0]
+ld1rd { z31.d }, p7/z, [sp, #504]
+ld1rh { z0.d }, p0/z, [x0]
+ld1rh { z0.h }, p0/z, [x0]
+ld1rh { z0.s }, p0/z, [x0]
+ld1rh { z31.d }, p7/z, [sp, #126]
+ld1rh { z31.h }, p7/z, [sp, #126]
+ld1rh { z31.s }, p7/z, [sp, #126]
+ld1rqb { z0.b }, p0/z, [x0, x0]
+ld1rqb { z0.b }, p0/z, [x0]
+ld1rqb { z21.b }, p5/z, [x10, #112]
+ld1rqb { z23.b }, p3/z, [x13, #-128]
+ld1rqb { z31.b }, p7/z, [sp, #-16]
+ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3]
+ld1rqd { z0.d }, p0/z, [x0]
+ld1rqd { z23.d }, p3/z, [x13, #-128]
+ld1rqd { z23.d }, p3/z, [x13, #112]
+ld1rqd { z31.d }, p7/z, [sp, #-16]
+ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1]
+ld1rqh { z0.h }, p0/z, [x0]
+ld1rqh { z23.h }, p3/z, [x13, #-128]
+ld1rqh { z23.h }, p3/z, [x13, #112]
+ld1rqh { z31.h }, p7/z, [sp, #-16]
+ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2]
+ld1rqw { z0.s }, p0/z, [x0]
+ld1rqw { z23.s }, p3/z, [x13, #-128]
+ld1rqw { z23.s }, p3/z, [x13, #112]
+ld1rqw { z31.s }, p7/z, [sp, #-16]
+ld1rsb { z0.d }, p0/z, [x0]
+ld1rsb { z0.h }, p0/z, [x0]
+ld1rsb { z0.s }, p0/z, [x0]
+ld1rsb { z31.d }, p7/z, [sp, #63]
+ld1rsb { z31.h }, p7/z, [sp, #63]
+ld1rsb { z31.s }, p7/z, [sp, #63]
+ld1rsh { z0.d }, p0/z, [x0]
+ld1rsh { z0.s }, p0/z, [x0]
+ld1rsh { z31.d }, p7/z, [sp, #126]
+ld1rsh { z31.s }, p7/z, [sp, #126]
+ld1rsw { z0.d }, p0/z, [x0]
+ld1rsw { z31.d }, p7/z, [sp, #252]
+ld1rw { z0.d }, p0/z, [x0]
+ld1rw { z0.s }, p0/z, [x0]
+ld1rw { z31.d }, p7/z, [sp, #252]
+ld1rw { z31.s }, p7/z, [sp, #252]
+ld1sb { z0.d }, p0/z, [x0]
+ld1sb { z0.d }, p0/z, [z0.d]
+ld1sb { z0.h }, p0/z, [sp, x0]
+ld1sb { z0.h }, p0/z, [x0, x0]
+ld1sb { z0.h }, p0/z, [x0]
+ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
+ld1sb { z0.s }, p0/z, [x0]
+ld1sb { z0.s }, p0/z, [z0.s]
+ld1sb { z21.d }, p5/z, [x10, #5, mul vl]
+ld1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
+ld1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
+ld1sb { z21.h }, p5/z, [x10, #5, mul vl]
+ld1sb { z21.s }, p5/z, [x10, #5, mul vl]
+ld1sb { z21.s }, p5/z, [x10, x21]
+ld1sb { z23.d }, p3/z, [x13, x8]
+ld1sb { z31.d }, p7/z, [sp, #-1, mul vl]
+ld1sb { z31.d }, p7/z, [sp, z31.d]
+ld1sb { z31.d }, p7/z, [z31.d, #31]
+ld1sb { z31.h }, p7/z, [sp, #-1, mul vl]
+ld1sb { z31.s }, p7/z, [sp, #-1, mul vl]
+ld1sb { z31.s }, p7/z, [z31.s, #31]
+ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+ld1sh { z0.d }, p0/z, [x0]
+ld1sh { z0.d }, p0/z, [z0.d]
+ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
+ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
+ld1sh { z0.s }, p0/z, [x0]
+ld1sh { z0.s }, p0/z, [z0.s]
+ld1sh { z21.d }, p5/z, [x10, #5, mul vl]
+ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
+ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
+ld1sh { z21.s }, p5/z, [sp, x21, lsl #1]
+ld1sh { z21.s }, p5/z, [x10, #5, mul vl]
+ld1sh { z21.s }, p5/z, [x10, x21, lsl #1]
+ld1sh { z23.d }, p3/z, [x13, x8, lsl #1]
+ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
+ld1sh { z31.d }, p7/z, [sp, #-1, mul vl]
+ld1sh { z31.d }, p7/z, [sp, z31.d]
+ld1sh { z31.d }, p7/z, [z31.d, #62]
+ld1sh { z31.s }, p7/z, [sp, #-1, mul vl]
+ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+ld1sh { z31.s }, p7/z, [z31.s, #62]
+ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+ld1sw { z0.d }, p0/z, [x0]
+ld1sw { z0.d }, p0/z, [z0.d]
+ld1sw { z21.d }, p5/z, [x10, #5, mul vl]
+ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
+ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
+ld1sw { z23.d }, p3/z, [sp, x8, lsl #2]
+ld1sw { z23.d }, p3/z, [x13, x8, lsl #2]
+ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
+ld1sw { z31.d }, p7/z, [sp, #-1, mul vl]
+ld1sw { z31.d }, p7/z, [sp, z31.d]
+ld1sw { z31.d }, p7/z, [z31.d, #124]
+ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+ld1w { z0.d }, p0/z, [x0]
+ld1w { z0.d }, p0/z, [z0.d]
+ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+ld1w { z0.s }, p0/z, [x0]
+ld1w { z0.s }, p0/z, [z0.s]
+ld1w { z21.d }, p5/z, [x10, #5, mul vl]
+ld1w { z21.d }, p5/z, [x10, z21.d, sxtw]
+ld1w { z21.d }, p5/z, [x10, z21.d, uxtw]
+ld1w { z21.s }, p5/z, [sp, x21, lsl #2]
+ld1w { z21.s }, p5/z, [x10, #5, mul vl]
+ld1w { z21.s }, p5/z, [x10, x21, lsl #2]
+ld1w { z23.d }, p3/z, [x13, x8, lsl #2]
+ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
+ld1w { z31.d }, p7/z, [sp, #-1, mul vl]
+ld1w { z31.d }, p7/z, [sp, z31.d]
+ld1w { z31.d }, p7/z, [z31.d, #124]
+ld1w { z31.s }, p7/z, [sp, #-1, mul vl]
+ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+ld1w { z31.s }, p7/z, [z31.s, #124]
+ld2b { z0.b, z1.b }, p0/z, [x0, x0]
+ld2b { z0.b, z1.b }, p0/z, [x0]
+ld2b { z21.b, z22.b }, p5/z, [x10, #10, mul vl]
+ld2b { z23.b, z24.b }, p3/z, [x13, #-16, mul vl]
+ld2b { z5.b, z6.b }, p3/z, [x17, x16]
+ld2d { z0.d, z1.d }, p0/z, [x0, x0, lsl #3]
+ld2d { z0.d, z1.d }, p0/z, [x0]
+ld2d { z21.d, z22.d }, p5/z, [x10, #10, mul vl]
+ld2d { z23.d, z24.d }, p3/z, [x13, #-16, mul vl]
+ld2d { z5.d, z6.d }, p3/z, [x17, x16, lsl #3]
+ld2h { z0.h, z1.h }, p0/z, [x0, x0, lsl #1]
+ld2h { z0.h, z1.h }, p0/z, [x0]
+ld2h { z21.h, z22.h }, p5/z, [x10, #10, mul vl]
+ld2h { z23.h, z24.h }, p3/z, [x13, #-16, mul vl]
+ld2h { z5.h, z6.h }, p3/z, [x17, x16, lsl #1]
+ld2w { z0.s, z1.s }, p0/z, [x0, x0, lsl #2]
+ld2w { z0.s, z1.s }, p0/z, [x0]
+ld2w { z21.s, z22.s }, p5/z, [x10, #10, mul vl]
+ld2w { z23.s, z24.s }, p3/z, [x13, #-16, mul vl]
+ld2w { z5.s, z6.s }, p3/z, [x17, x16, lsl #2]
+ld3b { z0.b, z1.b, z2.b }, p0/z, [x0, x0]
+ld3b { z0.b, z1.b, z2.b }, p0/z, [x0]
+ld3b { z21.b, z22.b, z23.b }, p5/z, [x10, #15, mul vl]
+ld3b { z23.b, z24.b, z25.b }, p3/z, [x13, #-24, mul vl]
+ld3b { z5.b, z6.b, z7.b }, p3/z, [x17, x16]
+ld3d { z0.d, z1.d, z2.d }, p0/z, [x0, x0, lsl #3]
+ld3d { z0.d, z1.d, z2.d }, p0/z, [x0]
+ld3d { z21.d, z22.d, z23.d }, p5/z, [x10, #15, mul vl]
+ld3d { z23.d, z24.d, z25.d }, p3/z, [x13, #-24, mul vl]
+ld3d { z5.d, z6.d, z7.d }, p3/z, [x17, x16, lsl #3]
+ld3h { z0.h, z1.h, z2.h }, p0/z, [x0, x0, lsl #1]
+ld3h { z0.h, z1.h, z2.h }, p0/z, [x0]
+ld3h { z21.h, z22.h, z23.h }, p5/z, [x10, #15, mul vl]
+ld3h { z23.h, z24.h, z25.h }, p3/z, [x13, #-24, mul vl]
+ld3h { z5.h, z6.h, z7.h }, p3/z, [x17, x16, lsl #1]
+ld3w { z0.s, z1.s, z2.s }, p0/z, [x0, x0, lsl #2]
+ld3w { z0.s, z1.s, z2.s }, p0/z, [x0]
+ld3w { z21.s, z22.s, z23.s }, p5/z, [x10, #15, mul vl]
+ld3w { z23.s, z24.s, z25.s }, p3/z, [x13, #-24, mul vl]
+ld3w { z5.s, z6.s, z7.s }, p3/z, [x17, x16, lsl #2]
+ld4b { z0.b, z1.b, z2.b, z3.b }, p0/z, [x0, x0]
+ld4b { z0.b, z1.b, z2.b, z3.b }, p0/z, [x0]
+ld4b { z21.b, z22.b, z23.b, z24.b }, p5/z, [x10, #20, mul vl]
+ld4b { z23.b, z24.b, z25.b, z26.b }, p3/z, [x13, #-32, mul vl]
+ld4b { z5.b, z6.b, z7.b, z8.b }, p3/z, [x17, x16]
+ld4d { z0.d, z1.d, z2.d, z3.d }, p0/z, [x0, x0, lsl #3]
+ld4d { z0.d, z1.d, z2.d, z3.d }, p0/z, [x0]
+ld4d { z21.d, z22.d, z23.d, z24.d }, p5/z, [x10, #20, mul vl]
+ld4d { z23.d, z24.d, z25.d, z26.d }, p3/z, [x13, #-32, mul vl]
+ld4d { z5.d, z6.d, z7.d, z8.d }, p3/z, [x17, x16, lsl #3]
+ld4h { z0.h, z1.h, z2.h, z3.h }, p0/z, [x0, x0, lsl #1]
+ld4h { z0.h, z1.h, z2.h, z3.h }, p0/z, [x0]
+ld4h { z21.h, z22.h, z23.h, z24.h }, p5/z, [x10, #20, mul vl]
+ld4h { z23.h, z24.h, z25.h, z26.h }, p3/z, [x13, #-32, mul vl]
+ld4h { z5.h, z6.h, z7.h, z8.h }, p3/z, [x17, x16, lsl #1]
+ld4w { z0.s, z1.s, z2.s, z3.s }, p0/z, [x0, x0, lsl #2]
+ld4w { z0.s, z1.s, z2.s, z3.s }, p0/z, [x0]
+ld4w { z21.s, z22.s, z23.s, z24.s }, p5/z, [x10, #20, mul vl]
+ld4w { z23.s, z24.s, z25.s, z26.s }, p3/z, [x13, #-32, mul vl]
+ld4w { z5.s, z6.s, z7.s, z8.s }, p3/z, [x17, x16, lsl #2]
+ldff1b { z0.d }, p0/z, [x0, x0]
+ldff1b { z0.d }, p0/z, [z0.d]
+ldff1b { z0.h }, p0/z, [x0, x0]
+ldff1b { z0.s }, p0/z, [x0, x0]
+ldff1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+ldff1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+ldff1b { z0.s }, p0/z, [z0.s]
+ldff1b { z21.d }, p5/z, [x10, z21.d, sxtw]
+ldff1b { z21.d }, p5/z, [x10, z21.d, uxtw]
+ldff1b { z31.b }, p7/z, [sp]
+ldff1b { z31.d }, p7/z, [sp, z31.d]
+ldff1b { z31.d }, p7/z, [sp]
+ldff1b { z31.d }, p7/z, [z31.d, #31]
+ldff1b { z31.h }, p7/z, [sp]
+ldff1b { z31.s }, p7/z, [sp]
+ldff1b { z31.s }, p7/z, [z31.s, #31]
+ldff1d { z0.d }, p0/z, [x0, x0, lsl #3]
+ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+ldff1d { z0.d }, p0/z, [z0.d]
+ldff1d { z21.d }, p5/z, [x10, z21.d, sxtw]
+ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw]
+ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
+ldff1d { z31.d }, p7/z, [sp, z31.d]
+ldff1d { z31.d }, p7/z, [sp]
+ldff1d { z31.d }, p7/z, [z31.d, #248]
+ldff1h { z0.d }, p0/z, [x0, x0, lsl #1]
+ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+ldff1h { z0.d }, p0/z, [z0.d]
+ldff1h { z0.h }, p0/z, [x0, x0, lsl #1]
+ldff1h { z0.s }, p0/z, [x0, x0, lsl #1]
+ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+ldff1h { z0.s }, p0/z, [z0.s]
+ldff1h { z21.d }, p5/z, [x10, z21.d, sxtw]
+ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw]
+ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
+ldff1h { z31.d }, p7/z, [sp, z31.d]
+ldff1h { z31.d }, p7/z, [sp]
+ldff1h { z31.d }, p7/z, [z31.d, #62]
+ldff1h { z31.h }, p7/z, [sp]
+ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+ldff1h { z31.s }, p7/z, [sp]
+ldff1h { z31.s }, p7/z, [z31.s, #62]
+ldff1sb { z0.d }, p0/z, [x0, x0]
+ldff1sb { z0.d }, p0/z, [z0.d]
+ldff1sb { z0.h }, p0/z, [x0, x0]
+ldff1sb { z0.s }, p0/z, [x0, x0]
+ldff1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
+ldff1sb { z0.s }, p0/z, [x0, z0.s, uxtw]
+ldff1sb { z0.s }, p0/z, [z0.s]
+ldff1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
+ldff1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
+ldff1sb { z31.d }, p7/z, [sp, z31.d]
+ldff1sb { z31.d }, p7/z, [sp]
+ldff1sb { z31.d }, p7/z, [z31.d, #31]
+ldff1sb { z31.h }, p7/z, [sp]
+ldff1sb { z31.s }, p7/z, [sp]
+ldff1sb { z31.s }, p7/z, [z31.s, #31]
+ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1]
+ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+ldff1sh { z0.d }, p0/z, [z0.d]
+ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1]
+ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
+ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
+ldff1sh { z0.s }, p0/z, [z0.s]
+ldff1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
+ldff1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
+ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
+ldff1sh { z31.d }, p7/z, [sp, z31.d]
+ldff1sh { z31.d }, p7/z, [sp]
+ldff1sh { z31.d }, p7/z, [z31.d, #62]
+ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+ldff1sh { z31.s }, p7/z, [sp]
+ldff1sh { z31.s }, p7/z, [z31.s, #62]
+ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2]
+ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+ldff1sw { z0.d }, p0/z, [z0.d]
+ldff1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
+ldff1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
+ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
+ldff1sw { z31.d }, p7/z, [sp, z31.d]
+ldff1sw { z31.d }, p7/z, [sp]
+ldff1sw { z31.d }, p7/z, [z31.d, #124]
+ldff1w { z0.d }, p0/z, [x0, x0, lsl #2]
+ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+ldff1w { z0.d }, p0/z, [z0.d]
+ldff1w { z0.s }, p0/z, [x0, x0, lsl #2]
+ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+ldff1w { z0.s }, p0/z, [z0.s]
+ldff1w { z21.d }, p5/z, [x10, z21.d, sxtw]
+ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw]
+ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
+ldff1w { z31.d }, p7/z, [sp, z31.d]
+ldff1w { z31.d }, p7/z, [sp]
+ldff1w { z31.d }, p7/z, [z31.d, #124]
+ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+ldff1w { z31.s }, p7/z, [sp]
+ldff1w { z31.s }, p7/z, [z31.s, #124]
+ldnf1b { z0.b }, p0/z, [x0]
+ldnf1b { z0.d }, p0/z, [x0]
+ldnf1b { z0.h }, p0/z, [x0]
+ldnf1b { z0.s }, p0/z, [x0]
+ldnf1b { z21.b }, p5/z, [x10, #5, mul vl]
+ldnf1b { z21.d }, p5/z, [x10, #5, mul vl]
+ldnf1b { z21.h }, p5/z, [x10, #5, mul vl]
+ldnf1b { z21.s }, p5/z, [x10, #5, mul vl]
+ldnf1b { z31.b }, p7/z, [sp, #-1, mul vl]
+ldnf1b { z31.d }, p7/z, [sp, #-1, mul vl]
+ldnf1b { z31.h }, p7/z, [sp, #-1, mul vl]
+ldnf1b { z31.s }, p7/z, [sp, #-1, mul vl]
+ldnf1d { z0.d }, p0/z, [x0]
+ldnf1d { z21.d }, p5/z, [x10, #5, mul vl]
+ldnf1d { z31.d }, p7/z, [sp, #-1, mul vl]
+ldnf1h { z0.d }, p0/z, [x0]
+ldnf1h { z0.h }, p0/z, [x0]
+ldnf1h { z0.s }, p0/z, [x0]
+ldnf1h { z21.d }, p5/z, [x10, #5, mul vl]
+ldnf1h { z21.h }, p5/z, [x10, #5, mul vl]
+ldnf1h { z21.s }, p5/z, [x10, #5, mul vl]
+ldnf1h { z31.d }, p7/z, [sp, #-1, mul vl]
+ldnf1h { z31.h }, p7/z, [sp, #-1, mul vl]
+ldnf1h { z31.s }, p7/z, [sp, #-1, mul vl]
+ldnf1sb { z0.d }, p0/z, [x0]
+ldnf1sb { z0.h }, p0/z, [x0]
+ldnf1sb { z0.s }, p0/z, [x0]
+ldnf1sb { z21.d }, p5/z, [x10, #5, mul vl]
+ldnf1sb { z21.h }, p5/z, [x10, #5, mul vl]
+ldnf1sb { z21.s }, p5/z, [x10, #5, mul vl]
+ldnf1sb { z31.d }, p7/z, [sp, #-1, mul vl]
+ldnf1sb { z31.h }, p7/z, [sp, #-1, mul vl]
+ldnf1sb { z31.s }, p7/z, [sp, #-1, mul vl]
+ldnf1sh { z0.d }, p0/z, [x0]
+ldnf1sh { z0.s }, p0/z, [x0]
+ldnf1sh { z21.d }, p5/z, [x10, #5, mul vl]
+ldnf1sh { z21.s }, p5/z, [x10, #5, mul vl]
+ldnf1sh { z31.d }, p7/z, [sp, #-1, mul vl]
+ldnf1sh { z31.s }, p7/z, [sp, #-1, mul vl]
+ldnf1sw { z0.d }, p0/z, [x0]
+ldnf1sw { z21.d }, p5/z, [x10, #5, mul vl]
+ldnf1sw { z31.d }, p7/z, [sp, #-1, mul vl]
+ldnf1w { z0.d }, p0/z, [x0]
+ldnf1w { z0.s }, p0/z, [x0]
+ldnf1w { z21.d }, p5/z, [x10, #5, mul vl]
+ldnf1w { z21.s }, p5/z, [x10, #5, mul vl]
+ldnf1w { z31.d }, p7/z, [sp, #-1, mul vl]
+ldnf1w { z31.s }, p7/z, [sp, #-1, mul vl]
+ldnt1b { z0.b }, p0/z, [x0, x0]
+ldnt1b { z0.b }, p0/z, [x0]
+ldnt1b { z0.d }, p0/z, [z1.d]
+ldnt1b { z0.s }, p0/z, [z1.s]
+ldnt1b { z21.b }, p5/z, [x10, #7, mul vl]
+ldnt1b { z23.b }, p3/z, [x13, #-8, mul vl]
+ldnt1b { z31.d }, p7/z, [z31.d, x0]
+ldnt1b { z31.d }, p7/z, [z31.d]
+ldnt1b { z31.s }, p7/z, [z31.s, x0]
+ldnt1b { z31.s }, p7/z, [z31.s]
+ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3]
+ldnt1d { z0.d }, p0/z, [x0]
+ldnt1d { z0.d }, p0/z, [z1.d]
+ldnt1d { z21.d }, p5/z, [x10, #7, mul vl]
+ldnt1d { z23.d }, p3/z, [x13, #-8, mul vl]
+ldnt1d { z31.d }, p7/z, [z31.d, x0]
+ldnt1d { z31.d }, p7/z, [z31.d]
+ldnt1h { z0.d }, p0/z, [z1.d]
+ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1]
+ldnt1h { z0.h }, p0/z, [x0]
+ldnt1h { z0.s }, p0/z, [z1.s]
+ldnt1h { z21.h }, p5/z, [x10, #7, mul vl]
+ldnt1h { z23.h }, p3/z, [x13, #-8, mul vl]
+ldnt1h { z31.d }, p7/z, [z31.d, x0]
+ldnt1h { z31.d }, p7/z, [z31.d]
+ldnt1h { z31.s }, p7/z, [z31.s, x0]
+ldnt1h { z31.s }, p7/z, [z31.s]
+ldnt1sb { z0.d }, p0/z, [z1.d]
+ldnt1sb { z0.s }, p0/z, [z1.s]
+ldnt1sb { z31.d }, p7/z, [z31.d, x0]
+ldnt1sb { z31.d }, p7/z, [z31.d]
+ldnt1sb { z31.s }, p7/z, [z31.s, x0]
+ldnt1sb { z31.s }, p7/z, [z31.s]
+ldnt1sh { z0.d }, p0/z, [z1.d]
+ldnt1sh { z0.s }, p0/z, [z1.s]
+ldnt1sh { z31.d }, p7/z, [z31.d, x0]
+ldnt1sh { z31.d }, p7/z, [z31.d]
+ldnt1sh { z31.s }, p7/z, [z31.s, x0]
+ldnt1sh { z31.s }, p7/z, [z31.s]
+ldnt1sw { z0.d }, p0/z, [z1.d]
+ldnt1sw { z31.d }, p7/z, [z31.d, x0]
+ldnt1sw { z31.d }, p7/z, [z31.d]
+ldnt1w { z0.d }, p0/z, [z1.d]
+ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2]
+ldnt1w { z0.s }, p0/z, [x0]
+ldnt1w { z0.s }, p0/z, [z1.s]
+ldnt1w { z21.s }, p5/z, [x10, #7, mul vl]
+ldnt1w { z23.s }, p3/z, [x13, #-8, mul vl]
+ldnt1w { z31.d }, p7/z, [z31.d, x0]
+ldnt1w { z31.d }, p7/z, [z31.d]
+ldnt1w { z31.s }, p7/z, [z31.s, x0]
+ldnt1w { z31.s }, p7/z, [z31.s]
+ldr p0, [x0]
+ldr p5, [x10, #255, mul vl]
+ldr p7, [x13, #-256, mul vl]
+ldr z0, [x0]
+ldr z23, [x13, #255, mul vl]
+ldr z31, [sp, #-256, mul vl]
+lsl z0.b, p0/m, z0.b, #0
+lsl z0.b, p0/m, z0.b, z0.b
+lsl z0.b, p0/m, z0.b, z1.d
+lsl z0.b, z0.b, #0
+lsl z0.b, z1.b, z2.d
+lsl z0.d, p0/m, z0.d, #0
+lsl z0.d, p0/m, z0.d, z0.d
+lsl z0.d, z0.d, #0
+lsl z0.h, p0/m, z0.h, #0
+lsl z0.h, p0/m, z0.h, z0.h
+lsl z0.h, p0/m, z0.h, z1.d
+lsl z0.h, z0.h, #0
+lsl z0.h, z1.h, z2.d
+lsl z0.s, p0/m, z0.s, #0
+lsl z0.s, p0/m, z0.s, z0.s
+lsl z0.s, p0/m, z0.s, z1.d
+lsl z0.s, z0.s, #0
+lsl z0.s, z1.s, z2.d
+lsl z31.b, p0/m, z31.b, #7
+lsl z31.b, z31.b, #7
+lsl z31.d, p0/m, z31.d, #63
+lsl z31.d, z31.d, #63
+lsl z31.h, p0/m, z31.h, #15
+lsl z31.h, z31.h, #15
+lsl z31.s, p0/m, z31.s, #31
+lsl z31.s, z31.s, #31
+lslr z0.b, p0/m, z0.b, z0.b
+lslr z0.d, p0/m, z0.d, z0.d
+lslr z0.h, p0/m, z0.h, z0.h
+lslr z0.s, p0/m, z0.s, z0.s
+lsr z0.b, p0/m, z0.b, #1
+lsr z0.b, p0/m, z0.b, z0.b
+lsr z0.b, p0/m, z0.b, z1.d
+lsr z0.b, z0.b, #1
+lsr z0.b, z1.b, z2.d
+lsr z0.d, p0/m, z0.d, #1
+lsr z0.d, p0/m, z0.d, z0.d
+lsr z0.d, z0.d, #1
+lsr z0.h, p0/m, z0.h, #1
+lsr z0.h, p0/m, z0.h, z0.h
+lsr z0.h, p0/m, z0.h, z1.d
+lsr z0.h, z0.h, #1
+lsr z0.h, z1.h, z2.d
+lsr z0.s, p0/m, z0.s, #1
+lsr z0.s, p0/m, z0.s, z0.s
+lsr z0.s, p0/m, z0.s, z1.d
+lsr z0.s, z0.s, #1
+lsr z0.s, z1.s, z2.d
+lsr z31.b, p0/m, z31.b, #8
+lsr z31.b, z31.b, #8
+lsr z31.d, p0/m, z31.d, #64
+lsr z31.d, z31.d, #64
+lsr z31.h, p0/m, z31.h, #16
+lsr z31.h, z31.h, #16
+lsr z31.s, p0/m, z31.s, #32
+lsr z31.s, z31.s, #32
+lsrr z0.b, p0/m, z0.b, z0.b
+lsrr z0.d, p0/m, z0.d, z0.d
+lsrr z0.h, p0/m, z0.h, z0.h
+lsrr z0.s, p0/m, z0.s, z0.s
+mad z0.b, p7/m, z1.b, z31.b
+mad z0.d, p7/m, z1.d, z31.d
+mad z0.h, p7/m, z1.h, z31.h
+mad z0.s, p7/m, z1.s, z31.s
+match p0.b, p0/z, z0.b, z0.b
+match p0.h, p0/z, z0.h, z0.h
+match p15.b, p7/z, z30.b, z31.b
+match p15.h, p7/z, z30.h, z31.h
+mla z0.b, p7/m, z1.b, z31.b
+mla z0.d, p7/m, z1.d, z31.d
+mla z0.d, z1.d, z7.d[1]
+mla z0.h, p7/m, z1.h, z31.h
+mla z0.h, z1.h, z7.h[7]
+mla z0.s, p7/m, z1.s, z31.s
+mla z0.s, z1.s, z7.s[3]
+mls z0.b, p7/m, z1.b, z31.b
+mls z0.d, p7/m, z1.d, z31.d
+mls z0.d, z1.d, z7.d[1]
+mls z0.h, p7/m, z1.h, z31.h
+mls z0.h, z1.h, z7.h[7]
+mls z0.s, p7/m, z1.s, z31.s
+mls z0.s, z1.s, z7.s[3]
+mov p0.b, p0.b
+mov p0.b, p0/m, p0.b
+mov p0.b, p0/z, p0.b
+mov p15.b, p15.b
+mov p15.b, p15/m, p15.b
+mov p15.b, p15/z, p15.b
+mov z0.b, #127
+mov z0.b, b0
+mov z0.b, p0/m, b0
+mov z0.b, p0/m, w0
+mov z0.b, p0/z, #127
+mov z0.b, w0
+mov z0.d, #0
+mov z0.d, #0xe0000000000003ff
+mov z0.d, #0xffffffffffff7fff
+mov z0.d, #32768
+mov z0.d, d0
+mov z0.d, p0/m, d0
+mov z0.d, p0/m, x0
+mov z0.d, x0
+mov z0.d, z0.d
+mov z0.h, #-256
+mov z0.h, #-32768
+mov z0.h, #0
+mov z0.h, #32512
+mov z0.h, #32767
+mov z0.h, h0
+mov z0.h, p0/m, h0
+mov z0.h, p0/m, w0
+mov z0.h, p0/z, #32512
+mov z0.h, w0
+mov z0.q, q0
+mov z0.s, #0
+mov z0.s, #0xffff7fff
+mov z0.s, #32768
+mov z0.s, p0/m, s0
+mov z0.s, p0/m, w0
+mov z0.s, s0
+mov z0.s, w0
+mov z21.d, #-128
+mov z21.d, #-32768
+mov z21.d, #127
+mov z21.d, #32512
+mov z21.d, p0/z, #-128
+mov z21.d, p0/z, #-32768
+mov z21.d, p0/z, #127
+mov z21.d, p0/z, #32512
+mov z21.d, p15/m, #-128
+mov z21.d, p15/m, #-32768
+mov z21.h, #-128
+mov z21.h, #-32768
+mov z21.h, #127
+mov z21.h, #32512
+mov z21.h, p0/z, #-128
+mov z21.h, p0/z, #-32768
+mov z21.h, p0/z, #127
+mov z21.h, p0/z, #32512
+mov z21.h, p15/m, #-128
+mov z21.h, p15/m, #-32768
+mov z21.s, #-128
+mov z21.s, #-32768
+mov z21.s, #127
+mov z21.s, #32512
+mov z21.s, p0/z, #-128
+mov z21.s, p0/z, #-32768
+mov z21.s, p0/z, #127
+mov z21.s, p0/z, #32512
+mov z21.s, p15/m, #-128
+mov z21.s, p15/m, #-32768
+mov z31.b, p15/m, z31.b
+mov z31.b, p7/m, b31
+movprfx z31, z6
+mov z31.b, p7/m, wsp
+mov z31.b, wsp
+mov z31.b, z31.b[63]
+mov z31.d, p15/m, z31.d
+mov z31.d, p7/m, d31
+movprfx z31.d, p7/z, z6.d
+mov z31.d, p7/m, sp
+mov z31.d, sp
+mov z31.d, z0.d
+mov z31.d, z31.d[7]
+mov z31.h, p15/m, z31.h
+mov z31.h, p7/m, h31
+mov z31.h, p7/m, wsp
+mov z31.h, wsp
+mov z31.h, z31.h[31]
+mov z31.s, p15/m, z31.s
+mov z31.s, p7/m, s31
+mov z31.s, p7/m, wsp
+mov z31.s, wsp
+mov z31.s, z31.s[15]
+mov z5.b, #-1
+mov z5.b, #-128
+mov z5.b, #127
+mov z5.b, p0/z, #-1
+mov z5.b, p0/z, #-128
+mov z5.b, p0/z, #127
+mov z5.b, p15/m, #-128
+mov z5.d, #-6
+mov z5.h, #-6
+mov z5.q, z17.q[3]
+mov z5.s, #-6
+movs p0.b, p0.b
+movs p0.b, p0/z, p0.b
+movs p15.b, p15.b
+movs p15.b, p15/z, p15.b
+mrs x3, ID_AA64ZFR0_EL1
+mrs x3, ZCR_EL1
+mrs x3, ZCR_EL12
+mrs x3, ZCR_EL2
+mrs x3, ZCR_EL3
+msb z0.b, p7/m, z1.b, z31.b
+msb z0.d, p7/m, z1.d, z31.d
+msb z0.h, p7/m, z1.h, z31.h
+msb z0.s, p7/m, z1.s, z31.s
+msr ZCR_EL1, x3
+msr ZCR_EL12, x3
+msr ZCR_EL2, x3
+msr ZCR_EL3, x3
+mul z0.b, p7/m, z0.b, z31.b
+mul z0.b, z1.b, z2.b
+mul z0.d, p7/m, z0.d, z31.d
+mul z0.d, z1.d, z15.d[1]
+mul z0.h, p7/m, z0.h, z31.h
+mul z0.h, z1.h, z2.h
+mul z0.h, z1.h, z7.h[7]
+mul z0.s, p7/m, z0.s, z31.s
+mul z0.s, z1.s, z7.s[3]
+mul z29.s, z30.s, z31.s
+mul z31.b, z31.b, #-128
+mul z31.b, z31.b, #127
+mul z31.d, z31.d, #-128
+mul z31.d, z31.d, #127
+mul z31.d, z31.d, z31.d
+mul z31.h, z31.h, #-128
+mul z31.h, z31.h, #127
+mul z31.s, z31.s, #-128
+mul z31.s, z31.s, #127
+nand p0.b, p0/z, p0.b, p0.b
+nand p15.b, p15/z, p15.b, p15.b
+nands p0.b, p0/z, p0.b, p0.b
+nands p15.b, p15/z, p15.b, p15.b
+nbsl z0.d, z0.d, z1.d, z2.d
+neg z0.b, p0/m, z0.b
+neg z0.d, p0/m, z0.d
+neg z0.h, p0/m, z0.h
+neg z0.s, p0/m, z0.s
+neg z31.b, p7/m, z31.b
+neg z31.d, p7/m, z31.d
+neg z31.h, p7/m, z31.h
+neg z31.s, p7/m, z31.s
+nmatch p0.b, p0/z, z0.b, z0.b
+nmatch p0.h, p0/z, z0.h, z0.h
+nmatch p15.b, p7/z, z30.b, z31.b
+nmatch p15.h, p7/z, z30.h, z31.h
+nor p0.b, p0/z, p0.b, p0.b
+nor p15.b, p15/z, p15.b, p15.b
+nors p0.b, p0/z, p0.b, p0.b
+nors p15.b, p15/z, p15.b, p15.b
+not p0.b, p0/z, p0.b
+not p15.b, p15/z, p15.b
+not z31.b, p7/m, z31.b
+not z31.d, p7/m, z31.d
+not z31.h, p7/m, z31.h
+not z31.s, p7/m, z31.s
+nots p0.b, p0/z, p0.b
+nots p15.b, p15/z, p15.b
+orn p0.b, p0/z, p0.b, p0.b
+orn p15.b, p15/z, p15.b, p15.b
+orns p0.b, p0/z, p0.b, p0.b
+orns p15.b, p15/z, p15.b, p15.b
+orr p0.b, p0/z, p0.b, p1.b
+orr z0.d, z0.d, #0x6
+orr z0.d, z0.d, #0xfffffffffffffff9
+orr z0.s, z0.s, #0x6
+orr z0.s, z0.s, #0xfffffff9
+orr z23.d, z13.d, z8.d
+orr z23.h, z23.h, #0x6
+orr z23.h, z23.h, #0xfff9
+orr z31.b, p7/m, z31.b, z31.b
+orr z31.d, p7/m, z31.d, z31.d
+orr z31.h, p7/m, z31.h, z31.h
+orr z31.s, p7/m, z31.s, z31.s
+orr z5.b, z5.b, #0x6
+orr z5.b, z5.b, #0xf9
+orrs p0.b, p0/z, p0.b, p1.b
+orv b0, p7, z31.b
+orv d0, p7, z31.d
+orv h0, p7, z31.h
+orv s0, p7, z31.s
+pfalse p15.b
+pfirst p0.b, p15, p0.b
+pfirst p15.b, p15, p15.b
+pmul z0.b, z1.b, z2.b
+pmul z29.b, z30.b, z31.b
+pmullb z0.h, z1.b, z2.b
+pmullb z29.q, z30.d, z31.d
+pmullb z31.d, z31.s, z31.s
+pmullt z0.h, z1.b, z2.b
+pmullt z29.q, z30.d, z31.d
+pmullt z31.d, z31.s, z31.s
+pnext p0.b, p15, p0.b
+pnext p0.d, p15, p0.d
+pnext p0.h, p15, p0.h
+pnext p0.s, p15, p0.s
+pnext p15.b, p15, p15.b
+prfb #14, p0, [x0]
+prfb #15, p0, [x0]
+prfb #6, p0, [x0]
+prfb #7, p0, [x0]
+prfb #7, p3, [z13.s, #31]
+prfb #7, p3, [z13.s]
+prfb pldl1keep, p0, [x0, z0.d, uxtw]
+prfb pldl1keep, p0, [x0, z0.d]
+prfb pldl1keep, p0, [x0, z0.s, uxtw]
+prfb pldl1keep, p0, [x0]
+prfb pldl1strm, p0, [x0, #-32, mul vl]
+prfb pldl1strm, p0, [x0, #31, mul vl]
+prfb pldl1strm, p0, [x0]
+prfb pldl2keep, p0, [x0]
+prfb pldl2strm, p0, [x0]
+prfb pldl3keep, p0, [x0]
+prfb pldl3strm, p0, [x0]
+prfb pldl3strm, p5, [x10, z21.d, sxtw]
+prfb pldl3strm, p5, [x10, z21.s, uxtw]
+prfb pldl3strm, p5, [z10.d, #31]
+prfb pldl3strm, p5, [z10.d]
+prfb pstl1keep, p0, [x0]
+prfb pstl1strm, p0, [x0]
+prfb pstl2keep, p0, [x0]
+prfb pstl2strm, p0, [x0]
+prfb pstl3keep, p0, [x0]
+prfb pstl3strm, p0, [x0]
+prfd #14, p0, [x0]
+prfd #15, p0, [x0]
+prfd #15, p7, [z31.d, #248]
+prfd #15, p7, [z31.d]
+prfd #15, p7, [z31.s, #248]
+prfd #15, p7, [z31.s]
+prfd #6, p0, [x0]
+prfd #7, p0, [x0]
+prfd pldl1keep, p0, [x0, z0.d, lsl #3]
+prfd pldl1keep, p0, [x0, z0.d, sxtw #3]
+prfd pldl1keep, p0, [x0, z0.d, uxtw #3]
+prfd pldl1keep, p0, [x0, z0.s, sxtw #3]
+prfd pldl1keep, p0, [x0, z0.s, uxtw #3]
+prfd pldl1keep, p0, [x0]
+prfd pldl1strm, p0, [x0, #-32, mul vl]
+prfd pldl1strm, p0, [x0, #31, mul vl]
+prfd pldl1strm, p0, [x0]
+prfd pldl2keep, p0, [x0]
+prfd pldl2strm, p0, [x0]
+prfd pldl3keep, p0, [x0]
+prfd pldl3strm, p0, [x0]
+prfd pstl1keep, p0, [x0]
+prfd pstl1strm, p0, [x0]
+prfd pstl2keep, p0, [x0]
+prfd pstl2strm, p0, [x0]
+prfd pstl3keep, p0, [x0]
+prfd pstl3strm, p0, [x0]
+prfh #14, p0, [x0]
+prfh #15, p0, [x0]
+prfh #15, p7, [z31.d, #62]
+prfh #15, p7, [z31.d]
+prfh #15, p7, [z31.s, #62]
+prfh #15, p7, [z31.s]
+prfh #6, p0, [x0]
+prfh #7, p0, [x0]
+prfh pldl1keep, p0, [x0, z0.d, lsl #1]
+prfh pldl1keep, p0, [x0]
+prfh pldl1strm, p0, [x0, #-32, mul vl]
+prfh pldl1strm, p0, [x0, #31, mul vl]
+prfh pldl1strm, p0, [x0]
+prfh pldl2keep, p0, [x0]
+prfh pldl2strm, p0, [x0]
+prfh pldl3keep, p0, [x0]
+prfh pldl3strm, p0, [x0]
+prfh pldl3strm, p5, [x10, z21.d, sxtw #1]
+prfh pldl3strm, p5, [x10, z21.d, uxtw #1]
+prfh pldl3strm, p5, [x10, z21.s, sxtw #1]
+prfh pldl3strm, p5, [x10, z21.s, uxtw #1]
+prfh pstl1keep, p0, [x0]
+prfh pstl1strm, p0, [x0]
+prfh pstl2keep, p0, [x0]
+prfh pstl2strm, p0, [x0]
+prfh pstl3keep, p0, [x0]
+prfh pstl3strm, p0, [x0]
+prfw #14, p0, [x0]
+prfw #15, p0, [x0]
+prfw #15, p7, [z31.d, #124]
+prfw #15, p7, [z31.d]
+prfw #15, p7, [z31.s, #124]
+prfw #15, p7, [z31.s]
+prfw #6, p0, [x0]
+prfw #7, p0, [x0]
+prfw #7, p3, [x13, z8.d, uxtw #2]
+prfw pldl1keep, p0, [x0, z0.d, sxtw #2]
+prfw pldl1keep, p0, [x0, z0.s, uxtw #2]
+prfw pldl1keep, p0, [x0]
+prfw pldl1strm, p0, [x0, #-32, mul vl]
+prfw pldl1strm, p0, [x0, #31, mul vl]
+prfw pldl1strm, p0, [x0]
+prfw pldl2keep, p0, [x0]
+prfw pldl2strm, p0, [x0]
+prfw pldl3keep, p0, [x0]
+prfw pldl3strm, p0, [x0]
+prfw pldl3strm, p5, [x10, z21.d, lsl #2]
+prfw pldl3strm, p5, [x10, z21.s, sxtw #2]
+prfw pstl1keep, p0, [x0]
+prfw pstl1strm, p0, [x0]
+prfw pstl2keep, p0, [x0]
+prfw pstl2strm, p0, [x0]
+prfw pstl3keep, p0, [x0]
+prfw pstl3strm, p0, [x0]
+ptest p15, p0.b
+ptest p15, p15.b
+ptrue p0.b, pow2
+ptrue p0.d, pow2
+ptrue p0.h, pow2
+ptrue p0.s, pow2
+ptrue p15.b
+ptrue p15.d
+ptrue p15.h
+ptrue p15.s
+ptrue p7.s
+ptrue p7.s, #14
+ptrue p7.s, #15
+ptrue p7.s, #16
+ptrue p7.s, #17
+ptrue p7.s, #18
+ptrue p7.s, #19
+ptrue p7.s, #20
+ptrue p7.s, #21
+ptrue p7.s, #22
+ptrue p7.s, #23
+ptrue p7.s, #24
+ptrue p7.s, #25
+ptrue p7.s, #26
+ptrue p7.s, #27
+ptrue p7.s, #28
+ptrue p7.s, mul3
+ptrue p7.s, mul4
+ptrue p7.s, vl1
+ptrue p7.s, vl128
+ptrue p7.s, vl16
+ptrue p7.s, vl2
+ptrue p7.s, vl256
+ptrue p7.s, vl3
+ptrue p7.s, vl32
+ptrue p7.s, vl4
+ptrue p7.s, vl5
+ptrue p7.s, vl6
+ptrue p7.s, vl64
+ptrue p7.s, vl7
+ptrue p7.s, vl8
+ptrues p0.b, pow2
+ptrues p0.d, pow2
+ptrues p0.h, pow2
+ptrues p0.s, pow2
+ptrues p15.b
+ptrues p15.d
+ptrues p15.h
+ptrues p15.s
+ptrues p7.s
+ptrues p7.s, #14
+ptrues p7.s, #15
+ptrues p7.s, #16
+ptrues p7.s, #17
+ptrues p7.s, #18
+ptrues p7.s, #19
+ptrues p7.s, #20
+ptrues p7.s, #21
+ptrues p7.s, #22
+ptrues p7.s, #23
+ptrues p7.s, #24
+ptrues p7.s, #25
+ptrues p7.s, #26
+ptrues p7.s, #27
+ptrues p7.s, #28
+ptrues p7.s, mul3
+ptrues p7.s, mul4
+ptrues p7.s, vl1
+ptrues p7.s, vl128
+ptrues p7.s, vl16
+ptrues p7.s, vl2
+ptrues p7.s, vl256
+ptrues p7.s, vl3
+ptrues p7.s, vl32
+ptrues p7.s, vl4
+ptrues p7.s, vl5
+ptrues p7.s, vl6
+ptrues p7.s, vl64
+ptrues p7.s, vl7
+ptrues p7.s, vl8
+punpkhi p0.h, p0.b
+punpkhi p15.h, p15.b
+punpklo p0.h, p0.b
+punpklo p15.h, p15.b
+raddhnb z0.b, z1.h, z31.h
+raddhnb z0.h, z1.s, z31.s
+raddhnb z0.s, z1.d, z31.d
+raddhnt z0.b, z1.h, z31.h
+raddhnt z0.h, z1.s, z31.s
+raddhnt z0.s, z1.d, z31.d
+rax1 z0.d, z1.d, z31.d
+rbit z0.b, p7/m, z31.b
+rbit z0.d, p7/m, z31.d
+rbit z0.h, p7/m, z31.h
+rbit z0.s, p7/m, z31.s
+rdffr p0.b
+rdffr p0.b, p0/z
+rdffr p15.b
+rdffr p15.b, p15/z
+rdffrs p0.b, p0/z
+rdffrs p15.b, p15/z
+rdvl x0, #0
+rdvl x21, #-32
+rdvl x23, #31
+rdvl xzr, #-1
+rev z0.b, z31.b
+rev z0.d, z31.d
+rev z0.h, z31.h
+rev z0.s, z31.s
+revb z0.d, p7/m, z31.d
+revb z0.h, p7/m, z31.h
+revb z0.s, p7/m, z31.s
+revh z0.d, p7/m, z31.d
+revh z0.s, p7/m, z31.s
+revw z0.d, p7/m, z31.d
+rshrnb z0.b, z0.h, #1
+rshrnb z0.h, z0.s, #1
+rshrnb z0.s, z0.d, #1
+rshrnb z31.b, z31.h, #8
+rshrnb z31.h, z31.s, #16
+rshrnb z31.s, z31.d, #32
+rshrnt z0.b, z0.h, #1
+rshrnt z0.h, z0.s, #1
+rshrnt z0.s, z0.d, #1
+rshrnt z31.b, z31.h, #8
+rshrnt z31.h, z31.s, #16
+rshrnt z31.s, z31.d, #32
+rsubhnb z0.b, z1.h, z31.h
+rsubhnb z0.h, z1.s, z31.s
+rsubhnb z0.s, z1.d, z31.d
+rsubhnt z0.b, z1.h, z31.h
+rsubhnt z0.h, z1.s, z31.s
+rsubhnt z0.s, z1.d, z31.d
+saba z0.b, z1.b, z31.b
+saba z0.d, z1.d, z31.d
+saba z0.h, z1.h, z31.h
+saba z0.s, z1.s, z31.s
+sabalb z0.d, z1.s, z31.s
+sabalb z0.h, z1.b, z31.b
+sabalb z0.s, z1.h, z31.h
+sabalt z0.d, z1.s, z31.s
+sabalt z0.h, z1.b, z31.b
+sabalt z0.s, z1.h, z31.h
+sabd z31.b, p7/m, z31.b, z31.b
+sabd z31.d, p7/m, z31.d, z31.d
+sabd z31.h, p7/m, z31.h, z31.h
+sabd z31.s, p7/m, z31.s, z31.s
+sabdlb z0.h, z1.b, z2.b
+sabdlb z29.s, z30.h, z31.h
+sabdlb z31.d, z31.s, z31.s
+sabdlt z0.h, z1.b, z2.b
+sabdlt z29.s, z30.h, z31.h
+sabdlt z31.d, z31.s, z31.s
+sadalp z0.h, p0/m, z1.b
+sadalp z29.s, p0/m, z30.h
+sadalp z30.d, p7/m, z31.s
+saddlb z0.h, z1.b, z2.b
+saddlb z29.s, z30.h, z31.h
+saddlb z31.d, z31.s, z31.s
+saddlbt z0.d, z1.s, z31.s
+saddlbt z0.h, z1.b, z31.b
+saddlbt z0.s, z1.h, z31.h
+saddlt z0.h, z1.b, z2.b
+saddlt z29.s, z30.h, z31.h
+saddlt z31.d, z31.s, z31.s
+saddv d0, p7, z31.b
+saddv d0, p7, z31.h
+saddv d0, p7, z31.s
+saddwb z0.h, z1.h, z2.b
+saddwb z29.s, z30.s, z31.h
+saddwb z31.d, z31.d, z31.s
+saddwt z0.h, z1.h, z2.b
+saddwt z29.s, z30.s, z31.h
+saddwt z31.d, z31.d, z31.s
+sbclb z0.d, z1.d, z31.d
+sbclb z0.s, z1.s, z31.s
+sbclt z0.d, z1.d, z31.d
+sbclt z0.s, z1.s, z31.s
+scvtf z0.d, p0/m, z0.d
+scvtf z0.d, p0/m, z0.s
+scvtf z0.h, p0/m, z0.d
+scvtf z0.h, p0/m, z0.h
+scvtf z0.h, p0/m, z0.s
+scvtf z0.s, p0/m, z0.d
+scvtf z0.s, p0/m, z0.s
+sdiv z0.d, p7/m, z0.d, z31.d
+sdiv z0.s, p7/m, z0.s, z31.s
+sdivr z0.d, p7/m, z0.d, z31.d
+sdivr z0.s, p7/m, z0.s, z31.s
+sdot z0.d, z1.h, z15.h[1]
+sdot z0.d, z1.h, z31.h
+sdot z0.s, z1.b, z31.b
+sdot z0.s, z1.b, z7.b[3]
+sel z23.b, p11, z13.b, z8.b
+sel z23.d, p11, z13.d, z8.d
+sel z23.h, p11, z13.h, z8.h
+sel z23.s, p11, z13.s, z8.s
+setffr
+shadd z0.b, p0/m, z0.b, z1.b
+shadd z0.h, p0/m, z0.h, z1.h
+shadd z29.s, p7/m, z29.s, z30.s
+shadd z31.d, p7/m, z31.d, z30.d
+shrnb z0.b, z0.h, #1
+shrnb z0.h, z0.s, #1
+shrnb z0.s, z0.d, #1
+shrnb z31.b, z31.h, #8
+shrnb z31.h, z31.s, #16
+shrnb z31.s, z31.d, #32
+shrnt z0.b, z0.h, #1
+shrnt z0.h, z0.s, #1
+shrnt z0.s, z0.d, #1
+shrnt z31.b, z31.h, #8
+shrnt z31.h, z31.s, #16
+shrnt z31.s, z31.d, #32
+shsub z0.b, p0/m, z0.b, z1.b
+shsub z0.h, p0/m, z0.h, z1.h
+shsub z29.s, p7/m, z29.s, z30.s
+shsub z31.d, p7/m, z31.d, z30.d
+shsubr z0.b, p0/m, z0.b, z1.b
+shsubr z0.h, p0/m, z0.h, z1.h
+shsubr z29.s, p7/m, z29.s, z30.s
+shsubr z31.d, p7/m, z31.d, z30.d
+sli z0.b, z0.b, #0
+sli z0.d, z0.d, #0
+sli z0.h, z0.h, #0
+sli z0.s, z0.s, #0
+sli z31.b, z31.b, #7
+sli z31.d, z31.d, #63
+sli z31.h, z31.h, #15
+sli z31.s, z31.s, #31
+sm4e z0.s, z0.s, z31.s
+sm4ekey z0.s, z1.s, z31.s
+smax z0.b, z0.b, #-128
+smax z0.d, z0.d, #-128
+smax z0.h, z0.h, #-128
+smax z0.s, z0.s, #-128
+smax z31.b, p7/m, z31.b, z31.b
+smax z31.b, z31.b, #127
+smax z31.d, p7/m, z31.d, z31.d
+smax z31.d, z31.d, #127
+smax z31.h, p7/m, z31.h, z31.h
+smax z31.h, z31.h, #127
+smax z31.s, p7/m, z31.s, z31.s
+smax z31.s, z31.s, #127
+smaxp z0.b, p0/m, z0.b, z1.b
+smaxp z0.h, p0/m, z0.h, z1.h
+smaxp z29.s, p7/m, z29.s, z30.s
+smaxp z31.d, p7/m, z31.d, z30.d
+smaxv b0, p7, z31.b
+smaxv d0, p7, z31.d
+smaxv h0, p7, z31.h
+smaxv s0, p7, z31.s
+smin z0.b, z0.b, #-128
+smin z0.d, z0.d, #-128
+smin z0.h, z0.h, #-128
+smin z0.s, z0.s, #-128
+smin z31.b, p7/m, z31.b, z31.b
+smin z31.b, z31.b, #127
+smin z31.d, p7/m, z31.d, z31.d
+smin z31.d, z31.d, #127
+smin z31.h, p7/m, z31.h, z31.h
+smin z31.h, z31.h, #127
+smin z31.s, p7/m, z31.s, z31.s
+smin z31.s, z31.s, #127
+sminp z0.b, p0/m, z0.b, z1.b
+sminp z0.h, p0/m, z0.h, z1.h
+sminp z29.s, p7/m, z29.s, z30.s
+sminp z31.d, p7/m, z31.d, z30.d
+sminv b0, p7, z31.b
+sminv d0, p7, z31.d
+sminv h0, p7, z31.h
+sminv s0, p7, z31.s
+smlalb z0.d, z1.s, z15.s[1]
+smlalb z0.d, z1.s, z31.s
+smlalb z0.h, z1.b, z31.b
+smlalb z0.s, z1.h, z31.h
+smlalb z0.s, z1.h, z7.h[7]
+smlalt z0.d, z1.s, z15.s[1]
+smlalt z0.d, z1.s, z31.s
+smlalt z0.h, z1.b, z31.b
+smlalt z0.s, z1.h, z31.h
+smlalt z0.s, z1.h, z7.h[7]
+smlslb z0.d, z1.s, z15.s[1]
+smlslb z0.d, z1.s, z31.s
+smlslb z0.h, z1.b, z31.b
+smlslb z0.s, z1.h, z31.h
+smlslb z0.s, z1.h, z7.h[7]
+smlslt z0.d, z1.s, z15.s[1]
+smlslt z0.d, z1.s, z31.s
+smlslt z0.h, z1.b, z31.b
+smlslt z0.s, z1.h, z31.h
+smlslt z0.s, z1.h, z7.h[7]
+smmla z0.s, z1.b, z2.b
+smulh z0.b, p7/m, z0.b, z31.b
+smulh z0.b, z1.b, z2.b
+smulh z0.d, p7/m, z0.d, z31.d
+smulh z0.h, p7/m, z0.h, z31.h
+smulh z0.h, z1.h, z2.h
+smulh z0.s, p7/m, z0.s, z31.s
+smulh z29.s, z30.s, z31.s
+smulh z31.d, z31.d, z31.d
+smullb z0.d, z1.s, z15.s[1]
+smullb z0.h, z1.b, z2.b
+smullb z0.s, z1.h, z7.h[7]
+smullb z29.s, z30.h, z31.h
+smullb z31.d, z31.s, z31.s
+smullt z0.d, z1.s, z15.s[1]
+smullt z0.h, z1.b, z2.b
+smullt z0.s, z1.h, z7.h[7]
+smullt z29.s, z30.h, z31.h
+smullt z31.d, z31.s, z31.s
+splice z29.b, p7, { z30.b, z31.b }
+splice z29.d, p7, { z30.d, z31.d }
+splice z29.h, p7, { z30.h, z31.h }
+splice z29.s, p7, { z30.s, z31.s }
+splice z31.b, p7, z31.b, z31.b
+splice z31.d, p7, z31.d, z31.d
+splice z31.h, p7, z31.h, z31.h
+splice z31.s, p7, z31.s, z31.s
+sqabs z31.b, p7/m, z31.b
+sqabs z31.d, p7/m, z31.d
+sqabs z31.h, p7/m, z31.h
+sqabs z31.s, p7/m, z31.s
+sqadd z0.b, p0/m, z0.b, z1.b
+sqadd z0.b, z0.b, #0
+sqadd z0.b, z0.b, z0.b
+sqadd z0.d, z0.d, #0
+sqadd z0.d, z0.d, #0, lsl #8
+sqadd z0.d, z0.d, z0.d
+sqadd z0.h, p0/m, z0.h, z1.h
+sqadd z0.h, z0.h, #0
+sqadd z0.h, z0.h, #0, lsl #8
+sqadd z0.h, z0.h, z0.h
+sqadd z0.s, z0.s, #0
+sqadd z0.s, z0.s, #0, lsl #8
+sqadd z0.s, z0.s, z0.s
+sqadd z29.s, p7/m, z29.s, z30.s
+sqadd z31.b, z31.b, #255
+sqadd z31.d, p7/m, z31.d, z30.d
+sqadd z31.d, z31.d, #65280
+sqadd z31.h, z31.h, #65280
+sqadd z31.s, z31.s, #65280
+sqcadd z0.b, z0.b, z0.b, #90
+sqcadd z0.d, z0.d, z0.d, #90
+sqcadd z0.h, z0.h, z0.h, #90
+sqcadd z0.s, z0.s, z0.s, #90
+sqcadd z31.b, z31.b, z31.b, #270
+sqcadd z31.d, z31.d, z31.d, #270
+sqcadd z31.h, z31.h, z31.h, #270
+sqcadd z31.s, z31.s, z31.s, #270
+sqdecb x0
+sqdecb x0, #14
+sqdecb x0, all, mul #16
+sqdecb x0, pow2
+sqdecb x0, vl1
+sqdecb x0, w0
+sqdecb x0, w0, all, mul #16
+sqdecb x0, w0, pow2
+sqdecb x0, w0, pow2, mul #16
+sqdecd x0
+sqdecd x0, #14
+sqdecd x0, all, mul #16
+sqdecd x0, pow2
+sqdecd x0, vl1
+sqdecd x0, w0
+sqdecd x0, w0, all, mul #16
+sqdecd x0, w0, pow2
+sqdecd x0, w0, pow2, mul #16
+sqdecd z0.d
+sqdecd z0.d, all, mul #16
+sqdecd z0.d, pow2
+sqdecd z0.d, pow2, mul #16
+sqdech x0
+sqdech x0, #14
+sqdech x0, all, mul #16
+sqdech x0, pow2
+sqdech x0, vl1
+sqdech x0, w0
+sqdech x0, w0, all, mul #16
+sqdech x0, w0, pow2
+sqdech x0, w0, pow2, mul #16
+sqdech z0.h
+sqdech z0.h, all, mul #16
+sqdech z0.h, pow2
+sqdech z0.h, pow2, mul #16
+sqdecp x0, p0.b
+sqdecp x0, p0.d
+sqdecp x0, p0.h
+sqdecp x0, p0.s
+sqdecp xzr, p15.b, wzr
+sqdecp xzr, p15.d, wzr
+sqdecp xzr, p15.h, wzr
+sqdecp xzr, p15.s, wzr
+sqdecp z0.d, p0.d
+sqdecp z0.h, p0.h
+sqdecp z0.s, p0.s
+sqdecw x0
+sqdecw x0, #14
+sqdecw x0, all, mul #16
+sqdecw x0, pow2
+sqdecw x0, vl1
+sqdecw x0, w0
+sqdecw x0, w0, all, mul #16
+sqdecw x0, w0, pow2
+sqdecw x0, w0, pow2, mul #16
+sqdecw z0.s
+sqdecw z0.s, all, mul #16
+sqdecw z0.s, pow2
+sqdecw z0.s, pow2, mul #16
+sqdmlalb z0.d, z1.s, z15.s[3]
+sqdmlalb z0.d, z1.s, z31.s
+sqdmlalb z0.h, z1.b, z31.b
+sqdmlalb z0.s, z1.h, z31.h
+sqdmlalb z0.s, z1.h, z7.h[7]
+sqdmlalbt z0.d, z1.s, z31.s
+sqdmlalbt z0.h, z1.b, z31.b
+sqdmlalbt z0.s, z1.h, z31.h
+sqdmlalt z0.d, z1.s, z15.s[3]
+sqdmlalt z0.d, z1.s, z31.s
+sqdmlalt z0.h, z1.b, z31.b
+sqdmlalt z0.s, z1.h, z31.h
+sqdmlalt z0.s, z1.h, z7.h[7]
+sqdmlslb z0.d, z1.s, z15.s[3]
+sqdmlslb z0.d, z1.s, z31.s
+sqdmlslb z0.h, z1.b, z31.b
+sqdmlslb z0.s, z1.h, z31.h
+sqdmlslb z0.s, z1.h, z7.h[7]
+sqdmlslbt z0.d, z1.s, z31.s
+sqdmlslbt z0.h, z1.b, z31.b
+sqdmlslbt z0.s, z1.h, z31.h
+sqdmlslt z0.d, z1.s, z15.s[3]
+sqdmlslt z0.d, z1.s, z31.s
+sqdmlslt z0.h, z1.b, z31.b
+sqdmlslt z0.s, z1.h, z31.h
+sqdmlslt z0.s, z1.h, z7.h[7]
+sqdmulh z0.b, z1.b, z2.b
+sqdmulh z0.d, z1.d, z15.d[1]
+sqdmulh z0.h, z1.h, z2.h
+sqdmulh z0.h, z1.h, z7.h[7]
+sqdmulh z0.s, z1.s, z7.s[3]
+sqdmulh z29.s, z30.s, z31.s
+sqdmulh z31.d, z31.d, z31.d
+sqdmullb z0.d, z1.s, z15.s[1]
+sqdmullb z0.h, z1.b, z2.b
+sqdmullb z0.s, z1.h, z7.h[7]
+sqdmullb z29.s, z30.h, z31.h
+sqdmullb z31.d, z31.s, z31.s
+sqdmullt z0.d, z1.s, z15.s[1]
+sqdmullt z0.h, z1.b, z2.b
+sqdmullt z0.s, z1.h, z7.h[7]
+sqdmullt z29.s, z30.h, z31.h
+sqdmullt z31.d, z31.s, z31.s
+sqincb x0
+sqincb x0, #14
+sqincb x0, all, mul #16
+sqincb x0, pow2
+sqincb x0, vl1
+sqincb x0, w0
+sqincb x0, w0, all, mul #16
+sqincb x0, w0, pow2
+sqincb x0, w0, pow2, mul #16
+sqincd x0
+sqincd x0, #14
+sqincd x0, all, mul #16
+sqincd x0, pow2
+sqincd x0, vl1
+sqincd x0, w0
+sqincd x0, w0, all, mul #16
+sqincd x0, w0, pow2
+sqincd x0, w0, pow2, mul #16
+sqincd z0.d
+sqincd z0.d, all, mul #16
+sqincd z0.d, pow2
+sqincd z0.d, pow2, mul #16
+sqinch x0
+sqinch x0, #14
+sqinch x0, all, mul #16
+sqinch x0, pow2
+sqinch x0, vl1
+sqinch x0, w0
+sqinch x0, w0, all, mul #16
+sqinch x0, w0, pow2
+sqinch x0, w0, pow2, mul #16
+sqinch z0.h
+sqinch z0.h, all, mul #16
+sqinch z0.h, pow2
+sqinch z0.h, pow2, mul #16
+sqincp x0, p0.b
+sqincp x0, p0.d
+sqincp x0, p0.h
+sqincp x0, p0.s
+sqincp xzr, p15.b, wzr
+sqincp xzr, p15.d, wzr
+sqincp xzr, p15.h, wzr
+sqincp xzr, p15.s, wzr
+sqincp z0.d, p0.d
+sqincp z0.h, p0.h
+sqincp z0.s, p0.s
+sqincw x0
+sqincw x0, #14
+sqincw x0, all, mul #16
+sqincw x0, pow2
+sqincw x0, vl1
+sqincw x0, w0
+sqincw x0, w0, all, mul #16
+sqincw x0, w0, pow2
+sqincw x0, w0, pow2, mul #16
+sqincw z0.s
+sqincw z0.s, all, mul #16
+sqincw z0.s, pow2
+sqincw z0.s, pow2, mul #16
+sqneg z31.b, p7/m, z31.b
+sqneg z31.d, p7/m, z31.d
+sqneg z31.h, p7/m, z31.h
+sqneg z31.s, p7/m, z31.s
+sqrdcmlah z0.b, z1.b, z2.b, #0
+sqrdcmlah z0.d, z1.d, z2.d, #0
+sqrdcmlah z0.h, z1.h, z2.h, #0
+sqrdcmlah z0.h, z1.h, z2.h[0], #0
+sqrdcmlah z0.s, z1.s, z2.s, #0
+sqrdcmlah z0.s, z1.s, z2.s[0], #0
+sqrdcmlah z15.b, z16.b, z17.b, #270
+sqrdcmlah z15.d, z16.d, z17.d, #270
+sqrdcmlah z15.h, z16.h, z17.h, #270
+sqrdcmlah z15.s, z16.s, z17.s, #270
+sqrdcmlah z29.b, z30.b, z31.b, #90
+sqrdcmlah z29.d, z30.d, z31.d, #90
+sqrdcmlah z29.h, z30.h, z31.h, #90
+sqrdcmlah z29.s, z30.s, z31.s, #90
+sqrdcmlah z31.b, z31.b, z31.b, #180
+sqrdcmlah z31.d, z31.d, z31.d, #180
+sqrdcmlah z31.h, z30.h, z7.h[0], #180
+sqrdcmlah z31.h, z31.h, z31.h, #180
+sqrdcmlah z31.s, z30.s, z7.s[0], #180
+sqrdcmlah z31.s, z31.s, z31.s, #180
+sqrdmlah z0.b, z1.b, z31.b
+sqrdmlah z0.d, z1.d, z15.d[1]
+sqrdmlah z0.d, z1.d, z31.d
+sqrdmlah z0.h, z1.h, z31.h
+sqrdmlah z0.h, z1.h, z7.h[7]
+sqrdmlah z0.s, z1.s, z31.s
+sqrdmlah z0.s, z1.s, z7.s[3]
+sqrdmlsh z0.b, z1.b, z31.b
+sqrdmlsh z0.d, z1.d, z15.d[1]
+sqrdmlsh z0.d, z1.d, z31.d
+sqrdmlsh z0.h, z1.h, z31.h
+sqrdmlsh z0.h, z1.h, z7.h[7]
+sqrdmlsh z0.s, z1.s, z31.s
+sqrdmlsh z0.s, z1.s, z7.s[3]
+sqrdmulh z0.b, z1.b, z2.b
+sqrdmulh z0.d, z1.d, z15.d[1]
+sqrdmulh z0.h, z1.h, z2.h
+sqrdmulh z0.h, z1.h, z7.h[7]
+sqrdmulh z0.s, z1.s, z7.s[3]
+sqrdmulh z29.s, z30.s, z31.s
+sqrdmulh z31.d, z31.d, z31.d
+sqrshl z0.b, p0/m, z0.b, z1.b
+sqrshl z0.h, p0/m, z0.h, z1.h
+sqrshl z29.s, p7/m, z29.s, z30.s
+sqrshl z31.d, p7/m, z31.d, z30.d
+sqrshlr z0.b, p0/m, z0.b, z1.b
+sqrshlr z0.h, p0/m, z0.h, z1.h
+sqrshlr z29.s, p7/m, z29.s, z30.s
+sqrshlr z31.d, p7/m, z31.d, z30.d
+sqrshrnb z0.b, z0.h, #1
+sqrshrnb z0.h, z0.s, #1
+sqrshrnb z0.s, z0.d, #1
+sqrshrnb z31.b, z31.h, #8
+sqrshrnb z31.h, z31.s, #16
+sqrshrnb z31.s, z31.d, #32
+sqrshrnt z0.b, z0.h, #1
+sqrshrnt z0.h, z0.s, #1
+sqrshrnt z0.s, z0.d, #1
+sqrshrnt z31.b, z31.h, #8
+sqrshrnt z31.h, z31.s, #16
+sqrshrnt z31.s, z31.d, #32
+sqrshrunb z0.b, z0.h, #1
+sqrshrunb z0.h, z0.s, #1
+sqrshrunb z0.s, z0.d, #1
+sqrshrunb z31.b, z31.h, #8
+sqrshrunb z31.h, z31.s, #16
+sqrshrunb z31.s, z31.d, #32
+sqrshrunt z0.b, z0.h, #1
+sqrshrunt z0.h, z0.s, #1
+sqrshrunt z0.s, z0.d, #1
+sqrshrunt z31.b, z31.h, #8
+sqrshrunt z31.h, z31.s, #16
+sqrshrunt z31.s, z31.d, #32
+sqshl z0.b, p0/m, z0.b, #0
+sqshl z0.b, p0/m, z0.b, z1.b
+sqshl z0.d, p0/m, z0.d, #0
+sqshl z0.h, p0/m, z0.h, #0
+sqshl z0.h, p0/m, z0.h, z1.h
+sqshl z0.s, p0/m, z0.s, #0
+sqshl z29.s, p7/m, z29.s, z30.s
+sqshl z31.b, p0/m, z31.b, #7
+sqshl z31.d, p0/m, z31.d, #63
+sqshl z31.d, p7/m, z31.d, z30.d
+sqshl z31.h, p0/m, z31.h, #15
+sqshl z31.s, p0/m, z31.s, #31
+sqshlr z0.b, p0/m, z0.b, z1.b
+sqshlr z0.h, p0/m, z0.h, z1.h
+sqshlr z29.s, p7/m, z29.s, z30.s
+sqshlr z31.d, p7/m, z31.d, z30.d
+sqshlu z0.b, p0/m, z0.b, #0
+sqshlu z0.d, p0/m, z0.d, #0
+sqshlu z0.h, p0/m, z0.h, #0
+sqshlu z0.s, p0/m, z0.s, #0
+sqshlu z31.b, p0/m, z31.b, #7
+sqshlu z31.d, p0/m, z31.d, #63
+sqshlu z31.h, p0/m, z31.h, #15
+sqshlu z31.s, p0/m, z31.s, #31
+sqshrnb z0.b, z0.h, #1
+sqshrnb z0.h, z0.s, #1
+sqshrnb z0.s, z0.d, #1
+sqshrnb z31.b, z31.h, #8
+sqshrnb z31.h, z31.s, #16
+sqshrnb z31.s, z31.d, #32
+sqshrnt z0.b, z0.h, #1
+sqshrnt z0.h, z0.s, #1
+sqshrnt z0.s, z0.d, #1
+sqshrnt z31.b, z31.h, #8
+sqshrnt z31.h, z31.s, #16
+sqshrnt z31.s, z31.d, #32
+sqshrunb z0.b, z0.h, #1
+sqshrunb z0.h, z0.s, #1
+sqshrunb z0.s, z0.d, #1
+sqshrunb z31.b, z31.h, #8
+sqshrunb z31.h, z31.s, #16
+sqshrunb z31.s, z31.d, #32
+sqshrunt z0.b, z0.h, #1
+sqshrunt z0.h, z0.s, #1
+sqshrunt z0.s, z0.d, #1
+sqshrunt z31.b, z31.h, #8
+sqshrunt z31.h, z31.s, #16
+sqshrunt z31.s, z31.d, #32
+sqsub z0.b, p0/m, z0.b, z1.b
+sqsub z0.b, z0.b, #0
+sqsub z0.b, z0.b, z0.b
+sqsub z0.d, z0.d, #0
+sqsub z0.d, z0.d, #0, lsl #8
+sqsub z0.d, z0.d, z0.d
+sqsub z0.h, p0/m, z0.h, z1.h
+sqsub z0.h, z0.h, #0
+sqsub z0.h, z0.h, #0, lsl #8
+sqsub z0.h, z0.h, z0.h
+sqsub z0.s, z0.s, #0
+sqsub z0.s, z0.s, #0, lsl #8
+sqsub z0.s, z0.s, z0.s
+sqsub z29.s, p7/m, z29.s, z30.s
+sqsub z31.b, z31.b, #255
+sqsub z31.d, p7/m, z31.d, z30.d
+sqsub z31.d, z31.d, #65280
+sqsub z31.h, z31.h, #65280
+sqsub z31.s, z31.s, #65280
+sqsubr z0.b, p0/m, z0.b, z1.b
+sqsubr z0.h, p0/m, z0.h, z1.h
+sqsubr z29.s, p7/m, z29.s, z30.s
+sqsubr z31.d, p7/m, z31.d, z30.d
+sqxtnb z0.b, z31.h
+sqxtnb z0.h, z31.s
+sqxtnb z0.s, z31.d
+sqxtnt z0.b, z31.h
+sqxtnt z0.h, z31.s
+sqxtnt z0.s, z31.d
+sqxtunb z0.b, z31.h
+sqxtunb z0.h, z31.s
+sqxtunb z0.s, z31.d
+sqxtunt z0.b, z31.h
+sqxtunt z0.h, z31.s
+sqxtunt z0.s, z31.d
+srhadd z0.b, p0/m, z0.b, z1.b
+srhadd z0.h, p0/m, z0.h, z1.h
+srhadd z29.s, p7/m, z29.s, z30.s
+srhadd z31.d, p7/m, z31.d, z30.d
+sri z0.b, z0.b, #1
+sri z0.d, z0.d, #1
+sri z0.h, z0.h, #1
+sri z0.s, z0.s, #1
+sri z31.b, z31.b, #8
+sri z31.d, z31.d, #64
+sri z31.h, z31.h, #16
+sri z31.s, z31.s, #32
+srshl z0.b, p0/m, z0.b, z1.b
+srshl z0.h, p0/m, z0.h, z1.h
+srshl z29.s, p7/m, z29.s, z30.s
+srshl z31.d, p7/m, z31.d, z30.d
+srshlr z0.b, p0/m, z0.b, z1.b
+srshlr z0.h, p0/m, z0.h, z1.h
+srshlr z29.s, p7/m, z29.s, z30.s
+srshlr z31.d, p7/m, z31.d, z30.d
+srshr z0.b, p0/m, z0.b, #1
+srshr z0.d, p0/m, z0.d, #1
+srshr z0.h, p0/m, z0.h, #1
+srshr z0.s, p0/m, z0.s, #1
+srshr z31.b, p0/m, z31.b, #8
+srshr z31.d, p0/m, z31.d, #64
+srshr z31.h, p0/m, z31.h, #16
+srshr z31.s, p0/m, z31.s, #32
+srsra z0.b, z0.b, #1
+srsra z0.d, z0.d, #1
+srsra z0.h, z0.h, #1
+srsra z0.s, z0.s, #1
+srsra z31.b, z31.b, #8
+srsra z31.d, z31.d, #64
+srsra z31.h, z31.h, #16
+srsra z31.s, z31.s, #32
+sshllb z0.d, z0.s, #0
+sshllb z0.h, z0.b, #0
+sshllb z0.s, z0.h, #0
+sshllb z31.d, z31.s, #31
+sshllb z31.h, z31.b, #7
+sshllb z31.s, z31.h, #15
+sshllt z0.d, z0.s, #0
+sshllt z0.h, z0.b, #0
+sshllt z0.s, z0.h, #0
+sshllt z31.d, z31.s, #31
+sshllt z31.h, z31.b, #7
+sshllt z31.s, z31.h, #15
+ssra z0.b, z0.b, #1
+ssra z0.d, z0.d, #1
+ssra z0.h, z0.h, #1
+ssra z0.s, z0.s, #1
+ssra z31.b, z31.b, #8
+ssra z31.d, z31.d, #64
+ssra z31.h, z31.h, #16
+ssra z31.s, z31.s, #32
+ssublb z0.h, z1.b, z2.b
+ssublb z29.s, z30.h, z31.h
+ssublb z31.d, z31.s, z31.s
+ssublbt z0.d, z1.s, z31.s
+ssublbt z0.h, z1.b, z31.b
+ssublbt z0.s, z1.h, z31.h
+ssublt z0.h, z1.b, z2.b
+ssublt z29.s, z30.h, z31.h
+ssublt z31.d, z31.s, z31.s
+ssubltb z0.d, z1.s, z31.s
+ssubltb z0.h, z1.b, z31.b
+ssubltb z0.s, z1.h, z31.h
+ssubwb z0.h, z1.h, z2.b
+ssubwb z29.s, z30.s, z31.h
+ssubwb z31.d, z31.d, z31.s
+ssubwt z0.h, z1.h, z2.b
+ssubwt z29.s, z30.s, z31.h
+ssubwt z31.d, z31.d, z31.s
+st1b { z0.b }, p0, [x0, x0]
+st1b { z0.b }, p0, [x0]
+st1b { z0.d }, p0, [x0, x0]
+st1b { z0.d }, p0, [x0, z0.d, sxtw]
+st1b { z0.d }, p0, [x0, z0.d, uxtw]
+st1b { z0.d }, p0, [x0, z0.d]
+st1b { z0.d }, p0, [x0]
+st1b { z0.d }, p7, [z0.d]
+st1b { z0.h }, p0, [x0, x0]
+st1b { z0.h }, p0, [x0]
+st1b { z0.s }, p0, [x0, x0]
+st1b { z0.s }, p0, [x0, z0.s, sxtw]
+st1b { z0.s }, p0, [x0, z0.s, uxtw]
+st1b { z0.s }, p0, [x0]
+st1b { z0.s }, p7, [z0.s]
+st1b { z21.b }, p5, [x10, #5, mul vl]
+st1b { z21.d }, p5, [x10, #5, mul vl]
+st1b { z21.h }, p5, [x10, #5, mul vl]
+st1b { z21.s }, p5, [x10, #5, mul vl]
+st1b { z31.b }, p7, [sp, #-1, mul vl]
+st1b { z31.d }, p7, [sp, #-1, mul vl]
+st1b { z31.d }, p7, [z31.d, #31]
+st1b { z31.h }, p7, [sp, #-1, mul vl]
+st1b { z31.s }, p7, [sp, #-1, mul vl]
+st1b { z31.s }, p7, [z31.s, #31]
+st1d { z0.d }, p0, [x0, x0, lsl #3]
+st1d { z0.d }, p0, [x0, z0.d, lsl #3]
+st1d { z0.d }, p0, [x0, z0.d, sxtw #3]
+st1d { z0.d }, p0, [x0, z0.d, sxtw]
+st1d { z0.d }, p0, [x0, z0.d, uxtw #3]
+st1d { z0.d }, p0, [x0, z0.d, uxtw]
+st1d { z0.d }, p0, [x0, z0.d]
+st1d { z0.d }, p0, [x0]
+st1d { z0.d }, p7, [z0.d]
+st1d { z21.d }, p5, [x10, #5, mul vl]
+st1d { z31.d }, p7, [sp, #-1, mul vl]
+st1d { z31.d }, p7, [z31.d, #248]
+st1h { z0.d }, p0, [x0, x0, lsl #1]
+st1h { z0.d }, p0, [x0, z0.d, lsl #1]
+st1h { z0.d }, p0, [x0, z0.d, sxtw #1]
+st1h { z0.d }, p0, [x0, z0.d, sxtw]
+st1h { z0.d }, p0, [x0, z0.d, uxtw #1]
+st1h { z0.d }, p0, [x0, z0.d, uxtw]
+st1h { z0.d }, p0, [x0, z0.d]
+st1h { z0.d }, p0, [x0]
+st1h { z0.d }, p7, [z0.d]
+st1h { z0.h }, p0, [x0, x0, lsl #1]
+st1h { z0.h }, p0, [x0]
+st1h { z0.s }, p0, [x0, x0, lsl #1]
+st1h { z0.s }, p0, [x0, z0.s, sxtw #1]
+st1h { z0.s }, p0, [x0, z0.s, sxtw]
+st1h { z0.s }, p0, [x0, z0.s, uxtw #1]
+st1h { z0.s }, p0, [x0, z0.s, uxtw]
+st1h { z0.s }, p0, [x0]
+st1h { z0.s }, p7, [z0.s]
+st1h { z21.d }, p5, [x10, #5, mul vl]
+st1h { z21.h }, p5, [x10, #5, mul vl]
+st1h { z21.s }, p5, [x10, #5, mul vl]
+st1h { z31.d }, p7, [sp, #-1, mul vl]
+st1h { z31.d }, p7, [z31.d, #62]
+st1h { z31.h }, p7, [sp, #-1, mul vl]
+st1h { z31.s }, p7, [sp, #-1, mul vl]
+st1h { z31.s }, p7, [z31.s, #62]
+st1w { z0.d }, p0, [x0, x0, lsl #2]
+st1w { z0.d }, p0, [x0, z0.d, lsl #2]
+st1w { z0.d }, p0, [x0, z0.d, sxtw #2]
+st1w { z0.d }, p0, [x0, z0.d, sxtw]
+st1w { z0.d }, p0, [x0, z0.d, uxtw #2]
+st1w { z0.d }, p0, [x0, z0.d, uxtw]
+st1w { z0.d }, p0, [x0, z0.d]
+st1w { z0.d }, p0, [x0]
+st1w { z0.d }, p7, [z0.d]
+st1w { z0.s }, p0, [x0, x0, lsl #2]
+st1w { z0.s }, p0, [x0, z0.s, sxtw #2]
+st1w { z0.s }, p0, [x0, z0.s, sxtw]
+st1w { z0.s }, p0, [x0, z0.s, uxtw #2]
+st1w { z0.s }, p0, [x0, z0.s, uxtw]
+st1w { z0.s }, p0, [x0]
+st1w { z0.s }, p7, [z0.s]
+st1w { z21.d }, p5, [x10, #5, mul vl]
+st1w { z21.s }, p5, [x10, #5, mul vl]
+st1w { z31.d }, p7, [sp, #-1, mul vl]
+st1w { z31.d }, p7, [z31.d, #124]
+st1w { z31.s }, p7, [sp, #-1, mul vl]
+st1w { z31.s }, p7, [z31.s, #124]
+st2b { z0.b, z1.b }, p0, [x0, x0]
+st2b { z0.b, z1.b }, p0, [x0]
+st2b { z21.b, z22.b }, p5, [x10, #10, mul vl]
+st2b { z23.b, z24.b }, p3, [x13, #-16, mul vl]
+st2b { z5.b, z6.b }, p3, [x17, x16]
+st2d { z0.d, z1.d }, p0, [x0, x0, lsl #3]
+st2d { z0.d, z1.d }, p0, [x0]
+st2d { z21.d, z22.d }, p5, [x10, #10, mul vl]
+st2d { z23.d, z24.d }, p3, [x13, #-16, mul vl]
+st2d { z5.d, z6.d }, p3, [x17, x16, lsl #3]
+st2h { z0.h, z1.h }, p0, [x0, x0, lsl #1]
+st2h { z0.h, z1.h }, p0, [x0]
+st2h { z21.h, z22.h }, p5, [x10, #10, mul vl]
+st2h { z23.h, z24.h }, p3, [x13, #-16, mul vl]
+st2h { z5.h, z6.h }, p3, [x17, x16, lsl #1]
+st2w { z0.s, z1.s }, p0, [x0, x0, lsl #2]
+st2w { z0.s, z1.s }, p0, [x0]
+st2w { z21.s, z22.s }, p5, [x10, #10, mul vl]
+st2w { z23.s, z24.s }, p3, [x13, #-16, mul vl]
+st2w { z5.s, z6.s }, p3, [x17, x16, lsl #2]
+st3b { z0.b, z1.b, z2.b }, p0, [x0, x0]
+st3b { z0.b, z1.b, z2.b }, p0, [x0]
+st3b { z21.b, z22.b, z23.b }, p5, [x10, #15, mul vl]
+st3b { z23.b, z24.b, z25.b }, p3, [x13, #-24, mul vl]
+st3b { z5.b, z6.b, z7.b }, p3, [x17, x16]
+st3d { z0.d, z1.d, z2.d }, p0, [x0, x0, lsl #3]
+st3d { z0.d, z1.d, z2.d }, p0, [x0]
+st3d { z21.d, z22.d, z23.d }, p5, [x10, #15, mul vl]
+st3d { z23.d, z24.d, z25.d }, p3, [x13, #-24, mul vl]
+st3d { z5.d, z6.d, z7.d }, p3, [x17, x16, lsl #3]
+st3h { z0.h, z1.h, z2.h }, p0, [x0, x0, lsl #1]
+st3h { z0.h, z1.h, z2.h }, p0, [x0]
+st3h { z21.h, z22.h, z23.h }, p5, [x10, #15, mul vl]
+st3h { z23.h, z24.h, z25.h }, p3, [x13, #-24, mul vl]
+st3h { z5.h, z6.h, z7.h }, p3, [x17, x16, lsl #1]
+st3w { z0.s, z1.s, z2.s }, p0, [x0, x0, lsl #2]
+st3w { z0.s, z1.s, z2.s }, p0, [x0]
+st3w { z21.s, z22.s, z23.s }, p5, [x10, #15, mul vl]
+st3w { z23.s, z24.s, z25.s }, p3, [x13, #-24, mul vl]
+st3w { z5.s, z6.s, z7.s }, p3, [x17, x16, lsl #2]
+st4b { z0.b, z1.b, z2.b, z3.b }, p0, [x0, x0]
+st4b { z0.b, z1.b, z2.b, z3.b }, p0, [x0]
+st4b { z21.b, z22.b, z23.b, z24.b }, p5, [x10, #20, mul vl]
+st4b { z23.b, z24.b, z25.b, z26.b }, p3, [x13, #-32, mul vl]
+st4b { z5.b, z6.b, z7.b, z8.b }, p3, [x17, x16]
+st4d { z0.d, z1.d, z2.d, z3.d }, p0, [x0, x0, lsl #3]
+st4d { z0.d, z1.d, z2.d, z3.d }, p0, [x0]
+st4d { z21.d, z22.d, z23.d, z24.d }, p5, [x10, #20, mul vl]
+st4d { z23.d, z24.d, z25.d, z26.d }, p3, [x13, #-32, mul vl]
+st4d { z5.d, z6.d, z7.d, z8.d }, p3, [x17, x16, lsl #3]
+st4h { z0.h, z1.h, z2.h, z3.h }, p0, [x0, x0, lsl #1]
+st4h { z0.h, z1.h, z2.h, z3.h }, p0, [x0]
+st4h { z21.h, z22.h, z23.h, z24.h }, p5, [x10, #20, mul vl]
+st4h { z23.h, z24.h, z25.h, z26.h }, p3, [x13, #-32, mul vl]
+st4h { z5.h, z6.h, z7.h, z8.h }, p3, [x17, x16, lsl #1]
+st4w { z0.s, z1.s, z2.s, z3.s }, p0, [x0, x0, lsl #2]
+st4w { z0.s, z1.s, z2.s, z3.s }, p0, [x0]
+st4w { z21.s, z22.s, z23.s, z24.s }, p5, [x10, #20, mul vl]
+st4w { z23.s, z24.s, z25.s, z26.s }, p3, [x13, #-32, mul vl]
+st4w { z5.s, z6.s, z7.s, z8.s }, p3, [x17, x16, lsl #2]
+stnt1b { z0.b }, p0, [x0, x0]
+stnt1b { z0.b }, p0, [x0]
+stnt1b { z0.d }, p0, [z1.d]
+stnt1b { z0.s }, p0, [z1.s]
+stnt1b { z21.b }, p5, [x10, #7, mul vl]
+stnt1b { z23.b }, p3, [x13, #-8, mul vl]
+stnt1b { z31.d }, p7, [z31.d, x0]
+stnt1b { z31.d }, p7, [z31.d]
+stnt1b { z31.s }, p7, [z31.s, x0]
+stnt1b { z31.s }, p7, [z31.s]
+stnt1d { z0.d }, p0, [x0, x0, lsl #3]
+stnt1d { z0.d }, p0, [x0]
+stnt1d { z0.d }, p0, [z1.d]
+stnt1d { z21.d }, p5, [x10, #7, mul vl]
+stnt1d { z23.d }, p3, [x13, #-8, mul vl]
+stnt1d { z31.d }, p7, [z31.d, x0]
+stnt1d { z31.d }, p7, [z31.d]
+stnt1h { z0.d }, p0, [z1.d]
+stnt1h { z0.h }, p0, [x0, x0, lsl #1]
+stnt1h { z0.h }, p0, [x0]
+stnt1h { z0.s }, p0, [z1.s]
+stnt1h { z21.h }, p5, [x10, #7, mul vl]
+stnt1h { z23.h }, p3, [x13, #-8, mul vl]
+stnt1h { z31.d }, p7, [z31.d, x0]
+stnt1h { z31.d }, p7, [z31.d]
+stnt1h { z31.s }, p7, [z31.s, x0]
+stnt1h { z31.s }, p7, [z31.s]
+stnt1w { z0.d }, p0, [z1.d]
+stnt1w { z0.s }, p0, [x0, x0, lsl #2]
+stnt1w { z0.s }, p0, [x0]
+stnt1w { z0.s }, p0, [z1.s]
+stnt1w { z21.s }, p5, [x10, #7, mul vl]
+stnt1w { z23.s }, p3, [x13, #-8, mul vl]
+stnt1w { z31.d }, p7, [z31.d, x0]
+stnt1w { z31.d }, p7, [z31.d]
+stnt1w { z31.s }, p7, [z31.s, x0]
+stnt1w { z31.s }, p7, [z31.s]
+str p0, [x0]
+str p15, [sp, #-256, mul vl]
+str p5, [x10, #255, mul vl]
+str z0, [x0]
+str z21, [x10, #-256, mul vl]
+str z31, [sp, #255, mul vl]
+sub z0.b, p0/m, z0.b, z0.b
+sub z0.b, z0.b, #0
+sub z0.b, z0.b, z0.b
+sub z0.d, p0/m, z0.d, z0.d
+sub z0.d, z0.d, #0
+sub z0.d, z0.d, #0, lsl #8
+sub z0.d, z0.d, z0.d
+sub z0.h, p0/m, z0.h, z0.h
+sub z0.h, z0.h, #0
+sub z0.h, z0.h, #0, lsl #8
+sub z0.h, z0.h, z0.h
+sub z0.s, p0/m, z0.s, z0.s
+sub z0.s, z0.s, #0
+sub z0.s, z0.s, #0, lsl #8
+sub z0.s, z0.s, z0.s
+sub z21.b, p5/m, z21.b, z10.b
+sub z21.b, z10.b, z21.b
+sub z21.d, p5/m, z21.d, z10.d
+sub z21.d, z10.d, z21.d
+sub z21.h, p5/m, z21.h, z10.h
+sub z21.h, z10.h, z21.h
+sub z21.s, p5/m, z21.s, z10.s
+sub z21.s, z10.s, z21.s
+sub z23.b, p3/m, z23.b, z13.b
+sub z23.b, z13.b, z8.b
+sub z23.d, p3/m, z23.d, z13.d
+sub z23.d, z13.d, z8.d
+sub z23.h, p3/m, z23.h, z13.h
+sub z23.h, z13.h, z8.h
+sub z23.s, p3/m, z23.s, z13.s
+sub z23.s, z13.s, z8.s
+sub z31.b, p7/m, z31.b, z31.b
+sub z31.b, z31.b, #255
+sub z31.b, z31.b, z31.b
+sub z31.d, p7/m, z31.d, z31.d
+sub z31.d, z31.d, #65280
+sub z31.d, z31.d, z31.d
+sub z31.h, p7/m, z31.h, z31.h
+sub z31.h, z31.h, #65280
+sub z31.h, z31.h, z31.h
+sub z31.s, p7/m, z31.s, z31.s
+sub z31.s, z31.s, #65280
+sub z31.s, z31.s, z31.s
+subhnb z0.b, z1.h, z31.h
+subhnb z0.h, z1.s, z31.s
+subhnb z0.s, z1.d, z31.d
+subhnt z0.b, z1.h, z31.h
+subhnt z0.h, z1.s, z31.s
+subhnt z0.s, z1.d, z31.d
+subr z0.b, p0/m, z0.b, z0.b
+subr z0.b, z0.b, #0
+subr z0.d, p0/m, z0.d, z0.d
+subr z0.d, z0.d, #0
+subr z0.d, z0.d, #0, lsl #8
+subr z0.h, p0/m, z0.h, z0.h
+subr z0.h, z0.h, #0
+subr z0.h, z0.h, #0, lsl #8
+subr z0.s, p0/m, z0.s, z0.s
+subr z0.s, z0.s, #0
+subr z0.s, z0.s, #0, lsl #8
+subr z31.b, z31.b, #255
+subr z31.d, z31.d, #65280
+subr z31.h, z31.h, #65280
+subr z31.s, z31.s, #65280
+sunpkhi z31.d, z31.s
+sunpkhi z31.h, z31.b
+sunpkhi z31.s, z31.h
+sunpklo z31.d, z31.s
+sunpklo z31.h, z31.b
+sunpklo z31.s, z31.h
+suqadd z0.b, p0/m, z0.b, z1.b
+suqadd z0.h, p0/m, z0.h, z1.h
+suqadd z29.s, p7/m, z29.s, z30.s
+suqadd z31.d, p7/m, z31.d, z30.d
+sxtb z0.d, p0/m, z0.d
+sxtb z0.h, p0/m, z0.h
+sxtb z0.s, p0/m, z0.s
+sxtb z31.d, p7/m, z31.d
+sxtb z31.h, p7/m, z31.h
+sxtb z31.s, p7/m, z31.s
+sxth z0.d, p0/m, z0.d
+sxth z0.s, p0/m, z0.s
+sxth z31.d, p7/m, z31.d
+sxth z31.s, p7/m, z31.s
+sxtw z0.d, p0/m, z0.d
+sxtw z31.d, p7/m, z31.d
+tbl z28.b, { z29.b, z30.b }, z31.b
+tbl z28.d, { z29.d, z30.d }, z31.d
+tbl z28.h, { z29.h, z30.h }, z31.h
+tbl z28.s, { z29.s, z30.s }, z31.s
+tbl z31.b, { z31.b }, z31.b
+tbl z31.d, { z31.d }, z31.d
+tbl z31.h, { z31.h }, z31.h
+tbl z31.s, { z31.s }, z31.s
+tbx z31.b, z31.b, z31.b
+tbx z31.d, z31.d, z31.d
+tbx z31.h, z31.h, z31.h
+tbx z31.s, z31.s, z31.s
+trn1 p15.b, p15.b, p15.b
+trn1 p15.d, p15.d, p15.d
+trn1 p15.h, p15.h, p15.h
+trn1 p15.s, p15.s, p15.s
+trn1 z31.b, z31.b, z31.b
+trn1 z31.d, z31.d, z31.d
+trn1 z31.h, z31.h, z31.h
+trn1 z31.s, z31.s, z31.s
+trn2 p15.b, p15.b, p15.b
+trn2 p15.d, p15.d, p15.d
+trn2 p15.h, p15.h, p15.h
+trn2 p15.s, p15.s, p15.s
+trn2 z31.b, z31.b, z31.b
+trn2 z31.d, z31.d, z31.d
+trn2 z31.h, z31.h, z31.h
+trn2 z31.s, z31.s, z31.s
+uaba z0.b, z1.b, z31.b
+uaba z0.d, z1.d, z31.d
+uaba z0.h, z1.h, z31.h
+uaba z0.s, z1.s, z31.s
+uabalb z0.d, z1.s, z31.s
+uabalb z0.h, z1.b, z31.b
+uabalb z0.s, z1.h, z31.h
+uabalt z0.d, z1.s, z31.s
+uabalt z0.h, z1.b, z31.b
+uabalt z0.s, z1.h, z31.h
+uabd z31.b, p7/m, z31.b, z31.b
+uabd z31.d, p7/m, z31.d, z31.d
+uabd z31.h, p7/m, z31.h, z31.h
+uabd z31.s, p7/m, z31.s, z31.s
+uabdlb z0.h, z1.b, z2.b
+uabdlb z29.s, z30.h, z31.h
+uabdlb z31.d, z31.s, z31.s
+uabdlt z0.h, z1.b, z2.b
+uabdlt z29.s, z30.h, z31.h
+uabdlt z31.d, z31.s, z31.s
+uadalp z0.h, p0/m, z1.b
+uadalp z29.s, p0/m, z30.h
+uadalp z30.d, p7/m, z31.s
+uaddlb z0.h, z1.b, z2.b
+uaddlb z29.s, z30.h, z31.h
+uaddlb z31.d, z31.s, z31.s
+uaddlt z0.h, z1.b, z2.b
+uaddlt z29.s, z30.h, z31.h
+uaddlt z31.d, z31.s, z31.s
+uaddv d0, p7, z31.b
+uaddv d0, p7, z31.d
+uaddv d0, p7, z31.h
+uaddv d0, p7, z31.s
+uaddwb z0.h, z1.h, z2.b
+uaddwb z29.s, z30.s, z31.h
+uaddwb z31.d, z31.d, z31.s
+uaddwt z0.h, z1.h, z2.b
+uaddwt z29.s, z30.s, z31.h
+uaddwt z31.d, z31.d, z31.s
+ucvtf z0.d, p0/m, z0.d
+ucvtf z0.d, p0/m, z0.s
+ucvtf z0.h, p0/m, z0.d
+ucvtf z0.h, p0/m, z0.h
+ucvtf z0.h, p0/m, z0.s
+ucvtf z0.s, p0/m, z0.d
+ucvtf z0.s, p0/m, z0.s
+udiv z0.d, p7/m, z0.d, z31.d
+udiv z0.s, p7/m, z0.s, z31.s
+udivr z0.d, p7/m, z0.d, z31.d
+udivr z0.s, p7/m, z0.s, z31.s
+udot z0.d, z1.h, z15.h[1]
+udot z0.d, z1.h, z31.h
+udot z0.s, z1.b, z31.b
+udot z0.s, z1.b, z7.b[3]
+uhadd z0.b, p0/m, z0.b, z1.b
+uhadd z0.h, p0/m, z0.h, z1.h
+uhadd z29.s, p7/m, z29.s, z30.s
+uhadd z31.d, p7/m, z31.d, z30.d
+uhsub z0.b, p0/m, z0.b, z1.b
+uhsub z0.h, p0/m, z0.h, z1.h
+uhsub z29.s, p7/m, z29.s, z30.s
+uhsub z31.d, p7/m, z31.d, z30.d
+uhsubr z0.b, p0/m, z0.b, z1.b
+uhsubr z0.h, p0/m, z0.h, z1.h
+uhsubr z29.s, p7/m, z29.s, z30.s
+uhsubr z31.d, p7/m, z31.d, z30.d
+umax z0.b, z0.b, #0
+umax z31.b, p7/m, z31.b, z31.b
+umax z31.b, z31.b, #255
+umax z31.d, p7/m, z31.d, z31.d
+umax z31.h, p7/m, z31.h, z31.h
+umax z31.s, p7/m, z31.s, z31.s
+umaxp z0.b, p0/m, z0.b, z1.b
+umaxp z0.h, p0/m, z0.h, z1.h
+umaxp z29.s, p7/m, z29.s, z30.s
+umaxp z31.d, p7/m, z31.d, z30.d
+umaxv b0, p7, z31.b
+umaxv d0, p7, z31.d
+umaxv h0, p7, z31.h
+umaxv s0, p7, z31.s
+umin z0.b, z0.b, #0
+umin z31.b, p7/m, z31.b, z31.b
+umin z31.b, z31.b, #255
+umin z31.d, p7/m, z31.d, z31.d
+umin z31.h, p7/m, z31.h, z31.h
+umin z31.s, p7/m, z31.s, z31.s
+uminp z0.b, p0/m, z0.b, z1.b
+uminp z0.h, p0/m, z0.h, z1.h
+uminp z29.s, p7/m, z29.s, z30.s
+uminp z31.d, p7/m, z31.d, z30.d
+uminv b0, p7, z31.b
+uminv d0, p7, z31.d
+uminv h0, p7, z31.h
+uminv s0, p7, z31.s
+umlalb z0.d, z1.s, z15.s[1]
+umlalb z0.d, z1.s, z31.s
+umlalb z0.h, z1.b, z31.b
+umlalb z0.s, z1.h, z31.h
+umlalb z0.s, z1.h, z7.h[7]
+umlalt z0.d, z1.s, z15.s[1]
+umlalt z0.d, z1.s, z31.s
+umlalt z0.h, z1.b, z31.b
+umlalt z0.s, z1.h, z31.h
+umlalt z0.s, z1.h, z7.h[7]
+umlslb z0.d, z1.s, z15.s[1]
+umlslb z0.d, z1.s, z31.s
+umlslb z0.h, z1.b, z31.b
+umlslb z0.s, z1.h, z31.h
+umlslb z0.s, z1.h, z7.h[7]
+umlslt z0.d, z1.s, z15.s[1]
+umlslt z0.d, z1.s, z31.s
+umlslt z0.h, z1.b, z31.b
+umlslt z0.s, z1.h, z31.h
+umlslt z0.s, z1.h, z7.h[7]
+ummla z0.s, z1.b, z2.b
+umulh z0.b, p7/m, z0.b, z31.b
+umulh z0.b, z1.b, z2.b
+umulh z0.d, p7/m, z0.d, z31.d
+umulh z0.h, p7/m, z0.h, z31.h
+umulh z0.h, z1.h, z2.h
+umulh z0.s, p7/m, z0.s, z31.s
+umulh z29.s, z30.s, z31.s
+umulh z31.d, z31.d, z31.d
+umullb z0.d, z1.s, z15.s[1]
+umullb z0.h, z1.b, z2.b
+umullb z0.s, z1.h, z7.h[7]
+umullb z29.s, z30.h, z31.h
+umullb z31.d, z31.s, z31.s
+umullt z0.d, z1.s, z15.s[1]
+umullt z0.h, z1.b, z2.b
+umullt z0.s, z1.h, z7.h[7]
+umullt z29.s, z30.h, z31.h
+umullt z31.d, z31.s, z31.s
+uqadd z0.b, p0/m, z0.b, z1.b
+uqadd z0.b, z0.b, #0
+uqadd z0.b, z0.b, z0.b
+uqadd z0.d, z0.d, #0
+uqadd z0.d, z0.d, #0, lsl #8
+uqadd z0.d, z0.d, z0.d
+uqadd z0.h, p0/m, z0.h, z1.h
+uqadd z0.h, z0.h, #0
+uqadd z0.h, z0.h, #0, lsl #8
+uqadd z0.h, z0.h, z0.h
+uqadd z0.s, z0.s, #0
+uqadd z0.s, z0.s, #0, lsl #8
+uqadd z0.s, z0.s, z0.s
+uqadd z29.s, p7/m, z29.s, z30.s
+uqadd z31.b, z31.b, #255
+uqadd z31.d, p7/m, z31.d, z30.d
+uqadd z31.d, z31.d, #65280
+uqadd z31.h, z31.h, #65280
+uqadd z31.s, z31.s, #65280
+uqdecb w0
+uqdecb w0, all, mul #16
+uqdecb w0, pow2
+uqdecb w0, pow2, mul #16
+uqdecb x0
+uqdecb x0, #14
+uqdecb x0, all, mul #16
+uqdecb x0, pow2
+uqdecb x0, vl1
+uqdecd w0
+uqdecd w0, all, mul #16
+uqdecd w0, pow2
+uqdecd w0, pow2, mul #16
+uqdecd x0
+uqdecd x0, #14
+uqdecd x0, all, mul #16
+uqdecd x0, pow2
+uqdecd x0, vl1
+uqdecd z0.d
+uqdecd z0.d, all, mul #16
+uqdecd z0.d, pow2
+uqdecd z0.d, pow2, mul #16
+uqdech w0
+uqdech w0, all, mul #16
+uqdech w0, pow2
+uqdech w0, pow2, mul #16
+uqdech x0
+uqdech x0, #14
+uqdech x0, all, mul #16
+uqdech x0, pow2
+uqdech x0, vl1
+uqdech z0.h
+uqdech z0.h, all, mul #16
+uqdech z0.h, pow2
+uqdech z0.h, pow2, mul #16
+uqdecp wzr, p15.b
+uqdecp wzr, p15.d
+uqdecp wzr, p15.h
+uqdecp wzr, p15.s
+uqdecp x0, p0.b
+uqdecp x0, p0.d
+uqdecp x0, p0.h
+uqdecp x0, p0.s
+uqdecp z0.d, p0.d
+uqdecp z0.h, p0.h
+uqdecp z0.s, p0.s
+uqdecw w0
+uqdecw w0, all, mul #16
+uqdecw w0, pow2
+uqdecw w0, pow2, mul #16
+uqdecw x0
+uqdecw x0, #14
+uqdecw x0, all, mul #16
+uqdecw x0, pow2
+uqdecw x0, vl1
+uqdecw z0.s
+uqdecw z0.s, all, mul #16
+uqdecw z0.s, pow2
+uqdecw z0.s, pow2, mul #16
+uqincb w0
+uqincb w0, all, mul #16
+uqincb w0, pow2
+uqincb w0, pow2, mul #16
+uqincb x0
+uqincb x0, #14
+uqincb x0, all, mul #16
+uqincb x0, pow2
+uqincb x0, vl1
+uqincd w0
+uqincd w0, all, mul #16
+uqincd w0, pow2
+uqincd w0, pow2, mul #16
+uqincd x0
+uqincd x0, #14
+uqincd x0, all, mul #16
+uqincd x0, pow2
+uqincd x0, vl1
+uqincd z0.d
+uqincd z0.d, all, mul #16
+uqincd z0.d, pow2
+uqincd z0.d, pow2, mul #16
+uqinch w0
+uqinch w0, all, mul #16
+uqinch w0, pow2
+uqinch w0, pow2, mul #16
+uqinch x0
+uqinch x0, #14
+uqinch x0, all, mul #16
+uqinch x0, pow2
+uqinch x0, vl1
+uqinch z0.h
+uqinch z0.h, all, mul #16
+uqinch z0.h, pow2
+uqinch z0.h, pow2, mul #16
+uqincp wzr, p15.b
+uqincp wzr, p15.d
+uqincp wzr, p15.h
+uqincp wzr, p15.s
+uqincp x0, p0.b
+uqincp x0, p0.d
+uqincp x0, p0.h
+uqincp x0, p0.s
+uqincp z0.d, p0.d
+uqincp z0.h, p0.h
+uqincp z0.s, p0.s
+uqincw w0
+uqincw w0, all, mul #16
+uqincw w0, pow2
+uqincw w0, pow2, mul #16
+uqincw x0
+uqincw x0, #14
+uqincw x0, all, mul #16
+uqincw x0, pow2
+uqincw x0, vl1
+uqincw z0.s
+uqincw z0.s, all, mul #16
+uqincw z0.s, pow2
+uqincw z0.s, pow2, mul #16
+uqrshl z0.b, p0/m, z0.b, z1.b
+uqrshl z0.h, p0/m, z0.h, z1.h
+uqrshl z29.s, p7/m, z29.s, z30.s
+uqrshl z31.d, p7/m, z31.d, z30.d
+uqrshlr z0.b, p0/m, z0.b, z1.b
+uqrshlr z0.h, p0/m, z0.h, z1.h
+uqrshlr z29.s, p7/m, z29.s, z30.s
+uqrshlr z31.d, p7/m, z31.d, z30.d
+uqrshrnb z0.b, z0.h, #1
+uqrshrnb z0.h, z0.s, #1
+uqrshrnb z0.s, z0.d, #1
+uqrshrnb z31.b, z31.h, #8
+uqrshrnb z31.h, z31.s, #16
+uqrshrnb z31.s, z31.d, #32
+uqrshrnt z0.b, z0.h, #1
+uqrshrnt z0.h, z0.s, #1
+uqrshrnt z0.s, z0.d, #1
+uqrshrnt z31.b, z31.h, #8
+uqrshrnt z31.h, z31.s, #16
+uqrshrnt z31.s, z31.d, #32
+uqshl z0.b, p0/m, z0.b, #0
+uqshl z0.b, p0/m, z0.b, z1.b
+uqshl z0.d, p0/m, z0.d, #0
+uqshl z0.h, p0/m, z0.h, #0
+uqshl z0.h, p0/m, z0.h, z1.h
+uqshl z0.s, p0/m, z0.s, #0
+uqshl z29.s, p7/m, z29.s, z30.s
+uqshl z31.b, p0/m, z31.b, #7
+uqshl z31.d, p0/m, z31.d, #63
+uqshl z31.d, p7/m, z31.d, z30.d
+uqshl z31.h, p0/m, z31.h, #15
+uqshl z31.s, p0/m, z31.s, #31
+uqshlr z0.b, p0/m, z0.b, z1.b
+uqshlr z0.h, p0/m, z0.h, z1.h
+uqshlr z29.s, p7/m, z29.s, z30.s
+uqshlr z31.d, p7/m, z31.d, z30.d
+uqshrnb z0.b, z0.h, #1
+uqshrnb z0.h, z0.s, #1
+uqshrnb z0.s, z0.d, #1
+uqshrnb z31.b, z31.h, #8
+uqshrnb z31.h, z31.s, #16
+uqshrnb z31.s, z31.d, #32
+uqshrnt z0.b, z0.h, #1
+uqshrnt z0.h, z0.s, #1
+uqshrnt z0.s, z0.d, #1
+uqshrnt z31.b, z31.h, #8
+uqshrnt z31.h, z31.s, #16
+uqshrnt z31.s, z31.d, #32
+uqsub z0.b, p0/m, z0.b, z1.b
+uqsub z0.b, z0.b, #0
+uqsub z0.b, z0.b, z0.b
+uqsub z0.d, z0.d, #0
+uqsub z0.d, z0.d, #0, lsl #8
+uqsub z0.d, z0.d, z0.d
+uqsub z0.h, p0/m, z0.h, z1.h
+uqsub z0.h, z0.h, #0
+uqsub z0.h, z0.h, #0, lsl #8
+uqsub z0.h, z0.h, z0.h
+uqsub z0.s, z0.s, #0
+uqsub z0.s, z0.s, #0, lsl #8
+uqsub z0.s, z0.s, z0.s
+uqsub z29.s, p7/m, z29.s, z30.s
+uqsub z31.b, z31.b, #255
+uqsub z31.d, p7/m, z31.d, z30.d
+uqsub z31.d, z31.d, #65280
+uqsub z31.h, z31.h, #65280
+uqsub z31.s, z31.s, #65280
+uqsubr z0.b, p0/m, z0.b, z1.b
+uqsubr z0.h, p0/m, z0.h, z1.h
+uqsubr z29.s, p7/m, z29.s, z30.s
+uqsubr z31.d, p7/m, z31.d, z30.d
+uqxtnb z0.b, z31.h
+uqxtnb z0.h, z31.s
+uqxtnb z0.s, z31.d
+uqxtnt z0.b, z31.h
+uqxtnt z0.h, z31.s
+uqxtnt z0.s, z31.d
+urecpe z31.s, p7/m, z31.s
+urhadd z0.b, p0/m, z0.b, z1.b
+urhadd z0.h, p0/m, z0.h, z1.h
+urhadd z29.s, p7/m, z29.s, z30.s
+urhadd z31.d, p7/m, z31.d, z30.d
+urshl z0.b, p0/m, z0.b, z1.b
+urshl z0.h, p0/m, z0.h, z1.h
+urshl z29.s, p7/m, z29.s, z30.s
+urshl z31.d, p7/m, z31.d, z30.d
+urshlr z0.b, p0/m, z0.b, z1.b
+urshlr z0.h, p0/m, z0.h, z1.h
+urshlr z29.s, p7/m, z29.s, z30.s
+urshlr z31.d, p7/m, z31.d, z30.d
+urshr z0.b, p0/m, z0.b, #1
+urshr z0.d, p0/m, z0.d, #1
+urshr z0.h, p0/m, z0.h, #1
+urshr z0.s, p0/m, z0.s, #1
+urshr z31.b, p0/m, z31.b, #8
+urshr z31.d, p0/m, z31.d, #64
+urshr z31.h, p0/m, z31.h, #16
+urshr z31.s, p0/m, z31.s, #32
+ursqrte z31.s, p7/m, z31.s
+ursra z0.b, z0.b, #1
+ursra z0.d, z0.d, #1
+ursra z0.h, z0.h, #1
+ursra z0.s, z0.s, #1
+ursra z31.b, z31.b, #8
+ursra z31.d, z31.d, #64
+ursra z31.h, z31.h, #16
+ursra z31.s, z31.s, #32
+ushllb z0.d, z0.s, #0
+ushllb z0.h, z0.b, #0
+ushllb z0.s, z0.h, #0
+ushllb z31.d, z31.s, #31
+ushllb z31.h, z31.b, #7
+ushllb z31.s, z31.h, #15
+ushllt z0.d, z0.s, #0
+ushllt z0.h, z0.b, #0
+ushllt z0.s, z0.h, #0
+ushllt z31.d, z31.s, #31
+ushllt z31.h, z31.b, #7
+ushllt z31.s, z31.h, #15
+usmmla z0.s, z1.b, z2.b
+usqadd z0.b, p0/m, z0.b, z1.b
+usqadd z0.h, p0/m, z0.h, z1.h
+usqadd z29.s, p7/m, z29.s, z30.s
+usqadd z31.d, p7/m, z31.d, z30.d
+usra z0.b, z0.b, #1
+usra z0.d, z0.d, #1
+usra z0.h, z0.h, #1
+usra z0.s, z0.s, #1
+usra z31.b, z31.b, #8
+usra z31.d, z31.d, #64
+usra z31.h, z31.h, #16
+usra z31.s, z31.s, #32
+usublb z0.h, z1.b, z2.b
+usublb z29.s, z30.h, z31.h
+usublb z31.d, z31.s, z31.s
+usublt z0.h, z1.b, z2.b
+usublt z29.s, z30.h, z31.h
+usublt z31.d, z31.s, z31.s
+usubwb z0.h, z1.h, z2.b
+usubwb z29.s, z30.s, z31.h
+usubwb z31.d, z31.d, z31.s
+usubwt z0.h, z1.h, z2.b
+usubwt z29.s, z30.s, z31.h
+usubwt z31.d, z31.d, z31.s
+uunpkhi z31.d, z31.s
+uunpkhi z31.h, z31.b
+uunpkhi z31.s, z31.h
+uunpklo z31.d, z31.s
+uunpklo z31.h, z31.b
+uunpklo z31.s, z31.h
+uxtb z0.d, p0/m, z0.d
+uxtb z0.h, p0/m, z0.h
+uxtb z0.s, p0/m, z0.s
+uxtb z31.d, p7/m, z31.d
+uxtb z31.h, p7/m, z31.h
+uxtb z31.s, p7/m, z31.s
+uxth z0.d, p0/m, z0.d
+uxth z0.s, p0/m, z0.s
+uxth z31.d, p7/m, z31.d
+uxth z31.s, p7/m, z31.s
+uxtw z0.d, p0/m, z0.d
+uxtw z31.d, p7/m, z31.d
+uzp1 p15.b, p15.b, p15.b
+uzp1 p15.d, p15.d, p15.d
+uzp1 p15.h, p15.h, p15.h
+uzp1 p15.s, p15.s, p15.s
+uzp1 z31.b, z31.b, z31.b
+uzp1 z31.d, z31.d, z31.d
+uzp1 z31.h, z31.h, z31.h
+uzp1 z31.s, z31.s, z31.s
+uzp2 p15.b, p15.b, p15.b
+uzp2 p15.d, p15.d, p15.d
+uzp2 p15.h, p15.h, p15.h
+uzp2 p15.s, p15.s, p15.s
+uzp2 z31.b, z31.b, z31.b
+uzp2 z31.d, z31.d, z31.d
+uzp2 z31.h, z31.h, z31.h
+uzp2 z31.s, z31.s, z31.s
+whilege p15.b, w0, wzr
+whilege p15.b, wzr, w0
+whilege p15.b, x0, xzr
+whilege p15.b, xzr, x0
+whilege p15.d, w0, wzr
+whilege p15.d, x0, xzr
+whilege p15.h, w0, wzr
+whilege p15.h, x0, xzr
+whilege p15.s, w0, wzr
+whilege p15.s, x0, xzr
+whilerw p15.b, x30, x30
+whilerw p15.d, x30, x30
+whilerw p15.h, x30, x30
+whilerw p15.s, x30, x30
+whilewr p15.b, x30, x30
+whilewr p15.d, x30, x30
+whilewr p15.h, x30, x30
+whilewr p15.s, x30, x30
+wrffr p0.b
+wrffr p15.b
+xar z0.b, z0.b, z1.b, #1
+xar z0.d, z0.d, z1.d, #1
+xar z0.h, z0.h, z1.h, #1
+xar z0.s, z0.s, z1.s, #1
+xar z31.b, z31.b, z30.b, #8
+xar z31.d, z31.d, z30.d, #64
+xar z31.h, z31.h, z30.h, #16
+xar z31.s, z31.s, z30.s, #32
+zip1 p0.b, p0.b, p0.b
+zip1 p0.d, p0.d, p0.d
+zip1 p0.h, p0.h, p0.h
+zip1 p0.s, p0.s, p0.s
+zip1 p15.b, p15.b, p15.b
+zip1 p15.d, p15.d, p15.d
+zip1 p15.h, p15.h, p15.h
+zip1 p15.s, p15.s, p15.s
+zip1 z0.b, z0.b, z0.b
+zip1 z0.d, z0.d, z0.d
+zip1 z0.h, z0.h, z0.h
+zip1 z0.s, z0.s, z0.s
+zip1 z31.b, z31.b, z31.b
+zip1 z31.d, z31.d, z31.d
+zip1 z31.h, z31.h, z31.h
+zip1 z31.s, z31.s, z31.s
+zip2 p0.b, p0.b, p0.b
+zip2 p0.d, p0.d, p0.d
+zip2 p0.h, p0.h, p0.h
+zip2 p0.s, p0.s, p0.s
+zip2 p15.b, p15.b, p15.b
+zip2 p15.d, p15.d, p15.d
+zip2 p15.h, p15.h, p15.h
+zip2 p15.s, p15.s, p15.s
+zip2 z0.b, z0.b, z0.b
+zip2 z0.d, z0.d, z0.d
+zip2 z0.h, z0.h, z0.h
+zip2 z0.s, z0.s, z0.s
+zip2 z31.b, z31.b, z31.b
+zip2 z31.d, z31.d, z31.d
+zip2 z31.h, z31.h, z31.h
+zip2 z31.s, z31.s, z31.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 3 0.50 adclb z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 3 0.50 adclb z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 3 0.50 adclt z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 3 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 8 0.50 addhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 8 0.50 addhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 8 0.50 addhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 8 0.50 addhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 8 0.50 addhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 8 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.33 addpl sp, sp, #31
+# CHECK-NEXT: 1 1 0.33 addpl x0, x0, #-32
+# CHECK-NEXT: 1 1 0.33 addpl x21, x21, #0
+# CHECK-NEXT: 1 1 0.33 addpl x23, x8, #-1
+# CHECK-NEXT: 1 1 0.33 addvl sp, sp, #31
+# CHECK-NEXT: 1 1 0.33 addvl x0, x0, #-32
+# CHECK-NEXT: 1 1 0.33 addvl x21, x21, #0
+# CHECK-NEXT: 1 1 0.33 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 3 0.50 aesd z0.b, z0.b, z31.b
+# CHECK-NEXT: 1 3 0.50 aese z0.b, z0.b, z31.b
+# CHECK-NEXT: 1 3 0.50 aesimc z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 aesimc z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 aesmc z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 aesmc z31.b, z31.b
+# CHECK-NEXT: 1 2 1.00 and p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: 1 3 0.50 and z0.d, z0.d, #0x6
+# CHECK-NEXT: 1 3 0.50 and z0.d, z0.d, #0xfffffffffffffff9
+# CHECK-NEXT: 1 3 0.50 and z0.d, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 and z0.s, z0.s, #0x6
+# CHECK-NEXT: 1 3 0.50 and z0.s, z0.s, #0xfffffff9
+# CHECK-NEXT: 1 3 0.50 and z23.d, z13.d, z8.d
+# CHECK-NEXT: 1 3 0.50 and z23.h, z23.h, #0x6
+# CHECK-NEXT: 1 3 0.50 and z23.h, z23.h, #0xfff9
+# CHECK-NEXT: 1 3 0.50 and z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 and z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 and z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 and z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 and z5.b, z5.b, #0x6
+# CHECK-NEXT: 1 3 0.50 and z5.b, z5.b, #0xf9
+# CHECK-NEXT: 1 2 1.00 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 3 0.50 bcax z29.d, z29.d, z30.d, z31.d
+# CHECK-NEXT: 1 13 11.00 bdep z0.b, z1.b, z31.b
+# CHECK-NEXT: 1 68 66.00 bdep z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 21 19.00 bdep z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 37 35.00 bdep z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 13 11.00 bext z0.b, z1.b, z31.b
+# CHECK-NEXT: 1 68 66.00 bext z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 21 19.00 bext z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 37 35.00 bext z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 bfcvt z0.h, p0/m, z1.s
+# CHECK-NEXT: 1 4 0.50 bfcvtnt z0.h, p0/m, z1.s
+# CHECK-NEXT: 2 10 0.50 bfdot z0.s, z1.h, z2.h
+# CHECK-NEXT: 2 10 0.50 bfdot z0.s, z1.h, z2.h[0]
+# CHECK-NEXT: 2 10 0.50 bfdot z0.s, z1.h, z2.h[3]
+# CHECK-NEXT: 1 4 0.50 bfmlalb z0.s, z1.h, z2.h
+# CHECK-NEXT: 1 4 0.50 bfmlalb z0.s, z1.h, z2.h[0]
+# CHECK-NEXT: 1 4 0.50 bfmlalb z0.s, z1.h, z2.h[7]
+# CHECK-NEXT: 1 4 0.50 bfmlalb z10.s, z21.h, z14.h
+# CHECK-NEXT: 1 4 0.50 bfmlalb z21.s, z14.h, z3.h[2]
+# CHECK-NEXT: 1 4 0.50 bfmlalt z0.s, z1.h, z2.h
+# CHECK-NEXT: 1 4 0.50 bfmlalt z0.s, z1.h, z2.h[0]
+# CHECK-NEXT: 1 4 0.50 bfmlalt z0.s, z1.h, z2.h[7]
+# CHECK-NEXT: 1 4 0.50 bfmlalt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 bfmlalt z14.s, z10.h, z21.h
+# CHECK-NEXT: 2 14 0.50 bfmmla z0.s, z1.h, z2.h
+# CHECK-NEXT: 1 13 11.00 bgrp z0.b, z1.b, z31.b
+# CHECK-NEXT: 1 68 66.00 bgrp z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 21 19.00 bgrp z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 37 35.00 bgrp z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 2 1.00 bic p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1 2 1.00 bic p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 3 0.50 bic z0.d, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 bic z23.d, z13.d, z8.d
+# CHECK-NEXT: 1 3 0.50 bic z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 bic z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 bic z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 bic z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: 1 2 1.00 bics p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1 2 1.00 bics p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 brka p0.b, p15/m, p15.b
+# CHECK-NEXT: 1 2 1.00 brka p0.b, p15/z, p15.b
+# CHECK-NEXT: 1 2 1.00 brkas p0.b, p15/z, p15.b
+# CHECK-NEXT: 1 2 1.00 brkb p0.b, p15/m, p15.b
+# CHECK-NEXT: 1 2 1.00 brkb p0.b, p15/z, p15.b
+# CHECK-NEXT: 1 2 1.00 brkbs p0.b, p15/z, p15.b
+# CHECK-NEXT: 1 2 1.00 brkn p0.b, p15/z, p1.b, p0.b
+# CHECK-NEXT: 1 2 1.00 brkn p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 brkns p0.b, p15/z, p1.b, p0.b
+# CHECK-NEXT: 1 2 1.00 brkns p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 brkpa p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: 1 2 1.00 brkpa p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 4 1.00 brkpas p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: 1 4 1.00 brkpas p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 brkpb p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: 1 2 1.00 brkpb p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 4 1.00 brkpbs p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: 1 4 1.00 brkpbs p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 3 0.50 bsl z0.d, z0.d, z1.d, z2.d
+# CHECK-NEXT: 1 3 0.50 bsl1n z0.d, z0.d, z1.d, z2.d
+# CHECK-NEXT: 1 3 0.50 bsl2n z0.d, z0.d, z1.d, z2.d
+# CHECK-NEXT: 1 3 0.50 cadd z0.b, z0.b, z0.b, #90
+# CHECK-NEXT: 1 3 0.50 cadd z0.d, z0.d, z0.d, #90
+# CHECK-NEXT: 1 3 0.50 cadd z0.h, z0.h, z0.h, #90
+# CHECK-NEXT: 1 3 0.50 cadd z0.s, z0.s, z0.s, #90
+# CHECK-NEXT: 1 3 0.50 cadd z31.b, z31.b, z31.b, #270
+# CHECK-NEXT: 1 3 0.50 cadd z31.d, z31.d, z31.d, #270
+# CHECK-NEXT: 1 3 0.50 cadd z31.h, z31.h, z31.h, #270
+# CHECK-NEXT: 1 3 0.50 cadd z31.s, z31.s, z31.s, #270
+# CHECK-NEXT: 1 4 0.50 cdot z0.d, z1.h, z15.h[1], #0
+# CHECK-NEXT: 1 4 0.50 cdot z0.d, z1.h, z31.h, #0
+# CHECK-NEXT: 1 4 0.50 cdot z0.d, z1.h, z31.h, #180
+# CHECK-NEXT: 1 4 0.50 cdot z0.d, z1.h, z31.h, #270
+# CHECK-NEXT: 1 4 0.50 cdot z0.d, z1.h, z31.h, #90
+# CHECK-NEXT: 1 4 0.50 cdot z0.s, z1.b, z31.b, #0
+# CHECK-NEXT: 1 4 0.50 cdot z0.s, z1.b, z7.b[3], #0
+# CHECK-NEXT: 1 4 0.50 cdot z29.d, z30.h, z0.h[0], #180
+# CHECK-NEXT: 1 4 0.50 cdot z31.d, z30.h, z7.h[1], #270
+# CHECK-NEXT: 1 4 0.50 cdot z5.d, z6.h, z3.h[0], #90
+# CHECK-NEXT: 1 4 0.50 clasta b0, p7, b0, z31.b
+# CHECK-NEXT: 1 4 0.50 clasta d0, p7, d0, z31.d
+# CHECK-NEXT: 1 4 0.50 clasta h0, p7, h0, z31.h
+# CHECK-NEXT: 1 4 0.50 clasta s0, p7, s0, z31.s
+# CHECK-NEXT: 1 4 0.50 clasta w0, p7, w0, z31.b
+# CHECK-NEXT: 1 4 0.50 clasta w0, p7, w0, z31.h
+# CHECK-NEXT: 1 4 0.50 clasta w0, p7, w0, z31.s
+# CHECK-NEXT: 1 4 0.50 clasta x0, p7, x0, z31.d
+# CHECK-NEXT: 1 4 0.50 clasta z0.b, p7, z0.b, z31.b
+# CHECK-NEXT: 1 4 0.50 clasta z0.d, p7, z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 clasta z0.h, p7, z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 clasta z0.s, p7, z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 clastb b0, p7, b0, z31.b
+# CHECK-NEXT: 1 4 0.50 clastb d0, p7, d0, z31.d
+# CHECK-NEXT: 1 4 0.50 clastb h0, p7, h0, z31.h
+# CHECK-NEXT: 1 4 0.50 clastb s0, p7, s0, z31.s
+# CHECK-NEXT: 1 4 0.50 clastb w0, p7, w0, z31.b
+# CHECK-NEXT: 1 4 0.50 clastb w0, p7, w0, z31.h
+# CHECK-NEXT: 1 4 0.50 clastb w0, p7, w0, z31.s
+# CHECK-NEXT: 1 4 0.50 clastb x0, p7, x0, z31.d
+# CHECK-NEXT: 1 4 0.50 clastb z0.b, p7, z0.b, z31.b
+# CHECK-NEXT: 1 4 0.50 clastb z0.d, p7, z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 clastb z0.h, p7, z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 clastb z0.s, p7, z0.s, z31.s
+# CHECK-NEXT: 1 3 0.50 cls z31.b, p7/m, z31.b
+# CHECK-NEXT: 1 3 0.50 cls z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 3 0.50 cls z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 3 0.50 cls z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 3 0.50 clz z31.b, p7/m, z31.b
+# CHECK-NEXT: 1 3 0.50 clz z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 3 0.50 clz z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 3 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 5 0.50 cmpeq p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: 1 5 0.50 cmpeq p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: 1 5 0.50 cmpeq p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: 1 5 0.50 cmpeq p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpeq p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: 1 5 0.50 cmpeq p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: 1 5 0.50 cmpeq p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpeq p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: 1 5 0.50 cmpeq p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: 1 5 0.50 cmpeq p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpeq p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: 1 5 0.50 cmpeq p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: 1 5 0.50 cmpeq p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: 1 5 0.50 cmpeq p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpeq p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: 1 5 0.50 cmpge p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: 1 5 0.50 cmpge p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: 1 5 0.50 cmpge p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: 1 5 0.50 cmpge p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpge p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: 1 5 0.50 cmpge p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: 1 5 0.50 cmpge p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: 1 5 0.50 cmpge p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpge p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: 1 5 0.50 cmpge p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: 1 5 0.50 cmpge p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpge p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: 1 5 0.50 cmpge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 5 0.50 cmpge p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: 1 5 0.50 cmpge p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: 1 5 0.50 cmpge p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpge p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: 1 5 0.50 cmpge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: 1 5 0.50 cmpgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 5 0.50 cmphi p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: 1 5 0.50 cmphi p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: 1 5 0.50 cmphi p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: 1 5 0.50 cmphi p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 0.50 cmphi p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: 1 5 0.50 cmphi p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: 1 5 0.50 cmphi p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: 1 5 0.50 cmphi p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: 1 5 0.50 cmphi p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 5 0.50 cmphi p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: 1 5 0.50 cmphi p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: 1 5 0.50 cmphi p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 0.50 cmphi p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: 1 5 0.50 cmphi p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 5 0.50 cmphi p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: 1 5 0.50 cmphi p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: 1 5 0.50 cmphi p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 0.50 cmphi p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: 1 5 0.50 cmphi p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 5 0.50 cmphs p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: 1 5 0.50 cmphs p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: 1 5 0.50 cmphs p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: 1 5 0.50 cmphs p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 0.50 cmphs p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: 1 5 0.50 cmphs p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: 1 5 0.50 cmphs p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: 1 5 0.50 cmphs p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: 1 5 0.50 cmphs p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 5 0.50 cmphs p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: 1 5 0.50 cmphs p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: 1 5 0.50 cmphs p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 0.50 cmphs p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: 1 5 0.50 cmphs p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 5 0.50 cmphs p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: 1 5 0.50 cmphs p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: 1 5 0.50 cmphs p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 0.50 cmphs p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: 1 5 0.50 cmphs p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 5 0.50 cmple p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: 1 5 0.50 cmple p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: 1 5 0.50 cmple p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 0.50 cmple p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: 1 5 0.50 cmple p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: 1 5 0.50 cmple p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: 1 5 0.50 cmple p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: 1 5 0.50 cmple p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 0.50 cmple p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: 1 5 0.50 cmple p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: 1 5 0.50 cmple p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 0.50 cmplo p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: 1 5 0.50 cmplo p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: 1 5 0.50 cmplo p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 0.50 cmplo p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: 1 5 0.50 cmplo p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: 1 5 0.50 cmplo p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: 1 5 0.50 cmplo p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: 1 5 0.50 cmplo p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 0.50 cmplo p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: 1 5 0.50 cmplo p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: 1 5 0.50 cmplo p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpls p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: 1 5 0.50 cmpls p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: 1 5 0.50 cmpls p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpls p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: 1 5 0.50 cmpls p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: 1 5 0.50 cmpls p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: 1 5 0.50 cmpls p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: 1 5 0.50 cmpls p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpls p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: 1 5 0.50 cmpls p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: 1 5 0.50 cmpls p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 0.50 cmplt p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: 1 5 0.50 cmplt p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: 1 5 0.50 cmplt p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 0.50 cmplt p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: 1 5 0.50 cmplt p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: 1 5 0.50 cmplt p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: 1 5 0.50 cmplt p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: 1 5 0.50 cmplt p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 0.50 cmplt p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: 1 5 0.50 cmplt p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: 1 5 0.50 cmplt p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpne p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: 1 5 0.50 cmpne p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: 1 5 0.50 cmpne p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: 1 5 0.50 cmpne p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpne p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: 1 5 0.50 cmpne p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: 1 5 0.50 cmpne p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpne p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: 1 5 0.50 cmpne p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: 1 5 0.50 cmpne p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 0.50 cmpne p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: 1 5 0.50 cmpne p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: 1 5 0.50 cmpne p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: 1 5 0.50 cmpne p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 0.50 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 3 0.50 cnt z31.b, p7/m, z31.b
+# CHECK-NEXT: 1 9 0.50 cnt z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 3 0.50 cnt z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 6 0.50 cnt z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 1 0.33 cntb x0
+# CHECK-NEXT: 1 1 0.33 cntb x0, #28
+# CHECK-NEXT: 1 1 0.33 cntb x0, all, mul #16
+# CHECK-NEXT: 1 1 0.33 cntb x0, pow2
+# CHECK-NEXT: 1 1 0.33 cntd x0
+# CHECK-NEXT: 1 1 0.33 cntd x0, #28
+# CHECK-NEXT: 1 1 0.33 cntd x0, all, mul #16
+# CHECK-NEXT: 1 1 0.33 cntd x0, pow2
+# CHECK-NEXT: 1 1 0.33 cnth x0
+# CHECK-NEXT: 1 1 0.33 cnth x0, #28
+# CHECK-NEXT: 1 1 0.33 cnth x0, all, mul #16
+# CHECK-NEXT: 1 1 0.33 cnth x0, pow2
+# CHECK-NEXT: 1 4 1.00 cntp x0, p15, p0.b
+# CHECK-NEXT: 1 4 1.00 cntp x0, p15, p0.d
+# CHECK-NEXT: 1 4 1.00 cntp x0, p15, p0.h
+# CHECK-NEXT: 1 4 1.00 cntp x0, p15, p0.s
+# CHECK-NEXT: 1 1 0.33 cntw x0
+# CHECK-NEXT: 1 1 0.33 cntw x0, #28
+# CHECK-NEXT: 1 1 0.33 cntw x0, all, mul #16
+# CHECK-NEXT: 1 1 0.33 cntw x0, pow2
+# CHECK-NEXT: 1 4 0.50 compact z31.d, p7, z31.d
+# CHECK-NEXT: 1 4 0.50 compact z31.s, p7, z31.s
+# CHECK-NEXT: 1 1 0.33 ctermeq w30, wzr
+# CHECK-NEXT: 1 1 0.33 ctermeq wzr, w30
+# CHECK-NEXT: 1 1 0.33 ctermeq x30, xzr
+# CHECK-NEXT: 1 1 0.33 ctermeq xzr, x30
+# CHECK-NEXT: 1 1 0.33 ctermne w30, wzr
+# CHECK-NEXT: 1 1 0.33 ctermne wzr, w30
+# CHECK-NEXT: 1 1 0.33 ctermne x30, xzr
+# CHECK-NEXT: 1 1 0.33 ctermne xzr, x30
+# CHECK-NEXT: 1 3 0.33 decb x0
+# CHECK-NEXT: 1 3 0.33 decb x0, #14
+# CHECK-NEXT: 1 3 0.33 decb x0, all, mul #16
+# CHECK-NEXT: 1 3 0.33 decb x0, pow2
+# CHECK-NEXT: 1 3 0.33 decb x0, vl1
+# CHECK-NEXT: 1 3 0.33 decd x0
+# CHECK-NEXT: 1 3 0.33 decd x0, #14
+# CHECK-NEXT: 1 3 0.33 decd x0, all, mul #16
+# CHECK-NEXT: 1 3 0.33 decd x0, pow2
+# CHECK-NEXT: 1 3 0.33 decd x0, vl1
+# CHECK-NEXT: 1 3 0.33 dech x0
+# CHECK-NEXT: 1 3 0.33 dech x0, #14
+# CHECK-NEXT: 1 3 0.33 dech x0, all, mul #16
+# CHECK-NEXT: 1 3 0.33 dech x0, pow2
+# CHECK-NEXT: 1 3 0.33 dech x0, vl1
+# CHECK-NEXT: 1 4 1.00 decp x0, p0.b
+# CHECK-NEXT: 1 4 1.00 decp x0, p0.d
+# CHECK-NEXT: 1 4 1.00 decp x0, p0.h
+# CHECK-NEXT: 1 4 1.00 decp x0, p0.s
+# CHECK-NEXT: 1 4 1.00 decp xzr, p15.b
+# CHECK-NEXT: 1 4 1.00 decp xzr, p15.d
+# CHECK-NEXT: 1 4 1.00 decp xzr, p15.h
+# CHECK-NEXT: 1 4 1.00 decp xzr, p15.s
+# CHECK-NEXT: 1 4 0.50 decp z31.d, p15.d
+# CHECK-NEXT: 1 4 0.50 decp z31.h, p15.h
+# CHECK-NEXT: 1 4 0.50 decp z31.s, p15.s
+# CHECK-NEXT: 1 3 0.33 decw x0
+# CHECK-NEXT: 1 3 0.33 decw x0, #14
+# CHECK-NEXT: 1 3 0.33 decw x0, all, mul #16
+# CHECK-NEXT: 1 3 0.33 decw x0, pow2
+# CHECK-NEXT: 1 3 0.33 decw x0, vl1
+# CHECK-NEXT: 1 4 0.50 dupm z0.d, #0xfffffffffffffff9
+# CHECK-NEXT: 1 4 0.50 dupm z0.s, #0xfffffff9
+# CHECK-NEXT: 1 4 0.50 dupm z23.h, #0xfff9
+# CHECK-NEXT: 1 4 0.50 dupm z5.b, #0xf9
+# CHECK-NEXT: 1 2 1.00 eor p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: 1 3 0.50 eor z0.d, z0.d, #0x6
+# CHECK-NEXT: 1 3 0.50 eor z0.d, z0.d, #0xfffffffffffffff9
+# CHECK-NEXT: 1 3 0.50 eor z0.d, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 eor z0.s, z0.s, #0x6
+# CHECK-NEXT: 1 3 0.50 eor z0.s, z0.s, #0xfffffff9
+# CHECK-NEXT: 1 3 0.50 eor z23.d, z13.d, z8.d
+# CHECK-NEXT: 1 3 0.50 eor z23.h, z23.h, #0x6
+# CHECK-NEXT: 1 3 0.50 eor z23.h, z23.h, #0xfff9
+# CHECK-NEXT: 1 3 0.50 eor z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 eor z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 eor z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 eor z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 eor z5.b, z5.b, #0x6
+# CHECK-NEXT: 1 3 0.50 eor z5.b, z5.b, #0xf9
+# CHECK-NEXT: 1 3 0.50 eor3 z29.d, z29.d, z30.d, z31.d
+# CHECK-NEXT: 1 4 0.50 eorbt z0.b, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 eorbt z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 eorbt z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 eorbt z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 2 1.00 eors p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: 1 4 0.50 eortb z0.b, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 eortb z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 eortb z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 4 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 3 0.50 ext z0.b, { z1.b, z2.b }, #0
+# CHECK-NEXT: 1 3 0.50 ext z31.b, z31.b, z0.b, #0
+# CHECK-NEXT: 1 3 0.50 ext z31.b, z31.b, z0.b, #255
+# CHECK-NEXT: 1 3 0.50 ext z31.b, { z30.b, z31.b }, #255
+# CHECK-NEXT: 1 4 0.50 fabd z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fabd z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fabd z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fabs z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 4 0.50 fabs z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 4 0.50 fabs z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 4 1.00 facge p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 1.00 facge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 4 1.00 facge p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 facge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 4 1.00 facge p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 1.00 facge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 4 1.00 facgt p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 1.00 facgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 4 1.00 facgt p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 facgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 4 1.00 facgt p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 1.00 facgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 4 0.50 fadd z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT: 1 4 0.50 fadd z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fadd z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fadd z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT: 1 4 0.50 fadd z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fadd z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fadd z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT: 1 4 0.50 fadd z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fadd z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fadd z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: 1 4 0.50 fadd z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: 1 4 0.50 fadd z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: 1 8 2.50 fadda d0, p7, d0, z31.d
+# CHECK-NEXT: 1 32 14.50 fadda h0, p7, h0, z31.h
+# CHECK-NEXT: 1 16 6.50 fadda s0, p7, s0, z31.s
+# CHECK-NEXT: 1 4 0.50 faddp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 faddp z29.s, p3/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 faddp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 1.00 faddv d0, p7, z31.d
+# CHECK-NEXT: 1 12 11.00 faddv h0, p7, z31.h
+# CHECK-NEXT: 1 8 5.00 faddv s0, p7, z31.s
+# CHECK-NEXT: 1 4 0.50 fcadd z0.d, p0/m, z0.d, z0.d, #90
+# CHECK-NEXT: 1 4 0.50 fcadd z0.h, p0/m, z0.h, z0.h, #90
+# CHECK-NEXT: 1 4 0.50 fcadd z0.s, p0/m, z0.s, z0.s, #90
+# CHECK-NEXT: 1 4 0.50 fcadd z31.d, p7/m, z31.d, z31.d, #270
+# CHECK-NEXT: 1 4 0.50 fcadd z31.h, p7/m, z31.h, z31.h, #270
+# CHECK-NEXT: 1 4 0.50 fcadd z31.s, p7/m, z31.s, z31.s, #270
+# CHECK-NEXT: 1 4 1.00 fcmeq p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmeq p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 1.00 fcmeq p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmeq p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 fcmeq p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmeq p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 1.00 fcmge p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmge p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 1.00 fcmge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 4 1.00 fcmge p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmge p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 fcmge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 4 1.00 fcmge p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmge p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 1.00 fcmge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 4 1.00 fcmgt p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmgt p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 1.00 fcmgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 4 1.00 fcmgt p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmgt p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 fcmgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 4 1.00 fcmgt p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmgt p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 1.00 fcmgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 4 0.50 fcmla z0.d, p0/m, z0.d, z0.d, #0
+# CHECK-NEXT: 1 4 0.50 fcmla z0.d, p0/m, z1.d, z2.d, #90
+# CHECK-NEXT: 1 4 0.50 fcmla z0.h, p0/m, z0.h, z0.h, #0
+# CHECK-NEXT: 1 4 0.50 fcmla z0.h, p0/m, z1.h, z2.h, #90
+# CHECK-NEXT: 1 4 0.50 fcmla z0.h, z0.h, z0.h[0], #0
+# CHECK-NEXT: 1 4 0.50 fcmla z0.s, p0/m, z0.s, z0.s, #0
+# CHECK-NEXT: 1 4 0.50 fcmla z0.s, p0/m, z1.s, z2.s, #90
+# CHECK-NEXT: 1 4 0.50 fcmla z21.s, z10.s, z5.s[1], #90
+# CHECK-NEXT: 1 4 0.50 fcmla z23.s, z13.s, z8.s[0], #270
+# CHECK-NEXT: 1 4 0.50 fcmla z29.d, p7/m, z30.d, z31.d, #180
+# CHECK-NEXT: 1 4 0.50 fcmla z29.h, p7/m, z30.h, z31.h, #180
+# CHECK-NEXT: 1 4 0.50 fcmla z29.s, p7/m, z30.s, z31.s, #180
+# CHECK-NEXT: 1 4 0.50 fcmla z31.d, p7/m, z31.d, z31.d, #270
+# CHECK-NEXT: 1 4 0.50 fcmla z31.h, p7/m, z31.h, z31.h, #270
+# CHECK-NEXT: 1 4 0.50 fcmla z31.h, z31.h, z7.h[3], #270
+# CHECK-NEXT: 1 4 0.50 fcmla z31.s, p7/m, z31.s, z31.s, #270
+# CHECK-NEXT: 1 4 1.00 fcmle p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmle p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmle p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmlt p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmlt p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmlt p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmne p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmne p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 1.00 fcmne p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmne p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 fcmne p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmne p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 1.00 fcmuo p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 1.00 fcmuo p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 fcmuo p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 0.50 fcvt z0.d, p0/m, z0.h
+# CHECK-NEXT: 1 4 0.50 fcvt z0.d, p0/m, z0.s
+# CHECK-NEXT: 1 4 0.50 fcvt z0.h, p0/m, z0.d
+# CHECK-NEXT: 1 4 0.50 fcvt z0.h, p0/m, z0.s
+# CHECK-NEXT: 1 4 0.50 fcvt z0.s, p0/m, z0.d
+# CHECK-NEXT: 1 4 0.50 fcvt z0.s, p0/m, z0.h
+# CHECK-NEXT: 1 4 0.50 fcvtlt z0.s, p0/m, z1.h
+# CHECK-NEXT: 1 4 0.50 fcvtlt z30.d, p7/m, z31.s
+# CHECK-NEXT: 1 4 0.50 fcvtnt z0.h, p0/m, z1.s
+# CHECK-NEXT: 1 4 0.50 fcvtnt z30.s, p7/m, z31.d
+# CHECK-NEXT: 1 4 0.50 fcvtx z0.s, p0/m, z0.d
+# CHECK-NEXT: 1 4 0.50 fcvtx z30.s, p7/m, z31.d
+# CHECK-NEXT: 1 4 0.50 fcvtxnt z0.s, p0/m, z1.d
+# CHECK-NEXT: 1 4 0.50 fcvtxnt z30.s, p7/m, z31.d
+# CHECK-NEXT: 1 4 0.50 fcvtzs z0.d, p0/m, z0.d
+# CHECK-NEXT: 1 4 0.50 fcvtzs z0.d, p0/m, z0.h
+# CHECK-NEXT: 1 4 0.50 fcvtzs z0.d, p0/m, z0.s
+# CHECK-NEXT: 1 4 0.50 fcvtzs z0.h, p0/m, z0.h
+# CHECK-NEXT: 1 4 0.50 fcvtzs z0.s, p0/m, z0.d
+# CHECK-NEXT: 1 4 0.50 fcvtzs z0.s, p0/m, z0.h
+# CHECK-NEXT: 1 4 0.50 fcvtzs z0.s, p0/m, z0.s
+# CHECK-NEXT: 1 4 0.50 fcvtzu z0.d, p0/m, z0.d
+# CHECK-NEXT: 1 4 0.50 fcvtzu z0.d, p0/m, z0.h
+# CHECK-NEXT: 1 4 0.50 fcvtzu z0.d, p0/m, z0.s
+# CHECK-NEXT: 1 4 0.50 fcvtzu z0.h, p0/m, z0.h
+# CHECK-NEXT: 1 4 0.50 fcvtzu z0.s, p0/m, z0.d
+# CHECK-NEXT: 1 4 0.50 fcvtzu z0.s, p0/m, z0.h
+# CHECK-NEXT: 1 4 0.50 fcvtzu z0.s, p0/m, z0.s
+# CHECK-NEXT: 1 22 19.00 fdiv z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 8 5.00 fdiv z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: 1 13 10.00 fdiv z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 22 19.00 fdivr z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 8 5.00 fdivr z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: 1 13 10.00 fdivr z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fexpa z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fexpa z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fexpa z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 flogb z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 4 0.50 flogb z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 4 0.50 flogb z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 4 0.50 fmad z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fmad z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fmad z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fmax z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT: 1 4 0.50 fmax z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fmax z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT: 1 4 0.50 fmax z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fmax z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT: 1 4 0.50 fmax z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fmax z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: 1 4 0.50 fmax z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: 1 4 0.50 fmax z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: 1 4 0.50 fmaxnm z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT: 1 4 0.50 fmaxnm z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fmaxnm z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT: 1 4 0.50 fmaxnm z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fmaxnm z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT: 1 4 0.50 fmaxnm z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fmaxnm z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: 1 4 0.50 fmaxnm z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: 1 4 0.50 fmaxnm z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: 1 4 0.50 fmaxnmp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 fmaxnmp z29.s, p3/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 fmaxnmp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 1.00 fmaxnmv d0, p7, z31.d
+# CHECK-NEXT: 1 4 1.00 fmaxnmv h0, p7, z31.h
+# CHECK-NEXT: 1 4 1.00 fmaxnmv s0, p7, z31.s
+# CHECK-NEXT: 1 4 0.50 fmaxp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 fmaxp z29.s, p3/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 fmaxp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 1.00 fmaxv d0, p7, z31.d
+# CHECK-NEXT: 1 4 1.00 fmaxv h0, p7, z31.h
+# CHECK-NEXT: 1 4 1.00 fmaxv s0, p7, z31.s
+# CHECK-NEXT: 1 4 0.50 fmin z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT: 1 4 0.50 fmin z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fmin z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT: 1 4 0.50 fmin z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fmin z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT: 1 4 0.50 fmin z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fmin z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: 1 4 0.50 fmin z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: 1 4 0.50 fmin z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: 1 4 0.50 fminnm z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT: 1 4 0.50 fminnm z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fminnm z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT: 1 4 0.50 fminnm z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fminnm z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT: 1 4 0.50 fminnm z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fminnm z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: 1 4 0.50 fminnm z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: 1 4 0.50 fminnm z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: 1 4 0.50 fminnmp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 fminnmp z29.s, p3/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 fminnmp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 1.00 fminnmv d0, p7, z31.d
+# CHECK-NEXT: 1 4 1.00 fminnmv h0, p7, z31.h
+# CHECK-NEXT: 1 4 1.00 fminnmv s0, p7, z31.s
+# CHECK-NEXT: 1 4 0.50 fminp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 fminp z29.s, p3/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 fminp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 1.00 fminv d0, p7, z31.d
+# CHECK-NEXT: 1 4 1.00 fminv h0, p7, z31.h
+# CHECK-NEXT: 1 4 1.00 fminv s0, p7, z31.s
+# CHECK-NEXT: 1 4 0.50 fmla z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fmla z0.d, z1.d, z7.d[1]
+# CHECK-NEXT: 1 4 0.50 fmla z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fmla z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 fmla z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fmla z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: 1 4 0.50 fmlalb z0.s, z1.h, z7.h[0]
+# CHECK-NEXT: 1 4 0.50 fmlalb z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fmlalb z30.s, z31.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 fmlalt z0.s, z1.h, z7.h[0]
+# CHECK-NEXT: 1 4 0.50 fmlalt z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fmlalt z30.s, z31.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 fmls z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fmls z0.d, z1.d, z7.d[1]
+# CHECK-NEXT: 1 4 0.50 fmls z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fmls z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 fmls z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fmls z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: 1 4 0.50 fmlslb z0.s, z1.h, z7.h[0]
+# CHECK-NEXT: 1 4 0.50 fmlslb z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fmlslb z30.s, z31.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 fmlslt z0.s, z1.h, z7.h[0]
+# CHECK-NEXT: 1 4 0.50 fmlslt z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fmlslt z30.s, z31.h, z7.h[7]
+# CHECK-NEXT: 1 3 1.00 fmov z0.d, #-10.00000000
+# CHECK-NEXT: 1 3 1.00 fmov z0.d, #0.12500000
+# CHECK-NEXT: 1 3 1.00 fmov z0.d, p0/m, #-10.00000000
+# CHECK-NEXT: 1 3 1.00 fmov z0.d, p0/m, #0.12500000
+# CHECK-NEXT: 1 3 1.00 fmov z0.h, #-0.12500000
+# CHECK-NEXT: 1 3 1.00 fmov z0.h, p0/m, #-0.12500000
+# CHECK-NEXT: 1 3 1.00 fmov z0.s, #-0.12500000
+# CHECK-NEXT: 1 3 1.00 fmov z0.s, p0/m, #-0.12500000
+# CHECK-NEXT: 1 4 0.50 fmsb z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fmsb z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fmsb z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fmul z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT: 1 4 0.50 fmul z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fmul z0.d, z0.d, z0.d[0]
+# CHECK-NEXT: 1 4 0.50 fmul z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fmul z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT: 1 4 0.50 fmul z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fmul z0.h, z0.h, z0.h[0]
+# CHECK-NEXT: 1 4 0.50 fmul z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fmul z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT: 1 4 0.50 fmul z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fmul z0.s, z0.s, z0.s[0]
+# CHECK-NEXT: 1 4 0.50 fmul z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fmul z31.d, p7/m, z31.d, #2.0
+# CHECK-NEXT: 1 4 0.50 fmul z31.d, z31.d, z15.d[1]
+# CHECK-NEXT: 1 4 0.50 fmul z31.h, p7/m, z31.h, #2.0
+# CHECK-NEXT: 1 4 0.50 fmul z31.h, z31.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 fmul z31.s, p7/m, z31.s, #2.0
+# CHECK-NEXT: 1 4 0.50 fmul z31.s, z31.s, z7.s[3]
+# CHECK-NEXT: 1 4 0.50 fmulx z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fmulx z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fmulx z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fneg z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 4 0.50 fneg z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 4 0.50 fneg z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 4 0.50 fnmad z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fnmad z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fnmad z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fnmla z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fnmla z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fnmla z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fnmls z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fnmls z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fnmls z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fnmsb z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fnmsb z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fnmsb z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 frecpe z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 frecpe z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 frecpe z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 frecps z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 frecps z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 frecps z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 frecpx z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 4 0.50 frecpx z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 4 0.50 frecpx z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 4 0.50 frinta z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 4 0.50 frinta z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 4 0.50 frinta z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 4 0.50 frinti z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 4 0.50 frinti z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 4 0.50 frinti z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 4 0.50 frintm z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 4 0.50 frintm z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 4 0.50 frintm z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 4 0.50 frintn z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 4 0.50 frintn z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 4 0.50 frintn z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 4 0.50 frintp z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 4 0.50 frintp z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 4 0.50 frintp z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 4 0.50 frintx z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 4 0.50 frintx z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 4 0.50 frintx z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 4 0.50 frintz z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 4 0.50 frintz z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 4 0.50 frintz z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 4 0.50 frsqrte z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 frsqrte z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 frsqrte z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 frsqrts z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 frsqrts z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 frsqrts z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fscale z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fscale z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fscale z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 22 19.00 fsqrt z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 8 5.00 fsqrt z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 12 9.00 fsqrt z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 4 0.50 fsub z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT: 1 4 0.50 fsub z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fsub z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fsub z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT: 1 4 0.50 fsub z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fsub z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fsub z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT: 1 4 0.50 fsub z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fsub z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fsub z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: 1 4 0.50 fsub z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: 1 4 0.50 fsub z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: 1 4 0.50 fsubr z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT: 1 4 0.50 fsubr z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 fsubr z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT: 1 4 0.50 fsubr z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 fsubr z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT: 1 4 0.50 fsubr z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 fsubr z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: 1 4 0.50 fsubr z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: 1 4 0.50 fsubr z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: 1 4 0.50 ftmad z0.d, z0.d, z31.d, #7
+# CHECK-NEXT: 1 4 0.50 ftmad z0.h, z0.h, z31.h, #7
+# CHECK-NEXT: 1 4 0.50 ftmad z0.s, z0.s, z31.s, #7
+# CHECK-NEXT: 1 4 0.50 ftsmul z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 ftsmul z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 ftsmul z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 3 0.50 ftssel z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 3 0.50 ftssel z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 3 0.50 ftssel z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 6 2.00 histcnt z0.s, p0/z, z1.s, z2.s
+# CHECK-NEXT: 1 6 2.00 histcnt z29.d, p7/z, z30.d, z31.d
+# CHECK-NEXT: 1 6 2.00 histseg z0.b, z1.b, z31.b
+# CHECK-NEXT: 1 3 0.33 incb x0
+# CHECK-NEXT: 1 3 0.33 incb x0, #14
+# CHECK-NEXT: 1 3 0.33 incb x0, all, mul #16
+# CHECK-NEXT: 1 3 0.33 incb x0, pow2
+# CHECK-NEXT: 1 3 0.33 incb x0, vl1
+# CHECK-NEXT: 1 3 0.33 incd x0
+# CHECK-NEXT: 1 3 0.33 incd x0, #14
+# CHECK-NEXT: 1 3 0.33 incd x0, all, mul #16
+# CHECK-NEXT: 1 3 0.33 incd x0, pow2
+# CHECK-NEXT: 1 3 0.33 incd x0, vl1
+# CHECK-NEXT: 1 4 0.50 incd z0.d
+# CHECK-NEXT: 1 4 0.50 incd z0.d, all, mul #16
+# CHECK-NEXT: 1 3 0.33 inch x0
+# CHECK-NEXT: 1 3 0.33 inch x0, #14
+# CHECK-NEXT: 1 3 0.33 inch x0, all, mul #16
+# CHECK-NEXT: 1 3 0.33 inch x0, pow2
+# CHECK-NEXT: 1 3 0.33 inch x0, vl1
+# CHECK-NEXT: 1 4 0.50 inch z0.h
+# CHECK-NEXT: 1 4 0.50 inch z0.h, all, mul #16
+# CHECK-NEXT: 1 4 1.00 incp x0, p0.b
+# CHECK-NEXT: 1 4 1.00 incp x0, p0.d
+# CHECK-NEXT: 1 4 1.00 incp x0, p0.h
+# CHECK-NEXT: 1 4 1.00 incp x0, p0.s
+# CHECK-NEXT: 1 4 1.00 incp xzr, p15.b
+# CHECK-NEXT: 1 4 1.00 incp xzr, p15.d
+# CHECK-NEXT: 1 4 1.00 incp xzr, p15.h
+# CHECK-NEXT: 1 4 1.00 incp xzr, p15.s
+# CHECK-NEXT: 1 4 0.50 incp z31.d, p15.d
+# CHECK-NEXT: 1 4 0.50 incp z31.h, p15.h
+# CHECK-NEXT: 1 4 0.50 incp z31.s, p15.s
+# CHECK-NEXT: 1 3 0.33 incw x0
+# CHECK-NEXT: 1 3 0.33 incw x0, #14
+# CHECK-NEXT: 1 3 0.33 incw x0, all, mul #16
+# CHECK-NEXT: 1 3 0.33 incw x0, pow2
+# CHECK-NEXT: 1 3 0.33 incw x0, vl1
+# CHECK-NEXT: 1 4 0.50 incw z0.s
+# CHECK-NEXT: 1 4 0.50 incw z0.s, all, mul #16
+# CHECK-NEXT: 1 4 0.50 index z0.b, #0, #0
+# CHECK-NEXT: 1 4 0.50 index z0.d, #0, #0
+# CHECK-NEXT: 1 4 0.50 index z0.h, #0, #0
+# CHECK-NEXT: 1 4 0.50 index z0.h, w0, w0
+# CHECK-NEXT: 1 4 0.50 index z0.s, #0, #0
+# CHECK-NEXT: 1 4 0.50 index z21.b, w10, w21
+# CHECK-NEXT: 1 4 0.50 index z21.d, x10, x21
+# CHECK-NEXT: 1 4 0.50 index z21.s, w10, w21
+# CHECK-NEXT: 1 4 0.50 index z23.b, #13, w8
+# CHECK-NEXT: 1 4 0.50 index z23.b, w13, #8
+# CHECK-NEXT: 1 4 0.50 index z23.d, #13, x8
+# CHECK-NEXT: 1 4 0.50 index z23.d, x13, #8
+# CHECK-NEXT: 1 4 0.50 index z23.h, #13, w8
+# CHECK-NEXT: 1 4 0.50 index z23.h, w13, #8
+# CHECK-NEXT: 1 4 0.50 index z23.s, #13, w8
+# CHECK-NEXT: 1 4 0.50 index z23.s, w13, #8
+# CHECK-NEXT: 1 4 0.50 index z31.b, #-1, #-1
+# CHECK-NEXT: 1 4 0.50 index z31.b, #-1, wzr
+# CHECK-NEXT: 1 4 0.50 index z31.b, wzr, #-1
+# CHECK-NEXT: 1 4 0.50 index z31.b, wzr, wzr
+# CHECK-NEXT: 1 4 0.50 index z31.d, #-1, #-1
+# CHECK-NEXT: 1 4 0.50 index z31.d, #-1, xzr
+# CHECK-NEXT: 1 4 0.50 index z31.d, xzr, #-1
+# CHECK-NEXT: 1 4 0.50 index z31.d, xzr, xzr
+# CHECK-NEXT: 1 4 0.50 index z31.h, #-1, #-1
+# CHECK-NEXT: 1 4 0.50 index z31.h, #-1, wzr
+# CHECK-NEXT: 1 4 0.50 index z31.h, wzr, #-1
+# CHECK-NEXT: 1 4 0.50 index z31.h, wzr, wzr
+# CHECK-NEXT: 1 4 0.50 index z31.s, #-1, #-1
+# CHECK-NEXT: 1 4 0.50 index z31.s, #-1, wzr
+# CHECK-NEXT: 1 4 0.50 index z31.s, wzr, #-1
+# CHECK-NEXT: 1 4 0.50 index z31.s, wzr, wzr
+# CHECK-NEXT: 1 8 2.00 insr z0.b, w0
+# CHECK-NEXT: 1 8 2.00 insr z0.d, x0
+# CHECK-NEXT: 1 8 2.00 insr z0.h, w0
+# CHECK-NEXT: 1 8 2.00 insr z0.s, w0
+# CHECK-NEXT: 1 4 0.50 insr z31.b, b31
+# CHECK-NEXT: 1 8 2.00 insr z31.b, wzr
+# CHECK-NEXT: 1 4 0.50 insr z31.d, d31
+# CHECK-NEXT: 1 8 2.00 insr z31.d, xzr
+# CHECK-NEXT: 1 4 0.50 insr z31.h, h31
+# CHECK-NEXT: 1 8 2.00 insr z31.h, wzr
+# CHECK-NEXT: 1 4 0.50 insr z31.s, s31
+# CHECK-NEXT: 1 8 2.00 insr z31.s, wzr
+# CHECK-NEXT: 1 4 0.50 lasta b0, p7, z31.b
+# CHECK-NEXT: 1 4 0.50 lasta d0, p7, z31.d
+# CHECK-NEXT: 1 4 0.50 lasta h0, p7, z31.h
+# CHECK-NEXT: 1 4 0.50 lasta s0, p7, z31.s
+# CHECK-NEXT: 1 8 2.00 lasta w0, p7, z31.b
+# CHECK-NEXT: 1 8 2.00 lasta w0, p7, z31.h
+# CHECK-NEXT: 1 8 2.00 lasta w0, p7, z31.s
+# CHECK-NEXT: 1 8 2.00 lasta x0, p7, z31.d
+# CHECK-NEXT: 1 4 0.50 lastb b0, p7, z31.b
+# CHECK-NEXT: 1 4 0.50 lastb d0, p7, z31.d
+# CHECK-NEXT: 1 4 0.50 lastb h0, p7, z31.h
+# CHECK-NEXT: 1 4 0.50 lastb s0, p7, z31.s
+# CHECK-NEXT: 1 8 2.00 lastb w0, p7, z31.b
+# CHECK-NEXT: 1 8 2.00 lastb w0, p7, z31.h
+# CHECK-NEXT: 1 8 2.00 lastb w0, p7, z31.s
+# CHECK-NEXT: 1 8 2.00 lastb x0, p7, z31.d
+# CHECK-NEXT: 1 3 0.50 * ld1b { z0.b }, p0/z, [sp, x0]
+# CHECK-NEXT: 1 3 0.50 * ld1b { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 3 0.50 * ld1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1b { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 7 7.00 * ld1b { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 3 0.50 * ld1b { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 7 3.50 * ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.50 * ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 3 0.50 * ld1b { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 9 9.00 * ld1b { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 3 0.50 * ld1b { z21.b }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * ld1b { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ld1b { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 7.00 * ld1b { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 3 0.50 * ld1b { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * ld1b { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * ld1b { z21.s }, p5/z, [x10, x21]
+# CHECK-NEXT: 1 3 0.50 * ld1b { z23.d }, p3/z, [x13, x8]
+# CHECK-NEXT: 1 3 0.50 * ld1b { z31.b }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * ld1b { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ld1b { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 7.00 * ld1b { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: 1 3 0.50 * ld1b { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * ld1b { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 9 9.00 * ld1b { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: 1 3 0.50 * ld1b { z5.h }, p3/z, [x17, x16]
+# CHECK-NEXT: 1 7 7.00 * ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+# CHECK-NEXT: 1 7 7.00 * ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+# CHECK-NEXT: 1 3 0.50 * ld1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 7 7.00 * ld1d { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 3 0.50 * ld1d { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ld1d { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 7.00 * ld1d { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 3 0.50 * ld1d { z23.d }, p3/z, [sp, x8, lsl #3]
+# CHECK-NEXT: 1 3 0.50 * ld1d { z23.d }, p3/z, [x13, x8, lsl #3]
+# CHECK-NEXT: 1 7 7.00 * ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
+# CHECK-NEXT: 1 3 0.50 * ld1d { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ld1d { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 7.00 * ld1d { z31.d }, p7/z, [z31.d, #248]
+# CHECK-NEXT: 1 7 7.00 * ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: 1 7 7.00 * ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: 1 3 0.50 * ld1h { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 7 7.00 * ld1h { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 3 0.50 * ld1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 7 3.50 * ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.50 * ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 3 0.50 * ld1h { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 9 9.00 * ld1h { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 3 0.50 * ld1h { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ld1h { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 7.00 * ld1h { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 3 0.50 * ld1h { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * ld1h { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * ld1h { z21.s }, p5/z, [x10, x21, lsl #1]
+# CHECK-NEXT: 1 3 0.50 * ld1h { z23.d }, p3/z, [x13, x8, lsl #1]
+# CHECK-NEXT: 1 7 7.00 * ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: 1 3 0.50 * ld1h { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ld1h { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 7.00 * ld1h { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: 1 3 0.50 * ld1h { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * ld1h { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 7 3.50 * ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: 1 7 3.50 * ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: 1 9 9.00 * ld1h { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: 1 3 0.50 * ld1h { z5.h }, p3/z, [sp, x16, lsl #1]
+# CHECK-NEXT: 1 3 0.50 * ld1h { z5.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: 1 3 0.50 * ld1rb { z0.b }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rb { z31.b }, p7/z, [sp, #63]
+# CHECK-NEXT: 1 3 0.50 * ld1rb { z31.d }, p7/z, [sp, #63]
+# CHECK-NEXT: 1 3 0.50 * ld1rb { z31.h }, p7/z, [sp, #63]
+# CHECK-NEXT: 1 3 0.50 * ld1rb { z31.s }, p7/z, [sp, #63]
+# CHECK-NEXT: 1 3 0.50 * ld1rd { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rd { z31.d }, p7/z, [sp, #504]
+# CHECK-NEXT: 1 3 0.50 * ld1rh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rh { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rh { z31.d }, p7/z, [sp, #126]
+# CHECK-NEXT: 1 3 0.50 * ld1rh { z31.h }, p7/z, [sp, #126]
+# CHECK-NEXT: 1 3 0.50 * ld1rh { z31.s }, p7/z, [sp, #126]
+# CHECK-NEXT: 1 3 1.00 * ld1rqb { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rqb { z0.b }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rqb { z21.b }, p5/z, [x10, #112]
+# CHECK-NEXT: 1 3 0.50 * ld1rqb { z23.b }, p3/z, [x13, #-128]
+# CHECK-NEXT: 1 3 0.50 * ld1rqb { z31.b }, p7/z, [sp, #-16]
+# CHECK-NEXT: 1 3 1.00 * ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: 1 3 0.50 * ld1rqd { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rqd { z23.d }, p3/z, [x13, #-128]
+# CHECK-NEXT: 1 3 0.50 * ld1rqd { z23.d }, p3/z, [x13, #112]
+# CHECK-NEXT: 1 3 0.50 * ld1rqd { z31.d }, p7/z, [sp, #-16]
+# CHECK-NEXT: 1 3 1.00 * ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 3 0.50 * ld1rqh { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rqh { z23.h }, p3/z, [x13, #-128]
+# CHECK-NEXT: 1 3 0.50 * ld1rqh { z23.h }, p3/z, [x13, #112]
+# CHECK-NEXT: 1 3 0.50 * ld1rqh { z31.h }, p7/z, [sp, #-16]
+# CHECK-NEXT: 1 3 1.00 * ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 3 0.50 * ld1rqw { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rqw { z23.s }, p3/z, [x13, #-128]
+# CHECK-NEXT: 1 3 0.50 * ld1rqw { z23.s }, p3/z, [x13, #112]
+# CHECK-NEXT: 1 3 0.50 * ld1rqw { z31.s }, p7/z, [sp, #-16]
+# CHECK-NEXT: 1 3 0.50 * ld1rsb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rsb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rsb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rsb { z31.d }, p7/z, [sp, #63]
+# CHECK-NEXT: 1 3 0.50 * ld1rsb { z31.h }, p7/z, [sp, #63]
+# CHECK-NEXT: 1 3 0.50 * ld1rsb { z31.s }, p7/z, [sp, #63]
+# CHECK-NEXT: 1 3 0.50 * ld1rsh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rsh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rsh { z31.d }, p7/z, [sp, #126]
+# CHECK-NEXT: 1 3 0.50 * ld1rsh { z31.s }, p7/z, [sp, #126]
+# CHECK-NEXT: 1 3 0.50 * ld1rsw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rsw { z31.d }, p7/z, [sp, #252]
+# CHECK-NEXT: 1 3 0.50 * ld1rw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rw { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1rw { z31.d }, p7/z, [sp, #252]
+# CHECK-NEXT: 1 3 0.50 * ld1rw { z31.s }, p7/z, [sp, #252]
+# CHECK-NEXT: 1 3 0.50 * ld1sb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 7 7.00 * ld1sb { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 3 0.50 * ld1sb { z0.h }, p0/z, [sp, x0]
+# CHECK-NEXT: 1 3 0.50 * ld1sb { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 3 0.50 * ld1sb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 7 3.50 * ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 3 0.50 * ld1sb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 9 9.00 * ld1sb { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 3 0.50 * ld1sb { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ld1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 7.00 * ld1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 3 0.50 * ld1sb { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * ld1sb { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * ld1sb { z21.s }, p5/z, [x10, x21]
+# CHECK-NEXT: 1 3 0.50 * ld1sb { z23.d }, p3/z, [x13, x8]
+# CHECK-NEXT: 1 3 0.50 * ld1sb { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ld1sb { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 7.00 * ld1sb { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: 1 3 0.50 * ld1sb { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * ld1sb { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 9 9.00 * ld1sb { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: 1 7 7.00 * ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: 1 7 7.00 * ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: 1 3 0.50 * ld1sh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 7 7.00 * ld1sh { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 7 3.50 * ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.50 * ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 3 0.50 * ld1sh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 9 9.00 * ld1sh { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 3 0.50 * ld1sh { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 7.00 * ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 3 0.50 * ld1sh { z21.s }, p5/z, [sp, x21, lsl #1]
+# CHECK-NEXT: 1 3 0.50 * ld1sh { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * ld1sh { z21.s }, p5/z, [x10, x21, lsl #1]
+# CHECK-NEXT: 1 3 0.50 * ld1sh { z23.d }, p3/z, [x13, x8, lsl #1]
+# CHECK-NEXT: 1 7 7.00 * ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: 1 3 0.50 * ld1sh { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ld1sh { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 7.00 * ld1sh { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: 1 3 0.50 * ld1sh { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 7 3.50 * ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: 1 7 3.50 * ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: 1 9 9.00 * ld1sh { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: 1 7 7.00 * ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: 1 7 7.00 * ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: 1 3 0.50 * ld1sw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 7 7.00 * ld1sw { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 3 0.50 * ld1sw { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 7.00 * ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 3 0.50 * ld1sw { z23.d }, p3/z, [sp, x8, lsl #2]
+# CHECK-NEXT: 1 3 0.50 * ld1sw { z23.d }, p3/z, [x13, x8, lsl #2]
+# CHECK-NEXT: 1 7 7.00 * ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: 1 3 0.50 * ld1sw { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ld1sw { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 7.00 * ld1sw { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: 1 7 7.00 * ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: 1 7 7.00 * ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: 1 3 0.50 * ld1w { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 7 7.00 * ld1w { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 7 3.50 * ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.50 * ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 3 0.50 * ld1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 9 9.00 * ld1w { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 3 0.50 * ld1w { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ld1w { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 7.00 * ld1w { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 3 0.50 * ld1w { z21.s }, p5/z, [sp, x21, lsl #2]
+# CHECK-NEXT: 1 3 0.50 * ld1w { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * ld1w { z21.s }, p5/z, [x10, x21, lsl #2]
+# CHECK-NEXT: 1 3 0.50 * ld1w { z23.d }, p3/z, [x13, x8, lsl #2]
+# CHECK-NEXT: 1 7 7.00 * ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: 1 3 0.50 * ld1w { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ld1w { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 7.00 * ld1w { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: 1 3 0.50 * ld1w { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 7 3.50 * ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+# CHECK-NEXT: 1 7 3.50 * ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+# CHECK-NEXT: 1 9 9.00 * ld1w { z31.s }, p7/z, [z31.s, #124]
+# CHECK-NEXT: 1 3 2.00 * ld2b { z0.b, z1.b }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 3 1.00 * ld2b { z0.b, z1.b }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld2b { z21.b, z22.b }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld2b { z23.b, z24.b }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: 1 3 2.00 * ld2b { z5.b, z6.b }, p3/z, [x17, x16]
+# CHECK-NEXT: 1 3 2.00 * ld2d { z0.d, z1.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: 1 3 1.00 * ld2d { z0.d, z1.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld2d { z21.d, z22.d }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld2d { z23.d, z24.d }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: 1 3 2.00 * ld2d { z5.d, z6.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: 1 3 2.00 * ld2h { z0.h, z1.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 3 1.00 * ld2h { z0.h, z1.h }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld2h { z21.h, z22.h }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld2h { z23.h, z24.h }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: 1 3 2.00 * ld2h { z5.h, z6.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: 1 3 2.00 * ld2w { z0.s, z1.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 3 1.00 * ld2w { z0.s, z1.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld2w { z21.s, z22.s }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld2w { z23.s, z24.s }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: 1 3 2.00 * ld2w { z5.s, z6.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: 1 5 3.00 * ld3b { z0.b - z2.b }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 5 3.00 * ld3b { z0.b - z2.b }, p0/z, [x0]
+# CHECK-NEXT: 1 5 3.00 * ld3b { z21.b - z23.b }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: 1 5 3.00 * ld3b { z23.b - z25.b }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: 1 5 3.00 * ld3b { z5.b - z7.b }, p3/z, [x17, x16]
+# CHECK-NEXT: 1 5 3.00 * ld3d { z0.d - z2.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: 1 5 3.00 * ld3d { z0.d - z2.d }, p0/z, [x0]
+# CHECK-NEXT: 1 5 3.00 * ld3d { z21.d - z23.d }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: 1 5 3.00 * ld3d { z23.d - z25.d }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: 1 5 3.00 * ld3d { z5.d - z7.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: 1 5 3.00 * ld3h { z0.h - z2.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 5 3.00 * ld3h { z0.h - z2.h }, p0/z, [x0]
+# CHECK-NEXT: 1 5 3.00 * ld3h { z21.h - z23.h }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: 1 5 3.00 * ld3h { z23.h - z25.h }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: 1 5 3.00 * ld3h { z5.h - z7.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: 1 5 3.00 * ld3w { z0.s - z2.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 5 3.00 * ld3w { z0.s - z2.s }, p0/z, [x0]
+# CHECK-NEXT: 1 5 3.00 * ld3w { z21.s - z23.s }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: 1 5 3.00 * ld3w { z23.s - z25.s }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: 1 5 3.00 * ld3w { z5.s - z7.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: 1 5 3.00 * ld4b { z0.b - z3.b }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 5 3.00 * ld4b { z0.b - z3.b }, p0/z, [x0]
+# CHECK-NEXT: 1 5 3.00 * ld4b { z21.b - z24.b }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: 1 5 3.00 * ld4b { z23.b - z26.b }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: 1 5 3.00 * ld4b { z5.b - z8.b }, p3/z, [x17, x16]
+# CHECK-NEXT: 1 5 3.00 * ld4d { z0.d - z3.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: 1 5 3.00 * ld4d { z0.d - z3.d }, p0/z, [x0]
+# CHECK-NEXT: 1 5 3.00 * ld4d { z21.d - z24.d }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: 1 5 3.00 * ld4d { z23.d - z26.d }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: 1 5 3.00 * ld4d { z5.d - z8.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: 1 5 3.00 * ld4h { z0.h - z3.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 5 3.00 * ld4h { z0.h - z3.h }, p0/z, [x0]
+# CHECK-NEXT: 1 5 3.00 * ld4h { z21.h - z24.h }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: 1 5 3.00 * ld4h { z23.h - z26.h }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: 1 5 3.00 * ld4h { z5.h - z8.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: 1 5 3.00 * ld4w { z0.s - z3.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 5 3.00 * ld4w { z0.s - z3.s }, p0/z, [x0]
+# CHECK-NEXT: 1 5 3.00 * ld4w { z21.s - z24.s }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: 1 5 3.00 * ld4w { z23.s - z26.s }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: 1 5 3.00 * ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: 1 3 0.50 * U ldff1b { z0.d }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 7 7.00 * U ldff1b { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 3 0.50 * U ldff1b { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 3 0.50 * U ldff1b { z0.s }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 7 3.50 * U ldff1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.50 * U ldff1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 9 9.00 * U ldff1b { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 7 7.00 * U ldff1b { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 7.00 * U ldff1b { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 3 0.50 * U ldff1b { z31.b }, p7/z, [sp]
+# CHECK-NEXT: 1 7 7.00 * U ldff1b { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 3 0.50 * U ldff1b { z31.d }, p7/z, [sp]
+# CHECK-NEXT: 1 7 7.00 * U ldff1b { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: 1 3 0.50 * U ldff1b { z31.h }, p7/z, [sp]
+# CHECK-NEXT: 1 3 0.50 * U ldff1b { z31.s }, p7/z, [sp]
+# CHECK-NEXT: 1 9 9.00 * U ldff1b { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: 1 3 0.50 * U ldff1d { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: 1 7 7.00 * U ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+# CHECK-NEXT: 1 7 7.00 * U ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+# CHECK-NEXT: 1 7 7.00 * U ldff1d { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 7 7.00 * U ldff1d { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 7.00 * U ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 7.00 * U ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
+# CHECK-NEXT: 1 7 7.00 * U ldff1d { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 3 0.50 * U ldff1d { z31.d }, p7/z, [sp]
+# CHECK-NEXT: 1 7 7.00 * U ldff1d { z31.d }, p7/z, [z31.d, #248]
+# CHECK-NEXT: 1 3 0.50 * U ldff1h { z0.d }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 7 7.00 * U ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: 1 7 7.00 * U ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: 1 7 7.00 * U ldff1h { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 3 0.50 * U ldff1h { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 3 0.50 * U ldff1h { z0.s }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 7 3.50 * U ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.50 * U ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 9 9.00 * U ldff1h { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 7 7.00 * U ldff1h { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 7.00 * U ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 7.00 * U ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: 1 7 7.00 * U ldff1h { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 3 0.50 * U ldff1h { z31.d }, p7/z, [sp]
+# CHECK-NEXT: 1 7 7.00 * U ldff1h { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: 1 3 0.50 * U ldff1h { z31.h }, p7/z, [sp]
+# CHECK-NEXT: 1 7 3.50 * U ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: 1 7 3.50 * U ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: 1 3 0.50 * U ldff1h { z31.s }, p7/z, [sp]
+# CHECK-NEXT: 1 9 9.00 * U ldff1h { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: 1 3 0.50 * U ldff1sb { z0.d }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sb { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 3 0.50 * U ldff1sb { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 3 0.50 * U ldff1sb { z0.s }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 7 3.50 * U ldff1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.50 * U ldff1sb { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 9 9.00 * U ldff1sb { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sb { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 3 0.50 * U ldff1sb { z31.d }, p7/z, [sp]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sb { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: 1 3 0.50 * U ldff1sb { z31.h }, p7/z, [sp]
+# CHECK-NEXT: 1 3 0.50 * U ldff1sb { z31.s }, p7/z, [sp]
+# CHECK-NEXT: 1 9 9.00 * U ldff1sb { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: 1 3 0.50 * U ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sh { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 3 0.50 * U ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 7 3.50 * U ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.50 * U ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 9 9.00 * U ldff1sh { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sh { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 3 0.50 * U ldff1sh { z31.d }, p7/z, [sp]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sh { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: 1 7 3.50 * U ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: 1 7 3.50 * U ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: 1 3 0.50 * U ldff1sh { z31.s }, p7/z, [sp]
+# CHECK-NEXT: 1 9 9.00 * U ldff1sh { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: 1 3 0.50 * U ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sw { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sw { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 3 0.50 * U ldff1sw { z31.d }, p7/z, [sp]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sw { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: 1 3 0.50 * U ldff1w { z0.d }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 7 7.00 * U ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: 1 7 7.00 * U ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: 1 7 7.00 * U ldff1w { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 3 0.50 * U ldff1w { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 7 3.50 * U ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.50 * U ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 9 9.00 * U ldff1w { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 7 7.00 * U ldff1w { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 7.00 * U ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 7.00 * U ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: 1 7 7.00 * U ldff1w { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 3 0.50 * U ldff1w { z31.d }, p7/z, [sp]
+# CHECK-NEXT: 1 7 7.00 * U ldff1w { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: 1 7 3.50 * U ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+# CHECK-NEXT: 1 7 3.50 * U ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+# CHECK-NEXT: 1 3 0.50 * U ldff1w { z31.s }, p7/z, [sp]
+# CHECK-NEXT: 1 9 9.00 * U ldff1w { z31.s }, p7/z, [z31.s, #124]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z21.b }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z31.b }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1d { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1d { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1h { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1h { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1h { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1h { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1h { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1h { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1h { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1h { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1sb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1sb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1sb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1sb { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1sb { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1sb { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1sb { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1sb { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1sb { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1sh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1sh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1sh { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1sh { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1sh { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1sh { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1sw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1sw { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1sw { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1w { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1w { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1w { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1w { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 0.50 * U ldnf1w { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ldnt1b { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 3 1.00 * ldnt1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: 1 7 7.00 * ldnt1b { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: 1 9 9.00 * ldnt1b { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: 1 3 1.00 * ldnt1b { z21.b }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ldnt1b { z23.b }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ldnt1b { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: 1 7 7.00 * ldnt1b { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: 1 9 9.00 * ldnt1b { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: 1 9 9.00 * ldnt1b { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: 1 3 1.00 * ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: 1 3 1.00 * ldnt1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 7 7.00 * ldnt1d { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: 1 3 1.00 * ldnt1d { z21.d }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ldnt1d { z23.d }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ldnt1d { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: 1 7 7.00 * ldnt1d { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: 1 7 7.00 * ldnt1h { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: 1 3 1.00 * ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 3 1.00 * ldnt1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 9 9.00 * ldnt1h { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: 1 3 1.00 * ldnt1h { z21.h }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ldnt1h { z23.h }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ldnt1h { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: 1 7 7.00 * ldnt1h { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: 1 9 9.00 * ldnt1h { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: 1 9 9.00 * ldnt1h { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: 1 7 7.00 * ldnt1sb { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: 1 9 9.00 * ldnt1sb { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: 1 7 7.00 * ldnt1sb { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: 1 7 7.00 * ldnt1sb { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: 1 9 9.00 * ldnt1sb { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: 1 9 9.00 * ldnt1sb { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: 1 7 7.00 * ldnt1sh { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: 1 9 9.00 * ldnt1sh { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: 1 7 7.00 * ldnt1sh { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: 1 7 7.00 * ldnt1sh { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: 1 9 9.00 * ldnt1sh { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: 1 9 9.00 * ldnt1sh { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: 1 7 7.00 * ldnt1sw { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: 1 7 7.00 * ldnt1sw { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: 1 7 7.00 * ldnt1sw { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: 1 7 7.00 * ldnt1w { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: 1 3 1.00 * ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 3 1.00 * ldnt1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 9 9.00 * ldnt1w { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: 1 3 1.00 * ldnt1w { z21.s }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ldnt1w { z23.s }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ldnt1w { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: 1 7 7.00 * ldnt1w { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: 1 9 9.00 * ldnt1w { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: 1 9 9.00 * ldnt1w { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: 1 3 1.00 * ldr p0, [x0]
+# CHECK-NEXT: 1 3 1.00 * ldr p5, [x10, #255, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ldr p7, [x13, #-256, mul vl]
+# CHECK-NEXT: 1 3 0.50 * ldr z0, [x0]
+# CHECK-NEXT: 1 3 0.50 * ldr z23, [x13, #255, mul vl]
+# CHECK-NEXT: 1 3 0.50 * ldr z31, [sp, #-256, mul vl]
+# CHECK-NEXT: 1 2 0.50 lsl z0.b, p0/m, z0.b, #0
+# CHECK-NEXT: 1 2 0.50 lsl z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 2 0.50 lsl z0.b, p0/m, z0.b, z1.d
+# CHECK-NEXT: 1 2 0.50 lsl z0.b, z0.b, #0
+# CHECK-NEXT: 1 2 0.50 lsl z0.b, z1.b, z2.d
+# CHECK-NEXT: 1 2 0.50 lsl z0.d, p0/m, z0.d, #0
+# CHECK-NEXT: 1 2 0.50 lsl z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 2 0.50 lsl z0.d, z0.d, #0
+# CHECK-NEXT: 1 2 0.50 lsl z0.h, p0/m, z0.h, #0
+# CHECK-NEXT: 1 2 0.50 lsl z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 2 0.50 lsl z0.h, p0/m, z0.h, z1.d
+# CHECK-NEXT: 1 2 0.50 lsl z0.h, z0.h, #0
+# CHECK-NEXT: 1 2 0.50 lsl z0.h, z1.h, z2.d
+# CHECK-NEXT: 1 2 0.50 lsl z0.s, p0/m, z0.s, #0
+# CHECK-NEXT: 1 2 0.50 lsl z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 2 0.50 lsl z0.s, p0/m, z0.s, z1.d
+# CHECK-NEXT: 1 2 0.50 lsl z0.s, z0.s, #0
+# CHECK-NEXT: 1 2 0.50 lsl z0.s, z1.s, z2.d
+# CHECK-NEXT: 1 2 0.50 lsl z31.b, p0/m, z31.b, #7
+# CHECK-NEXT: 1 2 0.50 lsl z31.b, z31.b, #7
+# CHECK-NEXT: 1 2 0.50 lsl z31.d, p0/m, z31.d, #63
+# CHECK-NEXT: 1 2 0.50 lsl z31.d, z31.d, #63
+# CHECK-NEXT: 1 2 0.50 lsl z31.h, p0/m, z31.h, #15
+# CHECK-NEXT: 1 2 0.50 lsl z31.h, z31.h, #15
+# CHECK-NEXT: 1 2 0.50 lsl z31.s, p0/m, z31.s, #31
+# CHECK-NEXT: 1 2 0.50 lsl z31.s, z31.s, #31
+# CHECK-NEXT: 1 2 0.50 lslr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 2 0.50 lslr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 2 0.50 lslr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 2 0.50 lslr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 2 0.50 lsr z0.b, p0/m, z0.b, #1
+# CHECK-NEXT: 1 2 0.50 lsr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 2 0.50 lsr z0.b, p0/m, z0.b, z1.d
+# CHECK-NEXT: 1 2 0.50 lsr z0.b, z0.b, #1
+# CHECK-NEXT: 1 2 0.50 lsr z0.b, z1.b, z2.d
+# CHECK-NEXT: 1 2 0.50 lsr z0.d, p0/m, z0.d, #1
+# CHECK-NEXT: 1 2 0.50 lsr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 2 0.50 lsr z0.d, z0.d, #1
+# CHECK-NEXT: 1 2 0.50 lsr z0.h, p0/m, z0.h, #1
+# CHECK-NEXT: 1 2 0.50 lsr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 2 0.50 lsr z0.h, p0/m, z0.h, z1.d
+# CHECK-NEXT: 1 2 0.50 lsr z0.h, z0.h, #1
+# CHECK-NEXT: 1 2 0.50 lsr z0.h, z1.h, z2.d
+# CHECK-NEXT: 1 2 0.50 lsr z0.s, p0/m, z0.s, #1
+# CHECK-NEXT: 1 2 0.50 lsr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 2 0.50 lsr z0.s, p0/m, z0.s, z1.d
+# CHECK-NEXT: 1 2 0.50 lsr z0.s, z0.s, #1
+# CHECK-NEXT: 1 2 0.50 lsr z0.s, z1.s, z2.d
+# CHECK-NEXT: 1 2 0.50 lsr z31.b, p0/m, z31.b, #8
+# CHECK-NEXT: 1 2 0.50 lsr z31.b, z31.b, #8
+# CHECK-NEXT: 1 2 0.50 lsr z31.d, p0/m, z31.d, #64
+# CHECK-NEXT: 1 2 0.50 lsr z31.d, z31.d, #64
+# CHECK-NEXT: 1 2 0.50 lsr z31.h, p0/m, z31.h, #16
+# CHECK-NEXT: 1 2 0.50 lsr z31.h, z31.h, #16
+# CHECK-NEXT: 1 2 0.50 lsr z31.s, p0/m, z31.s, #32
+# CHECK-NEXT: 1 2 0.50 lsr z31.s, z31.s, #32
+# CHECK-NEXT: 1 2 0.50 lsrr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 2 0.50 lsrr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 2 0.50 lsrr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 2 0.50 lsrr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 4 0.50 mad z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 mad z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 mad z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 mad z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: 1 8 1.00 match p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: 1 8 1.00 match p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: 1 8 1.00 match p15.b, p7/z, z30.b, z31.b
+# CHECK-NEXT: 1 8 1.00 match p15.h, p7/z, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 mla z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 mla z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 mla z0.d, z1.d, z7.d[1]
+# CHECK-NEXT: 1 4 0.50 mla z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 mla z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 mla z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 mla z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: 1 4 0.50 mls z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 mls z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 mls z0.d, z1.d, z7.d[1]
+# CHECK-NEXT: 1 4 0.50 mls z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 mls z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 mls z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 mls z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: 1 2 1.00 mov p0.b, p0.b
+# CHECK-NEXT: 1 2 1.00 mov p0.b, p0/m, p0.b
+# CHECK-NEXT: 1 2 1.00 mov p0.b, p0/z, p0.b
+# CHECK-NEXT: 1 2 1.00 mov p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 mov p15.b, p15/m, p15.b
+# CHECK-NEXT: 1 2 1.00 mov p15.b, p15/z, p15.b
+# CHECK-NEXT: 1 3 0.50 mov z0.b, #127
+# CHECK-NEXT: 1 3 0.50 mov z0.b, b0
+# CHECK-NEXT: 1 3 0.50 mov z0.b, p0/m, b0
+# CHECK-NEXT: 1 3 1.00 mov z0.b, p0/m, w0
+# CHECK-NEXT: 1 3 0.50 mov z0.b, p0/z, #127
+# CHECK-NEXT: 1 3 0.50 mov z0.b, w0
+# CHECK-NEXT: 1 3 0.50 mov z0.d, #0
+# CHECK-NEXT: 1 4 0.50 mov z0.d, #0xe0000000000003ff
+# CHECK-NEXT: 1 4 0.50 mov z0.d, #0xffffffffffff7fff
+# CHECK-NEXT: 1 4 0.50 mov z0.d, #32768
+# CHECK-NEXT: 1 3 0.50 mov z0.d, d0
+# CHECK-NEXT: 1 3 0.50 mov z0.d, p0/m, d0
+# CHECK-NEXT: 1 3 1.00 mov z0.d, p0/m, x0
+# CHECK-NEXT: 1 3 0.50 mov z0.d, x0
+# CHECK-NEXT: 1 3 0.50 mov z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 mov z0.h, #-256
+# CHECK-NEXT: 1 3 0.50 mov z0.h, #-32768
+# CHECK-NEXT: 1 3 0.50 mov z0.h, #0
+# CHECK-NEXT: 1 3 0.50 mov z0.h, #32512
+# CHECK-NEXT: 1 4 0.50 mov z0.h, #32767
+# CHECK-NEXT: 1 3 0.50 mov z0.h, h0
+# CHECK-NEXT: 1 3 0.50 mov z0.h, p0/m, h0
+# CHECK-NEXT: 1 3 1.00 mov z0.h, p0/m, w0
+# CHECK-NEXT: 1 3 0.50 mov z0.h, p0/z, #32512
+# CHECK-NEXT: 1 3 0.50 mov z0.h, w0
+# CHECK-NEXT: 1 3 0.50 mov z0.q, q0
+# CHECK-NEXT: 1 3 0.50 mov z0.s, #0
+# CHECK-NEXT: 1 4 0.50 mov z0.s, #0xffff7fff
+# CHECK-NEXT: 1 4 0.50 mov z0.s, #32768
+# CHECK-NEXT: 1 3 0.50 mov z0.s, p0/m, s0
+# CHECK-NEXT: 1 3 1.00 mov z0.s, p0/m, w0
+# CHECK-NEXT: 1 3 0.50 mov z0.s, s0
+# CHECK-NEXT: 1 3 0.50 mov z0.s, w0
+# CHECK-NEXT: 1 3 0.50 mov z21.d, #-128
+# CHECK-NEXT: 1 3 0.50 mov z21.d, #-32768
+# CHECK-NEXT: 1 3 0.50 mov z21.d, #127
+# CHECK-NEXT: 1 3 0.50 mov z21.d, #32512
+# CHECK-NEXT: 1 3 0.50 mov z21.d, p0/z, #-128
+# CHECK-NEXT: 1 3 0.50 mov z21.d, p0/z, #-32768
+# CHECK-NEXT: 1 3 0.50 mov z21.d, p0/z, #127
+# CHECK-NEXT: 1 3 0.50 mov z21.d, p0/z, #32512
+# CHECK-NEXT: 1 3 0.50 mov z21.d, p15/m, #-128
+# CHECK-NEXT: 1 3 0.50 mov z21.d, p15/m, #-32768
+# CHECK-NEXT: 1 3 0.50 mov z21.h, #-128
+# CHECK-NEXT: 1 3 0.50 mov z21.h, #-32768
+# CHECK-NEXT: 1 3 0.50 mov z21.h, #127
+# CHECK-NEXT: 1 3 0.50 mov z21.h, #32512
+# CHECK-NEXT: 1 3 0.50 mov z21.h, p0/z, #-128
+# CHECK-NEXT: 1 3 0.50 mov z21.h, p0/z, #-32768
+# CHECK-NEXT: 1 3 0.50 mov z21.h, p0/z, #127
+# CHECK-NEXT: 1 3 0.50 mov z21.h, p0/z, #32512
+# CHECK-NEXT: 1 3 0.50 mov z21.h, p15/m, #-128
+# CHECK-NEXT: 1 3 0.50 mov z21.h, p15/m, #-32768
+# CHECK-NEXT: 1 3 0.50 mov z21.s, #-128
+# CHECK-NEXT: 1 3 0.50 mov z21.s, #-32768
+# CHECK-NEXT: 1 3 0.50 mov z21.s, #127
+# CHECK-NEXT: 1 3 0.50 mov z21.s, #32512
+# CHECK-NEXT: 1 3 0.50 mov z21.s, p0/z, #-128
+# CHECK-NEXT: 1 3 0.50 mov z21.s, p0/z, #-32768
+# CHECK-NEXT: 1 3 0.50 mov z21.s, p0/z, #127
+# CHECK-NEXT: 1 3 0.50 mov z21.s, p0/z, #32512
+# CHECK-NEXT: 1 3 0.50 mov z21.s, p15/m, #-128
+# CHECK-NEXT: 1 3 0.50 mov z21.s, p15/m, #-32768
+# CHECK-NEXT: 1 2 0.50 mov z31.b, p15/m, z31.b
+# CHECK-NEXT: 1 3 0.50 mov z31.b, p7/m, b31
+# CHECK-NEXT: 1 3 0.50 movprfx z31, z6
+# CHECK-NEXT: 1 3 1.00 mov z31.b, p7/m, wsp
+# CHECK-NEXT: 1 3 0.50 mov z31.b, wsp
+# CHECK-NEXT: 1 3 0.50 mov z31.b, z31.b[63]
+# CHECK-NEXT: 1 2 0.50 mov z31.d, p15/m, z31.d
+# CHECK-NEXT: 1 3 0.50 mov z31.d, p7/m, d31
+# CHECK-NEXT: 1 3 0.50 movprfx z31.d, p7/z, z6.d
+# CHECK-NEXT: 1 3 1.00 mov z31.d, p7/m, sp
+# CHECK-NEXT: 1 3 0.50 mov z31.d, sp
+# CHECK-NEXT: 1 3 0.50 mov z31.d, z0.d
+# CHECK-NEXT: 1 3 0.50 mov z31.d, z31.d[7]
+# CHECK-NEXT: 1 2 0.50 mov z31.h, p15/m, z31.h
+# CHECK-NEXT: 1 3 0.50 mov z31.h, p7/m, h31
+# CHECK-NEXT: 1 3 1.00 mov z31.h, p7/m, wsp
+# CHECK-NEXT: 1 3 0.50 mov z31.h, wsp
+# CHECK-NEXT: 1 3 0.50 mov z31.h, z31.h[31]
+# CHECK-NEXT: 1 2 0.50 mov z31.s, p15/m, z31.s
+# CHECK-NEXT: 1 3 0.50 mov z31.s, p7/m, s31
+# CHECK-NEXT: 1 3 1.00 mov z31.s, p7/m, wsp
+# CHECK-NEXT: 1 3 0.50 mov z31.s, wsp
+# CHECK-NEXT: 1 3 0.50 mov z31.s, z31.s[15]
+# CHECK-NEXT: 1 3 0.50 mov z5.b, #-1
+# CHECK-NEXT: 1 3 0.50 mov z5.b, #-128
+# CHECK-NEXT: 1 3 0.50 mov z5.b, #127
+# CHECK-NEXT: 1 3 0.50 mov z5.b, p0/z, #-1
+# CHECK-NEXT: 1 3 0.50 mov z5.b, p0/z, #-128
+# CHECK-NEXT: 1 3 0.50 mov z5.b, p0/z, #127
+# CHECK-NEXT: 1 3 0.50 mov z5.b, p15/m, #-128
+# CHECK-NEXT: 1 3 0.50 mov z5.d, #-6
+# CHECK-NEXT: 1 3 0.50 mov z5.h, #-6
+# CHECK-NEXT: 1 3 0.50 mov z5.q, z17.q[3]
+# CHECK-NEXT: 1 3 0.50 mov z5.s, #-6
+# CHECK-NEXT: 1 2 1.00 movs p0.b, p0.b
+# CHECK-NEXT: 1 2 1.00 movs p0.b, p0/z, p0.b
+# CHECK-NEXT: 1 2 1.00 movs p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 movs p15.b, p15/z, p15.b
+# CHECK-NEXT: 1 1 1.00 U mrs x3, ID_AA64ZFR0_EL1
+# CHECK-NEXT: 1 1 1.00 U mrs x3, ZCR_EL1
+# CHECK-NEXT: 1 1 1.00 U mrs x3, ZCR_EL12
+# CHECK-NEXT: 1 1 1.00 U mrs x3, ZCR_EL2
+# CHECK-NEXT: 1 1 1.00 U mrs x3, ZCR_EL3
+# CHECK-NEXT: 1 4 0.50 msb z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 msb z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 msb z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 msb z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: 1 1 1.00 U msr ZCR_EL1, x3
+# CHECK-NEXT: 1 1 1.00 U msr ZCR_EL12, x3
+# CHECK-NEXT: 1 1 1.00 U msr ZCR_EL2, x3
+# CHECK-NEXT: 1 1 1.00 U msr ZCR_EL3, x3
+# CHECK-NEXT: 1 4 0.50 mul z0.b, p7/m, z0.b, z31.b
+# CHECK-NEXT: 1 4 0.50 mul z0.b, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 mul z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 mul z0.d, z1.d, z15.d[1]
+# CHECK-NEXT: 1 4 0.50 mul z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 mul z0.h, z1.h, z2.h
+# CHECK-NEXT: 1 4 0.50 mul z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 mul z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 mul z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: 1 4 0.50 mul z29.s, z30.s, z31.s
+# CHECK-NEXT: 1 4 0.50 mul z31.b, z31.b, #-128
+# CHECK-NEXT: 1 4 0.50 mul z31.b, z31.b, #127
+# CHECK-NEXT: 1 4 0.50 mul z31.d, z31.d, #-128
+# CHECK-NEXT: 1 4 0.50 mul z31.d, z31.d, #127
+# CHECK-NEXT: 1 4 0.50 mul z31.d, z31.d, z31.d
+# CHECK-NEXT: 1 4 0.50 mul z31.h, z31.h, #-128
+# CHECK-NEXT: 1 4 0.50 mul z31.h, z31.h, #127
+# CHECK-NEXT: 1 4 0.50 mul z31.s, z31.s, #-128
+# CHECK-NEXT: 1 4 0.50 mul z31.s, z31.s, #127
+# CHECK-NEXT: 1 2 1.00 nand p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1 2 1.00 nand p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 nands p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1 2 1.00 nands p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 3 0.50 nbsl z0.d, z0.d, z1.d, z2.d
+# CHECK-NEXT: 1 2 0.50 neg z0.b, p0/m, z0.b
+# CHECK-NEXT: 1 2 0.50 neg z0.d, p0/m, z0.d
+# CHECK-NEXT: 1 2 0.50 neg z0.h, p0/m, z0.h
+# CHECK-NEXT: 1 2 0.50 neg z0.s, p0/m, z0.s
+# CHECK-NEXT: 1 2 0.50 neg z31.b, p7/m, z31.b
+# CHECK-NEXT: 1 2 0.50 neg z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 2 0.50 neg z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 2 0.50 neg z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 8 1.00 nmatch p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: 1 8 1.00 nmatch p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: 1 8 1.00 nmatch p15.b, p7/z, z30.b, z31.b
+# CHECK-NEXT: 1 8 1.00 nmatch p15.h, p7/z, z30.h, z31.h
+# CHECK-NEXT: 1 2 1.00 nor p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1 2 1.00 nor p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 nors p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1 2 1.00 nors p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 not p0.b, p0/z, p0.b
+# CHECK-NEXT: 1 2 1.00 not p15.b, p15/z, p15.b
+# CHECK-NEXT: 1 3 0.50 not z31.b, p7/m, z31.b
+# CHECK-NEXT: 1 3 0.50 not z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 3 0.50 not z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 3 0.50 not z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 2 1.00 nots p0.b, p0/z, p0.b
+# CHECK-NEXT: 1 2 1.00 nots p15.b, p15/z, p15.b
+# CHECK-NEXT: 1 2 1.00 orn p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1 2 1.00 orn p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 orns p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1 2 1.00 orns p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 orr p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: 1 3 0.50 orr z0.d, z0.d, #0x6
+# CHECK-NEXT: 1 3 0.50 orr z0.d, z0.d, #0xfffffffffffffff9
+# CHECK-NEXT: 1 3 0.50 orr z0.s, z0.s, #0x6
+# CHECK-NEXT: 1 3 0.50 orr z0.s, z0.s, #0xfffffff9
+# CHECK-NEXT: 1 3 0.50 orr z23.d, z13.d, z8.d
+# CHECK-NEXT: 1 3 0.50 orr z23.h, z23.h, #0x6
+# CHECK-NEXT: 1 3 0.50 orr z23.h, z23.h, #0xfff9
+# CHECK-NEXT: 1 3 0.50 orr z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 orr z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 orr z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 orr z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 orr z5.b, z5.b, #0x6
+# CHECK-NEXT: 1 3 0.50 orr z5.b, z5.b, #0xf9
+# CHECK-NEXT: 1 2 1.00 orrs p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: 1 4 1.00 orv b0, p7, z31.b
+# CHECK-NEXT: 1 4 1.00 orv d0, p7, z31.d
+# CHECK-NEXT: 1 4 1.00 orv h0, p7, z31.h
+# CHECK-NEXT: 1 4 1.00 orv s0, p7, z31.s
+# CHECK-NEXT: 1 2 1.00 pfalse p15.b
+# CHECK-NEXT: 1 2 1.00 pfirst p0.b, p15, p0.b
+# CHECK-NEXT: 1 2 1.00 pfirst p15.b, p15, p15.b
+# CHECK-NEXT: 1 4 0.50 pmul z0.b, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 pmul z29.b, z30.b, z31.b
+# CHECK-NEXT: 1 9 1.00 pmullb z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 9 1.00 pmullb z29.q, z30.d, z31.d
+# CHECK-NEXT: 1 9 1.00 pmullb z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 9 1.00 pmullt z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 9 1.00 pmullt z29.q, z30.d, z31.d
+# CHECK-NEXT: 1 9 1.00 pmullt z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 2 1.00 pnext p0.b, p15, p0.b
+# CHECK-NEXT: 1 2 1.00 pnext p0.d, p15, p0.d
+# CHECK-NEXT: 1 2 1.00 pnext p0.h, p15, p0.h
+# CHECK-NEXT: 1 2 1.00 pnext p0.s, p15, p0.s
+# CHECK-NEXT: 1 2 1.00 pnext p15.b, p15, p15.b
+# CHECK-NEXT: 1 0 0.50 * * U prfb #14, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfb #15, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfb #6, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfb #7, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfb #7, p3, [z13.s, #31]
+# CHECK-NEXT: 1 0 0.50 * * U prfb #7, p3, [z13.s]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pldl1keep, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pldl1keep, p0, [x0, z0.d]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pldl1keep, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pldl1keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pldl1strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pldl2keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pldl2strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pldl3keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pldl3strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pldl3strm, p5, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pldl3strm, p5, [x10, z21.s, uxtw]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pldl3strm, p5, [z10.d, #31]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pldl3strm, p5, [z10.d]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pstl1keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pstl1strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pstl2keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pstl2strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pstl3keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfb pstl3strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfd #14, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfd #15, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfd #15, p7, [z31.d, #248]
+# CHECK-NEXT: 1 0 0.50 * * U prfd #15, p7, [z31.d]
+# CHECK-NEXT: 1 0 0.50 * * U prfd #15, p7, [z31.s, #248]
+# CHECK-NEXT: 1 0 0.50 * * U prfd #15, p7, [z31.s]
+# CHECK-NEXT: 1 0 0.50 * * U prfd #6, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfd #7, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pldl1keep, p0, [x0, z0.d, lsl #3]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pldl1keep, p0, [x0, z0.d, sxtw #3]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pldl1keep, p0, [x0, z0.d, uxtw #3]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pldl1keep, p0, [x0, z0.s, sxtw #3]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pldl1keep, p0, [x0, z0.s, uxtw #3]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pldl1keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pldl1strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pldl2keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pldl2strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pldl3keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pldl3strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pstl1keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pstl1strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pstl2keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pstl2strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pstl3keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfd pstl3strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfh #14, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfh #15, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfh #15, p7, [z31.d, #62]
+# CHECK-NEXT: 1 0 0.50 * * U prfh #15, p7, [z31.d]
+# CHECK-NEXT: 1 0 0.50 * * U prfh #15, p7, [z31.s, #62]
+# CHECK-NEXT: 1 0 0.50 * * U prfh #15, p7, [z31.s]
+# CHECK-NEXT: 1 0 0.50 * * U prfh #6, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfh #7, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pldl1keep, p0, [x0, z0.d, lsl #1]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pldl1keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pldl1strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pldl2keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pldl2strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pldl3keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pldl3strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pldl3strm, p5, [x10, z21.d, sxtw #1]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pldl3strm, p5, [x10, z21.d, uxtw #1]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pldl3strm, p5, [x10, z21.s, sxtw #1]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pldl3strm, p5, [x10, z21.s, uxtw #1]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pstl1keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pstl1strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pstl2keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pstl2strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pstl3keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfh pstl3strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfw #14, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfw #15, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfw #15, p7, [z31.d, #124]
+# CHECK-NEXT: 1 0 0.50 * * U prfw #15, p7, [z31.d]
+# CHECK-NEXT: 1 0 0.50 * * U prfw #15, p7, [z31.s, #124]
+# CHECK-NEXT: 1 0 0.50 * * U prfw #15, p7, [z31.s]
+# CHECK-NEXT: 1 0 0.50 * * U prfw #6, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfw #7, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfw #7, p3, [x13, z8.d, uxtw #2]
+# CHECK-NEXT: 1 0 0.50 * * U prfw pldl1keep, p0, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: 1 0 0.50 * * U prfw pldl1keep, p0, [x0, z0.s, uxtw #2]
+# CHECK-NEXT: 1 0 0.50 * * U prfw pldl1keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfw pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT: 1 0 0.50 * * U prfw pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT: 1 0 0.50 * * U prfw pldl1strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfw pldl2keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfw pldl2strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfw pldl3keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfw pldl3strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfw pldl3strm, p5, [x10, z21.d, lsl #2]
+# CHECK-NEXT: 1 0 0.50 * * U prfw pldl3strm, p5, [x10, z21.s, sxtw #2]
+# CHECK-NEXT: 1 0 0.50 * * U prfw pstl1keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfw pstl1strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfw pstl2keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfw pstl2strm, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfw pstl3keep, p0, [x0]
+# CHECK-NEXT: 1 0 0.50 * * U prfw pstl3strm, p0, [x0]
+# CHECK-NEXT: 1 2 1.00 ptest p15, p0.b
+# CHECK-NEXT: 1 2 1.00 ptest p15, p15.b
+# CHECK-NEXT: 1 2 1.00 ptrue p0.b, pow2
+# CHECK-NEXT: 1 2 1.00 ptrue p0.d, pow2
+# CHECK-NEXT: 1 2 1.00 ptrue p0.h, pow2
+# CHECK-NEXT: 1 2 1.00 ptrue p0.s, pow2
+# CHECK-NEXT: 1 2 1.00 ptrue p15.b
+# CHECK-NEXT: 1 2 1.00 ptrue p15.d
+# CHECK-NEXT: 1 2 1.00 ptrue p15.h
+# CHECK-NEXT: 1 2 1.00 ptrue p15.s
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #14
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #15
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #16
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #17
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #18
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #19
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #20
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #21
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #22
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #23
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #24
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #25
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #26
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #27
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #28
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, mul3
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, mul4
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl1
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl128
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl16
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl2
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl256
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl3
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl32
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl4
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl5
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl6
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl64
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl7
+# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl8
+# CHECK-NEXT: 1 2 1.00 ptrues p0.b, pow2
+# CHECK-NEXT: 1 2 1.00 ptrues p0.d, pow2
+# CHECK-NEXT: 1 2 1.00 ptrues p0.h, pow2
+# CHECK-NEXT: 1 2 1.00 ptrues p0.s, pow2
+# CHECK-NEXT: 1 2 1.00 ptrues p15.b
+# CHECK-NEXT: 1 2 1.00 ptrues p15.d
+# CHECK-NEXT: 1 2 1.00 ptrues p15.h
+# CHECK-NEXT: 1 2 1.00 ptrues p15.s
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, #14
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, #15
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, #16
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, #17
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, #18
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, #19
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, #20
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, #21
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, #22
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, #23
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, #24
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, #25
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, #26
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, #27
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, #28
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, mul3
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, mul4
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, vl1
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, vl128
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, vl16
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, vl2
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, vl256
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, vl3
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, vl32
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, vl4
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, vl5
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, vl6
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, vl64
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, vl7
+# CHECK-NEXT: 1 2 1.00 ptrues p7.s, vl8
+# CHECK-NEXT: 1 2 1.00 punpkhi p0.h, p0.b
+# CHECK-NEXT: 1 2 1.00 punpkhi p15.h, p15.b
+# CHECK-NEXT: 1 2 1.00 punpklo p0.h, p0.b
+# CHECK-NEXT: 1 2 1.00 punpklo p15.h, p15.b
+# CHECK-NEXT: 1 8 0.50 raddhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 8 0.50 raddhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 8 0.50 raddhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 8 0.50 raddhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 8 0.50 raddhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 8 0.50 raddhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 3 1.00 rax1 z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 3 0.50 rbit z0.b, p7/m, z31.b
+# CHECK-NEXT: 1 3 0.50 rbit z0.d, p7/m, z31.d
+# CHECK-NEXT: 1 3 0.50 rbit z0.h, p7/m, z31.h
+# CHECK-NEXT: 1 3 0.50 rbit z0.s, p7/m, z31.s
+# CHECK-NEXT: 1 1 0.33 * U rdffr p0.b
+# CHECK-NEXT: 1 3 1.00 * U rdffr p0.b, p0/z
+# CHECK-NEXT: 1 1 0.33 * U rdffr p15.b
+# CHECK-NEXT: 1 3 1.00 * U rdffr p15.b, p15/z
+# CHECK-NEXT: 1 3 1.00 U rdffrs p0.b, p0/z
+# CHECK-NEXT: 1 3 1.00 U rdffrs p15.b, p15/z
+# CHECK-NEXT: 1 1 0.33 rdvl x0, #0
+# CHECK-NEXT: 1 1 0.33 rdvl x21, #-32
+# CHECK-NEXT: 1 1 0.33 rdvl x23, #31
+# CHECK-NEXT: 1 1 0.33 rdvl xzr, #-1
+# CHECK-NEXT: 1 3 0.50 rev z0.b, z31.b
+# CHECK-NEXT: 1 3 0.50 rev z0.d, z31.d
+# CHECK-NEXT: 1 3 0.50 rev z0.h, z31.h
+# CHECK-NEXT: 1 3 0.50 rev z0.s, z31.s
+# CHECK-NEXT: 1 3 0.50 revb z0.d, p7/m, z31.d
+# CHECK-NEXT: 1 3 0.50 revb z0.h, p7/m, z31.h
+# CHECK-NEXT: 1 3 0.50 revb z0.s, p7/m, z31.s
+# CHECK-NEXT: 1 3 0.50 revh z0.d, p7/m, z31.d
+# CHECK-NEXT: 1 3 0.50 revh z0.s, p7/m, z31.s
+# CHECK-NEXT: 1 3 0.50 revw z0.d, p7/m, z31.d
+# CHECK-NEXT: 1 4 0.50 rshrnb z0.b, z0.h, #1
+# CHECK-NEXT: 1 4 0.50 rshrnb z0.h, z0.s, #1
+# CHECK-NEXT: 1 4 0.50 rshrnb z0.s, z0.d, #1
+# CHECK-NEXT: 1 4 0.50 rshrnb z31.b, z31.h, #8
+# CHECK-NEXT: 1 4 0.50 rshrnb z31.h, z31.s, #16
+# CHECK-NEXT: 1 4 0.50 rshrnb z31.s, z31.d, #32
+# CHECK-NEXT: 1 4 0.50 rshrnt z0.b, z0.h, #1
+# CHECK-NEXT: 1 4 0.50 rshrnt z0.h, z0.s, #1
+# CHECK-NEXT: 1 4 0.50 rshrnt z0.s, z0.d, #1
+# CHECK-NEXT: 1 4 0.50 rshrnt z31.b, z31.h, #8
+# CHECK-NEXT: 1 4 0.50 rshrnt z31.h, z31.s, #16
+# CHECK-NEXT: 1 4 0.50 rshrnt z31.s, z31.d, #32
+# CHECK-NEXT: 1 8 0.50 rsubhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 8 0.50 rsubhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 8 0.50 rsubhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 8 0.50 rsubhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 8 0.50 rsubhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 8 0.50 rsubhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 6 1.00 saba z0.b, z1.b, z31.b
+# CHECK-NEXT: 1 6 1.00 saba z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 6 1.00 saba z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 6 1.00 saba z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 6 1.00 sabalb z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 6 1.00 sabalb z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 6 1.00 sabalb z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 6 1.00 sabalt z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 6 1.00 sabalt z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 6 1.00 sabalt z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 3 0.50 sabd z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 sabd z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 sabd z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 sabd z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 sabdlb z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 3 0.50 sabdlb z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 3 0.50 sabdlb z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 sabdlt z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 3 0.50 sabdlt z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 3 0.50 sabdlt z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 7 1.00 sadalp z0.h, p0/m, z1.b
+# CHECK-NEXT: 1 7 1.00 sadalp z29.s, p0/m, z30.h
+# CHECK-NEXT: 1 7 1.00 sadalp z30.d, p7/m, z31.s
+# CHECK-NEXT: 1 3 0.50 saddlb z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 3 0.50 saddlb z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 3 0.50 saddlb z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 saddlbt z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 3 0.50 saddlbt z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 3 0.50 saddlbt z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 3 0.50 saddlt z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 3 0.50 saddlt z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 3 0.50 saddlt z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 4 1.00 saddv d0, p7, z31.b
+# CHECK-NEXT: 1 4 1.00 saddv d0, p7, z31.h
+# CHECK-NEXT: 1 4 1.00 saddv d0, p7, z31.s
+# CHECK-NEXT: 1 3 0.50 saddwb z0.h, z1.h, z2.b
+# CHECK-NEXT: 1 3 0.50 saddwb z29.s, z30.s, z31.h
+# CHECK-NEXT: 1 3 0.50 saddwb z31.d, z31.d, z31.s
+# CHECK-NEXT: 1 3 0.50 saddwt z0.h, z1.h, z2.b
+# CHECK-NEXT: 1 3 0.50 saddwt z29.s, z30.s, z31.h
+# CHECK-NEXT: 1 3 0.50 saddwt z31.d, z31.d, z31.s
+# CHECK-NEXT: 1 3 0.50 sbclb z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 3 0.50 sbclb z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 3 0.50 sbclt z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 3 0.50 sbclt z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 scvtf z0.d, p0/m, z0.d
+# CHECK-NEXT: 1 4 0.50 scvtf z0.d, p0/m, z0.s
+# CHECK-NEXT: 1 4 0.50 scvtf z0.h, p0/m, z0.d
+# CHECK-NEXT: 1 4 0.50 scvtf z0.h, p0/m, z0.h
+# CHECK-NEXT: 1 4 0.50 scvtf z0.h, p0/m, z0.s
+# CHECK-NEXT: 1 4 0.50 scvtf z0.s, p0/m, z0.d
+# CHECK-NEXT: 1 4 0.50 scvtf z0.s, p0/m, z0.s
+# CHECK-NEXT: 1 26 23.00 sdiv z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 15 12.00 sdiv z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 26 23.00 sdivr z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 15 12.00 sdivr z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 sdot z0.d, z1.h, z15.h[1]
+# CHECK-NEXT: 1 4 0.50 sdot z0.d, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 sdot z0.s, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 sdot z0.s, z1.b, z7.b[3]
+# CHECK-NEXT: 1 2 0.50 sel z23.b, p11, z13.b, z8.b
+# CHECK-NEXT: 1 2 0.50 sel z23.d, p11, z13.d, z8.d
+# CHECK-NEXT: 1 2 0.50 sel z23.h, p11, z13.h, z8.h
+# CHECK-NEXT: 1 2 0.50 sel z23.s, p11, z13.s, z8.s
+# CHECK-NEXT: 1 1 0.33 * U setffr
+# CHECK-NEXT: 1 2 0.50 shadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 2 0.50 shadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 2 0.50 shadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 2 0.50 shadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 3 0.50 shrnb z0.b, z0.h, #1
+# CHECK-NEXT: 1 3 0.50 shrnb z0.h, z0.s, #1
+# CHECK-NEXT: 1 3 0.50 shrnb z0.s, z0.d, #1
+# CHECK-NEXT: 1 3 0.50 shrnb z31.b, z31.h, #8
+# CHECK-NEXT: 1 3 0.50 shrnb z31.h, z31.s, #16
+# CHECK-NEXT: 1 3 0.50 shrnb z31.s, z31.d, #32
+# CHECK-NEXT: 1 3 0.50 shrnt z0.b, z0.h, #1
+# CHECK-NEXT: 1 3 0.50 shrnt z0.h, z0.s, #1
+# CHECK-NEXT: 1 3 0.50 shrnt z0.s, z0.d, #1
+# CHECK-NEXT: 1 3 0.50 shrnt z31.b, z31.h, #8
+# CHECK-NEXT: 1 3 0.50 shrnt z31.h, z31.s, #16
+# CHECK-NEXT: 1 3 0.50 shrnt z31.s, z31.d, #32
+# CHECK-NEXT: 1 2 0.50 shsub z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 2 0.50 shsub z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 2 0.50 shsub z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 2 0.50 shsub z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 2 0.50 shsubr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 2 0.50 shsubr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 2 0.50 shsubr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 2 0.50 shsubr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 3 0.50 sli z0.b, z0.b, #0
+# CHECK-NEXT: 1 3 0.50 sli z0.d, z0.d, #0
+# CHECK-NEXT: 1 3 0.50 sli z0.h, z0.h, #0
+# CHECK-NEXT: 1 3 0.50 sli z0.s, z0.s, #0
+# CHECK-NEXT: 1 3 0.50 sli z31.b, z31.b, #7
+# CHECK-NEXT: 1 3 0.50 sli z31.d, z31.d, #63
+# CHECK-NEXT: 1 3 0.50 sli z31.h, z31.h, #15
+# CHECK-NEXT: 1 3 0.50 sli z31.s, z31.s, #31
+# CHECK-NEXT: 1 9 1.00 sm4e z0.s, z0.s, z31.s
+# CHECK-NEXT: 1 9 1.00 sm4ekey z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 3 0.50 smax z0.b, z0.b, #-128
+# CHECK-NEXT: 1 3 0.50 smax z0.d, z0.d, #-128
+# CHECK-NEXT: 1 3 0.50 smax z0.h, z0.h, #-128
+# CHECK-NEXT: 1 3 0.50 smax z0.s, z0.s, #-128
+# CHECK-NEXT: 1 3 0.50 smax z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 smax z31.b, z31.b, #127
+# CHECK-NEXT: 1 3 0.50 smax z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 smax z31.d, z31.d, #127
+# CHECK-NEXT: 1 3 0.50 smax z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 smax z31.h, z31.h, #127
+# CHECK-NEXT: 1 3 0.50 smax z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 smax z31.s, z31.s, #127
+# CHECK-NEXT: 1 3 0.50 smaxp z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 smaxp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 smaxp z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 smaxp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 1.00 smaxv b0, p7, z31.b
+# CHECK-NEXT: 1 4 1.00 smaxv d0, p7, z31.d
+# CHECK-NEXT: 1 4 1.00 smaxv h0, p7, z31.h
+# CHECK-NEXT: 1 4 1.00 smaxv s0, p7, z31.s
+# CHECK-NEXT: 1 3 0.50 smin z0.b, z0.b, #-128
+# CHECK-NEXT: 1 3 0.50 smin z0.d, z0.d, #-128
+# CHECK-NEXT: 1 3 0.50 smin z0.h, z0.h, #-128
+# CHECK-NEXT: 1 3 0.50 smin z0.s, z0.s, #-128
+# CHECK-NEXT: 1 3 0.50 smin z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 smin z31.b, z31.b, #127
+# CHECK-NEXT: 1 3 0.50 smin z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 smin z31.d, z31.d, #127
+# CHECK-NEXT: 1 3 0.50 smin z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 smin z31.h, z31.h, #127
+# CHECK-NEXT: 1 3 0.50 smin z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 smin z31.s, z31.s, #127
+# CHECK-NEXT: 1 3 0.50 sminp z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 sminp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 sminp z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 sminp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 1.00 sminv b0, p7, z31.b
+# CHECK-NEXT: 1 4 1.00 sminv d0, p7, z31.d
+# CHECK-NEXT: 1 4 1.00 sminv h0, p7, z31.h
+# CHECK-NEXT: 1 4 1.00 sminv s0, p7, z31.s
+# CHECK-NEXT: 1 4 0.50 smlalb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: 1 4 0.50 smlalb z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 smlalb z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 smlalb z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 smlalb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 smlalt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: 1 4 0.50 smlalt z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 smlalt z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 smlalt z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 smlalt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 smlslb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: 1 4 0.50 smlslb z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 smlslb z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 smlslb z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 smlslb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 smlslt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: 1 4 0.50 smlslt z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 smlslt z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 smlslt z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 smlslt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 smmla z0.s, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 smulh z0.b, p7/m, z0.b, z31.b
+# CHECK-NEXT: 1 4 0.50 smulh z0.b, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 smulh z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 smulh z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 smulh z0.h, z1.h, z2.h
+# CHECK-NEXT: 1 4 0.50 smulh z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 smulh z29.s, z30.s, z31.s
+# CHECK-NEXT: 1 4 0.50 smulh z31.d, z31.d, z31.d
+# CHECK-NEXT: 1 4 0.50 smullb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: 1 4 0.50 smullb z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 smullb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 smullb z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 smullb z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 4 0.50 smullt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: 1 4 0.50 smullt z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 smullt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 smullt z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 smullt z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 4 0.50 splice z29.b, p7, { z30.b, z31.b }
+# CHECK-NEXT: 1 4 0.50 splice z29.d, p7, { z30.d, z31.d }
+# CHECK-NEXT: 1 4 0.50 splice z29.h, p7, { z30.h, z31.h }
+# CHECK-NEXT: 1 4 0.50 splice z29.s, p7, { z30.s, z31.s }
+# CHECK-NEXT: 1 4 0.50 splice z31.b, p7, z31.b, z31.b
+# CHECK-NEXT: 1 4 0.50 splice z31.d, p7, z31.d, z31.d
+# CHECK-NEXT: 1 4 0.50 splice z31.h, p7, z31.h, z31.h
+# CHECK-NEXT: 1 4 0.50 splice z31.s, p7, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 sqabs z31.b, p7/m, z31.b
+# CHECK-NEXT: 1 3 0.50 sqabs z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 3 0.50 sqabs z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 3 0.50 sqabs z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 3 0.50 sqadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 sqadd z0.b, z0.b, #0
+# CHECK-NEXT: 1 3 0.50 sqadd z0.b, z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 sqadd z0.d, z0.d, #0
+# CHECK-NEXT: 1 3 0.50 sqadd z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 sqadd z0.d, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 sqadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 sqadd z0.h, z0.h, #0
+# CHECK-NEXT: 1 3 0.50 sqadd z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 sqadd z0.h, z0.h, z0.h
+# CHECK-NEXT: 1 3 0.50 sqadd z0.s, z0.s, #0
+# CHECK-NEXT: 1 3 0.50 sqadd z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 sqadd z0.s, z0.s, z0.s
+# CHECK-NEXT: 1 3 0.50 sqadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 sqadd z31.b, z31.b, #255
+# CHECK-NEXT: 1 3 0.50 sqadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 3 0.50 sqadd z31.d, z31.d, #65280
+# CHECK-NEXT: 1 3 0.50 sqadd z31.h, z31.h, #65280
+# CHECK-NEXT: 1 3 0.50 sqadd z31.s, z31.s, #65280
+# CHECK-NEXT: 1 4 0.50 sqcadd z0.b, z0.b, z0.b, #90
+# CHECK-NEXT: 1 4 0.50 sqcadd z0.d, z0.d, z0.d, #90
+# CHECK-NEXT: 1 4 0.50 sqcadd z0.h, z0.h, z0.h, #90
+# CHECK-NEXT: 1 4 0.50 sqcadd z0.s, z0.s, z0.s, #90
+# CHECK-NEXT: 1 4 0.50 sqcadd z31.b, z31.b, z31.b, #270
+# CHECK-NEXT: 1 4 0.50 sqcadd z31.d, z31.d, z31.d, #270
+# CHECK-NEXT: 1 4 0.50 sqcadd z31.h, z31.h, z31.h, #270
+# CHECK-NEXT: 1 4 0.50 sqcadd z31.s, z31.s, z31.s, #270
+# CHECK-NEXT: 1 4 0.33 sqdecb x0
+# CHECK-NEXT: 1 4 0.33 sqdecb x0, #14
+# CHECK-NEXT: 1 4 0.33 sqdecb x0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 sqdecb x0, pow2
+# CHECK-NEXT: 1 4 0.33 sqdecb x0, vl1
+# CHECK-NEXT: 1 4 0.33 sqdecb x0, w0
+# CHECK-NEXT: 1 4 0.33 sqdecb x0, w0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 sqdecb x0, w0, pow2
+# CHECK-NEXT: 1 4 0.33 sqdecb x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.33 sqdecd x0
+# CHECK-NEXT: 1 4 0.33 sqdecd x0, #14
+# CHECK-NEXT: 1 4 0.33 sqdecd x0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 sqdecd x0, pow2
+# CHECK-NEXT: 1 4 0.33 sqdecd x0, vl1
+# CHECK-NEXT: 1 4 0.33 sqdecd x0, w0
+# CHECK-NEXT: 1 4 0.33 sqdecd x0, w0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 sqdecd x0, w0, pow2
+# CHECK-NEXT: 1 4 0.33 sqdecd x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdecd z0.d
+# CHECK-NEXT: 1 4 0.50 sqdecd z0.d, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdecd z0.d, pow2
+# CHECK-NEXT: 1 4 0.50 sqdecd z0.d, pow2, mul #16
+# CHECK-NEXT: 1 4 0.33 sqdech x0
+# CHECK-NEXT: 1 4 0.33 sqdech x0, #14
+# CHECK-NEXT: 1 4 0.33 sqdech x0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 sqdech x0, pow2
+# CHECK-NEXT: 1 4 0.33 sqdech x0, vl1
+# CHECK-NEXT: 1 4 0.33 sqdech x0, w0
+# CHECK-NEXT: 1 4 0.33 sqdech x0, w0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 sqdech x0, w0, pow2
+# CHECK-NEXT: 1 4 0.33 sqdech x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdech z0.h
+# CHECK-NEXT: 1 4 0.50 sqdech z0.h, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdech z0.h, pow2
+# CHECK-NEXT: 1 4 0.50 sqdech z0.h, pow2, mul #16
+# CHECK-NEXT: 1 9 1.00 sqdecp x0, p0.b
+# CHECK-NEXT: 1 9 1.00 sqdecp x0, p0.d
+# CHECK-NEXT: 1 9 1.00 sqdecp x0, p0.h
+# CHECK-NEXT: 1 9 1.00 sqdecp x0, p0.s
+# CHECK-NEXT: 1 9 1.00 sqdecp xzr, p15.b, wzr
+# CHECK-NEXT: 1 9 1.00 sqdecp xzr, p15.d, wzr
+# CHECK-NEXT: 1 9 1.00 sqdecp xzr, p15.h, wzr
+# CHECK-NEXT: 1 9 1.00 sqdecp xzr, p15.s, wzr
+# CHECK-NEXT: 1 4 0.50 sqdecp z0.d, p0.d
+# CHECK-NEXT: 1 4 0.50 sqdecp z0.h, p0.h
+# CHECK-NEXT: 1 4 0.50 sqdecp z0.s, p0.s
+# CHECK-NEXT: 1 4 0.33 sqdecw x0
+# CHECK-NEXT: 1 4 0.33 sqdecw x0, #14
+# CHECK-NEXT: 1 4 0.33 sqdecw x0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 sqdecw x0, pow2
+# CHECK-NEXT: 1 4 0.33 sqdecw x0, vl1
+# CHECK-NEXT: 1 4 0.33 sqdecw x0, w0
+# CHECK-NEXT: 1 4 0.33 sqdecw x0, w0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 sqdecw x0, w0, pow2
+# CHECK-NEXT: 1 4 0.33 sqdecw x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdecw z0.s
+# CHECK-NEXT: 1 4 0.50 sqdecw z0.s, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdecw z0.s, pow2
+# CHECK-NEXT: 1 4 0.50 sqdecw z0.s, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdmlalb z0.d, z1.s, z15.s[3]
+# CHECK-NEXT: 1 4 0.50 sqdmlalb z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 sqdmlalb z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 sqdmlalb z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 sqdmlalb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 sqdmlalbt z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 sqdmlalbt z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 sqdmlalbt z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 sqdmlalt z0.d, z1.s, z15.s[3]
+# CHECK-NEXT: 1 4 0.50 sqdmlalt z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 sqdmlalt z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 sqdmlalt z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 sqdmlalt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 sqdmlslb z0.d, z1.s, z15.s[3]
+# CHECK-NEXT: 1 4 0.50 sqdmlslb z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 sqdmlslb z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 sqdmlslb z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 sqdmlslb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 sqdmlslbt z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 sqdmlslbt z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 sqdmlslbt z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 sqdmlslt z0.d, z1.s, z15.s[3]
+# CHECK-NEXT: 1 4 0.50 sqdmlslt z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 sqdmlslt z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 sqdmlslt z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 sqdmlslt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 sqdmulh z0.b, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 sqdmulh z0.d, z1.d, z15.d[1]
+# CHECK-NEXT: 1 4 0.50 sqdmulh z0.h, z1.h, z2.h
+# CHECK-NEXT: 1 4 0.50 sqdmulh z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 sqdmulh z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: 1 4 0.50 sqdmulh z29.s, z30.s, z31.s
+# CHECK-NEXT: 1 4 0.50 sqdmulh z31.d, z31.d, z31.d
+# CHECK-NEXT: 1 4 0.50 sqdmullb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: 1 4 0.50 sqdmullb z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 sqdmullb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 sqdmullb z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 sqdmullb z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 4 0.50 sqdmullt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: 1 4 0.50 sqdmullt z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 sqdmullt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 sqdmullt z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 sqdmullt z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 4 0.33 sqincb x0
+# CHECK-NEXT: 1 4 0.33 sqincb x0, #14
+# CHECK-NEXT: 1 4 0.33 sqincb x0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 sqincb x0, pow2
+# CHECK-NEXT: 1 4 0.33 sqincb x0, vl1
+# CHECK-NEXT: 1 4 0.33 sqincb x0, w0
+# CHECK-NEXT: 1 4 0.33 sqincb x0, w0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 sqincb x0, w0, pow2
+# CHECK-NEXT: 1 4 0.33 sqincb x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.33 sqincd x0
+# CHECK-NEXT: 1 4 0.33 sqincd x0, #14
+# CHECK-NEXT: 1 4 0.33 sqincd x0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 sqincd x0, pow2
+# CHECK-NEXT: 1 4 0.33 sqincd x0, vl1
+# CHECK-NEXT: 1 4 0.33 sqincd x0, w0
+# CHECK-NEXT: 1 4 0.33 sqincd x0, w0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 sqincd x0, w0, pow2
+# CHECK-NEXT: 1 4 0.33 sqincd x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 sqincd z0.d
+# CHECK-NEXT: 1 4 0.50 sqincd z0.d, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqincd z0.d, pow2
+# CHECK-NEXT: 1 4 0.50 sqincd z0.d, pow2, mul #16
+# CHECK-NEXT: 1 4 0.33 sqinch x0
+# CHECK-NEXT: 1 4 0.33 sqinch x0, #14
+# CHECK-NEXT: 1 4 0.33 sqinch x0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 sqinch x0, pow2
+# CHECK-NEXT: 1 4 0.33 sqinch x0, vl1
+# CHECK-NEXT: 1 4 0.33 sqinch x0, w0
+# CHECK-NEXT: 1 4 0.33 sqinch x0, w0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 sqinch x0, w0, pow2
+# CHECK-NEXT: 1 4 0.33 sqinch x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 sqinch z0.h
+# CHECK-NEXT: 1 4 0.50 sqinch z0.h, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqinch z0.h, pow2
+# CHECK-NEXT: 1 4 0.50 sqinch z0.h, pow2, mul #16
+# CHECK-NEXT: 1 9 1.00 sqincp x0, p0.b
+# CHECK-NEXT: 1 9 1.00 sqincp x0, p0.d
+# CHECK-NEXT: 1 9 1.00 sqincp x0, p0.h
+# CHECK-NEXT: 1 9 1.00 sqincp x0, p0.s
+# CHECK-NEXT: 1 9 1.00 sqincp xzr, p15.b, wzr
+# CHECK-NEXT: 1 9 1.00 sqincp xzr, p15.d, wzr
+# CHECK-NEXT: 1 9 1.00 sqincp xzr, p15.h, wzr
+# CHECK-NEXT: 1 9 1.00 sqincp xzr, p15.s, wzr
+# CHECK-NEXT: 1 4 0.50 sqincp z0.d, p0.d
+# CHECK-NEXT: 1 4 0.50 sqincp z0.h, p0.h
+# CHECK-NEXT: 1 4 0.50 sqincp z0.s, p0.s
+# CHECK-NEXT: 1 4 0.33 sqincw x0
+# CHECK-NEXT: 1 4 0.33 sqincw x0, #14
+# CHECK-NEXT: 1 4 0.33 sqincw x0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 sqincw x0, pow2
+# CHECK-NEXT: 1 4 0.33 sqincw x0, vl1
+# CHECK-NEXT: 1 4 0.33 sqincw x0, w0
+# CHECK-NEXT: 1 4 0.33 sqincw x0, w0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 sqincw x0, w0, pow2
+# CHECK-NEXT: 1 4 0.33 sqincw x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 sqincw z0.s
+# CHECK-NEXT: 1 4 0.50 sqincw z0.s, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqincw z0.s, pow2
+# CHECK-NEXT: 1 4 0.50 sqincw z0.s, pow2, mul #16
+# CHECK-NEXT: 1 3 0.50 sqneg z31.b, p7/m, z31.b
+# CHECK-NEXT: 1 3 0.50 sqneg z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 3 0.50 sqneg z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 3 0.50 sqneg z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z0.b, z1.b, z2.b, #0
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z0.d, z1.d, z2.d, #0
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z0.h, z1.h, z2.h, #0
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z0.h, z1.h, z2.h[0], #0
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z0.s, z1.s, z2.s, #0
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z0.s, z1.s, z2.s[0], #0
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z15.b, z16.b, z17.b, #270
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z15.d, z16.d, z17.d, #270
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z15.h, z16.h, z17.h, #270
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z15.s, z16.s, z17.s, #270
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z29.b, z30.b, z31.b, #90
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z29.d, z30.d, z31.d, #90
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z29.h, z30.h, z31.h, #90
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z29.s, z30.s, z31.s, #90
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z31.b, z31.b, z31.b, #180
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z31.d, z31.d, z31.d, #180
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z31.h, z30.h, z7.h[0], #180
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z31.h, z31.h, z31.h, #180
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z31.s, z30.s, z7.s[0], #180
+# CHECK-NEXT: 1 4 0.50 sqrdcmlah z31.s, z31.s, z31.s, #180
+# CHECK-NEXT: 1 4 0.50 sqrdmlah z0.b, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 sqrdmlah z0.d, z1.d, z15.d[1]
+# CHECK-NEXT: 1 4 0.50 sqrdmlah z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 sqrdmlah z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 sqrdmlah z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 sqrdmlah z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 sqrdmlah z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh z0.b, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh z0.d, z1.d, z15.d[1]
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: 1 4 0.50 sqrdmulh z0.b, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 sqrdmulh z0.d, z1.d, z15.d[1]
+# CHECK-NEXT: 1 4 0.50 sqrdmulh z0.h, z1.h, z2.h
+# CHECK-NEXT: 1 4 0.50 sqrdmulh z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 sqrdmulh z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: 1 4 0.50 sqrdmulh z29.s, z30.s, z31.s
+# CHECK-NEXT: 1 4 0.50 sqrdmulh z31.d, z31.d, z31.d
+# CHECK-NEXT: 1 4 0.50 sqrshl z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 sqrshl z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 sqrshl z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 sqrshl z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 sqrshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 sqrshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 sqrshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 sqrshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 sqrshrnb z0.b, z0.h, #1
+# CHECK-NEXT: 1 4 0.50 sqrshrnb z0.h, z0.s, #1
+# CHECK-NEXT: 1 4 0.50 sqrshrnb z0.s, z0.d, #1
+# CHECK-NEXT: 1 4 0.50 sqrshrnb z31.b, z31.h, #8
+# CHECK-NEXT: 1 4 0.50 sqrshrnb z31.h, z31.s, #16
+# CHECK-NEXT: 1 4 0.50 sqrshrnb z31.s, z31.d, #32
+# CHECK-NEXT: 1 4 0.50 sqrshrnt z0.b, z0.h, #1
+# CHECK-NEXT: 1 4 0.50 sqrshrnt z0.h, z0.s, #1
+# CHECK-NEXT: 1 4 0.50 sqrshrnt z0.s, z0.d, #1
+# CHECK-NEXT: 1 4 0.50 sqrshrnt z31.b, z31.h, #8
+# CHECK-NEXT: 1 4 0.50 sqrshrnt z31.h, z31.s, #16
+# CHECK-NEXT: 1 4 0.50 sqrshrnt z31.s, z31.d, #32
+# CHECK-NEXT: 1 4 0.50 sqrshrunb z0.b, z0.h, #1
+# CHECK-NEXT: 1 4 0.50 sqrshrunb z0.h, z0.s, #1
+# CHECK-NEXT: 1 4 0.50 sqrshrunb z0.s, z0.d, #1
+# CHECK-NEXT: 1 4 0.50 sqrshrunb z31.b, z31.h, #8
+# CHECK-NEXT: 1 4 0.50 sqrshrunb z31.h, z31.s, #16
+# CHECK-NEXT: 1 4 0.50 sqrshrunb z31.s, z31.d, #32
+# CHECK-NEXT: 1 4 0.50 sqrshrunt z0.b, z0.h, #1
+# CHECK-NEXT: 1 4 0.50 sqrshrunt z0.h, z0.s, #1
+# CHECK-NEXT: 1 4 0.50 sqrshrunt z0.s, z0.d, #1
+# CHECK-NEXT: 1 4 0.50 sqrshrunt z31.b, z31.h, #8
+# CHECK-NEXT: 1 4 0.50 sqrshrunt z31.h, z31.s, #16
+# CHECK-NEXT: 1 4 0.50 sqrshrunt z31.s, z31.d, #32
+# CHECK-NEXT: 1 4 0.50 sqshl z0.b, p0/m, z0.b, #0
+# CHECK-NEXT: 1 4 0.50 sqshl z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 sqshl z0.d, p0/m, z0.d, #0
+# CHECK-NEXT: 1 4 0.50 sqshl z0.h, p0/m, z0.h, #0
+# CHECK-NEXT: 1 4 0.50 sqshl z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 sqshl z0.s, p0/m, z0.s, #0
+# CHECK-NEXT: 1 4 0.50 sqshl z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 sqshl z31.b, p0/m, z31.b, #7
+# CHECK-NEXT: 1 4 0.50 sqshl z31.d, p0/m, z31.d, #63
+# CHECK-NEXT: 1 4 0.50 sqshl z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 sqshl z31.h, p0/m, z31.h, #15
+# CHECK-NEXT: 1 4 0.50 sqshl z31.s, p0/m, z31.s, #31
+# CHECK-NEXT: 1 4 0.50 sqshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 sqshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 sqshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 sqshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 sqshlu z0.b, p0/m, z0.b, #0
+# CHECK-NEXT: 1 4 0.50 sqshlu z0.d, p0/m, z0.d, #0
+# CHECK-NEXT: 1 4 0.50 sqshlu z0.h, p0/m, z0.h, #0
+# CHECK-NEXT: 1 4 0.50 sqshlu z0.s, p0/m, z0.s, #0
+# CHECK-NEXT: 1 4 0.50 sqshlu z31.b, p0/m, z31.b, #7
+# CHECK-NEXT: 1 4 0.50 sqshlu z31.d, p0/m, z31.d, #63
+# CHECK-NEXT: 1 4 0.50 sqshlu z31.h, p0/m, z31.h, #15
+# CHECK-NEXT: 1 4 0.50 sqshlu z31.s, p0/m, z31.s, #31
+# CHECK-NEXT: 1 4 0.50 sqshrnb z0.b, z0.h, #1
+# CHECK-NEXT: 1 4 0.50 sqshrnb z0.h, z0.s, #1
+# CHECK-NEXT: 1 4 0.50 sqshrnb z0.s, z0.d, #1
+# CHECK-NEXT: 1 4 0.50 sqshrnb z31.b, z31.h, #8
+# CHECK-NEXT: 1 4 0.50 sqshrnb z31.h, z31.s, #16
+# CHECK-NEXT: 1 4 0.50 sqshrnb z31.s, z31.d, #32
+# CHECK-NEXT: 1 4 0.50 sqshrnt z0.b, z0.h, #1
+# CHECK-NEXT: 1 4 0.50 sqshrnt z0.h, z0.s, #1
+# CHECK-NEXT: 1 4 0.50 sqshrnt z0.s, z0.d, #1
+# CHECK-NEXT: 1 4 0.50 sqshrnt z31.b, z31.h, #8
+# CHECK-NEXT: 1 4 0.50 sqshrnt z31.h, z31.s, #16
+# CHECK-NEXT: 1 4 0.50 sqshrnt z31.s, z31.d, #32
+# CHECK-NEXT: 1 4 0.50 sqshrunb z0.b, z0.h, #1
+# CHECK-NEXT: 1 4 0.50 sqshrunb z0.h, z0.s, #1
+# CHECK-NEXT: 1 4 0.50 sqshrunb z0.s, z0.d, #1
+# CHECK-NEXT: 1 4 0.50 sqshrunb z31.b, z31.h, #8
+# CHECK-NEXT: 1 4 0.50 sqshrunb z31.h, z31.s, #16
+# CHECK-NEXT: 1 4 0.50 sqshrunb z31.s, z31.d, #32
+# CHECK-NEXT: 1 4 0.50 sqshrunt z0.b, z0.h, #1
+# CHECK-NEXT: 1 4 0.50 sqshrunt z0.h, z0.s, #1
+# CHECK-NEXT: 1 4 0.50 sqshrunt z0.s, z0.d, #1
+# CHECK-NEXT: 1 4 0.50 sqshrunt z31.b, z31.h, #8
+# CHECK-NEXT: 1 4 0.50 sqshrunt z31.h, z31.s, #16
+# CHECK-NEXT: 1 4 0.50 sqshrunt z31.s, z31.d, #32
+# CHECK-NEXT: 1 3 0.50 sqsub z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 sqsub z0.b, z0.b, #0
+# CHECK-NEXT: 1 3 0.50 sqsub z0.b, z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 sqsub z0.d, z0.d, #0
+# CHECK-NEXT: 1 3 0.50 sqsub z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 sqsub z0.d, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 sqsub z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 sqsub z0.h, z0.h, #0
+# CHECK-NEXT: 1 3 0.50 sqsub z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 sqsub z0.h, z0.h, z0.h
+# CHECK-NEXT: 1 3 0.50 sqsub z0.s, z0.s, #0
+# CHECK-NEXT: 1 3 0.50 sqsub z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 sqsub z0.s, z0.s, z0.s
+# CHECK-NEXT: 1 3 0.50 sqsub z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 sqsub z31.b, z31.b, #255
+# CHECK-NEXT: 1 3 0.50 sqsub z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 3 0.50 sqsub z31.d, z31.d, #65280
+# CHECK-NEXT: 1 3 0.50 sqsub z31.h, z31.h, #65280
+# CHECK-NEXT: 1 3 0.50 sqsub z31.s, z31.s, #65280
+# CHECK-NEXT: 1 3 0.50 sqsubr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 sqsubr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 sqsubr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 sqsubr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 sqxtnb z0.b, z31.h
+# CHECK-NEXT: 1 4 0.50 sqxtnb z0.h, z31.s
+# CHECK-NEXT: 1 4 0.50 sqxtnb z0.s, z31.d
+# CHECK-NEXT: 1 4 0.50 sqxtnt z0.b, z31.h
+# CHECK-NEXT: 1 4 0.50 sqxtnt z0.h, z31.s
+# CHECK-NEXT: 1 4 0.50 sqxtnt z0.s, z31.d
+# CHECK-NEXT: 1 4 0.50 sqxtunb z0.b, z31.h
+# CHECK-NEXT: 1 4 0.50 sqxtunb z0.h, z31.s
+# CHECK-NEXT: 1 4 0.50 sqxtunb z0.s, z31.d
+# CHECK-NEXT: 1 4 0.50 sqxtunt z0.b, z31.h
+# CHECK-NEXT: 1 4 0.50 sqxtunt z0.h, z31.s
+# CHECK-NEXT: 1 4 0.50 sqxtunt z0.s, z31.d
+# CHECK-NEXT: 1 3 0.50 srhadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 srhadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 srhadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 srhadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 3 0.50 sri z0.b, z0.b, #1
+# CHECK-NEXT: 1 3 0.50 sri z0.d, z0.d, #1
+# CHECK-NEXT: 1 3 0.50 sri z0.h, z0.h, #1
+# CHECK-NEXT: 1 3 0.50 sri z0.s, z0.s, #1
+# CHECK-NEXT: 1 3 0.50 sri z31.b, z31.b, #8
+# CHECK-NEXT: 1 3 0.50 sri z31.d, z31.d, #64
+# CHECK-NEXT: 1 3 0.50 sri z31.h, z31.h, #16
+# CHECK-NEXT: 1 3 0.50 sri z31.s, z31.s, #32
+# CHECK-NEXT: 1 4 0.50 srshl z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 srshl z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 srshl z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 srshl z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 srshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 srshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 srshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 srshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 srshr z0.b, p0/m, z0.b, #1
+# CHECK-NEXT: 1 4 0.50 srshr z0.d, p0/m, z0.d, #1
+# CHECK-NEXT: 1 4 0.50 srshr z0.h, p0/m, z0.h, #1
+# CHECK-NEXT: 1 4 0.50 srshr z0.s, p0/m, z0.s, #1
+# CHECK-NEXT: 1 4 0.50 srshr z31.b, p0/m, z31.b, #8
+# CHECK-NEXT: 1 4 0.50 srshr z31.d, p0/m, z31.d, #64
+# CHECK-NEXT: 1 4 0.50 srshr z31.h, p0/m, z31.h, #16
+# CHECK-NEXT: 1 4 0.50 srshr z31.s, p0/m, z31.s, #32
+# CHECK-NEXT: 1 5 0.50 srsra z0.b, z0.b, #1
+# CHECK-NEXT: 1 5 0.50 srsra z0.d, z0.d, #1
+# CHECK-NEXT: 1 5 0.50 srsra z0.h, z0.h, #1
+# CHECK-NEXT: 1 5 0.50 srsra z0.s, z0.s, #1
+# CHECK-NEXT: 1 5 0.50 srsra z31.b, z31.b, #8
+# CHECK-NEXT: 1 5 0.50 srsra z31.d, z31.d, #64
+# CHECK-NEXT: 1 5 0.50 srsra z31.h, z31.h, #16
+# CHECK-NEXT: 1 5 0.50 srsra z31.s, z31.s, #32
+# CHECK-NEXT: 1 3 0.50 sshllb z0.d, z0.s, #0
+# CHECK-NEXT: 1 3 0.50 sshllb z0.h, z0.b, #0
+# CHECK-NEXT: 1 3 0.50 sshllb z0.s, z0.h, #0
+# CHECK-NEXT: 1 3 0.50 sshllb z31.d, z31.s, #31
+# CHECK-NEXT: 1 3 0.50 sshllb z31.h, z31.b, #7
+# CHECK-NEXT: 1 3 0.50 sshllb z31.s, z31.h, #15
+# CHECK-NEXT: 1 3 0.50 sshllt z0.d, z0.s, #0
+# CHECK-NEXT: 1 3 0.50 sshllt z0.h, z0.b, #0
+# CHECK-NEXT: 1 3 0.50 sshllt z0.s, z0.h, #0
+# CHECK-NEXT: 1 3 0.50 sshllt z31.d, z31.s, #31
+# CHECK-NEXT: 1 3 0.50 sshllt z31.h, z31.b, #7
+# CHECK-NEXT: 1 3 0.50 sshllt z31.s, z31.h, #15
+# CHECK-NEXT: 1 4 0.50 ssra z0.b, z0.b, #1
+# CHECK-NEXT: 1 4 0.50 ssra z0.d, z0.d, #1
+# CHECK-NEXT: 1 4 0.50 ssra z0.h, z0.h, #1
+# CHECK-NEXT: 1 4 0.50 ssra z0.s, z0.s, #1
+# CHECK-NEXT: 1 4 0.50 ssra z31.b, z31.b, #8
+# CHECK-NEXT: 1 4 0.50 ssra z31.d, z31.d, #64
+# CHECK-NEXT: 1 4 0.50 ssra z31.h, z31.h, #16
+# CHECK-NEXT: 1 4 0.50 ssra z31.s, z31.s, #32
+# CHECK-NEXT: 1 3 0.50 ssublb z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 3 0.50 ssublb z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 3 0.50 ssublb z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 ssublbt z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 3 0.50 ssublbt z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 3 0.50 ssublbt z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 3 0.50 ssublt z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 3 0.50 ssublt z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 3 0.50 ssublt z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 ssubltb z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 3 0.50 ssubltb z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 3 0.50 ssubltb z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 3 0.50 ssubwb z0.h, z1.h, z2.b
+# CHECK-NEXT: 1 3 0.50 ssubwb z29.s, z30.s, z31.h
+# CHECK-NEXT: 1 3 0.50 ssubwb z31.d, z31.d, z31.s
+# CHECK-NEXT: 1 3 0.50 ssubwt z0.h, z1.h, z2.b
+# CHECK-NEXT: 1 3 0.50 ssubwt z29.s, z30.s, z31.h
+# CHECK-NEXT: 1 3 0.50 ssubwt z31.d, z31.d, z31.s
+# CHECK-NEXT: 1 1 1.00 * st1b { z0.b }, p0, [x0, x0]
+# CHECK-NEXT: 1 1 1.00 * st1b { z0.b }, p0, [x0]
+# CHECK-NEXT: 1 1 1.00 * st1b { z0.d }, p0, [x0, x0]
+# CHECK-NEXT: 1 1 7.00 * st1b { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT: 1 1 7.00 * st1b { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT: 1 1 7.00 * st1b { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT: 1 1 1.00 * st1b { z0.d }, p0, [x0]
+# CHECK-NEXT: 1 1 7.00 * st1b { z0.d }, p7, [z0.d]
+# CHECK-NEXT: 1 1 1.00 * st1b { z0.h }, p0, [x0, x0]
+# CHECK-NEXT: 1 1 1.00 * st1b { z0.h }, p0, [x0]
+# CHECK-NEXT: 1 1 1.00 * st1b { z0.s }, p0, [x0, x0]
+# CHECK-NEXT: 1 1 9.00 * st1b { z0.s }, p0, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 1 9.00 * st1b { z0.s }, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 1 1.00 * st1b { z0.s }, p0, [x0]
+# CHECK-NEXT: 1 1 9.00 * st1b { z0.s }, p7, [z0.s]
+# CHECK-NEXT: 1 1 1.00 * st1b { z21.b }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: 1 1 1.00 * st1b { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: 1 1 1.00 * st1b { z21.h }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: 1 1 1.00 * st1b { z21.s }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: 1 1 1.00 * st1b { z31.b }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 1 1.00 * st1b { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 1 7.00 * st1b { z31.d }, p7, [z31.d, #31]
+# CHECK-NEXT: 1 1 1.00 * st1b { z31.h }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 1 1.00 * st1b { z31.s }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 1 9.00 * st1b { z31.s }, p7, [z31.s, #31]
+# CHECK-NEXT: 1 1 1.00 * st1d { z0.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: 1 1 7.00 * st1d { z0.d }, p0, [x0, z0.d, lsl #3]
+# CHECK-NEXT: 1 1 7.00 * st1d { z0.d }, p0, [x0, z0.d, sxtw #3]
+# CHECK-NEXT: 1 1 7.00 * st1d { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT: 1 1 7.00 * st1d { z0.d }, p0, [x0, z0.d, uxtw #3]
+# CHECK-NEXT: 1 1 7.00 * st1d { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT: 1 1 7.00 * st1d { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT: 1 1 1.00 * st1d { z0.d }, p0, [x0]
+# CHECK-NEXT: 1 1 7.00 * st1d { z0.d }, p7, [z0.d]
+# CHECK-NEXT: 1 1 1.00 * st1d { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: 1 1 1.00 * st1d { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 1 7.00 * st1d { z31.d }, p7, [z31.d, #248]
+# CHECK-NEXT: 1 1 1.00 * st1h { z0.d }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 1 7.00 * st1h { z0.d }, p0, [x0, z0.d, lsl #1]
+# CHECK-NEXT: 1 1 7.00 * st1h { z0.d }, p0, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: 1 1 7.00 * st1h { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT: 1 1 7.00 * st1h { z0.d }, p0, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: 1 1 7.00 * st1h { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT: 1 1 7.00 * st1h { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT: 1 1 1.00 * st1h { z0.d }, p0, [x0]
+# CHECK-NEXT: 1 1 7.00 * st1h { z0.d }, p7, [z0.d]
+# CHECK-NEXT: 1 1 1.00 * st1h { z0.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 1 1.00 * st1h { z0.h }, p0, [x0]
+# CHECK-NEXT: 1 1 1.00 * st1h { z0.s }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 1 9.00 * st1h { z0.s }, p0, [x0, z0.s, sxtw #1]
+# CHECK-NEXT: 1 1 9.00 * st1h { z0.s }, p0, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 1 9.00 * st1h { z0.s }, p0, [x0, z0.s, uxtw #1]
+# CHECK-NEXT: 1 1 9.00 * st1h { z0.s }, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 1 1.00 * st1h { z0.s }, p0, [x0]
+# CHECK-NEXT: 1 1 9.00 * st1h { z0.s }, p7, [z0.s]
+# CHECK-NEXT: 1 1 1.00 * st1h { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: 1 1 1.00 * st1h { z21.h }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: 1 1 1.00 * st1h { z21.s }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: 1 1 1.00 * st1h { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 1 7.00 * st1h { z31.d }, p7, [z31.d, #62]
+# CHECK-NEXT: 1 1 1.00 * st1h { z31.h }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 1 1.00 * st1h { z31.s }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 1 9.00 * st1h { z31.s }, p7, [z31.s, #62]
+# CHECK-NEXT: 1 1 1.00 * st1w { z0.d }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 1 7.00 * st1w { z0.d }, p0, [x0, z0.d, lsl #2]
+# CHECK-NEXT: 1 1 7.00 * st1w { z0.d }, p0, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: 1 1 7.00 * st1w { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT: 1 1 7.00 * st1w { z0.d }, p0, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: 1 1 7.00 * st1w { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT: 1 1 7.00 * st1w { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT: 1 1 1.00 * st1w { z0.d }, p0, [x0]
+# CHECK-NEXT: 1 1 7.00 * st1w { z0.d }, p7, [z0.d]
+# CHECK-NEXT: 1 1 1.00 * st1w { z0.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 1 9.00 * st1w { z0.s }, p0, [x0, z0.s, sxtw #2]
+# CHECK-NEXT: 1 1 9.00 * st1w { z0.s }, p0, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 1 9.00 * st1w { z0.s }, p0, [x0, z0.s, uxtw #2]
+# CHECK-NEXT: 1 1 9.00 * st1w { z0.s }, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 1 1.00 * st1w { z0.s }, p0, [x0]
+# CHECK-NEXT: 1 1 9.00 * st1w { z0.s }, p7, [z0.s]
+# CHECK-NEXT: 1 1 1.00 * st1w { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: 1 1 1.00 * st1w { z21.s }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: 1 1 1.00 * st1w { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 1 7.00 * st1w { z31.d }, p7, [z31.d, #124]
+# CHECK-NEXT: 1 1 1.00 * st1w { z31.s }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 1 9.00 * st1w { z31.s }, p7, [z31.s, #124]
+# CHECK-NEXT: 1 1 2.00 * st2b { z0.b, z1.b }, p0, [x0, x0]
+# CHECK-NEXT: 1 1 2.00 * st2b { z0.b, z1.b }, p0, [x0]
+# CHECK-NEXT: 1 1 2.00 * st2b { z21.b, z22.b }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: 1 1 2.00 * st2b { z23.b, z24.b }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: 1 1 2.00 * st2b { z5.b, z6.b }, p3, [x17, x16]
+# CHECK-NEXT: 1 1 2.00 * st2d { z0.d, z1.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: 1 1 2.00 * st2d { z0.d, z1.d }, p0, [x0]
+# CHECK-NEXT: 1 1 2.00 * st2d { z21.d, z22.d }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: 1 1 2.00 * st2d { z23.d, z24.d }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: 1 1 2.00 * st2d { z5.d, z6.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT: 1 1 2.00 * st2h { z0.h, z1.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 1 2.00 * st2h { z0.h, z1.h }, p0, [x0]
+# CHECK-NEXT: 1 1 2.00 * st2h { z21.h, z22.h }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: 1 1 2.00 * st2h { z23.h, z24.h }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: 1 1 2.00 * st2h { z5.h, z6.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT: 1 1 2.00 * st2w { z0.s, z1.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 1 2.00 * st2w { z0.s, z1.s }, p0, [x0]
+# CHECK-NEXT: 1 1 2.00 * st2w { z21.s, z22.s }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: 1 1 2.00 * st2w { z23.s, z24.s }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: 1 1 2.00 * st2w { z5.s, z6.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT: 1 1 6.00 * st3b { z0.b - z2.b }, p0, [x0, x0]
+# CHECK-NEXT: 1 1 6.00 * st3b { z0.b - z2.b }, p0, [x0]
+# CHECK-NEXT: 1 1 6.00 * st3b { z21.b - z23.b }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: 1 1 6.00 * st3b { z23.b - z25.b }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: 1 1 6.00 * st3b { z5.b - z7.b }, p3, [x17, x16]
+# CHECK-NEXT: 1 1 3.00 * st3d { z0.d - z2.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: 1 1 3.00 * st3d { z0.d - z2.d }, p0, [x0]
+# CHECK-NEXT: 1 1 3.00 * st3d { z21.d - z23.d }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: 1 1 3.00 * st3d { z23.d - z25.d }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: 1 1 3.00 * st3d { z5.d - z7.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT: 1 1 6.00 * st3h { z0.h - z2.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 1 6.00 * st3h { z0.h - z2.h }, p0, [x0]
+# CHECK-NEXT: 1 1 6.00 * st3h { z21.h - z23.h }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: 1 1 6.00 * st3h { z23.h - z25.h }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: 1 1 6.00 * st3h { z5.h - z7.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT: 1 1 6.00 * st3w { z0.s - z2.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 1 6.00 * st3w { z0.s - z2.s }, p0, [x0]
+# CHECK-NEXT: 1 1 6.00 * st3w { z21.s - z23.s }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: 1 1 6.00 * st3w { z23.s - z25.s }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: 1 1 6.00 * st3w { z5.s - z7.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT: 1 1 8.00 * st4b { z0.b - z3.b }, p0, [x0, x0]
+# CHECK-NEXT: 1 1 8.00 * st4b { z0.b - z3.b }, p0, [x0]
+# CHECK-NEXT: 1 1 8.00 * st4b { z21.b - z24.b }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: 1 1 8.00 * st4b { z23.b - z26.b }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: 1 1 8.00 * st4b { z5.b - z8.b }, p3, [x17, x16]
+# CHECK-NEXT: 1 1 4.00 * st4d { z0.d - z3.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: 1 1 4.00 * st4d { z0.d - z3.d }, p0, [x0]
+# CHECK-NEXT: 1 1 4.00 * st4d { z21.d - z24.d }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: 1 1 4.00 * st4d { z23.d - z26.d }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: 1 1 4.00 * st4d { z5.d - z8.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT: 1 1 8.00 * st4h { z0.h - z3.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 1 8.00 * st4h { z0.h - z3.h }, p0, [x0]
+# CHECK-NEXT: 1 1 8.00 * st4h { z21.h - z24.h }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: 1 1 8.00 * st4h { z23.h - z26.h }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: 1 1 8.00 * st4h { z5.h - z8.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT: 1 1 8.00 * st4w { z0.s - z3.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 1 8.00 * st4w { z0.s - z3.s }, p0, [x0]
+# CHECK-NEXT: 1 1 8.00 * st4w { z21.s - z24.s }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: 1 1 8.00 * st4w { z23.s - z26.s }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: 1 1 8.00 * st4w { z5.s - z8.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT: 1 1 1.00 * stnt1b { z0.b }, p0, [x0, x0]
+# CHECK-NEXT: 1 1 1.00 * stnt1b { z0.b }, p0, [x0]
+# CHECK-NEXT: 1 1 7.00 * stnt1b { z0.d }, p0, [z1.d]
+# CHECK-NEXT: 1 1 9.00 * stnt1b { z0.s }, p0, [z1.s]
+# CHECK-NEXT: 1 1 1.00 * stnt1b { z21.b }, p5, [x10, #7, mul vl]
+# CHECK-NEXT: 1 1 1.00 * stnt1b { z23.b }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT: 1 1 7.00 * stnt1b { z31.d }, p7, [z31.d, x0]
+# CHECK-NEXT: 1 1 7.00 * stnt1b { z31.d }, p7, [z31.d]
+# CHECK-NEXT: 1 1 9.00 * stnt1b { z31.s }, p7, [z31.s, x0]
+# CHECK-NEXT: 1 1 9.00 * stnt1b { z31.s }, p7, [z31.s]
+# CHECK-NEXT: 1 1 1.00 * stnt1d { z0.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: 1 1 1.00 * stnt1d { z0.d }, p0, [x0]
+# CHECK-NEXT: 1 1 7.00 * stnt1d { z0.d }, p0, [z1.d]
+# CHECK-NEXT: 1 1 1.00 * stnt1d { z21.d }, p5, [x10, #7, mul vl]
+# CHECK-NEXT: 1 1 1.00 * stnt1d { z23.d }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT: 1 1 7.00 * stnt1d { z31.d }, p7, [z31.d, x0]
+# CHECK-NEXT: 1 1 7.00 * stnt1d { z31.d }, p7, [z31.d]
+# CHECK-NEXT: 1 1 7.00 * stnt1h { z0.d }, p0, [z1.d]
+# CHECK-NEXT: 1 1 1.00 * stnt1h { z0.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 1 1.00 * stnt1h { z0.h }, p0, [x0]
+# CHECK-NEXT: 1 1 9.00 * stnt1h { z0.s }, p0, [z1.s]
+# CHECK-NEXT: 1 1 1.00 * stnt1h { z21.h }, p5, [x10, #7, mul vl]
+# CHECK-NEXT: 1 1 1.00 * stnt1h { z23.h }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT: 1 1 7.00 * stnt1h { z31.d }, p7, [z31.d, x0]
+# CHECK-NEXT: 1 1 7.00 * stnt1h { z31.d }, p7, [z31.d]
+# CHECK-NEXT: 1 1 9.00 * stnt1h { z31.s }, p7, [z31.s, x0]
+# CHECK-NEXT: 1 1 9.00 * stnt1h { z31.s }, p7, [z31.s]
+# CHECK-NEXT: 1 1 7.00 * stnt1w { z0.d }, p0, [z1.d]
+# CHECK-NEXT: 1 1 1.00 * stnt1w { z0.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 1 1.00 * stnt1w { z0.s }, p0, [x0]
+# CHECK-NEXT: 1 1 9.00 * stnt1w { z0.s }, p0, [z1.s]
+# CHECK-NEXT: 1 1 1.00 * stnt1w { z21.s }, p5, [x10, #7, mul vl]
+# CHECK-NEXT: 1 1 1.00 * stnt1w { z23.s }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT: 1 1 7.00 * stnt1w { z31.d }, p7, [z31.d, x0]
+# CHECK-NEXT: 1 1 7.00 * stnt1w { z31.d }, p7, [z31.d]
+# CHECK-NEXT: 1 1 9.00 * stnt1w { z31.s }, p7, [z31.s, x0]
+# CHECK-NEXT: 1 1 9.00 * stnt1w { z31.s }, p7, [z31.s]
+# CHECK-NEXT: 1 1 1.00 * str p0, [x0]
+# CHECK-NEXT: 1 1 1.00 * str p15, [sp, #-256, mul vl]
+# CHECK-NEXT: 1 1 1.00 * str p5, [x10, #255, mul vl]
+# CHECK-NEXT: 1 1 1.00 * str z0, [x0]
+# CHECK-NEXT: 1 1 1.00 * str z21, [x10, #-256, mul vl]
+# CHECK-NEXT: 1 1 1.00 * str z31, [sp, #255, mul vl]
+# CHECK-NEXT: 1 2 0.50 sub z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 2 0.50 sub z0.b, z0.b, #0
+# CHECK-NEXT: 1 2 0.50 sub z0.b, z0.b, z0.b
+# CHECK-NEXT: 1 2 0.50 sub z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 2 0.50 sub z0.d, z0.d, #0
+# CHECK-NEXT: 1 2 0.50 sub z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: 1 2 0.50 sub z0.d, z0.d, z0.d
+# CHECK-NEXT: 1 2 0.50 sub z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 2 0.50 sub z0.h, z0.h, #0
+# CHECK-NEXT: 1 2 0.50 sub z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: 1 2 0.50 sub z0.h, z0.h, z0.h
+# CHECK-NEXT: 1 2 0.50 sub z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 2 0.50 sub z0.s, z0.s, #0
+# CHECK-NEXT: 1 2 0.50 sub z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: 1 2 0.50 sub z0.s, z0.s, z0.s
+# CHECK-NEXT: 1 2 0.50 sub z21.b, p5/m, z21.b, z10.b
+# CHECK-NEXT: 1 2 0.50 sub z21.b, z10.b, z21.b
+# CHECK-NEXT: 1 2 0.50 sub z21.d, p5/m, z21.d, z10.d
+# CHECK-NEXT: 1 2 0.50 sub z21.d, z10.d, z21.d
+# CHECK-NEXT: 1 2 0.50 sub z21.h, p5/m, z21.h, z10.h
+# CHECK-NEXT: 1 2 0.50 sub z21.h, z10.h, z21.h
+# CHECK-NEXT: 1 2 0.50 sub z21.s, p5/m, z21.s, z10.s
+# CHECK-NEXT: 1 2 0.50 sub z21.s, z10.s, z21.s
+# CHECK-NEXT: 1 2 0.50 sub z23.b, p3/m, z23.b, z13.b
+# CHECK-NEXT: 1 2 0.50 sub z23.b, z13.b, z8.b
+# CHECK-NEXT: 1 2 0.50 sub z23.d, p3/m, z23.d, z13.d
+# CHECK-NEXT: 1 2 0.50 sub z23.d, z13.d, z8.d
+# CHECK-NEXT: 1 2 0.50 sub z23.h, p3/m, z23.h, z13.h
+# CHECK-NEXT: 1 2 0.50 sub z23.h, z13.h, z8.h
+# CHECK-NEXT: 1 2 0.50 sub z23.s, p3/m, z23.s, z13.s
+# CHECK-NEXT: 1 2 0.50 sub z23.s, z13.s, z8.s
+# CHECK-NEXT: 1 2 0.50 sub z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: 1 2 0.50 sub z31.b, z31.b, #255
+# CHECK-NEXT: 1 2 0.50 sub z31.b, z31.b, z31.b
+# CHECK-NEXT: 1 2 0.50 sub z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: 1 2 0.50 sub z31.d, z31.d, #65280
+# CHECK-NEXT: 1 2 0.50 sub z31.d, z31.d, z31.d
+# CHECK-NEXT: 1 2 0.50 sub z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: 1 2 0.50 sub z31.h, z31.h, #65280
+# CHECK-NEXT: 1 2 0.50 sub z31.h, z31.h, z31.h
+# CHECK-NEXT: 1 2 0.50 sub z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: 1 2 0.50 sub z31.s, z31.s, #65280
+# CHECK-NEXT: 1 2 0.50 sub z31.s, z31.s, z31.s
+# CHECK-NEXT: 1 8 0.50 subhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 8 0.50 subhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 8 0.50 subhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 8 0.50 subhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 8 0.50 subhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 8 0.50 subhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 2 0.50 subr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 2 0.50 subr z0.b, z0.b, #0
+# CHECK-NEXT: 1 2 0.50 subr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 2 0.50 subr z0.d, z0.d, #0
+# CHECK-NEXT: 1 2 0.50 subr z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: 1 2 0.50 subr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 2 0.50 subr z0.h, z0.h, #0
+# CHECK-NEXT: 1 2 0.50 subr z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: 1 2 0.50 subr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 2 0.50 subr z0.s, z0.s, #0
+# CHECK-NEXT: 1 2 0.50 subr z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: 1 2 0.50 subr z31.b, z31.b, #255
+# CHECK-NEXT: 1 2 0.50 subr z31.d, z31.d, #65280
+# CHECK-NEXT: 1 2 0.50 subr z31.h, z31.h, #65280
+# CHECK-NEXT: 1 2 0.50 subr z31.s, z31.s, #65280
+# CHECK-NEXT: 1 4 0.50 sunpkhi z31.d, z31.s
+# CHECK-NEXT: 1 4 0.50 sunpkhi z31.h, z31.b
+# CHECK-NEXT: 1 4 0.50 sunpkhi z31.s, z31.h
+# CHECK-NEXT: 1 4 0.50 sunpklo z31.d, z31.s
+# CHECK-NEXT: 1 4 0.50 sunpklo z31.h, z31.b
+# CHECK-NEXT: 1 4 0.50 sunpklo z31.s, z31.h
+# CHECK-NEXT: 1 3 0.50 suqadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 suqadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 suqadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 suqadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 3 0.50 sxtb z0.d, p0/m, z0.d
+# CHECK-NEXT: 1 3 0.50 sxtb z0.h, p0/m, z0.h
+# CHECK-NEXT: 1 3 0.50 sxtb z0.s, p0/m, z0.s
+# CHECK-NEXT: 1 3 0.50 sxtb z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 3 0.50 sxtb z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 3 0.50 sxtb z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 3 0.50 sxth z0.d, p0/m, z0.d
+# CHECK-NEXT: 1 3 0.50 sxth z0.s, p0/m, z0.s
+# CHECK-NEXT: 1 3 0.50 sxth z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 3 0.50 sxth z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 3 0.50 sxtw z0.d, p0/m, z0.d
+# CHECK-NEXT: 1 3 0.50 sxtw z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 4 0.50 tbl z28.b, { z29.b, z30.b }, z31.b
+# CHECK-NEXT: 1 4 0.50 tbl z28.d, { z29.d, z30.d }, z31.d
+# CHECK-NEXT: 1 4 0.50 tbl z28.h, { z29.h, z30.h }, z31.h
+# CHECK-NEXT: 1 4 0.50 tbl z28.s, { z29.s, z30.s }, z31.s
+# CHECK-NEXT: 1 4 0.50 tbl z31.b, { z31.b }, z31.b
+# CHECK-NEXT: 1 4 0.50 tbl z31.d, { z31.d }, z31.d
+# CHECK-NEXT: 1 4 0.50 tbl z31.h, { z31.h }, z31.h
+# CHECK-NEXT: 1 4 0.50 tbl z31.s, { z31.s }, z31.s
+# CHECK-NEXT: 1 4 0.50 tbx z31.b, z31.b, z31.b
+# CHECK-NEXT: 1 4 0.50 tbx z31.d, z31.d, z31.d
+# CHECK-NEXT: 1 4 0.50 tbx z31.h, z31.h, z31.h
+# CHECK-NEXT: 1 4 0.50 tbx z31.s, z31.s, z31.s
+# CHECK-NEXT: 1 2 1.00 trn1 p15.b, p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 trn1 p15.d, p15.d, p15.d
+# CHECK-NEXT: 1 2 1.00 trn1 p15.h, p15.h, p15.h
+# CHECK-NEXT: 1 2 1.00 trn1 p15.s, p15.s, p15.s
+# CHECK-NEXT: 1 3 0.50 trn1 z31.b, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 trn1 z31.d, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 trn1 z31.h, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 trn1 z31.s, z31.s, z31.s
+# CHECK-NEXT: 1 2 1.00 trn2 p15.b, p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 trn2 p15.d, p15.d, p15.d
+# CHECK-NEXT: 1 2 1.00 trn2 p15.h, p15.h, p15.h
+# CHECK-NEXT: 1 2 1.00 trn2 p15.s, p15.s, p15.s
+# CHECK-NEXT: 1 3 0.50 trn2 z31.b, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 trn2 z31.d, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 trn2 z31.h, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 trn2 z31.s, z31.s, z31.s
+# CHECK-NEXT: 1 6 1.00 uaba z0.b, z1.b, z31.b
+# CHECK-NEXT: 1 6 1.00 uaba z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 6 1.00 uaba z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 6 1.00 uaba z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 6 1.00 uabalb z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 6 1.00 uabalb z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 6 1.00 uabalb z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 6 1.00 uabalt z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 6 1.00 uabalt z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 6 1.00 uabalt z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 3 0.50 uabd z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 uabd z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 uabd z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 uabd z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 uabdlb z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 3 0.50 uabdlb z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 3 0.50 uabdlb z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 uabdlt z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 3 0.50 uabdlt z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 3 0.50 uabdlt z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 7 1.00 uadalp z0.h, p0/m, z1.b
+# CHECK-NEXT: 1 7 1.00 uadalp z29.s, p0/m, z30.h
+# CHECK-NEXT: 1 7 1.00 uadalp z30.d, p7/m, z31.s
+# CHECK-NEXT: 1 3 0.50 uaddlb z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 3 0.50 uaddlb z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 3 0.50 uaddlb z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 uaddlt z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 3 0.50 uaddlt z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 3 0.50 uaddlt z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 4 1.00 uaddv d0, p7, z31.b
+# CHECK-NEXT: 1 4 1.00 uaddv d0, p7, z31.d
+# CHECK-NEXT: 1 4 1.00 uaddv d0, p7, z31.h
+# CHECK-NEXT: 1 4 1.00 uaddv d0, p7, z31.s
+# CHECK-NEXT: 1 3 0.50 uaddwb z0.h, z1.h, z2.b
+# CHECK-NEXT: 1 3 0.50 uaddwb z29.s, z30.s, z31.h
+# CHECK-NEXT: 1 3 0.50 uaddwb z31.d, z31.d, z31.s
+# CHECK-NEXT: 1 3 0.50 uaddwt z0.h, z1.h, z2.b
+# CHECK-NEXT: 1 3 0.50 uaddwt z29.s, z30.s, z31.h
+# CHECK-NEXT: 1 3 0.50 uaddwt z31.d, z31.d, z31.s
+# CHECK-NEXT: 1 4 0.50 ucvtf z0.d, p0/m, z0.d
+# CHECK-NEXT: 1 4 0.50 ucvtf z0.d, p0/m, z0.s
+# CHECK-NEXT: 1 4 0.50 ucvtf z0.h, p0/m, z0.d
+# CHECK-NEXT: 1 4 0.50 ucvtf z0.h, p0/m, z0.h
+# CHECK-NEXT: 1 4 0.50 ucvtf z0.h, p0/m, z0.s
+# CHECK-NEXT: 1 4 0.50 ucvtf z0.s, p0/m, z0.d
+# CHECK-NEXT: 1 4 0.50 ucvtf z0.s, p0/m, z0.s
+# CHECK-NEXT: 1 26 23.00 udiv z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 15 12.00 udiv z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 26 23.00 udivr z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 15 12.00 udivr z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 udot z0.d, z1.h, z15.h[1]
+# CHECK-NEXT: 1 4 0.50 udot z0.d, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 udot z0.s, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 udot z0.s, z1.b, z7.b[3]
+# CHECK-NEXT: 1 2 0.50 uhadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 2 0.50 uhadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 2 0.50 uhadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 2 0.50 uhadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 2 0.50 uhsub z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 2 0.50 uhsub z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 2 0.50 uhsub z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 2 0.50 uhsub z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 2 0.50 uhsubr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 2 0.50 uhsubr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 2 0.50 uhsubr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 2 0.50 uhsubr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 3 0.50 umax z0.b, z0.b, #0
+# CHECK-NEXT: 1 3 0.50 umax z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 umax z31.b, z31.b, #255
+# CHECK-NEXT: 1 3 0.50 umax z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 umax z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 umax z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 umaxp z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 umaxp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 umaxp z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 umaxp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 1.00 umaxv b0, p7, z31.b
+# CHECK-NEXT: 1 4 1.00 umaxv d0, p7, z31.d
+# CHECK-NEXT: 1 4 1.00 umaxv h0, p7, z31.h
+# CHECK-NEXT: 1 4 1.00 umaxv s0, p7, z31.s
+# CHECK-NEXT: 1 3 0.50 umin z0.b, z0.b, #0
+# CHECK-NEXT: 1 3 0.50 umin z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 umin z31.b, z31.b, #255
+# CHECK-NEXT: 1 3 0.50 umin z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 umin z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 umin z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 uminp z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 uminp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 uminp z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 uminp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 1.00 uminv b0, p7, z31.b
+# CHECK-NEXT: 1 4 1.00 uminv d0, p7, z31.d
+# CHECK-NEXT: 1 4 1.00 uminv h0, p7, z31.h
+# CHECK-NEXT: 1 4 1.00 uminv s0, p7, z31.s
+# CHECK-NEXT: 1 4 0.50 umlalb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: 1 4 0.50 umlalb z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 umlalb z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 umlalb z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 umlalb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 umlalt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: 1 4 0.50 umlalt z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 umlalt z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 umlalt z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 umlalt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 umlslb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: 1 4 0.50 umlslb z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 umlslb z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 umlslb z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 umlslb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 umlslt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: 1 4 0.50 umlslt z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 umlslt z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 umlslt z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 umlslt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 ummla z0.s, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 umulh z0.b, p7/m, z0.b, z31.b
+# CHECK-NEXT: 1 4 0.50 umulh z0.b, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 umulh z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: 1 4 0.50 umulh z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: 1 4 0.50 umulh z0.h, z1.h, z2.h
+# CHECK-NEXT: 1 4 0.50 umulh z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: 1 4 0.50 umulh z29.s, z30.s, z31.s
+# CHECK-NEXT: 1 4 0.50 umulh z31.d, z31.d, z31.d
+# CHECK-NEXT: 1 4 0.50 umullb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: 1 4 0.50 umullb z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 umullb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 umullb z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 umullb z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 4 0.50 umullt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: 1 4 0.50 umullt z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 umullt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: 1 4 0.50 umullt z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 umullt z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 uqadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 uqadd z0.b, z0.b, #0
+# CHECK-NEXT: 1 3 0.50 uqadd z0.b, z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 uqadd z0.d, z0.d, #0
+# CHECK-NEXT: 1 3 0.50 uqadd z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 uqadd z0.d, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 uqadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 uqadd z0.h, z0.h, #0
+# CHECK-NEXT: 1 3 0.50 uqadd z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 uqadd z0.h, z0.h, z0.h
+# CHECK-NEXT: 1 3 0.50 uqadd z0.s, z0.s, #0
+# CHECK-NEXT: 1 3 0.50 uqadd z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 uqadd z0.s, z0.s, z0.s
+# CHECK-NEXT: 1 3 0.50 uqadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 uqadd z31.b, z31.b, #255
+# CHECK-NEXT: 1 3 0.50 uqadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 3 0.50 uqadd z31.d, z31.d, #65280
+# CHECK-NEXT: 1 3 0.50 uqadd z31.h, z31.h, #65280
+# CHECK-NEXT: 1 3 0.50 uqadd z31.s, z31.s, #65280
+# CHECK-NEXT: 1 4 0.33 uqdecb w0
+# CHECK-NEXT: 1 4 0.33 uqdecb w0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 uqdecb w0, pow2
+# CHECK-NEXT: 1 4 0.33 uqdecb w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.33 uqdecb x0
+# CHECK-NEXT: 1 4 0.33 uqdecb x0, #14
+# CHECK-NEXT: 1 4 0.33 uqdecb x0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 uqdecb x0, pow2
+# CHECK-NEXT: 1 4 0.33 uqdecb x0, vl1
+# CHECK-NEXT: 1 4 0.33 uqdecd w0
+# CHECK-NEXT: 1 4 0.33 uqdecd w0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 uqdecd w0, pow2
+# CHECK-NEXT: 1 4 0.33 uqdecd w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.33 uqdecd x0
+# CHECK-NEXT: 1 4 0.33 uqdecd x0, #14
+# CHECK-NEXT: 1 4 0.33 uqdecd x0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 uqdecd x0, pow2
+# CHECK-NEXT: 1 4 0.33 uqdecd x0, vl1
+# CHECK-NEXT: 1 4 0.50 uqdecd z0.d
+# CHECK-NEXT: 1 4 0.50 uqdecd z0.d, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqdecd z0.d, pow2
+# CHECK-NEXT: 1 4 0.50 uqdecd z0.d, pow2, mul #16
+# CHECK-NEXT: 1 4 0.33 uqdech w0
+# CHECK-NEXT: 1 4 0.33 uqdech w0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 uqdech w0, pow2
+# CHECK-NEXT: 1 4 0.33 uqdech w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.33 uqdech x0
+# CHECK-NEXT: 1 4 0.33 uqdech x0, #14
+# CHECK-NEXT: 1 4 0.33 uqdech x0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 uqdech x0, pow2
+# CHECK-NEXT: 1 4 0.33 uqdech x0, vl1
+# CHECK-NEXT: 1 4 0.50 uqdech z0.h
+# CHECK-NEXT: 1 4 0.50 uqdech z0.h, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqdech z0.h, pow2
+# CHECK-NEXT: 1 4 0.50 uqdech z0.h, pow2, mul #16
+# CHECK-NEXT: 1 9 1.00 uqdecp wzr, p15.b
+# CHECK-NEXT: 1 9 1.00 uqdecp wzr, p15.d
+# CHECK-NEXT: 1 9 1.00 uqdecp wzr, p15.h
+# CHECK-NEXT: 1 9 1.00 uqdecp wzr, p15.s
+# CHECK-NEXT: 1 9 1.00 uqdecp x0, p0.b
+# CHECK-NEXT: 1 9 1.00 uqdecp x0, p0.d
+# CHECK-NEXT: 1 9 1.00 uqdecp x0, p0.h
+# CHECK-NEXT: 1 9 1.00 uqdecp x0, p0.s
+# CHECK-NEXT: 1 4 0.50 uqdecp z0.d, p0.d
+# CHECK-NEXT: 1 4 0.50 uqdecp z0.h, p0.h
+# CHECK-NEXT: 1 4 0.50 uqdecp z0.s, p0.s
+# CHECK-NEXT: 1 4 0.33 uqdecw w0
+# CHECK-NEXT: 1 4 0.33 uqdecw w0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 uqdecw w0, pow2
+# CHECK-NEXT: 1 4 0.33 uqdecw w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.33 uqdecw x0
+# CHECK-NEXT: 1 4 0.33 uqdecw x0, #14
+# CHECK-NEXT: 1 4 0.33 uqdecw x0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 uqdecw x0, pow2
+# CHECK-NEXT: 1 4 0.33 uqdecw x0, vl1
+# CHECK-NEXT: 1 4 0.50 uqdecw z0.s
+# CHECK-NEXT: 1 4 0.50 uqdecw z0.s, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqdecw z0.s, pow2
+# CHECK-NEXT: 1 4 0.50 uqdecw z0.s, pow2, mul #16
+# CHECK-NEXT: 1 4 0.33 uqincb w0
+# CHECK-NEXT: 1 4 0.33 uqincb w0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 uqincb w0, pow2
+# CHECK-NEXT: 1 4 0.33 uqincb w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.33 uqincb x0
+# CHECK-NEXT: 1 4 0.33 uqincb x0, #14
+# CHECK-NEXT: 1 4 0.33 uqincb x0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 uqincb x0, pow2
+# CHECK-NEXT: 1 4 0.33 uqincb x0, vl1
+# CHECK-NEXT: 1 4 0.33 uqincd w0
+# CHECK-NEXT: 1 4 0.33 uqincd w0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 uqincd w0, pow2
+# CHECK-NEXT: 1 4 0.33 uqincd w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.33 uqincd x0
+# CHECK-NEXT: 1 4 0.33 uqincd x0, #14
+# CHECK-NEXT: 1 4 0.33 uqincd x0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 uqincd x0, pow2
+# CHECK-NEXT: 1 4 0.33 uqincd x0, vl1
+# CHECK-NEXT: 1 4 0.50 uqincd z0.d
+# CHECK-NEXT: 1 4 0.50 uqincd z0.d, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqincd z0.d, pow2
+# CHECK-NEXT: 1 4 0.50 uqincd z0.d, pow2, mul #16
+# CHECK-NEXT: 1 4 0.33 uqinch w0
+# CHECK-NEXT: 1 4 0.33 uqinch w0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 uqinch w0, pow2
+# CHECK-NEXT: 1 4 0.33 uqinch w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.33 uqinch x0
+# CHECK-NEXT: 1 4 0.33 uqinch x0, #14
+# CHECK-NEXT: 1 4 0.33 uqinch x0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 uqinch x0, pow2
+# CHECK-NEXT: 1 4 0.33 uqinch x0, vl1
+# CHECK-NEXT: 1 4 0.50 uqinch z0.h
+# CHECK-NEXT: 1 4 0.50 uqinch z0.h, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqinch z0.h, pow2
+# CHECK-NEXT: 1 4 0.50 uqinch z0.h, pow2, mul #16
+# CHECK-NEXT: 1 9 1.00 uqincp wzr, p15.b
+# CHECK-NEXT: 1 9 1.00 uqincp wzr, p15.d
+# CHECK-NEXT: 1 9 1.00 uqincp wzr, p15.h
+# CHECK-NEXT: 1 9 1.00 uqincp wzr, p15.s
+# CHECK-NEXT: 1 9 1.00 uqincp x0, p0.b
+# CHECK-NEXT: 1 9 1.00 uqincp x0, p0.d
+# CHECK-NEXT: 1 9 1.00 uqincp x0, p0.h
+# CHECK-NEXT: 1 9 1.00 uqincp x0, p0.s
+# CHECK-NEXT: 1 4 0.50 uqincp z0.d, p0.d
+# CHECK-NEXT: 1 4 0.50 uqincp z0.h, p0.h
+# CHECK-NEXT: 1 4 0.50 uqincp z0.s, p0.s
+# CHECK-NEXT: 1 4 0.33 uqincw w0
+# CHECK-NEXT: 1 4 0.33 uqincw w0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 uqincw w0, pow2
+# CHECK-NEXT: 1 4 0.33 uqincw w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.33 uqincw x0
+# CHECK-NEXT: 1 4 0.33 uqincw x0, #14
+# CHECK-NEXT: 1 4 0.33 uqincw x0, all, mul #16
+# CHECK-NEXT: 1 4 0.33 uqincw x0, pow2
+# CHECK-NEXT: 1 4 0.33 uqincw x0, vl1
+# CHECK-NEXT: 1 4 0.50 uqincw z0.s
+# CHECK-NEXT: 1 4 0.50 uqincw z0.s, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqincw z0.s, pow2
+# CHECK-NEXT: 1 4 0.50 uqincw z0.s, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 uqrshl z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 uqrshl z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 uqrshl z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 uqrshl z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 uqrshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 uqrshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 uqrshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 uqrshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 uqrshrnb z0.b, z0.h, #1
+# CHECK-NEXT: 1 4 0.50 uqrshrnb z0.h, z0.s, #1
+# CHECK-NEXT: 1 4 0.50 uqrshrnb z0.s, z0.d, #1
+# CHECK-NEXT: 1 4 0.50 uqrshrnb z31.b, z31.h, #8
+# CHECK-NEXT: 1 4 0.50 uqrshrnb z31.h, z31.s, #16
+# CHECK-NEXT: 1 4 0.50 uqrshrnb z31.s, z31.d, #32
+# CHECK-NEXT: 1 4 0.50 uqrshrnt z0.b, z0.h, #1
+# CHECK-NEXT: 1 4 0.50 uqrshrnt z0.h, z0.s, #1
+# CHECK-NEXT: 1 4 0.50 uqrshrnt z0.s, z0.d, #1
+# CHECK-NEXT: 1 4 0.50 uqrshrnt z31.b, z31.h, #8
+# CHECK-NEXT: 1 4 0.50 uqrshrnt z31.h, z31.s, #16
+# CHECK-NEXT: 1 4 0.50 uqrshrnt z31.s, z31.d, #32
+# CHECK-NEXT: 1 4 0.50 uqshl z0.b, p0/m, z0.b, #0
+# CHECK-NEXT: 1 4 0.50 uqshl z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 uqshl z0.d, p0/m, z0.d, #0
+# CHECK-NEXT: 1 4 0.50 uqshl z0.h, p0/m, z0.h, #0
+# CHECK-NEXT: 1 4 0.50 uqshl z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 uqshl z0.s, p0/m, z0.s, #0
+# CHECK-NEXT: 1 4 0.50 uqshl z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 uqshl z31.b, p0/m, z31.b, #7
+# CHECK-NEXT: 1 4 0.50 uqshl z31.d, p0/m, z31.d, #63
+# CHECK-NEXT: 1 4 0.50 uqshl z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 uqshl z31.h, p0/m, z31.h, #15
+# CHECK-NEXT: 1 4 0.50 uqshl z31.s, p0/m, z31.s, #31
+# CHECK-NEXT: 1 4 0.50 uqshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 uqshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 uqshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 uqshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 uqshrnb z0.b, z0.h, #1
+# CHECK-NEXT: 1 4 0.50 uqshrnb z0.h, z0.s, #1
+# CHECK-NEXT: 1 4 0.50 uqshrnb z0.s, z0.d, #1
+# CHECK-NEXT: 1 4 0.50 uqshrnb z31.b, z31.h, #8
+# CHECK-NEXT: 1 4 0.50 uqshrnb z31.h, z31.s, #16
+# CHECK-NEXT: 1 4 0.50 uqshrnb z31.s, z31.d, #32
+# CHECK-NEXT: 1 4 0.50 uqshrnt z0.b, z0.h, #1
+# CHECK-NEXT: 1 4 0.50 uqshrnt z0.h, z0.s, #1
+# CHECK-NEXT: 1 4 0.50 uqshrnt z0.s, z0.d, #1
+# CHECK-NEXT: 1 4 0.50 uqshrnt z31.b, z31.h, #8
+# CHECK-NEXT: 1 4 0.50 uqshrnt z31.h, z31.s, #16
+# CHECK-NEXT: 1 4 0.50 uqshrnt z31.s, z31.d, #32
+# CHECK-NEXT: 1 3 0.50 uqsub z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 uqsub z0.b, z0.b, #0
+# CHECK-NEXT: 1 3 0.50 uqsub z0.b, z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 uqsub z0.d, z0.d, #0
+# CHECK-NEXT: 1 3 0.50 uqsub z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 uqsub z0.d, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 uqsub z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 uqsub z0.h, z0.h, #0
+# CHECK-NEXT: 1 3 0.50 uqsub z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 uqsub z0.h, z0.h, z0.h
+# CHECK-NEXT: 1 3 0.50 uqsub z0.s, z0.s, #0
+# CHECK-NEXT: 1 3 0.50 uqsub z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 uqsub z0.s, z0.s, z0.s
+# CHECK-NEXT: 1 3 0.50 uqsub z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 uqsub z31.b, z31.b, #255
+# CHECK-NEXT: 1 3 0.50 uqsub z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 3 0.50 uqsub z31.d, z31.d, #65280
+# CHECK-NEXT: 1 3 0.50 uqsub z31.h, z31.h, #65280
+# CHECK-NEXT: 1 3 0.50 uqsub z31.s, z31.s, #65280
+# CHECK-NEXT: 1 3 0.50 uqsubr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 uqsubr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 uqsubr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 uqsubr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 uqxtnb z0.b, z31.h
+# CHECK-NEXT: 1 4 0.50 uqxtnb z0.h, z31.s
+# CHECK-NEXT: 1 4 0.50 uqxtnb z0.s, z31.d
+# CHECK-NEXT: 1 4 0.50 uqxtnt z0.b, z31.h
+# CHECK-NEXT: 1 4 0.50 uqxtnt z0.h, z31.s
+# CHECK-NEXT: 1 4 0.50 uqxtnt z0.s, z31.d
+# CHECK-NEXT: 1 4 0.50 urecpe z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 3 0.50 urhadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 urhadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 urhadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 urhadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 urshl z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 urshl z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 urshl z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 urshl z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 urshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 urshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 urshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 urshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 urshr z0.b, p0/m, z0.b, #1
+# CHECK-NEXT: 1 4 0.50 urshr z0.d, p0/m, z0.d, #1
+# CHECK-NEXT: 1 4 0.50 urshr z0.h, p0/m, z0.h, #1
+# CHECK-NEXT: 1 4 0.50 urshr z0.s, p0/m, z0.s, #1
+# CHECK-NEXT: 1 4 0.50 urshr z31.b, p0/m, z31.b, #8
+# CHECK-NEXT: 1 4 0.50 urshr z31.d, p0/m, z31.d, #64
+# CHECK-NEXT: 1 4 0.50 urshr z31.h, p0/m, z31.h, #16
+# CHECK-NEXT: 1 4 0.50 urshr z31.s, p0/m, z31.s, #32
+# CHECK-NEXT: 1 4 0.50 ursqrte z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 5 0.50 ursra z0.b, z0.b, #1
+# CHECK-NEXT: 1 5 0.50 ursra z0.d, z0.d, #1
+# CHECK-NEXT: 1 5 0.50 ursra z0.h, z0.h, #1
+# CHECK-NEXT: 1 5 0.50 ursra z0.s, z0.s, #1
+# CHECK-NEXT: 1 5 0.50 ursra z31.b, z31.b, #8
+# CHECK-NEXT: 1 5 0.50 ursra z31.d, z31.d, #64
+# CHECK-NEXT: 1 5 0.50 ursra z31.h, z31.h, #16
+# CHECK-NEXT: 1 5 0.50 ursra z31.s, z31.s, #32
+# CHECK-NEXT: 1 3 0.50 ushllb z0.d, z0.s, #0
+# CHECK-NEXT: 1 3 0.50 ushllb z0.h, z0.b, #0
+# CHECK-NEXT: 1 3 0.50 ushllb z0.s, z0.h, #0
+# CHECK-NEXT: 1 3 0.50 ushllb z31.d, z31.s, #31
+# CHECK-NEXT: 1 3 0.50 ushllb z31.h, z31.b, #7
+# CHECK-NEXT: 1 3 0.50 ushllb z31.s, z31.h, #15
+# CHECK-NEXT: 1 3 0.50 ushllt z0.d, z0.s, #0
+# CHECK-NEXT: 1 3 0.50 ushllt z0.h, z0.b, #0
+# CHECK-NEXT: 1 3 0.50 ushllt z0.s, z0.h, #0
+# CHECK-NEXT: 1 3 0.50 ushllt z31.d, z31.s, #31
+# CHECK-NEXT: 1 3 0.50 ushllt z31.h, z31.b, #7
+# CHECK-NEXT: 1 3 0.50 ushllt z31.s, z31.h, #15
+# CHECK-NEXT: 1 4 0.50 usmmla z0.s, z1.b, z2.b
+# CHECK-NEXT: 1 3 0.50 usqadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 usqadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 usqadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 usqadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 usra z0.b, z0.b, #1
+# CHECK-NEXT: 1 4 0.50 usra z0.d, z0.d, #1
+# CHECK-NEXT: 1 4 0.50 usra z0.h, z0.h, #1
+# CHECK-NEXT: 1 4 0.50 usra z0.s, z0.s, #1
+# CHECK-NEXT: 1 4 0.50 usra z31.b, z31.b, #8
+# CHECK-NEXT: 1 4 0.50 usra z31.d, z31.d, #64
+# CHECK-NEXT: 1 4 0.50 usra z31.h, z31.h, #16
+# CHECK-NEXT: 1 4 0.50 usra z31.s, z31.s, #32
+# CHECK-NEXT: 1 3 0.50 usublb z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 3 0.50 usublb z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 3 0.50 usublb z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 usublt z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 3 0.50 usublt z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 3 0.50 usublt z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 usubwb z0.h, z1.h, z2.b
+# CHECK-NEXT: 1 3 0.50 usubwb z29.s, z30.s, z31.h
+# CHECK-NEXT: 1 3 0.50 usubwb z31.d, z31.d, z31.s
+# CHECK-NEXT: 1 3 0.50 usubwt z0.h, z1.h, z2.b
+# CHECK-NEXT: 1 3 0.50 usubwt z29.s, z30.s, z31.h
+# CHECK-NEXT: 1 3 0.50 usubwt z31.d, z31.d, z31.s
+# CHECK-NEXT: 1 4 0.50 uunpkhi z31.d, z31.s
+# CHECK-NEXT: 1 4 0.50 uunpkhi z31.h, z31.b
+# CHECK-NEXT: 1 4 0.50 uunpkhi z31.s, z31.h
+# CHECK-NEXT: 1 4 0.50 uunpklo z31.d, z31.s
+# CHECK-NEXT: 1 4 0.50 uunpklo z31.h, z31.b
+# CHECK-NEXT: 1 4 0.50 uunpklo z31.s, z31.h
+# CHECK-NEXT: 1 3 0.50 uxtb z0.d, p0/m, z0.d
+# CHECK-NEXT: 1 3 0.50 uxtb z0.h, p0/m, z0.h
+# CHECK-NEXT: 1 3 0.50 uxtb z0.s, p0/m, z0.s
+# CHECK-NEXT: 1 3 0.50 uxtb z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 3 0.50 uxtb z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 3 0.50 uxtb z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 3 0.50 uxth z0.d, p0/m, z0.d
+# CHECK-NEXT: 1 3 0.50 uxth z0.s, p0/m, z0.s
+# CHECK-NEXT: 1 3 0.50 uxth z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 3 0.50 uxth z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 3 0.50 uxtw z0.d, p0/m, z0.d
+# CHECK-NEXT: 1 3 0.50 uxtw z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 2 1.00 uzp1 p15.b, p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 uzp1 p15.d, p15.d, p15.d
+# CHECK-NEXT: 1 2 1.00 uzp1 p15.h, p15.h, p15.h
+# CHECK-NEXT: 1 2 1.00 uzp1 p15.s, p15.s, p15.s
+# CHECK-NEXT: 1 3 0.50 uzp1 z31.b, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 uzp1 z31.d, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 uzp1 z31.h, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 uzp1 z31.s, z31.s, z31.s
+# CHECK-NEXT: 1 2 1.00 uzp2 p15.b, p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 uzp2 p15.d, p15.d, p15.d
+# CHECK-NEXT: 1 2 1.00 uzp2 p15.h, p15.h, p15.h
+# CHECK-NEXT: 1 2 1.00 uzp2 p15.s, p15.s, p15.s
+# CHECK-NEXT: 1 3 0.50 uzp2 z31.b, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 uzp2 z31.d, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 uzp2 z31.h, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 uzp2 z31.s, z31.s, z31.s
+# CHECK-NEXT: 1 2 1.00 whilege p15.b, w0, wzr
+# CHECK-NEXT: 1 2 1.00 whilege p15.b, wzr, w0
+# CHECK-NEXT: 1 2 1.00 whilege p15.b, x0, xzr
+# CHECK-NEXT: 1 2 1.00 whilege p15.b, xzr, x0
+# CHECK-NEXT: 1 2 1.00 whilege p15.d, w0, wzr
+# CHECK-NEXT: 1 2 1.00 whilege p15.d, x0, xzr
+# CHECK-NEXT: 1 2 1.00 whilege p15.h, w0, wzr
+# CHECK-NEXT: 1 2 1.00 whilege p15.h, x0, xzr
+# CHECK-NEXT: 1 2 1.00 whilege p15.s, w0, wzr
+# CHECK-NEXT: 1 2 1.00 whilege p15.s, x0, xzr
+# CHECK-NEXT: 1 2 1.00 whilerw p15.b, x30, x30
+# CHECK-NEXT: 1 2 1.00 whilerw p15.d, x30, x30
+# CHECK-NEXT: 1 2 1.00 whilerw p15.h, x30, x30
+# CHECK-NEXT: 1 2 1.00 whilerw p15.s, x30, x30
+# CHECK-NEXT: 1 2 1.00 whilewr p15.b, x30, x30
+# CHECK-NEXT: 1 2 1.00 whilewr p15.d, x30, x30
+# CHECK-NEXT: 1 2 1.00 whilewr p15.h, x30, x30
+# CHECK-NEXT: 1 2 1.00 whilewr p15.s, x30, x30
+# CHECK-NEXT: 1 1 0.33 * U wrffr p0.b
+# CHECK-NEXT: 1 1 0.33 * U wrffr p15.b
+# CHECK-NEXT: 1 4 0.50 xar z0.b, z0.b, z1.b, #1
+# CHECK-NEXT: 1 4 0.50 xar z0.d, z0.d, z1.d, #1
+# CHECK-NEXT: 1 4 0.50 xar z0.h, z0.h, z1.h, #1
+# CHECK-NEXT: 1 4 0.50 xar z0.s, z0.s, z1.s, #1
+# CHECK-NEXT: 1 4 0.50 xar z31.b, z31.b, z30.b, #8
+# CHECK-NEXT: 1 4 0.50 xar z31.d, z31.d, z30.d, #64
+# CHECK-NEXT: 1 4 0.50 xar z31.h, z31.h, z30.h, #16
+# CHECK-NEXT: 1 4 0.50 xar z31.s, z31.s, z30.s, #32
+# CHECK-NEXT: 1 2 1.00 zip1 p0.b, p0.b, p0.b
+# CHECK-NEXT: 1 2 1.00 zip1 p0.d, p0.d, p0.d
+# CHECK-NEXT: 1 2 1.00 zip1 p0.h, p0.h, p0.h
+# CHECK-NEXT: 1 2 1.00 zip1 p0.s, p0.s, p0.s
+# CHECK-NEXT: 1 2 1.00 zip1 p15.b, p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 zip1 p15.d, p15.d, p15.d
+# CHECK-NEXT: 1 2 1.00 zip1 p15.h, p15.h, p15.h
+# CHECK-NEXT: 1 2 1.00 zip1 p15.s, p15.s, p15.s
+# CHECK-NEXT: 1 3 0.50 zip1 z0.b, z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 zip1 z0.d, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 zip1 z0.h, z0.h, z0.h
+# CHECK-NEXT: 1 3 0.50 zip1 z0.s, z0.s, z0.s
+# CHECK-NEXT: 1 3 0.50 zip1 z31.b, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 zip1 z31.d, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 zip1 z31.h, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 zip1 z31.s, z31.s, z31.s
+# CHECK-NEXT: 1 2 1.00 zip2 p0.b, p0.b, p0.b
+# CHECK-NEXT: 1 2 1.00 zip2 p0.d, p0.d, p0.d
+# CHECK-NEXT: 1 2 1.00 zip2 p0.h, p0.h, p0.h
+# CHECK-NEXT: 1 2 1.00 zip2 p0.s, p0.s, p0.s
+# CHECK-NEXT: 1 2 1.00 zip2 p15.b, p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 zip2 p15.d, p15.d, p15.d
+# CHECK-NEXT: 1 2 1.00 zip2 p15.h, p15.h, p15.h
+# CHECK-NEXT: 1 2 1.00 zip2 p15.s, p15.s, p15.s
+# CHECK-NEXT: 1 3 0.50 zip2 z0.b, z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 zip2 z0.d, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 zip2 z0.h, z0.h, z0.h
+# CHECK-NEXT: 1 3 0.50 zip2 z0.s, z0.s, z0.s
+# CHECK-NEXT: 1 3 0.50 zip2 z31.b, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 zip2 z31.d, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 zip2 z31.h, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 zip2 z31.s, z31.s, z31.s
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - C1NanoUnitALU0
+# CHECK-NEXT: [1.0] - C1NanoUnitALU1
+# CHECK-NEXT: [1.1] - C1NanoUnitALU1
+# CHECK-NEXT: [2] - C1NanoUnitB
+# CHECK-NEXT: [3] - C1NanoUnitDiv
+# CHECK-NEXT: [4] - C1NanoUnitLd1
+# CHECK-NEXT: [5] - C1NanoUnitLdSt
+# CHECK-NEXT: [6] - C1NanoUnitMAC
+# CHECK-NEXT: [7] - C1NanoUnitPAC
+# CHECK-NEXT: [8] - C1NanoUnitVALU0
+# CHECK-NEXT: [9] - C1NanoUnitVALU1
+# CHECK-NEXT: [10.0] - C1NanoUnitVMAC
+# CHECK-NEXT: [10.1] - C1NanoUnitVMAC
+# CHECK-NEXT: [11] - C1NanoUnitVMC
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1.0] [1.1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11]
+# CHECK-NEXT: 79.00 75.00 75.00 9.00 - 209.00 2401.00 - - 1303.50 937.50 199.50 199.50 643.00
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1.0] [1.1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11] Instructions:
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs z0.b, p0/m, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs z0.h, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs z31.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adclb z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adclb z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adclt z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adclt z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.b, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.h, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.s, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.s, z1.s, z2.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z21.b, p5/m, z21.b, z10.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z21.b, z10.b, z21.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z21.d, p5/m, z21.d, z10.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z21.d, z10.d, z21.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z21.h, p5/m, z21.h, z10.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z21.h, z10.h, z21.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z21.s, p5/m, z21.s, z10.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z21.s, z10.s, z21.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z23.b, p3/m, z23.b, z13.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z23.b, z13.b, z8.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z23.d, p3/m, z23.d, z13.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z23.d, z13.d, z8.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z23.h, p3/m, z23.h, z13.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z23.h, z13.h, z8.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z23.s, p3/m, z23.s, z13.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z23.s, z13.s, z8.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.b, z31.b, #255
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.b, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.d, z31.d, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.h, z31.h, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.h, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.s, z31.s, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.s, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addp z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addp z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - addpl sp, sp, #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - addpl x0, x0, #-32
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - addpl x21, x21, #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - addpl x23, x8, #-1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - addvl sp, sp, #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - addvl x0, x0, #-32
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - addvl x21, x21, #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - addvl x23, x8, #-1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, lsl #1]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, lsl #2]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, lsl #3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, sxtw #1]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, sxtw #2]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, sxtw #3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, sxtw]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, uxtw #1]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, uxtw #2]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, uxtw #3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, uxtw]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.s, [z0.s, z0.s, lsl #1]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.s, [z0.s, z0.s, lsl #2]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.s, [z0.s, z0.s, lsl #3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.s, [z0.s, z0.s]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - aesd z0.b, z0.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - aese z0.b, z0.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - aesimc z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - aesimc z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - aesmc z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - aesmc z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - and p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z0.d, z0.d, #0x6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z0.d, z0.d, #0xfffffffffffffff9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z0.s, z0.s, #0x6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z0.s, z0.s, #0xfffffff9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z23.d, z13.d, z8.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z23.h, z23.h, #0x6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z23.h, z23.h, #0xfff9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z5.b, z5.b, #0x6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z5.b, z5.b, #0xf9
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ands p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - andv b0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - andv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - andv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - andv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.b, p0/m, z0.b, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.b, p0/m, z0.b, z1.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.b, z1.b, z2.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.d, p0/m, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.h, p0/m, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.h, p0/m, z0.h, z1.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.h, z1.h, z2.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.s, p0/m, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.s, p0/m, z0.s, z1.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.s, z1.s, z2.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z31.b, p0/m, z31.b, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z31.d, p0/m, z31.d, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z31.h, p0/m, z31.h, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z31.s, p0/m, z31.s, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrd z0.b, p0/m, z0.b, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrd z0.d, p0/m, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrd z0.h, p0/m, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrd z0.s, p0/m, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrd z31.b, p0/m, z31.b, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrd z31.d, p0/m, z31.d, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrd z31.h, p0/m, z31.h, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrd z31.s, p0/m, z31.s, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bcax z29.d, z29.d, z30.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - - 11.00 bdep z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - - - 66.00 bdep z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - - 19.00 bdep z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - - - 35.00 bdep z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - - - 11.00 bext z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - - - 66.00 bext z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - - 19.00 bext z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - - - 35.00 bext z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bfcvt z0.h, p0/m, z1.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bfcvtnt z0.h, p0/m, z1.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 0.50 0.50 - bfdot z0.s, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 0.50 0.50 - bfdot z0.s, z1.h, z2.h[0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 0.50 0.50 - bfdot z0.s, z1.h, z2.h[3]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalb z0.s, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalb z0.s, z1.h, z2.h[0]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalb z0.s, z1.h, z2.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalb z10.s, z21.h, z14.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalb z21.s, z14.h, z3.h[2]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalt z0.s, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalt z0.s, z1.h, z2.h[0]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalt z0.s, z1.h, z2.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalt z14.s, z10.h, z21.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 0.50 0.50 - bfmmla z0.s, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - - - - - - 11.00 bgrp z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - - - 66.00 bgrp z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - - 19.00 bgrp z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - - - 35.00 bgrp z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - bic p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - bic p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bic z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bic z23.d, z13.d, z8.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bic z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bic z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bic z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bic z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - bics p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - bics p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brka p0.b, p15/m, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brka p0.b, p15/z, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkas p0.b, p15/z, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkb p0.b, p15/m, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkb p0.b, p15/z, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkbs p0.b, p15/z, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkn p0.b, p15/z, p1.b, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkn p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkns p0.b, p15/z, p1.b, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkns p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkpa p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkpa p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkpas p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkpas p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkpb p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkpb p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkpbs p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkpbs p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bsl z0.d, z0.d, z1.d, z2.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bsl1n z0.d, z0.d, z1.d, z2.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bsl2n z0.d, z0.d, z1.d, z2.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cadd z0.b, z0.b, z0.b, #90
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cadd z0.d, z0.d, z0.d, #90
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cadd z0.h, z0.h, z0.h, #90
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cadd z0.s, z0.s, z0.s, #90
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cadd z31.b, z31.b, z31.b, #270
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cadd z31.d, z31.d, z31.d, #270
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cadd z31.h, z31.h, z31.h, #270
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cadd z31.s, z31.s, z31.s, #270
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z0.d, z1.h, z15.h[1], #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z0.d, z1.h, z31.h, #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z0.d, z1.h, z31.h, #180
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z0.d, z1.h, z31.h, #270
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z0.d, z1.h, z31.h, #90
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z0.s, z1.b, z31.b, #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z0.s, z1.b, z7.b[3], #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z29.d, z30.h, z0.h[0], #180
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z31.d, z30.h, z7.h[1], #270
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z5.d, z6.h, z3.h[0], #90
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta b0, p7, b0, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta d0, p7, d0, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta h0, p7, h0, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta s0, p7, s0, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta w0, p7, w0, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta w0, p7, w0, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta w0, p7, w0, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta x0, p7, x0, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta z0.b, p7, z0.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta z0.d, p7, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta z0.h, p7, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta z0.s, p7, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb b0, p7, b0, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb d0, p7, d0, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb h0, p7, h0, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb s0, p7, s0, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb w0, p7, w0, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb w0, p7, w0, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb w0, p7, w0, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb x0, p7, x0, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb z0.b, p7, z0.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb z0.d, p7, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb z0.h, p7, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb z0.s, p7, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls z31.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz z31.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z0.b, z1.b, z2.b, #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z0.d, z1.d, z2.d, #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z0.h, z1.h, z2.h, #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z0.h, z1.h, z2.h[0], #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z0.s, z1.s, z2.s, #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z0.s, z1.s, z2.s[0], #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z15.b, z16.b, z17.b, #270
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z15.d, z16.d, z17.d, #270
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z15.h, z16.h, z17.h, #270
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z15.s, z16.s, z17.s, #270
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z29.b, z30.b, z31.b, #90
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z29.d, z30.d, z31.d, #90
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z29.h, z30.h, z31.h, #90
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z29.s, z30.s, z31.s, #90
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z31.b, z31.b, z31.b, #180
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z31.d, z31.d, z31.d, #180
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z31.h, z30.h, z7.h[0], #180
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z31.h, z31.h, z31.h, #180
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z31.s, z30.s, z7.s[0], #180
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z31.s, z31.s, z31.s, #180
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnot z31.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnot z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnot z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnot z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnt z31.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnt z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnt z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnt z31.s, p7/m, z31.s
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntb x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntb x0, #28
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntb x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntb x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntd x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntd x0, #28
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntd x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntd x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cnth x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cnth x0, #28
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cnth x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cnth x0, pow2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - cntp x0, p15, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - cntp x0, p15, p0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - cntp x0, p15, p0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - cntp x0, p15, p0.s
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntw x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntw x0, #28
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntw x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntw x0, pow2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - compact z31.d, p7, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - compact z31.s, p7, z31.s
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ctermeq w30, wzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ctermeq wzr, w30
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ctermeq x30, xzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ctermeq xzr, x30
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ctermne w30, wzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ctermne wzr, w30
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ctermne x30, xzr
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ctermne xzr, x30
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decb x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decb x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decb x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decb x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decb x0, vl1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decd x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decd x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decd x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decd x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decd x0, vl1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - dech x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - dech x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - dech x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - dech x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - dech x0, vl1
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - decp x0, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - decp x0, p0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - decp x0, p0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - decp x0, p0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - decp xzr, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - decp xzr, p15.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - decp xzr, p15.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - decp xzr, p15.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - decp z31.d, p15.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - decp z31.h, p15.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - decp z31.s, p15.s
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decw x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decw x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decw x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decw x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decw x0, vl1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dupm z0.d, #0xfffffffffffffff9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dupm z0.s, #0xfffffff9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dupm z23.h, #0xfff9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dupm z5.b, #0xf9
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - eor p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z0.d, z0.d, #0x6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z0.d, z0.d, #0xfffffffffffffff9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z0.s, z0.s, #0x6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z0.s, z0.s, #0xfffffff9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z23.d, z13.d, z8.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z23.h, z23.h, #0x6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z23.h, z23.h, #0xfff9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z5.b, z5.b, #0x6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z5.b, z5.b, #0xf9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor3 z29.d, z29.d, z30.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eorbt z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eorbt z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eorbt z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eorbt z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - eors p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eortb z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eortb z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eortb z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eortb z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - eorv b0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - eorv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - eorv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - eorv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ext z0.b, { z1.b, z2.b }, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ext z31.b, z31.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ext z31.b, z31.b, z0.b, #255
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ext z31.b, { z30.b, z31.b }, #255
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabd z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabd z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabd z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facge p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facge p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facge p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facgt p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facgt p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facgt p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - fadda d0, p7, d0, z31.d
+# CHECK-NEXT: - - - - - - - - - 14.50 14.50 - - - fadda h0, p7, h0, z31.h
+# CHECK-NEXT: - - - - - - - - - 6.50 6.50 - - - fadda s0, p7, s0, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - faddp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - faddp z29.s, p3/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - faddp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - faddv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - - 11.00 - - - - faddv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - - faddv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcadd z0.d, p0/m, z0.d, z0.d, #90
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcadd z0.h, p0/m, z0.h, z0.h, #90
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcadd z0.s, p0/m, z0.s, z0.s, #90
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcadd z31.d, p7/m, z31.d, z31.d, #270
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcadd z31.h, p7/m, z31.h, z31.h, #270
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcadd z31.s, p7/m, z31.s, z31.s, #270
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmeq p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmeq p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmeq p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmeq p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmeq p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmeq p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmge p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmge p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmge p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmge p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmge p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmge p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmgt p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmgt p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmgt p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmgt p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmgt p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmgt p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z0.d, p0/m, z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z0.d, p0/m, z1.d, z2.d, #90
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z0.h, p0/m, z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z0.h, p0/m, z1.h, z2.h, #90
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z0.h, z0.h, z0.h[0], #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z0.s, p0/m, z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z0.s, p0/m, z1.s, z2.s, #90
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z21.s, z10.s, z5.s[1], #90
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z23.s, z13.s, z8.s[0], #270
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z29.d, p7/m, z30.d, z31.d, #180
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z29.h, p7/m, z30.h, z31.h, #180
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z29.s, p7/m, z30.s, z31.s, #180
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z31.d, p7/m, z31.d, z31.d, #270
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z31.h, p7/m, z31.h, z31.h, #270
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z31.h, z31.h, z7.h[3], #270
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z31.s, p7/m, z31.s, z31.s, #270
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmle p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmle p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmle p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmlt p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmlt p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmlt p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmne p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmne p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmne p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmne p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmne p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmne p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmuo p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmuo p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmuo p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt z0.d, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt z0.d, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt z0.h, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt z0.h, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt z0.s, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt z0.s, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtlt z0.s, p0/m, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtlt z30.d, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnt z0.h, p0/m, z1.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnt z30.s, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtx z0.s, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtx z30.s, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtxnt z0.s, p0/m, z1.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtxnt z30.s, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs z0.d, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs z0.d, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs z0.h, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs z0.s, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs z0.s, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu z0.d, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu z0.d, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu z0.h, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu z0.s, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu z0.s, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - - - - - 19.00 fdiv z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - - 5.00 fdiv z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - - - 10.00 fdiv z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - - - 19.00 fdivr z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - - 5.00 fdivr z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - - - 10.00 fdivr z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fexpa z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fexpa z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fexpa z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - flogb z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - flogb z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - flogb z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmad z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmad z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmad z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnmp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnmp z29.s, p3/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnmp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmaxnmv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmaxnmv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmaxnmv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxp z29.s, p3/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmaxv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmaxv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmaxv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnmp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnmp z29.s, p3/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnmp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fminnmv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fminnmv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fminnmv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminp z29.s, p3/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fminv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fminv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fminv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmla z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmla z0.d, z1.d, z7.d[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmla z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmla z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmla z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmla z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlalb z0.s, z1.h, z7.h[0]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlalb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlalb z30.s, z31.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlalt z0.s, z1.h, z7.h[0]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlalt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlalt z30.s, z31.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmls z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmls z0.d, z1.d, z7.d[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmls z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmls z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmls z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmls z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlslb z0.s, z1.h, z7.h[0]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlslb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlslb z30.s, z31.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlslt z0.s, z1.h, z7.h[0]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlslt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlslt z30.s, z31.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmov z0.d, #-10.00000000
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmov z0.d, #0.12500000
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmov z0.d, p0/m, #-10.00000000
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmov z0.d, p0/m, #0.12500000
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmov z0.h, #-0.12500000
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmov z0.h, p0/m, #-0.12500000
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmov z0.s, #-0.12500000
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmov z0.s, p0/m, #-0.12500000
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmsb z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmsb z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmsb z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.d, z0.d, z0.d[0]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.h, z0.h, z0.h[0]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.s, z0.s, z0.s[0]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z31.d, p7/m, z31.d, #2.0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z31.d, z31.d, z15.d[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z31.h, p7/m, z31.h, #2.0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z31.h, z31.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z31.s, p7/m, z31.s, #2.0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z31.s, z31.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmulx z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmulx z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmulx z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmad z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmad z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmad z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmla z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmla z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmla z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmls z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmls z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmls z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmsb z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmsb z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmsb z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frecpe z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frecpe z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frecpe z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frecps z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frecps z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frecps z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frecpx z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frecpx z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frecpx z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frsqrte z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frsqrte z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frsqrte z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frsqrts z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frsqrts z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frsqrts z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fscale z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fscale z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fscale z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - - - 19.00 fsqrt z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - - 5.00 fsqrt z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - - - - - 9.00 fsqrt z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsubr z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsubr z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsubr z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsubr z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsubr z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsubr z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsubr z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsubr z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsubr z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - ftmad z0.d, z0.d, z31.d, #7
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - ftmad z0.h, z0.h, z31.h, #7
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - ftmad z0.s, z0.s, z31.s, #7
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - ftsmul z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - ftsmul z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - ftsmul z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ftssel z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ftssel z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ftssel z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - histcnt z0.s, p0/z, z1.s, z2.s
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - histcnt z29.d, p7/z, z30.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - histseg z0.b, z1.b, z31.b
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incb x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incb x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incb x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incb x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incb x0, vl1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incd x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incd x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incd x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incd x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incd x0, vl1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - incd z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - incd z0.d, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - inch x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - inch x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - inch x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - inch x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - inch x0, vl1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - inch z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - inch z0.h, all, mul #16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - incp x0, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - incp x0, p0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - incp x0, p0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - incp x0, p0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - incp xzr, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - incp xzr, p15.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - incp xzr, p15.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - incp xzr, p15.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - incp z31.d, p15.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - incp z31.h, p15.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - incp z31.s, p15.s
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incw x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incw x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incw x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incw x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incw x0, vl1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - incw z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - incw z0.s, all, mul #16
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z0.b, #0, #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z0.d, #0, #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z0.h, #0, #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z0.h, w0, w0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z0.s, #0, #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z21.b, w10, w21
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z21.d, x10, x21
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z21.s, w10, w21
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z23.b, #13, w8
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z23.b, w13, #8
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z23.d, #13, x8
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z23.d, x13, #8
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z23.h, #13, w8
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z23.h, w13, #8
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z23.s, #13, w8
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z23.s, w13, #8
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.b, #-1, #-1
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.b, #-1, wzr
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.b, wzr, #-1
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.b, wzr, wzr
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.d, #-1, #-1
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.d, #-1, xzr
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.d, xzr, #-1
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.d, xzr, xzr
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.h, #-1, #-1
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.h, #-1, wzr
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.h, wzr, #-1
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.h, wzr, wzr
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.s, #-1, #-1
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.s, #-1, wzr
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.s, wzr, #-1
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.s, wzr, wzr
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - insr z0.b, w0
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - insr z0.d, x0
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - insr z0.h, w0
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - insr z0.s, w0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - insr z31.b, b31
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - insr z31.b, wzr
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - insr z31.d, d31
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - insr z31.d, xzr
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - insr z31.h, h31
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - insr z31.h, wzr
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - insr z31.s, s31
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - insr z31.s, wzr
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lasta b0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lasta d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lasta h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lasta s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - lasta w0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - lasta w0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - lasta w0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - lasta x0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lastb b0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lastb d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lastb h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lastb s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - lastb w0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - lastb w0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - lastb w0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - - lastb x0, p7, z31.d
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z0.b }, p0/z, [sp, x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1b { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1b { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z21.b }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1b { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1b { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z21.s }, p5/z, [x10, x21]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z23.d }, p3/z, [x13, x8]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z31.b }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1b { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1b { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1b { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z5.h }, p3/z, [x17, x16]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1d { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1d { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1d { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1d { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1d { z23.d }, p3/z, [sp, x8, lsl #3]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1d { z23.d }, p3/z, [x13, x8, lsl #3]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1d { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1d { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1d { z31.d }, p7/z, [z31.d, #248]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1h { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1h { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1h { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1h { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z21.s }, p5/z, [x10, x21, lsl #1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z23.d }, p3/z, [x13, x8, lsl #1]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1h { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1h { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1h { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z5.h }, p3/z, [sp, x16, lsl #1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z5.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rb { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rb { z31.b }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rb { z31.d }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rb { z31.h }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rb { z31.s }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rd { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rd { z31.d }, p7/z, [sp, #504]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rh { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rh { z31.d }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rh { z31.h }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rh { z31.s }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1rqb { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqb { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqb { z21.b }, p5/z, [x10, #112]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqb { z23.b }, p3/z, [x13, #-128]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqb { z31.b }, p7/z, [sp, #-16]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqd { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqd { z23.d }, p3/z, [x13, #-128]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqd { z23.d }, p3/z, [x13, #112]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqd { z31.d }, p7/z, [sp, #-16]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqh { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqh { z23.h }, p3/z, [x13, #-128]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqh { z23.h }, p3/z, [x13, #112]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqh { z31.h }, p7/z, [sp, #-16]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqw { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqw { z23.s }, p3/z, [x13, #-128]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqw { z23.s }, p3/z, [x13, #112]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqw { z31.s }, p7/z, [sp, #-16]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsb { z31.d }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsb { z31.h }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsb { z31.s }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsh { z31.d }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsh { z31.s }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsw { z31.d }, p7/z, [sp, #252]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rw { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rw { z31.d }, p7/z, [sp, #252]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rw { z31.s }, p7/z, [sp, #252]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sb { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z0.h }, p0/z, [sp, x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1sb { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z21.s }, p5/z, [x10, x21]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z23.d }, p3/z, [x13, x8]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sb { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sb { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1sb { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sh { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1sh { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sh { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sh { z21.s }, p5/z, [sp, x21, lsl #1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sh { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sh { z21.s }, p5/z, [x10, x21, lsl #1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sh { z23.d }, p3/z, [x13, x8, lsl #1]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sh { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sh { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sh { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sh { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1sh { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sw { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sw { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sw { z23.d }, p3/z, [sp, x8, lsl #2]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sw { z23.d }, p3/z, [x13, x8, lsl #2]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sw { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sw { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sw { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1w { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1w { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1w { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1w { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1w { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1w { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1w { z21.s }, p5/z, [sp, x21, lsl #2]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1w { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1w { z21.s }, p5/z, [x10, x21, lsl #2]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1w { z23.d }, p3/z, [x13, x8, lsl #2]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1w { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1w { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1w { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1w { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1w { z31.s }, p7/z, [z31.s, #124]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2b { z0.b, z1.b }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2b { z0.b, z1.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2b { z21.b, z22.b }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2b { z23.b, z24.b }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2b { z5.b, z6.b }, p3/z, [x17, x16]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2d { z0.d, z1.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2d { z0.d, z1.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2d { z21.d, z22.d }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2d { z23.d, z24.d }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2d { z5.d, z6.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2h { z0.h, z1.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2h { z0.h, z1.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2h { z21.h, z22.h }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2h { z23.h, z24.h }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2h { z5.h, z6.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2w { z0.s, z1.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2w { z0.s, z1.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2w { z21.s, z22.s }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2w { z23.s, z24.s }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2w { z5.s, z6.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3b { z0.b - z2.b }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3b { z0.b - z2.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3b { z21.b - z23.b }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3b { z23.b - z25.b }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3b { z5.b - z7.b }, p3/z, [x17, x16]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3d { z0.d - z2.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3d { z0.d - z2.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3d { z21.d - z23.d }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3d { z23.d - z25.d }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3d { z5.d - z7.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3h { z0.h - z2.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3h { z0.h - z2.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3h { z21.h - z23.h }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3h { z23.h - z25.h }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3h { z5.h - z7.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3w { z0.s - z2.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3w { z0.s - z2.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3w { z21.s - z23.s }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3w { z23.s - z25.s }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3w { z5.s - z7.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4b { z0.b - z3.b }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4b { z0.b - z3.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4b { z21.b - z24.b }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4b { z23.b - z26.b }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4b { z5.b - z8.b }, p3/z, [x17, x16]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4d { z0.d - z3.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4d { z0.d - z3.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4d { z21.d - z24.d }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4d { z23.d - z26.d }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4d { z5.d - z8.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4h { z0.h - z3.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4h { z0.h - z3.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4h { z21.h - z24.h }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4h { z23.h - z26.h }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4h { z5.h - z8.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4w { z0.s - z3.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4w { z0.s - z3.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4w { z21.s - z24.s }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4w { z23.s - z26.s }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1b { z0.d }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1b { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1b { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1b { z0.s }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1b { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1b { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1b { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1b { z31.b }, p7/z, [sp]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1b { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1b { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1b { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1b { z31.h }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1b { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1b { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1d { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1d { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1d { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1d { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1d { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1d { z31.d }, p7/z, [z31.d, #248]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1h { z0.d }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1h { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1h { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1h { z0.s }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1h { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1h { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1h { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1h { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1h { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1h { z31.h }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1h { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1h { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sb { z0.d }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sb { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sb { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1sb { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sb { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sb { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sb { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sb { z31.h }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sb { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1sb { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sh { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1sh { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sh { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sh { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sh { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sh { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1sh { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sw { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sw { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sw { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sw { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1w { z0.d }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1w { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1w { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1w { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1w { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1w { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1w { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1w { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1w { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1w { z31.s }, p7/z, [z31.s, #124]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z21.b }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z31.b }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1d { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1d { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1h { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1h { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1h { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1h { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1h { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1h { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1h { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1h { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sb { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sb { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sb { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sb { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sb { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sb { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sh { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sh { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sh { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sh { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sw { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sw { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1w { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1w { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1w { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1w { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1w { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1b { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1b { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1b { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1b { z21.b }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1b { z23.b }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1b { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1b { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1b { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1b { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1d { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1d { z21.d }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1d { z23.d }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1d { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1d { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1h { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1h { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1h { z21.h }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1h { z23.h }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1h { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1h { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1h { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1h { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1sb { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1sb { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1sb { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1sb { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1sb { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1sb { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1sh { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1sh { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1sh { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1sh { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1sh { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1sh { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1sw { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1sw { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1sw { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1w { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1w { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1w { z21.s }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1w { z23.s }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1w { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1w { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1w { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1w { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldr p0, [x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldr p5, [x10, #255, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldr p7, [x13, #-256, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr z0, [x0]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr z23, [x13, #255, mul vl]
+# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr z31, [sp, #-256, mul vl]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.b, p0/m, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.b, p0/m, z0.b, z1.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.b, z1.b, z2.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.d, p0/m, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.h, p0/m, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.h, p0/m, z0.h, z1.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.h, z1.h, z2.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.s, p0/m, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.s, p0/m, z0.s, z1.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.s, z1.s, z2.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z31.b, p0/m, z31.b, #7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z31.b, z31.b, #7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z31.d, p0/m, z31.d, #63
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z31.d, z31.d, #63
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z31.h, p0/m, z31.h, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z31.h, z31.h, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z31.s, p0/m, z31.s, #31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z31.s, z31.s, #31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lslr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lslr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lslr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lslr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.b, p0/m, z0.b, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.b, p0/m, z0.b, z1.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.b, z1.b, z2.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.d, p0/m, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.h, p0/m, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.h, p0/m, z0.h, z1.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.h, z1.h, z2.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.s, p0/m, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.s, p0/m, z0.s, z1.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.s, z1.s, z2.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z31.b, p0/m, z31.b, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z31.d, p0/m, z31.d, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z31.h, p0/m, z31.h, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z31.s, p0/m, z31.s, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsrr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsrr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsrr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsrr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mad z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mad z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mad z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mad z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - match p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - match p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - match p15.b, p7/z, z30.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - match p15.h, p7/z, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mla z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mla z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mla z0.d, z1.d, z7.d[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mla z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mla z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mla z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mla z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mls z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mls z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mls z0.d, z1.d, z7.d[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mls z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mls z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mls z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mls z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov p0.b, p0/m, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov p0.b, p0/z, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov p15.b, p15/m, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov p15.b, p15/z, p15.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.b, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.b, b0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.b, p0/m, b0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov z0.b, p0/m, w0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.b, p0/z, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.b, w0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.d, #0xe0000000000003ff
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.d, #0xffffffffffff7fff
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.d, #32768
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.d, d0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.d, p0/m, d0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov z0.d, p0/m, x0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.d, x0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.h, #-256
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.h, #-32768
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.h, #32512
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.h, #32767
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.h, h0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.h, p0/m, h0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov z0.h, p0/m, w0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.h, p0/z, #32512
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.h, w0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.q, q0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.s, #0xffff7fff
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.s, #32768
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.s, p0/m, s0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov z0.s, p0/m, w0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.s, s0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.s, w0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, #-32768
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, #32512
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, p0/z, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, p0/z, #-32768
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, p0/z, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, p0/z, #32512
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, p15/m, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, p15/m, #-32768
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, #-32768
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, #32512
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, p0/z, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, p0/z, #-32768
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, p0/z, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, p0/z, #32512
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, p15/m, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, p15/m, #-32768
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, #-32768
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, #32512
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, p0/z, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, p0/z, #-32768
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, p0/z, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, p0/z, #32512
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, p15/m, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, p15/m, #-32768
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.b, p15/m, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.b, p7/m, b31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - movprfx z31, z6
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov z31.b, p7/m, wsp
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.b, wsp
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.b, z31.b[63]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.d, p15/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.d, p7/m, d31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - movprfx z31.d, p7/z, z6.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov z31.d, p7/m, sp
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.d, sp
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.d, z31.d[7]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.h, p15/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.h, p7/m, h31
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov z31.h, p7/m, wsp
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.h, wsp
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.h, z31.h[31]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.s, p15/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.s, p7/m, s31
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov z31.s, p7/m, wsp
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.s, wsp
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.s, z31.s[15]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.b, #-1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.b, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.b, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.b, p0/z, #-1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.b, p0/z, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.b, p0/z, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.b, p15/m, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.d, #-6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.h, #-6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.q, z17.q[3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.s, #-6
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movs p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movs p0.b, p0/z, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movs p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movs p15.b, p15/z, p15.b
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - mrs x3, ID_AA64ZFR0_EL1
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - mrs x3, ZCR_EL1
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - mrs x3, ZCR_EL12
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - mrs x3, ZCR_EL2
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - mrs x3, ZCR_EL3
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - msb z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - msb z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - msb z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - msb z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - msr ZCR_EL1, x3
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - msr ZCR_EL12, x3
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - msr ZCR_EL2, x3
+# CHECK-NEXT: - - - 1.00 - - - - - - - - - - msr ZCR_EL3, x3
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z0.b, p7/m, z0.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z0.b, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z0.d, z1.d, z15.d[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z0.h, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z29.s, z30.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z31.b, z31.b, #-128
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z31.b, z31.b, #127
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z31.d, z31.d, #-128
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z31.d, z31.d, #127
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z31.h, z31.h, #-128
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z31.h, z31.h, #127
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z31.s, z31.s, #-128
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z31.s, z31.s, #127
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nand p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nand p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nands p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nands p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - nbsl z0.d, z0.d, z1.d, z2.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg z0.b, p0/m, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg z0.h, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg z31.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - nmatch p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - nmatch p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - nmatch p15.b, p7/z, z30.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - nmatch p15.h, p7/z, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nor p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nor p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nors p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nors p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - not p0.b, p0/z, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - not p15.b, p15/z, p15.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - not z31.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - not z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - not z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - not z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nots p0.b, p0/z, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nots p15.b, p15/z, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orn p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orn p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orns p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orns p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orr p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z0.d, z0.d, #0x6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z0.d, z0.d, #0xfffffffffffffff9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z0.s, z0.s, #0x6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z0.s, z0.s, #0xfffffff9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z23.d, z13.d, z8.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z23.h, z23.h, #0x6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z23.h, z23.h, #0xfff9
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z5.b, z5.b, #0x6
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z5.b, z5.b, #0xf9
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orrs p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orv b0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - pfalse p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - pfirst p0.b, p15, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - pfirst p15.b, p15, p15.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - pmul z0.b, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - pmul z29.b, z30.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - - - 1.00 pmullb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - - - 1.00 pmullb z29.q, z30.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - - 1.00 pmullb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - - - 1.00 pmullt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - - - 1.00 pmullt z29.q, z30.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - - 1.00 pmullt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - pnext p0.b, p15, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - pnext p0.d, p15, p0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - pnext p0.h, p15, p0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - pnext p0.s, p15, p0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - pnext p15.b, p15, p15.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb #14, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb #15, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb #6, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb #7, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb #7, p3, [z13.s, #31]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb #7, p3, [z13.s]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl1keep, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl1keep, p0, [x0, z0.d]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl1keep, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl1keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl1strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl2keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl2strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl3keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl3strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl3strm, p5, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl3strm, p5, [x10, z21.s, uxtw]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl3strm, p5, [z10.d, #31]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl3strm, p5, [z10.d]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pstl1keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pstl1strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pstl2keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pstl2strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pstl3keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pstl3strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd #14, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd #15, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd #15, p7, [z31.d, #248]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd #15, p7, [z31.d]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd #15, p7, [z31.s, #248]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd #15, p7, [z31.s]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd #6, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd #7, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl1keep, p0, [x0, z0.d, lsl #3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl1keep, p0, [x0, z0.d, sxtw #3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl1keep, p0, [x0, z0.d, uxtw #3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl1keep, p0, [x0, z0.s, sxtw #3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl1keep, p0, [x0, z0.s, uxtw #3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl1keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl1strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl2keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl2strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl3keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl3strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pstl1keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pstl1strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pstl2keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pstl2strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pstl3keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pstl3strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh #14, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh #15, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh #15, p7, [z31.d, #62]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh #15, p7, [z31.d]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh #15, p7, [z31.s, #62]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh #15, p7, [z31.s]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh #6, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh #7, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl1keep, p0, [x0, z0.d, lsl #1]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl1keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl1strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl2keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl2strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl3keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl3strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl3strm, p5, [x10, z21.d, sxtw #1]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl3strm, p5, [x10, z21.d, uxtw #1]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl3strm, p5, [x10, z21.s, sxtw #1]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl3strm, p5, [x10, z21.s, uxtw #1]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pstl1keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pstl1strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pstl2keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pstl2strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pstl3keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pstl3strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw #14, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw #15, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw #15, p7, [z31.d, #124]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw #15, p7, [z31.d]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw #15, p7, [z31.s, #124]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw #15, p7, [z31.s]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw #6, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw #7, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw #7, p3, [x13, z8.d, uxtw #2]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl1keep, p0, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl1keep, p0, [x0, z0.s, uxtw #2]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl1keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl1strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl2keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl2strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl3keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl3strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl3strm, p5, [x10, z21.d, lsl #2]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl3strm, p5, [x10, z21.s, sxtw #2]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pstl1keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pstl1strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pstl2keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pstl2strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pstl3keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pstl3strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptest p15, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptest p15, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p0.b, pow2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p0.d, pow2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p0.h, pow2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p0.s, pow2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p15.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p15.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p15.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #14
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #17
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #18
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #20
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #21
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #22
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #23
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #24
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #25
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #26
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #27
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #28
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, mul3
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, mul4
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl1
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl128
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl256
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl3
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl32
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl4
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl5
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl6
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl64
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl7
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl8
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p0.b, pow2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p0.d, pow2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p0.h, pow2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p0.s, pow2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p15.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p15.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p15.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #14
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #17
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #18
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #19
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #20
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #21
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #22
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #23
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #24
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #25
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #26
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #27
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #28
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, mul3
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, mul4
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl1
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl128
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl2
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl256
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl3
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl32
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl4
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl5
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl6
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl64
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl7
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl8
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - punpkhi p0.h, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - punpkhi p15.h, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - punpklo p0.h, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - punpklo p15.h, p15.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - - 1.00 rax1 z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rbit z0.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rbit z0.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rbit z0.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rbit z0.s, p7/m, z31.s
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rdffr p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - - rdffr p0.b, p0/z
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rdffr p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - - rdffr p15.b, p15/z
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - - rdffrs p0.b, p0/z
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - - rdffrs p15.b, p15/z
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rdvl x0, #0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rdvl x21, #-32
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rdvl x23, #31
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rdvl xzr, #-1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev z0.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - revb z0.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - revb z0.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - revb z0.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - revh z0.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - revh z0.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - revw z0.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnb z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnb z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnb z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnb z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnb z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnb z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnt z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnt z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnt z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnt z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnt z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnt z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - saba z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - saba z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - saba z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - saba z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sabalb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sabalb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sabalb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sabalt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sabalt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sabalt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabd z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabd z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabd z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabd z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdlb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdlb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdlb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdlt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdlt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdlt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sadalp z0.h, p0/m, z1.b
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sadalp z29.s, p0/m, z30.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sadalp z30.d, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlbt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlbt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlbt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - saddv d0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - saddv d0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - saddv d0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddwb z0.h, z1.h, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddwb z29.s, z30.s, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddwb z31.d, z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddwt z0.h, z1.h, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddwt z29.s, z30.s, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddwt z31.d, z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sbclb z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sbclb z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sbclt z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sbclt z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf z0.d, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf z0.h, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf z0.h, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf z0.h, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf z0.s, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - - - - - 23.00 sdiv z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - - 12.00 sdiv z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - - - 23.00 sdivr z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - - 12.00 sdivr z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sdot z0.d, z1.h, z15.h[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sdot z0.d, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sdot z0.s, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sdot z0.s, z1.b, z7.b[3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sel z23.b, p11, z13.b, z8.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sel z23.d, p11, z13.d, z8.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sel z23.h, p11, z13.h, z8.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sel z23.s, p11, z13.s, z8.s
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - setffr
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnb z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnb z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnb z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnb z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnb z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnb z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnt z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnt z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnt z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnt z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnt z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnt z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsub z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsub z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsub z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsub z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsubr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsubr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsubr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsubr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli z31.b, z31.b, #7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli z31.d, z31.d, #63
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli z31.h, z31.h, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli z31.s, z31.s, #31
+# CHECK-NEXT: - - - - - - - - - - - - - 1.00 sm4e z0.s, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - - - 1.00 sm4ekey z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z0.b, z0.b, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z0.d, z0.d, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z0.h, z0.h, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z0.s, z0.s, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z31.b, z31.b, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z31.d, z31.d, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z31.h, z31.h, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z31.s, z31.s, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smaxp z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smaxp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smaxp z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smaxp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - smaxv b0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - smaxv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - smaxv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - smaxv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z0.b, z0.b, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z0.d, z0.d, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z0.h, z0.h, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z0.s, z0.s, #-128
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z31.b, z31.b, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z31.d, z31.d, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z31.h, z31.h, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z31.s, z31.s, #127
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sminp z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sminp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sminp z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sminp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sminv b0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sminv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sminv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sminv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smmla z0.s, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smulh z0.b, p7/m, z0.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smulh z0.b, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smulh z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smulh z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smulh z0.h, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smulh z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smulh z29.s, z30.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smulh z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - splice z29.b, p7, { z30.b, z31.b }
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - splice z29.d, p7, { z30.d, z31.d }
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - splice z29.h, p7, { z30.h, z31.h }
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - splice z29.s, p7, { z30.s, z31.s }
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - splice z31.b, p7, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - splice z31.d, p7, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - splice z31.h, p7, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - splice z31.s, p7, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs z31.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.b, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.h, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.s, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z31.b, z31.b, #255
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z31.d, z31.d, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z31.h, z31.h, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z31.s, z31.s, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqcadd z0.b, z0.b, z0.b, #90
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqcadd z0.d, z0.d, z0.d, #90
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqcadd z0.h, z0.h, z0.h, #90
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqcadd z0.s, z0.s, z0.s, #90
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqcadd z31.b, z31.b, z31.b, #270
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqcadd z31.d, z31.d, z31.d, #270
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqcadd z31.h, z31.h, z31.h, #270
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqcadd z31.s, z31.s, z31.s, #270
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecb x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecb x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecb x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecb x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecb x0, vl1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecb x0, w0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecb x0, w0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecb x0, w0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecb x0, w0, pow2, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecd x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecd x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecd x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecd x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecd x0, vl1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecd x0, w0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecd x0, w0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecd x0, w0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecd x0, w0, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecd z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecd z0.d, all, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecd z0.d, pow2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecd z0.d, pow2, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdech x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdech x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdech x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdech x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdech x0, vl1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdech x0, w0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdech x0, w0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdech x0, w0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdech x0, w0, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdech z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdech z0.h, all, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdech z0.h, pow2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdech z0.h, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqdecp x0, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqdecp x0, p0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqdecp x0, p0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqdecp x0, p0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqdecp xzr, p15.b, wzr
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqdecp xzr, p15.d, wzr
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqdecp xzr, p15.h, wzr
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqdecp xzr, p15.s, wzr
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecp z0.d, p0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecp z0.h, p0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecp z0.s, p0.s
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecw x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecw x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecw x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecw x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecw x0, vl1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecw x0, w0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecw x0, w0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecw x0, w0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecw x0, w0, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecw z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecw z0.s, all, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecw z0.s, pow2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecw z0.s, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalb z0.d, z1.s, z15.s[3]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalbt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalbt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalbt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalt z0.d, z1.s, z15.s[3]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslb z0.d, z1.s, z15.s[3]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslbt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslbt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslbt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslt z0.d, z1.s, z15.s[3]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmulh z0.b, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmulh z0.d, z1.d, z15.d[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmulh z0.h, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmulh z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmulh z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmulh z29.s, z30.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmulh z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullt z31.d, z31.s, z31.s
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincb x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincb x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincb x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincb x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincb x0, vl1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincb x0, w0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincb x0, w0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincb x0, w0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincb x0, w0, pow2, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincd x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincd x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincd x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincd x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincd x0, vl1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincd x0, w0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincd x0, w0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincd x0, w0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincd x0, w0, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincd z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincd z0.d, all, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincd z0.d, pow2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincd z0.d, pow2, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqinch x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqinch x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqinch x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqinch x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqinch x0, vl1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqinch x0, w0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqinch x0, w0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqinch x0, w0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqinch x0, w0, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqinch z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqinch z0.h, all, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqinch z0.h, pow2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqinch z0.h, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqincp x0, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqincp x0, p0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqincp x0, p0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqincp x0, p0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqincp xzr, p15.b, wzr
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqincp xzr, p15.d, wzr
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqincp xzr, p15.h, wzr
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqincp xzr, p15.s, wzr
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincp z0.d, p0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincp z0.h, p0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincp z0.s, p0.s
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincw x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincw x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincw x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincw x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincw x0, vl1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincw x0, w0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincw x0, w0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincw x0, w0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincw x0, w0, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincw z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincw z0.s, all, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincw z0.s, pow2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincw z0.s, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg z31.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z0.b, z1.b, z2.b, #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z0.d, z1.d, z2.d, #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z0.h, z1.h, z2.h, #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z0.h, z1.h, z2.h[0], #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z0.s, z1.s, z2.s, #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z0.s, z1.s, z2.s[0], #0
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z15.b, z16.b, z17.b, #270
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z15.d, z16.d, z17.d, #270
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z15.h, z16.h, z17.h, #270
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z15.s, z16.s, z17.s, #270
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z29.b, z30.b, z31.b, #90
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z29.d, z30.d, z31.d, #90
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z29.h, z30.h, z31.h, #90
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z29.s, z30.s, z31.s, #90
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z31.b, z31.b, z31.b, #180
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z31.d, z31.d, z31.d, #180
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z31.h, z30.h, z7.h[0], #180
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z31.h, z31.h, z31.h, #180
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z31.s, z30.s, z7.s[0], #180
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z31.s, z31.s, z31.s, #180
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.d, z1.d, z15.d[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.d, z1.d, z15.d[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmulh z0.b, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmulh z0.d, z1.d, z15.d[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmulh z0.h, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmulh z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmulh z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmulh z29.s, z30.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmulh z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshl z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshl z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshl z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshl z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnb z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnb z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnb z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnb z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnb z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnb z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnt z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnt z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnt z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnt z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnt z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnt z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunb z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunb z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunb z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunb z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunb z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunb z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunt z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunt z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunt z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunt z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunt z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunt z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z0.b, p0/m, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z0.d, p0/m, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z0.h, p0/m, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z0.s, p0/m, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z31.b, p0/m, z31.b, #7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z31.d, p0/m, z31.d, #63
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z31.h, p0/m, z31.h, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z31.s, p0/m, z31.s, #31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu z0.b, p0/m, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu z0.d, p0/m, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu z0.h, p0/m, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu z0.s, p0/m, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu z31.b, p0/m, z31.b, #7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu z31.d, p0/m, z31.d, #63
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu z31.h, p0/m, z31.h, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu z31.s, p0/m, z31.s, #31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnb z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnb z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnb z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnb z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnb z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnb z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnt z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnt z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnt z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnt z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnt z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnt z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunb z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunb z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunb z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunb z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunb z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunb z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunt z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunt z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunt z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunt z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunt z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunt z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.b, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.h, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.s, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z31.b, z31.b, #255
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z31.d, z31.d, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z31.h, z31.h, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z31.s, z31.s, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsubr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsubr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsubr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsubr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtnb z0.b, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtnb z0.h, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtnb z0.s, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtnt z0.b, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtnt z0.h, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtnt z0.s, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtunb z0.b, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtunb z0.h, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtunb z0.s, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtunt z0.b, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtunt z0.h, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtunt z0.s, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srhadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srhadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srhadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srhadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshl z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshl z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshl z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshl z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr z0.b, p0/m, z0.b, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr z0.d, p0/m, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr z0.h, p0/m, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr z0.s, p0/m, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr z31.b, p0/m, z31.b, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr z31.d, p0/m, z31.d, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr z31.h, p0/m, z31.h, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr z31.s, p0/m, z31.s, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srsra z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srsra z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srsra z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srsra z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srsra z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srsra z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srsra z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srsra z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllb z0.d, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllb z0.h, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllb z0.s, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllb z31.d, z31.s, #31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllb z31.h, z31.b, #7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllb z31.s, z31.h, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllt z0.d, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllt z0.h, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllt z0.s, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllt z31.d, z31.s, #31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllt z31.h, z31.b, #7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllt z31.s, z31.h, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssublb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssublb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssublb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssublbt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssublbt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssublbt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssublt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssublt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssublt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubltb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubltb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubltb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubwb z0.h, z1.h, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubwb z29.s, z30.s, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubwb z31.d, z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubwt z0.h, z1.h, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubwt z29.s, z30.s, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubwt z31.d, z31.d, z31.s
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z0.b }, p0, [x0, x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z0.b }, p0, [x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z0.d }, p0, [x0, x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1b { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1b { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1b { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z0.d }, p0, [x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1b { z0.d }, p7, [z0.d]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z0.h }, p0, [x0, x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z0.h }, p0, [x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z0.s }, p0, [x0, x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1b { z0.s }, p0, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1b { z0.s }, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z0.s }, p0, [x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1b { z0.s }, p7, [z0.s]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z21.b }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z21.h }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z21.s }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z31.b }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1b { z31.d }, p7, [z31.d, #31]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z31.h }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z31.s }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1b { z31.s }, p7, [z31.s, #31]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1d { z0.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1d { z0.d }, p0, [x0, z0.d, lsl #3]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1d { z0.d }, p0, [x0, z0.d, sxtw #3]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1d { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1d { z0.d }, p0, [x0, z0.d, uxtw #3]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1d { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1d { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1d { z0.d }, p0, [x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1d { z0.d }, p7, [z0.d]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1d { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1d { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1d { z31.d }, p7, [z31.d, #248]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z0.d }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1h { z0.d }, p0, [x0, z0.d, lsl #1]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1h { z0.d }, p0, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1h { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1h { z0.d }, p0, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1h { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1h { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z0.d }, p0, [x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1h { z0.d }, p7, [z0.d]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z0.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z0.h }, p0, [x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z0.s }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1h { z0.s }, p0, [x0, z0.s, sxtw #1]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1h { z0.s }, p0, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1h { z0.s }, p0, [x0, z0.s, uxtw #1]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1h { z0.s }, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z0.s }, p0, [x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1h { z0.s }, p7, [z0.s]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z21.h }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z21.s }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1h { z31.d }, p7, [z31.d, #62]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z31.h }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z31.s }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1h { z31.s }, p7, [z31.s, #62]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1w { z0.d }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1w { z0.d }, p0, [x0, z0.d, lsl #2]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1w { z0.d }, p0, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1w { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1w { z0.d }, p0, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1w { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1w { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1w { z0.d }, p0, [x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1w { z0.d }, p7, [z0.d]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1w { z0.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1w { z0.s }, p0, [x0, z0.s, sxtw #2]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1w { z0.s }, p0, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1w { z0.s }, p0, [x0, z0.s, uxtw #2]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1w { z0.s }, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1w { z0.s }, p0, [x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1w { z0.s }, p7, [z0.s]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1w { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1w { z21.s }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1w { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1w { z31.d }, p7, [z31.d, #124]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1w { z31.s }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1w { z31.s }, p7, [z31.s, #124]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2b { z0.b, z1.b }, p0, [x0, x0]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2b { z0.b, z1.b }, p0, [x0]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2b { z21.b, z22.b }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2b { z23.b, z24.b }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2b { z5.b, z6.b }, p3, [x17, x16]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2d { z0.d, z1.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2d { z0.d, z1.d }, p0, [x0]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2d { z21.d, z22.d }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2d { z23.d, z24.d }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2d { z5.d, z6.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2h { z0.h, z1.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2h { z0.h, z1.h }, p0, [x0]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2h { z21.h, z22.h }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2h { z23.h, z24.h }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2h { z5.h, z6.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2w { z0.s, z1.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2w { z0.s, z1.s }, p0, [x0]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2w { z21.s, z22.s }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2w { z23.s, z24.s }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2w { z5.s, z6.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3b { z0.b - z2.b }, p0, [x0, x0]
+# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3b { z0.b - z2.b }, p0, [x0]
+# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3b { z21.b - z23.b }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3b { z23.b - z25.b }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3b { z5.b - z7.b }, p3, [x17, x16]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - st3d { z0.d - z2.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - st3d { z0.d - z2.d }, p0, [x0]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - st3d { z21.d - z23.d }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - st3d { z23.d - z25.d }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: - - - - - - 3.00 - - - - - - - st3d { z5.d - z7.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3h { z0.h - z2.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3h { z0.h - z2.h }, p0, [x0]
+# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3h { z21.h - z23.h }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3h { z23.h - z25.h }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3h { z5.h - z7.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3w { z0.s - z2.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3w { z0.s - z2.s }, p0, [x0]
+# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3w { z21.s - z23.s }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3w { z23.s - z25.s }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3w { z5.s - z7.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4b { z0.b - z3.b }, p0, [x0, x0]
+# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4b { z0.b - z3.b }, p0, [x0]
+# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4b { z21.b - z24.b }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4b { z23.b - z26.b }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4b { z5.b - z8.b }, p3, [x17, x16]
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st4d { z0.d - z3.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st4d { z0.d - z3.d }, p0, [x0]
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st4d { z21.d - z24.d }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st4d { z23.d - z26.d }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st4d { z5.d - z8.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4h { z0.h - z3.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4h { z0.h - z3.h }, p0, [x0]
+# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4h { z21.h - z24.h }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4h { z23.h - z26.h }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4h { z5.h - z8.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4w { z0.s - z3.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4w { z0.s - z3.s }, p0, [x0]
+# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4w { z21.s - z24.s }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4w { z23.s - z26.s }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4w { z5.s - z8.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1b { z0.b }, p0, [x0, x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1b { z0.b }, p0, [x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1b { z0.d }, p0, [z1.d]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - stnt1b { z0.s }, p0, [z1.s]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1b { z21.b }, p5, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1b { z23.b }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1b { z31.d }, p7, [z31.d, x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1b { z31.d }, p7, [z31.d]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - stnt1b { z31.s }, p7, [z31.s, x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - stnt1b { z31.s }, p7, [z31.s]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1d { z0.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1d { z0.d }, p0, [x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1d { z0.d }, p0, [z1.d]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1d { z21.d }, p5, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1d { z23.d }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1d { z31.d }, p7, [z31.d, x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1d { z31.d }, p7, [z31.d]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1h { z0.d }, p0, [z1.d]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1h { z0.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1h { z0.h }, p0, [x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - stnt1h { z0.s }, p0, [z1.s]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1h { z21.h }, p5, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1h { z23.h }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1h { z31.d }, p7, [z31.d, x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1h { z31.d }, p7, [z31.d]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - stnt1h { z31.s }, p7, [z31.s, x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - stnt1h { z31.s }, p7, [z31.s]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1w { z0.d }, p0, [z1.d]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1w { z0.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1w { z0.s }, p0, [x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - stnt1w { z0.s }, p0, [z1.s]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1w { z21.s }, p5, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1w { z23.s }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1w { z31.d }, p7, [z31.d, x0]
+# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1w { z31.d }, p7, [z31.d]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - stnt1w { z31.s }, p7, [z31.s, x0]
+# CHECK-NEXT: - - - - - - 9.00 - - - - - - - stnt1w { z31.s }, p7, [z31.s]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str p0, [x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str p15, [sp, #-256, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str p5, [x10, #255, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str z0, [x0]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str z21, [x10, #-256, mul vl]
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str z31, [sp, #255, mul vl]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.b, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.h, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.s, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z21.b, p5/m, z21.b, z10.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z21.b, z10.b, z21.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z21.d, p5/m, z21.d, z10.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z21.d, z10.d, z21.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z21.h, p5/m, z21.h, z10.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z21.h, z10.h, z21.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z21.s, p5/m, z21.s, z10.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z21.s, z10.s, z21.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z23.b, p3/m, z23.b, z13.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z23.b, z13.b, z8.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z23.d, p3/m, z23.d, z13.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z23.d, z13.d, z8.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z23.h, p3/m, z23.h, z13.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z23.h, z13.h, z8.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z23.s, p3/m, z23.s, z13.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z23.s, z13.s, z8.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.b, z31.b, #255
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.b, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.d, z31.d, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.h, z31.h, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.h, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.s, z31.s, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.s, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z31.b, z31.b, #255
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z31.d, z31.d, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z31.h, z31.h, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z31.s, z31.s, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sunpkhi z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sunpkhi z31.h, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sunpkhi z31.s, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sunpklo z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sunpklo z31.h, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sunpklo z31.s, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxtb z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxtb z0.h, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxtb z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxtb z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxtb z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxtb z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxth z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxth z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxth z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxth z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxtw z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxtw z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl z28.b, { z29.b, z30.b }, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl z28.d, { z29.d, z30.d }, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl z28.h, { z29.h, z30.h }, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl z28.s, { z29.s, z30.s }, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl z31.b, { z31.b }, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl z31.d, { z31.d }, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl z31.h, { z31.h }, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl z31.s, { z31.s }, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx z31.b, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx z31.h, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx z31.s, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - trn1 p15.b, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - trn1 p15.d, p15.d, p15.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - trn1 p15.h, p15.h, p15.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - trn1 p15.s, p15.s, p15.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 z31.b, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 z31.h, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 z31.s, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - trn2 p15.b, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - trn2 p15.d, p15.d, p15.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - trn2 p15.h, p15.h, p15.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - trn2 p15.s, p15.s, p15.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 z31.b, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 z31.h, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 z31.s, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uaba z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uaba z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uaba z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uaba z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uabalb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uabalb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uabalb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uabalt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uabalt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uabalt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabd z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabd z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabd z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabd z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdlb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdlb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdlb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdlt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdlt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdlt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uadalp z0.h, p0/m, z1.b
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uadalp z29.s, p0/m, z30.h
+# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uadalp z30.d, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uaddv d0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uaddv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uaddv d0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uaddv d0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddwb z0.h, z1.h, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddwb z29.s, z30.s, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddwb z31.d, z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddwt z0.h, z1.h, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddwt z29.s, z30.s, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddwt z31.d, z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf z0.d, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf z0.h, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf z0.h, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf z0.h, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf z0.s, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - - - - - 23.00 udiv z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - - 12.00 udiv z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - - - 23.00 udivr z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - - 12.00 udivr z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - udot z0.d, z1.h, z15.h[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - udot z0.d, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - udot z0.s, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - udot z0.s, z1.b, z7.b[3]
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhsub z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhsub z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhsub z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhsub z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhsubr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhsubr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhsubr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhsubr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umax z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umax z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umax z31.b, z31.b, #255
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umax z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umax z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umax z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umaxp z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umaxp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umaxp z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umaxp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - umaxv b0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - umaxv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - umaxv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - umaxv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umin z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umin z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umin z31.b, z31.b, #255
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umin z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umin z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umin z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uminp z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uminp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uminp z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uminp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uminv b0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uminv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uminv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uminv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - ummla z0.s, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umulh z0.b, p7/m, z0.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umulh z0.b, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umulh z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umulh z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umulh z0.h, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umulh z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umulh z29.s, z30.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umulh z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.b, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.h, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.s, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z31.b, z31.b, #255
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z31.d, z31.d, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z31.h, z31.h, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z31.s, z31.s, #65280
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecb w0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecb w0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecb w0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecb w0, pow2, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecb x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecb x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecb x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecb x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecb x0, vl1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecd w0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecd w0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecd w0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecd w0, pow2, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecd x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecd x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecd x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecd x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecd x0, vl1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecd z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecd z0.d, all, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecd z0.d, pow2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecd z0.d, pow2, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdech w0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdech w0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdech w0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdech w0, pow2, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdech x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdech x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdech x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdech x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdech x0, vl1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdech z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdech z0.h, all, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdech z0.h, pow2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdech z0.h, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqdecp wzr, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqdecp wzr, p15.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqdecp wzr, p15.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqdecp wzr, p15.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqdecp x0, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqdecp x0, p0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqdecp x0, p0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqdecp x0, p0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecp z0.d, p0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecp z0.h, p0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecp z0.s, p0.s
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecw w0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecw w0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecw w0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecw w0, pow2, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecw x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecw x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecw x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecw x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecw x0, vl1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecw z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecw z0.s, all, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecw z0.s, pow2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecw z0.s, pow2, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincb w0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincb w0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincb w0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincb w0, pow2, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincb x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincb x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincb x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincb x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincb x0, vl1
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincd w0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincd w0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincd w0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincd w0, pow2, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincd x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincd x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincd x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincd x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincd x0, vl1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincd z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincd z0.d, all, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincd z0.d, pow2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincd z0.d, pow2, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqinch w0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqinch w0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqinch w0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqinch w0, pow2, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqinch x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqinch x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqinch x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqinch x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqinch x0, vl1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqinch z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqinch z0.h, all, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqinch z0.h, pow2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqinch z0.h, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqincp wzr, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqincp wzr, p15.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqincp wzr, p15.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqincp wzr, p15.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqincp x0, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqincp x0, p0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqincp x0, p0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqincp x0, p0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincp z0.d, p0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincp z0.h, p0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincp z0.s, p0.s
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincw w0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincw w0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincw w0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincw w0, pow2, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincw x0
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincw x0, #14
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincw x0, all, mul #16
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincw x0, pow2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincw x0, vl1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincw z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincw z0.s, all, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincw z0.s, pow2
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincw z0.s, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnb z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnb z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnb z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnb z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnb z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnb z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnt z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnt z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnt z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnt z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnt z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnt z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z0.b, p0/m, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z0.d, p0/m, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z0.h, p0/m, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z0.s, p0/m, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z31.b, p0/m, z31.b, #7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z31.d, p0/m, z31.d, #63
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z31.h, p0/m, z31.h, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z31.s, p0/m, z31.s, #31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnb z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnb z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnb z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnb z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnb z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnb z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnt z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnt z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnt z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnt z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnt z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnt z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.b, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.h, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.s, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z31.b, z31.b, #255
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z31.d, z31.d, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z31.h, z31.h, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z31.s, z31.s, #65280
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsubr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsubr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsubr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsubr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtnb z0.b, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtnb z0.h, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtnb z0.s, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtnt z0.b, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtnt z0.h, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtnt z0.s, z31.d
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - urecpe z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urhadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urhadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urhadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urhadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshl z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshl z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshl z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshl z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr z0.b, p0/m, z0.b, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr z0.d, p0/m, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr z0.h, p0/m, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr z0.s, p0/m, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr z31.b, p0/m, z31.b, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr z31.d, p0/m, z31.d, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr z31.h, p0/m, z31.h, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr z31.s, p0/m, z31.s, #32
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - ursqrte z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ursra z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ursra z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ursra z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ursra z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ursra z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ursra z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ursra z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ursra z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllb z0.d, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllb z0.h, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllb z0.s, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllb z31.d, z31.s, #31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllb z31.h, z31.b, #7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllb z31.s, z31.h, #15
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllt z0.d, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllt z0.h, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllt z0.s, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllt z31.d, z31.s, #31
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllt z31.h, z31.b, #7
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllt z31.s, z31.h, #15
+# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - usmmla z0.s, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usublb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usublb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usublb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usublt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usublt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usublt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubwb z0.h, z1.h, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubwb z29.s, z30.s, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubwb z31.d, z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubwt z0.h, z1.h, z2.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubwt z29.s, z30.s, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubwt z31.d, z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uunpkhi z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uunpkhi z31.h, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uunpkhi z31.s, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uunpklo z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uunpklo z31.h, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uunpklo z31.s, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxtb z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxtb z0.h, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxtb z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxtb z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxtb z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxtb z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxth z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxth z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxth z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxth z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxtw z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxtw z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uzp1 p15.b, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uzp1 p15.d, p15.d, p15.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uzp1 p15.h, p15.h, p15.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uzp1 p15.s, p15.s, p15.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 z31.b, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 z31.h, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 z31.s, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uzp2 p15.b, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uzp2 p15.d, p15.d, p15.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uzp2 p15.h, p15.h, p15.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uzp2 p15.s, p15.s, p15.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 z31.b, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 z31.h, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 z31.s, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.b, w0, wzr
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.b, wzr, w0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.b, x0, xzr
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.b, xzr, x0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.d, w0, wzr
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.d, x0, xzr
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.h, w0, wzr
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.h, x0, xzr
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.s, w0, wzr
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.s, x0, xzr
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilerw p15.b, x30, x30
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilerw p15.d, x30, x30
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilerw p15.h, x30, x30
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilerw p15.s, x30, x30
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilewr p15.b, x30, x30
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilewr p15.d, x30, x30
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilewr p15.h, x30, x30
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilewr p15.s, x30, x30
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - wrffr p0.b
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - wrffr p15.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xar z0.b, z0.b, z1.b, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xar z0.d, z0.d, z1.d, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xar z0.h, z0.h, z1.h, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xar z0.s, z0.s, z1.s, #1
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xar z31.b, z31.b, z30.b, #8
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xar z31.d, z31.d, z30.d, #64
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xar z31.h, z31.h, z30.h, #16
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xar z31.s, z31.s, z30.s, #32
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip1 p0.b, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip1 p0.d, p0.d, p0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip1 p0.h, p0.h, p0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip1 p0.s, p0.s, p0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip1 p15.b, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip1 p15.d, p15.d, p15.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip1 p15.h, p15.h, p15.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip1 p15.s, p15.s, p15.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 z0.b, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 z0.h, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 z0.s, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 z31.b, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 z31.h, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 z31.s, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip2 p0.b, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip2 p0.d, p0.d, p0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip2 p0.h, p0.h, p0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip2 p0.s, p0.s, p0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip2 p15.b, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip2 p15.d, p15.d, p15.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip2 p15.h, p15.h, p15.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip2 p15.s, p15.s, p15.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 z0.b, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 z0.h, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 z0.s, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 z31.b, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 z31.h, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 z31.s, z31.s, z31.s
>From 2f179ccc9ca02babc0fa16d0a571cd89f99c8e3c Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Thu, 19 Feb 2026 17:44:40 +0000
Subject: [PATCH 02/22] Fixing copilot review comments
Correct filename in header comment.
Describe C1NanoUnitALU1 "models two integer ALU pipelines"
Change 8b|16b|4h|8b|2s|4s|1d|2d -> 8b|16b|4h|8h|2s|4s|1d|2d
CHange 16i8|4i132|8i16 -> 16i8|4i32|8i16
---
llvm/lib/Target/AArch64/AArch64SchedC1Nano.td | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
index 955e9d2fe750f..42c2af8209531 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
@@ -1,4 +1,4 @@
-//==- AArch64SchedCortexNano.td - ARM C1-Nano Scheduling Definitions -*- tablegen -*-=//
+//==- AArch64Sched1Nano.td - ARM C1-Nano Scheduling Definitions -*- tablegen -*-=//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
@@ -41,7 +41,7 @@ let SchedModel = C1NanoModel in {
// C1-Nano is in-order.
let BufferSize = 0 in {
def C1NanoUnitALU0 : ProcResource<1>; // Int ALU0
- def C1NanoUnitALU1 : ProcResource<2>; // Int ALU1
+ def C1NanoUnitALU1 : ProcResource<2>; // Int ALU1: models two integer ALU pipelines
def C1NanoUnitMAC : ProcResource<1>; // Int MAC, 64-bit wide
def C1NanoUnitDiv : ProcResource<1>; // Int Division, not pipelined
// There are 2 LS pipes, 1 for Load/Store; 1 for Load only
@@ -319,13 +319,13 @@ def C1NanoWriteVLD4Latency4Release2: SchedWriteRes<[C1NanoUnitLdSt]> { let Laten
def C1NanoWriteVLD4Latency5Release3: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5; let ReleaseAtCycles = [3]; }
def C1NanoWriteVLD4Latency6Release5: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 6; let ReleaseAtCycles = [5]; }
-def : InstRW<[C1NanoWriteVLD4Latency5Release3], (instregex "LD4Fourv(8b|16b|4h|8b|2s|4s|1d|2d)$")>;
+def : InstRW<[C1NanoWriteVLD4Latency5Release3], (instregex "LD4Fourv(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
def : InstRW<[C1NanoWriteVLD4Latency6Release5], (instregex "LD4i(8|16|32|64)$")>;
-def : InstRW<[C1NanoWriteVLD4Latency4Release2], (instregex "LD4Rv(8b|16b|4h|8b|2s|4s|1d|2d)$")>;
+def : InstRW<[C1NanoWriteVLD4Latency4Release2], (instregex "LD4Rv(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
def : InstRW<[WriteAdr, C1NanoWriteVLD4Latency5Release3], (instregex "LD4Fourv(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
def : InstRW<[WriteAdr, C1NanoWriteVLD4Latency6Release5], (instregex "LD4i(8|16|32|64)_POST$")>;
-def : InstRW<[WriteAdr, C1NanoWriteVLD4Latency4Release2], (instregex "LD4Rv(8b|16b|4h|8b|2s|4s|1d|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD4Latency4Release2], (instregex "LD4Rv(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
//---
// Vector Stores
@@ -446,7 +446,7 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "(AND|EOR|NOT|ORN)v16i
"(ORR|BIC)v(16i8|4i32|8i16)$", "MVNIv(4i32|4s|8i16)")>;
// ASIMD max/min, basic
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU](MIN|MAX)P?v(2i32|4i16|8i8)")>;
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU](MIN|MAX)P?v(16i8|4i132|8i16)")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU](MIN|MAX)P?v(16i8|4i32|8i16)")>;
// SIMD max/min, reduce
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU](MAX|MIN)Vv")>;
// ASIMD multiply, by element
>From bc4f69a6a9208b5160d6edd4c4e823e3c907207e Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Fri, 20 Feb 2026 09:55:09 +0000
Subject: [PATCH 03/22] Correct instruction timings for c1-nano
After making the corrections:
8b|16b|4h|8b|2s|4s|1d|2d -> 8b|16b|4h|8h|2s|4s|1d|2d
in the c1-nano scheduling model, the associated instruction
tests affected by the change need to be updated
---
.../tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s
index 0402c1c6b88e2..de6559a790102 100644
--- a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s
@@ -1580,10 +1580,10 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 smaxp v0.4h, v0.4h, v0.4h
# CHECK-NEXT: 1 3 0.50 smaxp v0.8b, v0.8b, v0.8b
# CHECK-NEXT: 1 3 0.50 smin v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: 1 4 0.50 smin v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 smin v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 3 0.50 smin v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 sminp v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: 1 4 0.50 sminp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 sminp v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 3 0.50 sminp v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 smlal v0.2d, v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 smlal v0.4s, v0.4h, v0.4h
@@ -1939,10 +1939,10 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 uhadd v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 uhsub v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 3 0.50 umax v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: 1 4 0.50 umax v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 umax v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 3 0.50 umax v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 umaxp v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: 1 4 0.50 umaxp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 umaxp v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 3 0.50 umaxp v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 umin v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 3 0.50 umin v0.4h, v0.4h, v0.4h
>From ce4f2410aaaa2c622ef269945dc62f38935e58f0 Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Mon, 23 Feb 2026 09:36:53 +0000
Subject: [PATCH 04/22] C1NanoUnitALU1 has only one resource
The C1NanoUnitALU1 was incorrectly specified with 2 resources,
but it should have been only 1 as it only models a single
pipeline.
---
llvm/lib/Target/AArch64/AArch64SchedC1Nano.td | 2 +-
.../AArch64/C1/Nano-basic-instructions.s | 3359 ++++----
.../AArch64/C1/Nano-neon-instructions.s | 2127 +++--
.../AArch64/C1/Nano-sve-instructions.s | 7277 ++++++++---------
4 files changed, 6381 insertions(+), 6384 deletions(-)
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
index 42c2af8209531..5262159e6a153 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
@@ -41,7 +41,7 @@ let SchedModel = C1NanoModel in {
// C1-Nano is in-order.
let BufferSize = 0 in {
def C1NanoUnitALU0 : ProcResource<1>; // Int ALU0
- def C1NanoUnitALU1 : ProcResource<2>; // Int ALU1: models two integer ALU pipelines
+ def C1NanoUnitALU1 : ProcResource<1>; // Int ALU1
def C1NanoUnitMAC : ProcResource<1>; // Int MAC, 64-bit wide
def C1NanoUnitDiv : ProcResource<1>; // Int Division, not pipelined
// There are 2 LS pipes, 1 for Load/Store; 1 for Load only
diff --git a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s
index 534d77f59626b..3559c4aa3a5e5 100644
--- a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s
@@ -1430,307 +1430,307 @@ xpaclri
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 1 0.33 add w2, w3, #4095
-# CHECK-NEXT: 1 1 0.33 add w30, w29, #1, lsl #12
-# CHECK-NEXT: 1 1 0.33 add w13, w5, #4095, lsl #12
-# CHECK-NEXT: 1 1 0.33 add x5, x7, #1638
-# CHECK-NEXT: 1 1 0.33 add w20, wsp, #801
-# CHECK-NEXT: 1 1 0.33 add wsp, wsp, #1104
-# CHECK-NEXT: 1 1 0.33 add wsp, w30, #4084
-# CHECK-NEXT: 1 1 0.33 add x0, x24, #291
-# CHECK-NEXT: 1 1 0.33 add x3, x24, #4095, lsl #12
-# CHECK-NEXT: 1 1 0.33 add x8, sp, #1074
-# CHECK-NEXT: 1 1 0.33 add sp, x29, #3816
-# CHECK-NEXT: 1 1 0.33 sub w0, wsp, #4077
-# CHECK-NEXT: 1 1 0.33 sub w4, w20, #546, lsl #12
-# CHECK-NEXT: 1 1 0.33 sub sp, sp, #288
-# CHECK-NEXT: 1 1 0.33 sub wsp, w19, #16
-# CHECK-NEXT: 1 1 0.33 adds w13, w23, #291, lsl #12
-# CHECK-NEXT: 1 1 0.33 cmn w2, #4095
-# CHECK-NEXT: 1 1 0.33 adds w20, wsp, #0
-# CHECK-NEXT: 1 1 0.33 cmn x3, #1, lsl #12
-# CHECK-NEXT: 1 1 0.33 cmp sp, #20, lsl #12
-# CHECK-NEXT: 1 1 0.33 cmp x30, #4095
-# CHECK-NEXT: 1 1 0.33 subs x4, sp, #3822
-# CHECK-NEXT: 1 1 0.33 cmn w3, #291, lsl #12
-# CHECK-NEXT: 1 1 0.33 cmn wsp, #1365
-# CHECK-NEXT: 1 1 0.33 cmn sp, #1092, lsl #12
-# CHECK-NEXT: 1 1 0.33 mov sp, x30
-# CHECK-NEXT: 1 1 0.33 mov wsp, w20
-# CHECK-NEXT: 1 1 0.33 mov x11, sp
-# CHECK-NEXT: 1 1 0.33 mov w24, wsp
-# CHECK-NEXT: 1 1 0.33 add w3, w5, w7
-# CHECK-NEXT: 1 1 0.33 add wzr, w3, w5
-# CHECK-NEXT: 1 1 0.33 add w20, wzr, w4
-# CHECK-NEXT: 1 1 0.33 add w4, w6, wzr
-# CHECK-NEXT: 1 1 0.33 add w11, w13, w15
-# CHECK-NEXT: 1 2 0.33 add w9, w3, wzr, lsl #10
-# CHECK-NEXT: 1 2 0.33 add w17, w29, w20, lsl #31
-# CHECK-NEXT: 1 2 0.33 add w21, w22, w23, lsr #0
-# CHECK-NEXT: 1 2 0.33 add w24, w25, w26, lsr #18
-# CHECK-NEXT: 1 2 0.33 add w27, w28, w29, lsr #31
-# CHECK-NEXT: 1 2 0.33 add w2, w3, w4, asr #0
-# CHECK-NEXT: 1 2 0.33 add w5, w6, w7, asr #21
-# CHECK-NEXT: 1 2 0.33 add w8, w9, w10, asr #31
-# CHECK-NEXT: 1 1 0.33 add x3, x5, x7
-# CHECK-NEXT: 1 1 0.33 add xzr, x3, x5
-# CHECK-NEXT: 1 1 0.33 add x20, xzr, x4
-# CHECK-NEXT: 1 1 0.33 add x4, x6, xzr
-# CHECK-NEXT: 1 1 0.33 add x11, x13, x15
-# CHECK-NEXT: 1 2 0.33 add x9, x3, xzr, lsl #10
-# CHECK-NEXT: 1 2 0.33 add x17, x29, x20, lsl #63
-# CHECK-NEXT: 1 2 0.33 add x21, x22, x23, lsr #0
-# CHECK-NEXT: 1 2 0.33 add x24, x25, x26, lsr #18
-# CHECK-NEXT: 1 2 0.33 add x27, x28, x29, lsr #63
-# CHECK-NEXT: 1 2 0.33 add x2, x3, x4, asr #0
-# CHECK-NEXT: 1 2 0.33 add x5, x6, x7, asr #21
-# CHECK-NEXT: 1 2 0.33 add x8, x9, x10, asr #63
-# CHECK-NEXT: 1 1 0.33 adds w3, w5, w7
-# CHECK-NEXT: 1 1 0.33 cmn w3, w5
-# CHECK-NEXT: 1 1 0.33 adds w20, wzr, w4
-# CHECK-NEXT: 1 1 0.33 adds w4, w6, wzr
-# CHECK-NEXT: 1 1 0.33 adds w11, w13, w15
-# CHECK-NEXT: 1 2 0.33 adds w9, w3, wzr, lsl #10
-# CHECK-NEXT: 1 2 0.33 adds w17, w29, w20, lsl #31
-# CHECK-NEXT: 1 2 0.33 adds w21, w22, w23, lsr #0
-# CHECK-NEXT: 1 2 0.33 adds w24, w25, w26, lsr #18
-# CHECK-NEXT: 1 2 0.33 adds w27, w28, w29, lsr #31
-# CHECK-NEXT: 1 2 0.33 adds w2, w3, w4, asr #0
-# CHECK-NEXT: 1 2 0.33 adds w5, w6, w7, asr #21
-# CHECK-NEXT: 1 2 0.33 adds w8, w9, w10, asr #31
-# CHECK-NEXT: 1 1 0.33 adds x3, x5, x7
-# CHECK-NEXT: 1 1 0.33 cmn x3, x5
-# CHECK-NEXT: 1 1 0.33 adds x20, xzr, x4
-# CHECK-NEXT: 1 1 0.33 adds x4, x6, xzr
-# CHECK-NEXT: 1 1 0.33 adds x11, x13, x15
-# CHECK-NEXT: 1 2 0.33 adds x9, x3, xzr, lsl #10
-# CHECK-NEXT: 1 2 0.33 adds x17, x29, x20, lsl #63
-# CHECK-NEXT: 1 2 0.33 adds x21, x22, x23, lsr #0
-# CHECK-NEXT: 1 2 0.33 adds x24, x25, x26, lsr #18
-# CHECK-NEXT: 1 2 0.33 adds x27, x28, x29, lsr #63
-# CHECK-NEXT: 1 2 0.33 adds x2, x3, x4, asr #0
-# CHECK-NEXT: 1 2 0.33 adds x5, x6, x7, asr #21
-# CHECK-NEXT: 1 2 0.33 adds x8, x9, x10, asr #63
-# CHECK-NEXT: 1 1 0.33 sub w3, w5, w7
-# CHECK-NEXT: 1 1 0.33 sub wzr, w3, w5
-# CHECK-NEXT: 1 1 0.33 sub w4, w6, wzr
-# CHECK-NEXT: 1 1 0.33 sub w11, w13, w15
-# CHECK-NEXT: 1 2 0.33 sub w9, w3, wzr, lsl #10
-# CHECK-NEXT: 1 2 0.33 sub w17, w29, w20, lsl #31
-# CHECK-NEXT: 1 2 0.33 sub w21, w22, w23, lsr #0
-# CHECK-NEXT: 1 2 0.33 sub w24, w25, w26, lsr #18
-# CHECK-NEXT: 1 2 0.33 sub w27, w28, w29, lsr #31
-# CHECK-NEXT: 1 2 0.33 sub w2, w3, w4, asr #0
-# CHECK-NEXT: 1 2 0.33 sub w5, w6, w7, asr #21
-# CHECK-NEXT: 1 2 0.33 sub w8, w9, w10, asr #31
-# CHECK-NEXT: 1 1 0.33 sub x3, x5, x7
-# CHECK-NEXT: 1 1 0.33 sub xzr, x3, x5
-# CHECK-NEXT: 1 1 0.33 sub x4, x6, xzr
-# CHECK-NEXT: 1 1 0.33 sub x11, x13, x15
-# CHECK-NEXT: 1 2 0.33 sub x9, x3, xzr, lsl #10
-# CHECK-NEXT: 1 2 0.33 sub x17, x29, x20, lsl #63
-# CHECK-NEXT: 1 2 0.33 sub x21, x22, x23, lsr #0
-# CHECK-NEXT: 1 2 0.33 sub x24, x25, x26, lsr #18
-# CHECK-NEXT: 1 2 0.33 sub x27, x28, x29, lsr #63
-# CHECK-NEXT: 1 2 0.33 sub x2, x3, x4, asr #0
-# CHECK-NEXT: 1 2 0.33 sub x5, x6, x7, asr #21
-# CHECK-NEXT: 1 2 0.33 sub x8, x9, x10, asr #63
-# CHECK-NEXT: 1 1 0.33 subs w3, w5, w7
-# CHECK-NEXT: 1 1 0.33 cmp w3, w5
-# CHECK-NEXT: 1 1 0.33 subs w4, w6, wzr
-# CHECK-NEXT: 1 1 0.33 subs w11, w13, w15
-# CHECK-NEXT: 1 2 0.33 subs w9, w3, wzr, lsl #10
-# CHECK-NEXT: 1 2 0.33 subs w17, w29, w20, lsl #31
-# CHECK-NEXT: 1 2 0.33 subs w21, w22, w23, lsr #0
-# CHECK-NEXT: 1 2 0.33 subs w24, w25, w26, lsr #18
-# CHECK-NEXT: 1 2 0.33 subs w27, w28, w29, lsr #31
-# CHECK-NEXT: 1 2 0.33 subs w2, w3, w4, asr #0
-# CHECK-NEXT: 1 2 0.33 subs w5, w6, w7, asr #21
-# CHECK-NEXT: 1 2 0.33 subs w8, w9, w10, asr #31
-# CHECK-NEXT: 1 1 0.33 subs x3, x5, x7
-# CHECK-NEXT: 1 1 0.33 cmp x3, x5
-# CHECK-NEXT: 1 1 0.33 subs x4, x6, xzr
-# CHECK-NEXT: 1 1 0.33 subs x11, x13, x15
-# CHECK-NEXT: 1 2 0.33 subs x9, x3, xzr, lsl #10
-# CHECK-NEXT: 1 2 0.33 subs x17, x29, x20, lsl #63
-# CHECK-NEXT: 1 2 0.33 subs x21, x22, x23, lsr #0
-# CHECK-NEXT: 1 2 0.33 subs x24, x25, x26, lsr #18
-# CHECK-NEXT: 1 2 0.33 subs x27, x28, x29, lsr #63
-# CHECK-NEXT: 1 2 0.33 subs x2, x3, x4, asr #0
-# CHECK-NEXT: 1 2 0.33 subs x5, x6, x7, asr #21
-# CHECK-NEXT: 1 2 0.33 subs x8, x9, x10, asr #63
-# CHECK-NEXT: 1 1 0.33 cmn wzr, w4
-# CHECK-NEXT: 1 1 0.33 cmn w5, wzr
-# CHECK-NEXT: 1 1 0.33 cmn w6, w7
-# CHECK-NEXT: 1 2 0.33 cmn w8, w9, lsl #15
-# CHECK-NEXT: 1 2 0.33 cmn w10, w11, lsl #31
-# CHECK-NEXT: 1 2 0.33 cmn w12, w13, lsr #0
-# CHECK-NEXT: 1 2 0.33 cmn w14, w15, lsr #21
-# CHECK-NEXT: 1 2 0.33 cmn w16, w17, lsr #31
-# CHECK-NEXT: 1 2 0.33 cmn w18, w19, asr #0
-# CHECK-NEXT: 1 2 0.33 cmn w20, w21, asr #22
-# CHECK-NEXT: 1 2 0.33 cmn w22, w23, asr #31
-# CHECK-NEXT: 1 1 0.33 cmn x0, x3
-# CHECK-NEXT: 1 1 0.33 cmn xzr, x4
-# CHECK-NEXT: 1 1 0.33 cmn x5, xzr
-# CHECK-NEXT: 1 1 0.33 cmn x6, x7
-# CHECK-NEXT: 1 2 0.33 cmn x8, x9, lsl #15
-# CHECK-NEXT: 1 2 0.33 cmn x10, x11, lsl #63
-# CHECK-NEXT: 1 2 0.33 cmn x12, x13, lsr #0
-# CHECK-NEXT: 1 2 0.33 cmn x14, x15, lsr #41
-# CHECK-NEXT: 1 2 0.33 cmn x16, x17, lsr #63
-# CHECK-NEXT: 1 2 0.33 cmn x18, x19, asr #0
-# CHECK-NEXT: 1 2 0.33 cmn x20, x21, asr #55
-# CHECK-NEXT: 1 2 0.33 cmn x22, x23, asr #63
-# CHECK-NEXT: 1 1 0.33 cmp w0, w3
-# CHECK-NEXT: 1 1 0.33 cmp wzr, w4
-# CHECK-NEXT: 1 1 0.33 cmp w5, wzr
-# CHECK-NEXT: 1 1 0.33 cmp w6, w7
-# CHECK-NEXT: 1 2 0.33 cmp w8, w9, lsl #15
-# CHECK-NEXT: 1 2 0.33 cmp w10, w11, lsl #31
-# CHECK-NEXT: 1 2 0.33 cmp w12, w13, lsr #0
-# CHECK-NEXT: 1 2 0.33 cmp w14, w15, lsr #21
-# CHECK-NEXT: 1 2 0.33 cmp w18, w19, asr #0
-# CHECK-NEXT: 1 2 0.33 cmp w20, w21, asr #22
-# CHECK-NEXT: 1 2 0.33 cmp w22, w23, asr #31
-# CHECK-NEXT: 1 1 0.33 cmp x0, x3
-# CHECK-NEXT: 1 1 0.33 cmp xzr, x4
-# CHECK-NEXT: 1 1 0.33 cmp x5, xzr
-# CHECK-NEXT: 1 1 0.33 cmp x6, x7
-# CHECK-NEXT: 1 2 0.33 cmp x8, x9, lsl #15
-# CHECK-NEXT: 1 2 0.33 cmp x10, x11, lsl #63
-# CHECK-NEXT: 1 2 0.33 cmp x12, x13, lsr #0
-# CHECK-NEXT: 1 2 0.33 cmp x14, x15, lsr #41
-# CHECK-NEXT: 1 2 0.33 cmp x16, x17, lsr #63
-# CHECK-NEXT: 1 2 0.33 cmp x18, x19, asr #0
-# CHECK-NEXT: 1 2 0.33 cmp x20, x21, asr #55
-# CHECK-NEXT: 1 2 0.33 cmp x22, x23, asr #63
-# CHECK-NEXT: 1 1 0.33 cmp wzr, w0
-# CHECK-NEXT: 1 1 0.33 cmp xzr, x0
-# CHECK-NEXT: 1 1 0.33 adc w29, w27, w25
-# CHECK-NEXT: 1 1 0.33 adc wzr, w3, w4
-# CHECK-NEXT: 1 1 0.33 adc w9, wzr, w10
-# CHECK-NEXT: 1 1 0.33 adc w20, w0, wzr
-# CHECK-NEXT: 1 1 0.33 adc x29, x27, x25
-# CHECK-NEXT: 1 1 0.33 adc xzr, x3, x4
-# CHECK-NEXT: 1 1 0.33 adc x9, xzr, x10
-# CHECK-NEXT: 1 1 0.33 adc x20, x0, xzr
-# CHECK-NEXT: 1 1 0.33 adcs w29, w27, w25
-# CHECK-NEXT: 1 1 0.33 adcs wzr, w3, w4
-# CHECK-NEXT: 1 1 0.33 adcs w9, wzr, w10
-# CHECK-NEXT: 1 1 0.33 adcs w20, w0, wzr
-# CHECK-NEXT: 1 1 0.33 adcs x29, x27, x25
-# CHECK-NEXT: 1 1 0.33 adcs xzr, x3, x4
-# CHECK-NEXT: 1 1 0.33 adcs x9, xzr, x10
-# CHECK-NEXT: 1 1 0.33 adcs x20, x0, xzr
-# CHECK-NEXT: 1 1 0.33 sbc w29, w27, w25
-# CHECK-NEXT: 1 1 0.33 sbc wzr, w3, w4
-# CHECK-NEXT: 1 1 0.33 ngc w9, w10
-# CHECK-NEXT: 1 1 0.33 sbc w20, w0, wzr
-# CHECK-NEXT: 1 1 0.33 sbc x29, x27, x25
-# CHECK-NEXT: 1 1 0.33 sbc xzr, x3, x4
-# CHECK-NEXT: 1 1 0.33 ngc x9, x10
-# CHECK-NEXT: 1 1 0.33 sbc x20, x0, xzr
-# CHECK-NEXT: 1 1 0.33 sbcs w29, w27, w25
-# CHECK-NEXT: 1 1 0.33 sbcs wzr, w3, w4
-# CHECK-NEXT: 1 1 0.33 ngcs w9, w10
-# CHECK-NEXT: 1 1 0.33 sbcs w20, w0, wzr
-# CHECK-NEXT: 1 1 0.33 sbcs x29, x27, x25
-# CHECK-NEXT: 1 1 0.33 sbcs xzr, x3, x4
-# CHECK-NEXT: 1 1 0.33 ngcs x9, x10
-# CHECK-NEXT: 1 1 0.33 sbcs x20, x0, xzr
-# CHECK-NEXT: 1 1 0.33 ngc w3, w12
-# CHECK-NEXT: 1 1 0.33 ngc wzr, w9
-# CHECK-NEXT: 1 1 0.33 ngc w23, wzr
-# CHECK-NEXT: 1 1 0.33 ngc x29, x30
-# CHECK-NEXT: 1 1 0.33 ngc xzr, x0
-# CHECK-NEXT: 1 1 0.33 ngc x0, xzr
-# CHECK-NEXT: 1 1 0.33 ngcs w3, w12
-# CHECK-NEXT: 1 1 0.33 ngcs wzr, w9
-# CHECK-NEXT: 1 1 0.33 ngcs w23, wzr
-# CHECK-NEXT: 1 1 0.33 ngcs x29, x30
-# CHECK-NEXT: 1 1 0.33 ngcs xzr, x0
-# CHECK-NEXT: 1 1 0.33 ngcs x0, xzr
-# CHECK-NEXT: 1 2 0.33 sbfx x1, x2, #3, #2
-# CHECK-NEXT: 1 2 0.33 asr x3, x4, #63
-# CHECK-NEXT: 1 2 0.33 asr wzr, wzr, #31
-# CHECK-NEXT: 1 2 0.33 sbfx w12, w9, #0, #1
-# CHECK-NEXT: 1 2 0.33 ubfiz x4, x5, #52, #11
-# CHECK-NEXT: 1 2 0.33 ubfx xzr, x4, #0, #1
-# CHECK-NEXT: 1 2 0.33 ubfiz x4, xzr, #1, #6
-# CHECK-NEXT: 1 2 0.33 lsr x5, x6, #12
-# CHECK-NEXT: 1 2 0.33 bfi x4, x5, #52, #11
-# CHECK-NEXT: 1 2 0.33 bfxil xzr, x4, #0, #1
-# CHECK-NEXT: 1 2 0.33 bfc x4, #1, #6
-# CHECK-NEXT: 1 2 0.33 bfxil x5, x6, #12, #52
-# CHECK-NEXT: 1 2 0.33 sxtb w1, w2
-# CHECK-NEXT: 1 2 0.33 sxtb xzr, w3
-# CHECK-NEXT: 1 2 0.33 sxth w9, w10
-# CHECK-NEXT: 1 2 0.33 sxth x0, w1
-# CHECK-NEXT: 1 2 0.33 sxtw x3, w30
-# CHECK-NEXT: 1 2 0.33 uxtb w1, w2
-# CHECK-NEXT: 1 2 0.33 uxth w9, w10
-# CHECK-NEXT: 1 2 0.33 ubfx x3, x30, #0, #32
-# CHECK-NEXT: 1 2 0.33 asr w3, w2, #0
-# CHECK-NEXT: 1 2 0.33 asr w9, w10, #31
-# CHECK-NEXT: 1 2 0.33 asr x20, x21, #63
-# CHECK-NEXT: 1 2 0.33 asr w1, wzr, #3
-# CHECK-NEXT: 1 2 0.33 lsr w3, w2, #0
-# CHECK-NEXT: 1 2 0.33 lsr w9, w10, #31
-# CHECK-NEXT: 1 2 0.33 lsr x20, x21, #63
-# CHECK-NEXT: 1 2 0.33 lsr wzr, wzr, #3
-# CHECK-NEXT: 1 2 0.33 lsr w3, w2, #0
-# CHECK-NEXT: 1 2 0.33 lsl w9, w10, #31
-# CHECK-NEXT: 1 2 0.33 lsl x20, x21, #63
-# CHECK-NEXT: 1 2 0.33 lsl w1, wzr, #3
-# CHECK-NEXT: 1 2 0.33 sbfx w9, w10, #0, #1
-# CHECK-NEXT: 1 2 0.33 sbfiz x2, x3, #63, #1
-# CHECK-NEXT: 1 2 0.33 asr x19, x20, #0
-# CHECK-NEXT: 1 2 0.33 sbfiz x9, x10, #5, #59
-# CHECK-NEXT: 1 2 0.33 asr w9, w10, #0
-# CHECK-NEXT: 1 2 0.33 sbfiz w11, w12, #31, #1
-# CHECK-NEXT: 1 2 0.33 sbfiz w13, w14, #29, #3
-# CHECK-NEXT: 1 2 0.33 sbfiz xzr, xzr, #10, #11
-# CHECK-NEXT: 1 2 0.33 sbfx w9, w10, #0, #1
-# CHECK-NEXT: 1 2 0.33 asr x2, x3, #63
-# CHECK-NEXT: 1 2 0.33 asr x19, x20, #0
-# CHECK-NEXT: 1 2 0.33 asr x9, x10, #5
-# CHECK-NEXT: 1 2 0.33 asr w9, w10, #0
-# CHECK-NEXT: 1 2 0.33 asr w11, w12, #31
-# CHECK-NEXT: 1 2 0.33 asr w13, w14, #29
-# CHECK-NEXT: 1 2 0.33 sbfx xzr, xzr, #10, #11
-# CHECK-NEXT: 1 2 0.33 bfxil w9, w10, #0, #1
-# CHECK-NEXT: 1 2 0.33 bfi x2, x3, #63, #1
-# CHECK-NEXT: 1 2 0.33 bfxil x19, x20, #0, #64
-# CHECK-NEXT: 1 2 0.33 bfi x9, x10, #5, #59
-# CHECK-NEXT: 1 2 0.33 bfxil w9, w10, #0, #32
-# CHECK-NEXT: 1 2 0.33 bfi w11, w12, #31, #1
-# CHECK-NEXT: 1 2 0.33 bfi w13, w14, #29, #3
-# CHECK-NEXT: 1 2 0.33 bfc xzr, #10, #11
-# CHECK-NEXT: 1 2 0.33 bfxil w9, w10, #0, #1
-# CHECK-NEXT: 1 2 0.33 bfxil x2, x3, #63, #1
-# CHECK-NEXT: 1 2 0.33 bfxil x19, x20, #0, #64
-# CHECK-NEXT: 1 2 0.33 bfxil x9, x10, #5, #59
-# CHECK-NEXT: 1 2 0.33 bfxil w9, w10, #0, #32
-# CHECK-NEXT: 1 2 0.33 bfxil w11, w12, #31, #1
-# CHECK-NEXT: 1 2 0.33 bfxil w13, w14, #29, #3
-# CHECK-NEXT: 1 2 0.33 bfxil xzr, xzr, #10, #11
-# CHECK-NEXT: 1 2 0.33 ubfx w9, w10, #0, #1
-# CHECK-NEXT: 1 2 0.33 lsl x2, x3, #63
-# CHECK-NEXT: 1 2 0.33 lsr x19, x20, #0
-# CHECK-NEXT: 1 2 0.33 lsl x9, x10, #5
-# CHECK-NEXT: 1 2 0.33 lsr w9, w10, #0
-# CHECK-NEXT: 1 2 0.33 lsl w11, w12, #31
-# CHECK-NEXT: 1 2 0.33 lsl w13, w14, #29
-# CHECK-NEXT: 1 2 0.33 ubfiz xzr, xzr, #10, #11
-# CHECK-NEXT: 1 2 0.33 ubfx w9, w10, #0, #1
-# CHECK-NEXT: 1 2 0.33 lsr x2, x3, #63
-# CHECK-NEXT: 1 2 0.33 lsr x19, x20, #0
-# CHECK-NEXT: 1 2 0.33 lsr x9, x10, #5
-# CHECK-NEXT: 1 2 0.33 lsr w9, w10, #0
-# CHECK-NEXT: 1 2 0.33 lsr w11, w12, #31
-# CHECK-NEXT: 1 2 0.33 lsr w13, w14, #29
-# CHECK-NEXT: 1 2 0.33 ubfx xzr, xzr, #10, #11
+# 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 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 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 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 2 0.50 add w9, w3, wzr, lsl #10
+# CHECK-NEXT: 1 2 0.50 add w17, w29, w20, lsl #31
+# CHECK-NEXT: 1 2 0.50 add w21, w22, w23, lsr #0
+# CHECK-NEXT: 1 2 0.50 add w24, w25, w26, lsr #18
+# CHECK-NEXT: 1 2 0.50 add w27, w28, w29, lsr #31
+# CHECK-NEXT: 1 2 0.50 add w2, w3, w4, asr #0
+# CHECK-NEXT: 1 2 0.50 add w5, w6, w7, asr #21
+# CHECK-NEXT: 1 2 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 2 0.50 add x9, x3, xzr, lsl #10
+# CHECK-NEXT: 1 2 0.50 add x17, x29, x20, lsl #63
+# CHECK-NEXT: 1 2 0.50 add x21, x22, x23, lsr #0
+# CHECK-NEXT: 1 2 0.50 add x24, x25, x26, lsr #18
+# CHECK-NEXT: 1 2 0.50 add x27, x28, x29, lsr #63
+# CHECK-NEXT: 1 2 0.50 add x2, x3, x4, asr #0
+# CHECK-NEXT: 1 2 0.50 add x5, x6, x7, asr #21
+# CHECK-NEXT: 1 2 0.50 add x8, x9, x10, asr #63
+# CHECK-NEXT: 1 1 0.50 adds w3, w5, w7
+# 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 2 0.50 adds w9, w3, wzr, lsl #10
+# CHECK-NEXT: 1 2 0.50 adds w17, w29, w20, lsl #31
+# CHECK-NEXT: 1 2 0.50 adds w21, w22, w23, lsr #0
+# CHECK-NEXT: 1 2 0.50 adds w24, w25, w26, lsr #18
+# CHECK-NEXT: 1 2 0.50 adds w27, w28, w29, lsr #31
+# CHECK-NEXT: 1 2 0.50 adds w2, w3, w4, asr #0
+# CHECK-NEXT: 1 2 0.50 adds w5, w6, w7, asr #21
+# CHECK-NEXT: 1 2 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 2 0.50 adds x9, x3, xzr, lsl #10
+# CHECK-NEXT: 1 2 0.50 adds x17, x29, x20, lsl #63
+# CHECK-NEXT: 1 2 0.50 adds x21, x22, x23, lsr #0
+# CHECK-NEXT: 1 2 0.50 adds x24, x25, x26, lsr #18
+# CHECK-NEXT: 1 2 0.50 adds x27, x28, x29, lsr #63
+# CHECK-NEXT: 1 2 0.50 adds x2, x3, x4, asr #0
+# CHECK-NEXT: 1 2 0.50 adds x5, x6, x7, asr #21
+# CHECK-NEXT: 1 2 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 2 0.50 sub w9, w3, wzr, lsl #10
+# CHECK-NEXT: 1 2 0.50 sub w17, w29, w20, lsl #31
+# CHECK-NEXT: 1 2 0.50 sub w21, w22, w23, lsr #0
+# CHECK-NEXT: 1 2 0.50 sub w24, w25, w26, lsr #18
+# CHECK-NEXT: 1 2 0.50 sub w27, w28, w29, lsr #31
+# CHECK-NEXT: 1 2 0.50 sub w2, w3, w4, asr #0
+# CHECK-NEXT: 1 2 0.50 sub w5, w6, w7, asr #21
+# CHECK-NEXT: 1 2 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 2 0.50 sub x9, x3, xzr, lsl #10
+# CHECK-NEXT: 1 2 0.50 sub x17, x29, x20, lsl #63
+# CHECK-NEXT: 1 2 0.50 sub x21, x22, x23, lsr #0
+# CHECK-NEXT: 1 2 0.50 sub x24, x25, x26, lsr #18
+# CHECK-NEXT: 1 2 0.50 sub x27, x28, x29, lsr #63
+# CHECK-NEXT: 1 2 0.50 sub x2, x3, x4, asr #0
+# CHECK-NEXT: 1 2 0.50 sub x5, x6, x7, asr #21
+# CHECK-NEXT: 1 2 0.50 sub x8, x9, x10, asr #63
+# 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 2 0.50 subs w9, w3, wzr, lsl #10
+# CHECK-NEXT: 1 2 0.50 subs w17, w29, w20, lsl #31
+# CHECK-NEXT: 1 2 0.50 subs w21, w22, w23, lsr #0
+# CHECK-NEXT: 1 2 0.50 subs w24, w25, w26, lsr #18
+# CHECK-NEXT: 1 2 0.50 subs w27, w28, w29, lsr #31
+# CHECK-NEXT: 1 2 0.50 subs w2, w3, w4, asr #0
+# CHECK-NEXT: 1 2 0.50 subs w5, w6, w7, asr #21
+# CHECK-NEXT: 1 2 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 2 0.50 subs x9, x3, xzr, lsl #10
+# CHECK-NEXT: 1 2 0.50 subs x17, x29, x20, lsl #63
+# CHECK-NEXT: 1 2 0.50 subs x21, x22, x23, lsr #0
+# CHECK-NEXT: 1 2 0.50 subs x24, x25, x26, lsr #18
+# CHECK-NEXT: 1 2 0.50 subs x27, x28, x29, lsr #63
+# CHECK-NEXT: 1 2 0.50 subs x2, x3, x4, asr #0
+# CHECK-NEXT: 1 2 0.50 subs x5, x6, x7, asr #21
+# CHECK-NEXT: 1 2 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 2 0.50 cmn w8, w9, lsl #15
+# CHECK-NEXT: 1 2 0.50 cmn w10, w11, lsl #31
+# CHECK-NEXT: 1 2 0.50 cmn w12, w13, lsr #0
+# CHECK-NEXT: 1 2 0.50 cmn w14, w15, lsr #21
+# CHECK-NEXT: 1 2 0.50 cmn w16, w17, lsr #31
+# CHECK-NEXT: 1 2 0.50 cmn w18, w19, asr #0
+# CHECK-NEXT: 1 2 0.50 cmn w20, w21, asr #22
+# CHECK-NEXT: 1 2 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 2 0.50 cmn x8, x9, lsl #15
+# CHECK-NEXT: 1 2 0.50 cmn x10, x11, lsl #63
+# CHECK-NEXT: 1 2 0.50 cmn x12, x13, lsr #0
+# CHECK-NEXT: 1 2 0.50 cmn x14, x15, lsr #41
+# CHECK-NEXT: 1 2 0.50 cmn x16, x17, lsr #63
+# CHECK-NEXT: 1 2 0.50 cmn x18, x19, asr #0
+# CHECK-NEXT: 1 2 0.50 cmn x20, x21, asr #55
+# CHECK-NEXT: 1 2 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 2 0.50 cmp w8, w9, lsl #15
+# CHECK-NEXT: 1 2 0.50 cmp w10, w11, lsl #31
+# CHECK-NEXT: 1 2 0.50 cmp w12, w13, lsr #0
+# CHECK-NEXT: 1 2 0.50 cmp w14, w15, lsr #21
+# CHECK-NEXT: 1 2 0.50 cmp w18, w19, asr #0
+# CHECK-NEXT: 1 2 0.50 cmp w20, w21, asr #22
+# CHECK-NEXT: 1 2 0.50 cmp w22, w23, asr #31
+# 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 2 0.50 cmp x8, x9, lsl #15
+# CHECK-NEXT: 1 2 0.50 cmp x10, x11, lsl #63
+# CHECK-NEXT: 1 2 0.50 cmp x12, x13, lsr #0
+# CHECK-NEXT: 1 2 0.50 cmp x14, x15, lsr #41
+# CHECK-NEXT: 1 2 0.50 cmp x16, x17, lsr #63
+# CHECK-NEXT: 1 2 0.50 cmp x18, x19, asr #0
+# CHECK-NEXT: 1 2 0.50 cmp x20, x21, asr #55
+# CHECK-NEXT: 1 2 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 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 0.50 adcs w29, w27, w25
+# CHECK-NEXT: 1 1 0.50 adcs wzr, w3, w4
+# CHECK-NEXT: 1 1 0.50 adcs w9, wzr, w10
+# CHECK-NEXT: 1 1 0.50 adcs w20, w0, wzr
+# CHECK-NEXT: 1 1 0.50 adcs x29, x27, x25
+# CHECK-NEXT: 1 1 0.50 adcs xzr, x3, x4
+# CHECK-NEXT: 1 1 0.50 adcs x9, xzr, x10
+# CHECK-NEXT: 1 1 0.50 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 0.50 sbcs w29, w27, w25
+# CHECK-NEXT: 1 1 0.50 sbcs wzr, w3, w4
+# CHECK-NEXT: 1 1 0.50 ngcs w9, w10
+# CHECK-NEXT: 1 1 0.50 sbcs w20, w0, wzr
+# CHECK-NEXT: 1 1 0.50 sbcs x29, x27, x25
+# CHECK-NEXT: 1 1 0.50 sbcs xzr, x3, x4
+# CHECK-NEXT: 1 1 0.50 ngcs x9, x10
+# CHECK-NEXT: 1 1 0.50 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 0.50 ngcs w3, w12
+# CHECK-NEXT: 1 1 0.50 ngcs wzr, w9
+# CHECK-NEXT: 1 1 0.50 ngcs w23, wzr
+# CHECK-NEXT: 1 1 0.50 ngcs x29, x30
+# CHECK-NEXT: 1 1 0.50 ngcs xzr, x0
+# CHECK-NEXT: 1 1 0.50 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 lsr w3, w2, #0
+# 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 sbfx w9, w10, #0, #1
+# CHECK-NEXT: 1 2 0.50 sbfiz x2, x3, #63, #1
+# CHECK-NEXT: 1 2 0.50 asr x19, x20, #0
+# CHECK-NEXT: 1 2 0.50 sbfiz x9, x10, #5, #59
+# CHECK-NEXT: 1 2 0.50 asr w9, w10, #0
+# 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 bfxil w9, w10, #0, #1
+# CHECK-NEXT: 1 2 0.50 bfi x2, x3, #63, #1
+# CHECK-NEXT: 1 2 0.50 bfxil x19, x20, #0, #64
+# CHECK-NEXT: 1 2 0.50 bfi x9, x10, #5, #59
+# CHECK-NEXT: 1 2 0.50 bfxil w9, w10, #0, #32
+# 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 ubfx w9, w10, #0, #1
+# CHECK-NEXT: 1 2 0.50 lsl x2, x3, #63
+# CHECK-NEXT: 1 2 0.50 lsr x19, x20, #0
+# CHECK-NEXT: 1 2 0.50 lsl x9, x10, #5
+# CHECK-NEXT: 1 2 0.50 lsr w9, w10, #0
+# 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
@@ -1740,123 +1740,123 @@ xpaclri
# 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 0.33 ccmp w1, #31, #0, eq
-# CHECK-NEXT: 1 1 0.33 ccmp w3, #0, #15, hs
-# CHECK-NEXT: 1 1 0.33 ccmp wzr, #15, #13, hs
-# CHECK-NEXT: 1 1 0.33 ccmp x9, #31, #0, le
-# CHECK-NEXT: 1 1 0.33 ccmp x3, #0, #15, gt
-# CHECK-NEXT: 1 1 0.33 ccmp xzr, #5, #7, ne
-# CHECK-NEXT: 1 1 0.33 ccmn w1, #31, #0, eq
-# CHECK-NEXT: 1 1 0.33 ccmn w3, #0, #15, hs
-# CHECK-NEXT: 1 1 0.33 ccmn wzr, #15, #13, hs
-# CHECK-NEXT: 1 1 0.33 ccmn x9, #31, #0, le
-# CHECK-NEXT: 1 1 0.33 ccmn x3, #0, #15, gt
-# CHECK-NEXT: 1 1 0.33 ccmn xzr, #5, #7, ne
-# CHECK-NEXT: 1 1 0.33 ccmp w1, wzr, #0, eq
-# CHECK-NEXT: 1 1 0.33 ccmp w3, w0, #15, hs
-# CHECK-NEXT: 1 1 0.33 ccmp wzr, w15, #13, hs
-# CHECK-NEXT: 1 1 0.33 ccmp x9, xzr, #0, le
-# CHECK-NEXT: 1 1 0.33 ccmp x3, x0, #15, gt
-# CHECK-NEXT: 1 1 0.33 ccmp xzr, x5, #7, ne
-# CHECK-NEXT: 1 1 0.33 ccmn w1, wzr, #0, eq
-# CHECK-NEXT: 1 1 0.33 ccmn w3, w0, #15, hs
-# CHECK-NEXT: 1 1 0.33 ccmn wzr, w15, #13, hs
-# CHECK-NEXT: 1 1 0.33 ccmn x9, xzr, #0, le
-# CHECK-NEXT: 1 1 0.33 ccmn x3, x0, #15, gt
-# CHECK-NEXT: 1 1 0.33 ccmn xzr, x5, #7, ne
-# CHECK-NEXT: 1 1 0.33 csel w1, w0, w19, ne
-# CHECK-NEXT: 1 1 0.33 csel wzr, w5, w9, eq
-# CHECK-NEXT: 1 1 0.33 csel w9, wzr, w30, gt
-# CHECK-NEXT: 1 1 0.33 csel w1, w28, wzr, mi
-# CHECK-NEXT: 1 1 0.33 csel x19, x23, x29, lt
-# CHECK-NEXT: 1 1 0.33 csel xzr, x3, x4, ge
-# CHECK-NEXT: 1 1 0.33 csel x5, xzr, x6, hs
-# CHECK-NEXT: 1 1 0.33 csel x7, x8, xzr, lo
-# CHECK-NEXT: 1 1 0.33 csinc w1, w0, w19, ne
-# CHECK-NEXT: 1 1 0.33 csinc wzr, w5, w9, eq
-# CHECK-NEXT: 1 1 0.33 csinc w9, wzr, w30, gt
-# CHECK-NEXT: 1 1 0.33 csinc w1, w28, wzr, mi
-# CHECK-NEXT: 1 1 0.33 csinc x19, x23, x29, lt
-# CHECK-NEXT: 1 1 0.33 csinc xzr, x3, x4, ge
-# CHECK-NEXT: 1 1 0.33 csinc x5, xzr, x6, hs
-# CHECK-NEXT: 1 1 0.33 csinc x7, x8, xzr, lo
-# CHECK-NEXT: 1 1 0.33 csinv w1, w0, w19, ne
-# CHECK-NEXT: 1 1 0.33 csinv wzr, w5, w9, eq
-# CHECK-NEXT: 1 1 0.33 csinv w9, wzr, w30, gt
-# CHECK-NEXT: 1 1 0.33 csinv w1, w28, wzr, mi
-# CHECK-NEXT: 1 1 0.33 csinv x19, x23, x29, lt
-# CHECK-NEXT: 1 1 0.33 csinv xzr, x3, x4, ge
-# CHECK-NEXT: 1 1 0.33 csinv x5, xzr, x6, hs
-# CHECK-NEXT: 1 1 0.33 csinv x7, x8, xzr, lo
-# CHECK-NEXT: 1 1 0.33 csneg w1, w0, w19, ne
-# CHECK-NEXT: 1 1 0.33 csneg wzr, w5, w9, eq
-# CHECK-NEXT: 1 1 0.33 csneg w9, wzr, w30, gt
-# CHECK-NEXT: 1 1 0.33 csneg w1, w28, wzr, mi
-# CHECK-NEXT: 1 1 0.33 csneg x19, x23, x29, lt
-# CHECK-NEXT: 1 1 0.33 csneg xzr, x3, x4, ge
-# CHECK-NEXT: 1 1 0.33 csneg x5, xzr, x6, hs
-# CHECK-NEXT: 1 1 0.33 csneg x7, x8, xzr, lo
-# CHECK-NEXT: 1 1 0.33 cset w3, eq
-# CHECK-NEXT: 1 1 0.33 cset x9, pl
-# CHECK-NEXT: 1 1 0.33 csetm w20, ne
-# CHECK-NEXT: 1 1 0.33 csetm x30, ge
-# CHECK-NEXT: 1 1 0.33 csinc w2, wzr, wzr, al
-# CHECK-NEXT: 1 1 0.33 csinv x3, xzr, xzr, nv
-# CHECK-NEXT: 1 1 0.33 cinc w3, w5, gt
-# CHECK-NEXT: 1 1 0.33 cinc wzr, w4, le
-# CHECK-NEXT: 1 1 0.33 cset w9, lt
-# CHECK-NEXT: 1 1 0.33 cinc x3, x5, gt
-# CHECK-NEXT: 1 1 0.33 cinc xzr, x4, le
-# CHECK-NEXT: 1 1 0.33 cset x9, lt
-# CHECK-NEXT: 1 1 0.33 csinc w5, w6, w6, nv
-# CHECK-NEXT: 1 1 0.33 csinc x1, x2, x2, al
-# CHECK-NEXT: 1 1 0.33 cinv w3, w5, gt
-# CHECK-NEXT: 1 1 0.33 cinv wzr, w4, le
-# CHECK-NEXT: 1 1 0.33 csetm w9, lt
-# CHECK-NEXT: 1 1 0.33 cinv x3, x5, gt
-# CHECK-NEXT: 1 1 0.33 cinv xzr, x4, le
-# CHECK-NEXT: 1 1 0.33 csetm x9, lt
-# CHECK-NEXT: 1 1 0.33 csinv x1, x0, x0, al
-# CHECK-NEXT: 1 1 0.33 csinv w9, w8, w8, nv
-# CHECK-NEXT: 1 1 0.33 cneg w3, w5, gt
-# CHECK-NEXT: 1 1 0.33 cneg wzr, w4, le
-# CHECK-NEXT: 1 1 0.33 cneg w9, wzr, lt
-# CHECK-NEXT: 1 1 0.33 cneg x3, x5, gt
-# CHECK-NEXT: 1 1 0.33 cneg xzr, x4, le
-# CHECK-NEXT: 1 1 0.33 cneg x9, xzr, lt
-# CHECK-NEXT: 1 1 0.33 csneg x4, x8, x8, al
-# CHECK-NEXT: 1 1 0.33 csinv w9, w8, w8, nv
-# CHECK-NEXT: 1 2 0.33 rbit w0, w7
-# CHECK-NEXT: 1 2 0.33 rbit x18, x3
-# CHECK-NEXT: 1 1 0.33 rev16 w17, w1
-# CHECK-NEXT: 1 1 0.33 rev16 x5, x2
-# CHECK-NEXT: 1 1 0.33 rev w18, w0
-# CHECK-NEXT: 1 1 0.33 rev32 x20, x1
-# CHECK-NEXT: 1 1 0.33 rev x22, x2
-# CHECK-NEXT: 1 1 0.33 clz w24, w3
-# CHECK-NEXT: 1 1 0.33 clz x26, x4
-# CHECK-NEXT: 1 1 0.33 cls w3, w5
-# CHECK-NEXT: 1 1 0.33 cls x20, x5
+# CHECK-NEXT: 1 1 0.50 ccmp w1, #31, #0, eq
+# CHECK-NEXT: 1 1 0.50 ccmp w3, #0, #15, hs
+# CHECK-NEXT: 1 1 0.50 ccmp wzr, #15, #13, hs
+# CHECK-NEXT: 1 1 0.50 ccmp x9, #31, #0, le
+# CHECK-NEXT: 1 1 0.50 ccmp x3, #0, #15, gt
+# CHECK-NEXT: 1 1 0.50 ccmp xzr, #5, #7, ne
+# CHECK-NEXT: 1 1 0.50 ccmn w1, #31, #0, eq
+# CHECK-NEXT: 1 1 0.50 ccmn w3, #0, #15, hs
+# CHECK-NEXT: 1 1 0.50 ccmn wzr, #15, #13, hs
+# CHECK-NEXT: 1 1 0.50 ccmn x9, #31, #0, le
+# CHECK-NEXT: 1 1 0.50 ccmn x3, #0, #15, gt
+# CHECK-NEXT: 1 1 0.50 ccmn xzr, #5, #7, ne
+# CHECK-NEXT: 1 1 0.50 ccmp w1, wzr, #0, eq
+# CHECK-NEXT: 1 1 0.50 ccmp w3, w0, #15, hs
+# CHECK-NEXT: 1 1 0.50 ccmp wzr, w15, #13, hs
+# CHECK-NEXT: 1 1 0.50 ccmp x9, xzr, #0, le
+# CHECK-NEXT: 1 1 0.50 ccmp x3, x0, #15, gt
+# CHECK-NEXT: 1 1 0.50 ccmp xzr, x5, #7, ne
+# CHECK-NEXT: 1 1 0.50 ccmn w1, wzr, #0, eq
+# CHECK-NEXT: 1 1 0.50 ccmn w3, w0, #15, hs
+# CHECK-NEXT: 1 1 0.50 ccmn wzr, w15, #13, hs
+# CHECK-NEXT: 1 1 0.50 ccmn x9, xzr, #0, le
+# CHECK-NEXT: 1 1 0.50 ccmn x3, x0, #15, gt
+# CHECK-NEXT: 1 1 0.50 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 csinv w9, w8, w8, nv
+# CHECK-NEXT: 1 2 0.50 rbit w0, w7
+# CHECK-NEXT: 1 2 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 8 8.00 udiv w0, w7, w10
# CHECK-NEXT: 1 16 16.00 udiv x9, x22, x4
# CHECK-NEXT: 1 8 8.00 sdiv w12, w21, w0
# CHECK-NEXT: 1 16 16.00 sdiv x13, x2, x1
-# CHECK-NEXT: 1 2 0.33 lsl w11, w12, w13
-# CHECK-NEXT: 1 2 0.33 lsl x14, x15, x16
-# CHECK-NEXT: 1 2 0.33 lsr w17, w18, w19
-# CHECK-NEXT: 1 2 0.33 lsr x20, x21, x22
-# CHECK-NEXT: 1 2 0.33 asr w23, w24, w25
-# CHECK-NEXT: 1 2 0.33 asr x26, x27, x28
-# CHECK-NEXT: 1 2 0.33 ror w0, w1, w2
-# CHECK-NEXT: 1 2 0.33 ror x3, x4, x5
-# CHECK-NEXT: 1 2 0.33 lsl w6, w7, w8
-# CHECK-NEXT: 1 2 0.33 lsl x9, x10, x11
-# CHECK-NEXT: 1 2 0.33 lsr w12, w13, w14
-# CHECK-NEXT: 1 2 0.33 lsr x15, x16, x17
-# CHECK-NEXT: 1 2 0.33 asr w18, w19, w20
-# CHECK-NEXT: 1 2 0.33 asr x21, x22, x23
-# CHECK-NEXT: 1 2 0.33 ror w24, w25, w26
-# CHECK-NEXT: 1 2 0.33 ror x27, x28, x29
+# CHECK-NEXT: 1 2 0.50 lsl w11, w12, w13
+# CHECK-NEXT: 1 2 0.50 lsl x14, x15, x16
+# CHECK-NEXT: 1 2 0.50 lsr w17, w18, w19
+# CHECK-NEXT: 1 2 0.50 lsr x20, x21, x22
+# CHECK-NEXT: 1 2 0.50 asr w23, w24, w25
+# CHECK-NEXT: 1 2 0.50 asr x26, x27, x28
+# CHECK-NEXT: 1 2 0.50 ror w0, w1, w2
+# CHECK-NEXT: 1 2 0.50 ror x3, x4, x5
+# CHECK-NEXT: 1 2 0.50 lsl w6, w7, w8
+# CHECK-NEXT: 1 2 0.50 lsl x9, x10, x11
+# CHECK-NEXT: 1 2 0.50 lsr w12, w13, w14
+# CHECK-NEXT: 1 2 0.50 lsr x15, x16, x17
+# CHECK-NEXT: 1 2 0.50 asr w18, w19, w20
+# CHECK-NEXT: 1 2 0.50 asr x21, x22, x23
+# CHECK-NEXT: 1 2 0.50 ror w24, w25, w26
+# CHECK-NEXT: 1 2 0.50 ror x27, x28, x29
# CHECK-NEXT: 1 4 2.00 smulh x30, x29, x28
# CHECK-NEXT: 1 4 2.00 smulh xzr, x27, x26
# CHECK-NEXT: 1 4 2.00 umulh x30, x29, x28
@@ -1908,13 +1908,13 @@ xpaclri
# CHECK-NEXT: 1 3 1.00 umull x11, w13, w17
# CHECK-NEXT: 1 3 1.00 smnegl x11, w13, w17
# CHECK-NEXT: 1 3 1.00 umnegl x11, w13, w17
-# CHECK-NEXT: 1 2 0.33 extr w3, w5, w7, #0
-# CHECK-NEXT: 1 2 0.33 extr w11, w13, w17, #31
-# CHECK-NEXT: 1 2 0.33 extr x3, x5, x7, #15
-# CHECK-NEXT: 1 2 0.33 extr x11, x13, x17, #63
-# CHECK-NEXT: 1 2 0.33 ror x19, x23, #24
-# CHECK-NEXT: 1 2 0.33 ror x29, xzr, #63
-# CHECK-NEXT: 1 2 0.33 ror w9, w13, #31
+# 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 2 0.50 ror x19, x23, #24
+# CHECK-NEXT: 1 2 0.50 ror x29, xzr, #63
+# CHECK-NEXT: 1 2 0.50 ror w9, w13, #31
# CHECK-NEXT: 1 3 0.50 fcmp s3, s5
# CHECK-NEXT: 1 3 0.50 fcmp s31, #0.0
# CHECK-NEXT: 1 3 0.50 fcmp s31, #0.0
@@ -2535,50 +2535,50 @@ xpaclri
# CHECK-NEXT: 1 1 1.00 * stnp q3, q5, [sp]
# CHECK-NEXT: 1 1 1.00 * stnp q17, q19, [sp, #1008]
# CHECK-NEXT: 2 2 1.00 * ldnp q23, q29, [x1, #-1024]
-# CHECK-NEXT: 1 1 0.33 mov w3, #983055
-# CHECK-NEXT: 1 1 0.33 mov x10, #-6148914691236517206
-# CHECK-NEXT: 1 1 0.33 and w12, w23, w21
-# CHECK-NEXT: 1 2 0.33 and w16, w15, w1, lsl #1
-# CHECK-NEXT: 1 2 0.33 and w9, w4, w10, lsl #31
-# CHECK-NEXT: 1 1 0.33 and w3, w30, w11
-# CHECK-NEXT: 1 2 0.33 and x3, x5, x7, lsl #63
-# CHECK-NEXT: 1 2 0.33 and x5, x14, x19, asr #4
-# CHECK-NEXT: 1 2 0.33 and w3, w17, w19, ror #31
-# CHECK-NEXT: 1 2 0.33 and w0, w2, wzr, lsr #17
-# CHECK-NEXT: 1 2 0.33 and w3, w30, w11, asr #2
-# CHECK-NEXT: 1 1 0.33 and xzr, x4, x26
-# CHECK-NEXT: 1 2 0.33 and w3, wzr, w20, ror #2
-# CHECK-NEXT: 1 2 0.33 and x7, x20, xzr, asr #63
-# CHECK-NEXT: 1 2 0.33 bic x13, x20, x14, lsl #47
-# CHECK-NEXT: 1 1 0.33 bic w2, w7, w9
-# CHECK-NEXT: 1 2 0.33 orr w2, w7, w0, asr #31
-# CHECK-NEXT: 1 2 0.33 orr x8, x9, x10, lsl #12
-# CHECK-NEXT: 1 2 0.33 orn x3, x5, x7, asr #2
-# CHECK-NEXT: 1 1 0.33 orn w2, w5, w29
-# CHECK-NEXT: 1 2 0.33 ands w7, wzr, w9, lsl #1
-# CHECK-NEXT: 1 2 0.33 ands x3, x5, x20, ror #63
-# CHECK-NEXT: 1 1 0.33 bics w3, w5, w7
-# CHECK-NEXT: 1 2 0.33 bics x3, xzr, x3, lsl #1
-# CHECK-NEXT: 1 2 0.33 tst w3, w7, lsl #31
-# CHECK-NEXT: 1 2 0.33 tst x2, x20, asr #2
-# CHECK-NEXT: 1 1 0.33 mov x3, x6
-# CHECK-NEXT: 1 1 0.33 mov x3, xzr
-# CHECK-NEXT: 1 1 0.33 mov wzr, w2
-# CHECK-NEXT: 1 1 0.33 mov w3, w5
-# CHECK-NEXT: 1 1 0.33 movz w2, #0, lsl #16
-# CHECK-NEXT: 1 1 0.33 mov w2, #-1235
-# CHECK-NEXT: 1 1 0.33 mov x2, #5299989643264
-# CHECK-NEXT: 1 1 0.33 mov x2, #0
-# CHECK-NEXT: 1 1 0.33 movk w3, #0
-# CHECK-NEXT: 1 1 0.33 movz x4, #0, lsl #16
-# CHECK-NEXT: 1 1 0.33 movk w5, #0, lsl #16
-# CHECK-NEXT: 1 1 0.33 movz x6, #0, lsl #32
-# CHECK-NEXT: 1 1 0.33 movk x7, #0, lsl #32
-# CHECK-NEXT: 1 1 0.33 movz x8, #0, lsl #48
-# CHECK-NEXT: 1 1 0.33 movk x9, #0, lsl #48
-# CHECK-NEXT: 1 1 0.33 adr x2, #1600
-# CHECK-NEXT: 1 1 0.33 adrp x21, #6553600
-# CHECK-NEXT: 1 1 0.33 adr x0, #262144
+# CHECK-NEXT: 1 1 0.50 mov w3, #983055
+# CHECK-NEXT: 1 1 0.50 mov x10, #-6148914691236517206
+# CHECK-NEXT: 1 1 0.50 and w12, w23, w21
+# CHECK-NEXT: 1 2 0.50 and w16, w15, w1, lsl #1
+# CHECK-NEXT: 1 2 0.50 and w9, w4, w10, lsl #31
+# CHECK-NEXT: 1 1 0.50 and w3, w30, w11
+# CHECK-NEXT: 1 2 0.50 and x3, x5, x7, lsl #63
+# CHECK-NEXT: 1 2 0.50 and x5, x14, x19, asr #4
+# CHECK-NEXT: 1 2 0.50 and w3, w17, w19, ror #31
+# CHECK-NEXT: 1 2 0.50 and w0, w2, wzr, lsr #17
+# CHECK-NEXT: 1 2 0.50 and w3, w30, w11, asr #2
+# CHECK-NEXT: 1 1 0.50 and xzr, x4, x26
+# CHECK-NEXT: 1 2 0.50 and w3, wzr, w20, ror #2
+# CHECK-NEXT: 1 2 0.50 and x7, x20, xzr, asr #63
+# CHECK-NEXT: 1 2 0.50 bic x13, x20, x14, lsl #47
+# CHECK-NEXT: 1 1 0.50 bic w2, w7, w9
+# CHECK-NEXT: 1 2 0.50 orr w2, w7, w0, asr #31
+# CHECK-NEXT: 1 2 0.50 orr x8, x9, x10, lsl #12
+# CHECK-NEXT: 1 2 0.50 orn x3, x5, x7, asr #2
+# CHECK-NEXT: 1 1 0.50 orn w2, w5, w29
+# CHECK-NEXT: 1 2 0.50 ands w7, wzr, w9, lsl #1
+# CHECK-NEXT: 1 2 0.50 ands x3, x5, x20, ror #63
+# CHECK-NEXT: 1 1 0.50 bics w3, w5, w7
+# CHECK-NEXT: 1 2 0.50 bics x3, xzr, x3, lsl #1
+# CHECK-NEXT: 1 2 0.50 tst w3, w7, lsl #31
+# CHECK-NEXT: 1 2 0.50 tst x2, x20, asr #2
+# CHECK-NEXT: 1 1 0.50 mov x3, x6
+# CHECK-NEXT: 1 1 0.50 mov x3, xzr
+# CHECK-NEXT: 1 1 0.50 mov wzr, w2
+# CHECK-NEXT: 1 1 0.50 mov w3, w5
+# CHECK-NEXT: 1 1 0.50 movz w2, #0, lsl #16
+# CHECK-NEXT: 1 1 0.50 mov w2, #-1235
+# CHECK-NEXT: 1 1 0.50 mov x2, #5299989643264
+# CHECK-NEXT: 1 1 0.50 mov x2, #0
+# CHECK-NEXT: 1 1 0.50 movk w3, #0
+# CHECK-NEXT: 1 1 0.50 movz x4, #0, lsl #16
+# CHECK-NEXT: 1 1 0.50 movk w5, #0, lsl #16
+# CHECK-NEXT: 1 1 0.50 movz x6, #0, lsl #32
+# CHECK-NEXT: 1 1 0.50 movk x7, #0, lsl #32
+# CHECK-NEXT: 1 1 0.50 movz x8, #0, lsl #48
+# CHECK-NEXT: 1 1 0.50 movk x9, #0, lsl #48
+# CHECK-NEXT: 1 1 0.50 adr x2, #1600
+# CHECK-NEXT: 1 1 0.50 adrp x21, #6553600
+# CHECK-NEXT: 1 1 0.50 adr x0, #262144
# CHECK-NEXT: 1 1 1.00 tbz x12, #62, #0
# CHECK-NEXT: 1 1 1.00 tbz x12, #62, #4
# CHECK-NEXT: 1 1 1.00 tbz x12, #62, #-32768
@@ -2643,8 +2643,7 @@ xpaclri
# CHECK: Resources:
# CHECK-NEXT: [0] - C1NanoUnitALU0
-# CHECK-NEXT: [1.0] - C1NanoUnitALU1
-# CHECK-NEXT: [1.1] - C1NanoUnitALU1
+# CHECK-NEXT: [1] - C1NanoUnitALU1
# CHECK-NEXT: [2] - C1NanoUnitB
# CHECK-NEXT: [3] - C1NanoUnitDiv
# CHECK-NEXT: [4] - C1NanoUnitLd1
@@ -2658,1218 +2657,1218 @@ xpaclri
# CHECK-NEXT: [11] - C1NanoUnitVMC
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1.0] [1.1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11]
-# CHECK-NEXT: 155.00 155.00 155.00 34.00 48.00 161.00 289.00 69.00 48.00 110.50 110.50 6.00 6.00 87.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11]
+# CHECK-NEXT: 232.50 232.50 34.00 48.00 161.00 289.00 69.00 48.00 110.50 110.50 6.00 6.00 87.00
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1.0] [1.1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11] Instructions:
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w2, w3, #4095
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w30, w29, #1, lsl #12
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w13, w5, #4095, lsl #12
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x5, x7, #1638
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w20, wsp, #801
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add wsp, wsp, #1104
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add wsp, w30, #4084
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x0, x24, #291
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x3, x24, #4095, lsl #12
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x8, sp, #1074
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add sp, x29, #3816
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w0, wsp, #4077
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w4, w20, #546, lsl #12
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub sp, sp, #288
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub wsp, w19, #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w13, w23, #291, lsl #12
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w2, #4095
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w20, wsp, #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x3, #1, lsl #12
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp sp, #20, lsl #12
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x30, #4095
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x4, sp, #3822
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w3, #291, lsl #12
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn wsp, #1365
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn sp, #1092, lsl #12
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov sp, x30
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov wsp, w20
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov x11, sp
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov w24, wsp
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w3, w5, w7
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add wzr, w3, w5
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w20, wzr, w4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w4, w6, wzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w11, w13, w15
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w9, w3, wzr, lsl #10
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w17, w29, w20, lsl #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w21, w22, w23, lsr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w24, w25, w26, lsr #18
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w27, w28, w29, lsr #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w2, w3, w4, asr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w5, w6, w7, asr #21
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add w8, w9, w10, asr #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x3, x5, x7
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add xzr, x3, x5
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x20, xzr, x4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x4, x6, xzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x11, x13, x15
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x9, x3, xzr, lsl #10
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x17, x29, x20, lsl #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x21, x22, x23, lsr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x24, x25, x26, lsr #18
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x27, x28, x29, lsr #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x2, x3, x4, asr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x5, x6, x7, asr #21
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - add x8, x9, x10, asr #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w3, w5, w7
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w3, w5
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w20, wzr, w4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w4, w6, wzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w11, w13, w15
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w9, w3, wzr, lsl #10
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w17, w29, w20, lsl #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w21, w22, w23, lsr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w24, w25, w26, lsr #18
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w27, w28, w29, lsr #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w2, w3, w4, asr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w5, w6, w7, asr #21
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds w8, w9, w10, asr #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x3, x5, x7
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x3, x5
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x20, xzr, x4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x4, x6, xzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x11, x13, x15
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x9, x3, xzr, lsl #10
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x17, x29, x20, lsl #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x21, x22, x23, lsr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x24, x25, x26, lsr #18
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x27, x28, x29, lsr #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x2, x3, x4, asr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x5, x6, x7, asr #21
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adds x8, x9, x10, asr #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w3, w5, w7
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub wzr, w3, w5
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w4, w6, wzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w11, w13, w15
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w9, w3, wzr, lsl #10
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w17, w29, w20, lsl #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w21, w22, w23, lsr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w24, w25, w26, lsr #18
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w27, w28, w29, lsr #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w2, w3, w4, asr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w5, w6, w7, asr #21
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub w8, w9, w10, asr #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x3, x5, x7
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub xzr, x3, x5
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x4, x6, xzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x11, x13, x15
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x9, x3, xzr, lsl #10
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x17, x29, x20, lsl #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x21, x22, x23, lsr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x24, x25, x26, lsr #18
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x27, x28, x29, lsr #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x2, x3, x4, asr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x5, x6, x7, asr #21
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sub x8, x9, x10, asr #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w3, w5, w7
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w3, w5
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w4, w6, wzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w11, w13, w15
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w9, w3, wzr, lsl #10
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w17, w29, w20, lsl #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w21, w22, w23, lsr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w24, w25, w26, lsr #18
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w27, w28, w29, lsr #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w2, w3, w4, asr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w5, w6, w7, asr #21
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs w8, w9, w10, asr #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x3, x5, x7
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x3, x5
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x4, x6, xzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x11, x13, x15
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x9, x3, xzr, lsl #10
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x17, x29, x20, lsl #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x21, x22, x23, lsr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x24, x25, x26, lsr #18
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x27, x28, x29, lsr #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x2, x3, x4, asr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x5, x6, x7, asr #21
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - subs x8, x9, x10, asr #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn wzr, w4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w5, wzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w6, w7
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w8, w9, lsl #15
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w10, w11, lsl #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w12, w13, lsr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w14, w15, lsr #21
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w16, w17, lsr #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w18, w19, asr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w20, w21, asr #22
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn w22, w23, asr #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x0, x3
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn xzr, x4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x5, xzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x6, x7
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x8, x9, lsl #15
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x10, x11, lsl #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x12, x13, lsr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x14, x15, lsr #41
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x16, x17, lsr #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x18, x19, asr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x20, x21, asr #55
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmn x22, x23, asr #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w0, w3
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp wzr, w4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w5, wzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w6, w7
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w8, w9, lsl #15
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w10, w11, lsl #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w12, w13, lsr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w14, w15, lsr #21
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w18, w19, asr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w20, w21, asr #22
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp w22, w23, asr #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x0, x3
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp xzr, x4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x5, xzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x6, x7
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x8, x9, lsl #15
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x10, x11, lsl #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x12, x13, lsr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x14, x15, lsr #41
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x16, x17, lsr #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x18, x19, asr #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x20, x21, asr #55
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp x22, x23, asr #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp wzr, w0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cmp xzr, x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adc w29, w27, w25
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adc wzr, w3, w4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adc w9, wzr, w10
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adc w20, w0, wzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adc x29, x27, x25
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adc xzr, x3, x4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adc x9, xzr, x10
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adc x20, x0, xzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adcs w29, w27, w25
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adcs wzr, w3, w4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adcs w9, wzr, w10
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adcs w20, w0, wzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adcs x29, x27, x25
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adcs xzr, x3, x4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adcs x9, xzr, x10
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adcs x20, x0, xzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbc w29, w27, w25
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbc wzr, w3, w4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngc w9, w10
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbc w20, w0, wzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbc x29, x27, x25
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbc xzr, x3, x4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngc x9, x10
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbc x20, x0, xzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbcs w29, w27, w25
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbcs wzr, w3, w4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngcs w9, w10
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbcs w20, w0, wzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbcs x29, x27, x25
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbcs xzr, x3, x4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngcs x9, x10
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbcs x20, x0, xzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngc w3, w12
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngc wzr, w9
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngc w23, wzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngc x29, x30
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngc xzr, x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngc x0, xzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngcs w3, w12
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngcs wzr, w9
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngcs w23, wzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngcs x29, x30
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngcs xzr, x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ngcs x0, xzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfx x1, x2, #3, #2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr x3, x4, #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr wzr, wzr, #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfx w12, w9, #0, #1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ubfiz x4, x5, #52, #11
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ubfx xzr, x4, #0, #1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ubfiz x4, xzr, #1, #6
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr x5, x6, #12
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfi x4, x5, #52, #11
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil xzr, x4, #0, #1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfc x4, #1, #6
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil x5, x6, #12, #52
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sxtb w1, w2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sxtb xzr, w3
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sxth w9, w10
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sxth x0, w1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sxtw x3, w30
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uxtb w1, w2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uxth w9, w10
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ubfx x3, x30, #0, #32
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr w3, w2, #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr w9, w10, #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr x20, x21, #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr w1, wzr, #3
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr w3, w2, #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr w9, w10, #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr x20, x21, #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr wzr, wzr, #3
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr w3, w2, #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl w9, w10, #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl x20, x21, #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl w1, wzr, #3
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfx w9, w10, #0, #1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfiz x2, x3, #63, #1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr x19, x20, #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfiz x9, x10, #5, #59
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr w9, w10, #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfiz w11, w12, #31, #1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfiz w13, w14, #29, #3
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfiz xzr, xzr, #10, #11
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfx w9, w10, #0, #1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr x2, x3, #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr x19, x20, #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr x9, x10, #5
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr w9, w10, #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr w11, w12, #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr w13, w14, #29
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sbfx xzr, xzr, #10, #11
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil w9, w10, #0, #1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfi x2, x3, #63, #1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil x19, x20, #0, #64
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfi x9, x10, #5, #59
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil w9, w10, #0, #32
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfi w11, w12, #31, #1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfi w13, w14, #29, #3
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfc xzr, #10, #11
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil w9, w10, #0, #1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil x2, x3, #63, #1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil x19, x20, #0, #64
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil x9, x10, #5, #59
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil w9, w10, #0, #32
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil w11, w12, #31, #1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil w13, w14, #29, #3
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bfxil xzr, xzr, #10, #11
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ubfx w9, w10, #0, #1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl x2, x3, #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr x19, x20, #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl x9, x10, #5
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr w9, w10, #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl w11, w12, #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl w13, w14, #29
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ubfiz xzr, xzr, #10, #11
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ubfx w9, w10, #0, #1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr x2, x3, #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr x19, x20, #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr x9, x10, #5
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr w9, w10, #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr w11, w12, #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr w13, w14, #29
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ubfx xzr, xzr, #10, #11
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - cbz w5, #4
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - cbz x5, #0
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - cbnz x2, #-4
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - cbnz x26, #1048572
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - cbz wzr, #0
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - cbnz xzr, #0
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - b.ne #4
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - b.ge #1048572
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - b.ge #-4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp w1, #31, #0, eq
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp w3, #0, #15, hs
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp wzr, #15, #13, hs
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp x9, #31, #0, le
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp x3, #0, #15, gt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp xzr, #5, #7, ne
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn w1, #31, #0, eq
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn w3, #0, #15, hs
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn wzr, #15, #13, hs
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn x9, #31, #0, le
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn x3, #0, #15, gt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn xzr, #5, #7, ne
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp w1, wzr, #0, eq
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp w3, w0, #15, hs
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp wzr, w15, #13, hs
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp x9, xzr, #0, le
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp x3, x0, #15, gt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmp xzr, x5, #7, ne
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn w1, wzr, #0, eq
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn w3, w0, #15, hs
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn wzr, w15, #13, hs
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn x9, xzr, #0, le
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn x3, x0, #15, gt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ccmn xzr, x5, #7, ne
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csel w1, w0, w19, ne
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csel wzr, w5, w9, eq
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csel w9, wzr, w30, gt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csel w1, w28, wzr, mi
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csel x19, x23, x29, lt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csel xzr, x3, x4, ge
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csel x5, xzr, x6, hs
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csel x7, x8, xzr, lo
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc w1, w0, w19, ne
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc wzr, w5, w9, eq
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc w9, wzr, w30, gt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc w1, w28, wzr, mi
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc x19, x23, x29, lt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc xzr, x3, x4, ge
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc x5, xzr, x6, hs
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc x7, x8, xzr, lo
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv w1, w0, w19, ne
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv wzr, w5, w9, eq
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv w9, wzr, w30, gt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv w1, w28, wzr, mi
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv x19, x23, x29, lt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv xzr, x3, x4, ge
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv x5, xzr, x6, hs
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv x7, x8, xzr, lo
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csneg w1, w0, w19, ne
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csneg wzr, w5, w9, eq
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csneg w9, wzr, w30, gt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csneg w1, w28, wzr, mi
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csneg x19, x23, x29, lt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csneg xzr, x3, x4, ge
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csneg x5, xzr, x6, hs
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csneg x7, x8, xzr, lo
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cset w3, eq
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cset x9, pl
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csetm w20, ne
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csetm x30, ge
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc w2, wzr, wzr, al
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv x3, xzr, xzr, nv
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cinc w3, w5, gt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cinc wzr, w4, le
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cset w9, lt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cinc x3, x5, gt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cinc xzr, x4, le
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cset x9, lt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc w5, w6, w6, nv
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinc x1, x2, x2, al
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cinv w3, w5, gt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cinv wzr, w4, le
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csetm w9, lt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cinv x3, x5, gt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cinv xzr, x4, le
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csetm x9, lt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv x1, x0, x0, al
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv w9, w8, w8, nv
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cneg w3, w5, gt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cneg wzr, w4, le
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cneg w9, wzr, lt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cneg x3, x5, gt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cneg xzr, x4, le
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cneg x9, xzr, lt
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csneg x4, x8, x8, al
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - csinv w9, w8, w8, nv
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rbit w0, w7
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rbit x18, x3
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rev16 w17, w1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rev16 x5, x2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rev w18, w0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rev32 x20, x1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rev x22, x2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - clz w24, w3
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - clz x26, x4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cls w3, w5
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cls x20, x5
-# CHECK-NEXT: - - - - 8.00 - - - - - - - - - udiv w0, w7, w10
-# CHECK-NEXT: - - - - 16.00 - - - - - - - - - udiv x9, x22, x4
-# CHECK-NEXT: - - - - 8.00 - - - - - - - - - sdiv w12, w21, w0
-# CHECK-NEXT: - - - - 16.00 - - - - - - - - - sdiv x13, x2, x1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl w11, w12, w13
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl x14, x15, x16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr w17, w18, w19
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr x20, x21, x22
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr w23, w24, w25
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr x26, x27, x28
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ror w0, w1, w2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ror x3, x4, x5
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl w6, w7, w8
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsl x9, x10, x11
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr w12, w13, w14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - lsr x15, x16, x17
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr w18, w19, w20
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - asr x21, x22, x23
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ror w24, w25, w26
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ror x27, x28, x29
-# CHECK-NEXT: - - - - - - - 2.00 - - - - - - smulh x30, x29, x28
-# CHECK-NEXT: - - - - - - - 2.00 - - - - - - smulh xzr, x27, x26
-# CHECK-NEXT: - - - - - - - 2.00 - - - - - - umulh x30, x29, x28
-# CHECK-NEXT: - - - - - - - 2.00 - - - - - - umulh x23, x30, xzr
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - madd w1, w3, w7, w4
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - madd wzr, w0, w9, w11
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - madd w13, wzr, w4, w4
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - madd w19, w30, wzr, w29
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - mul w4, w5, w6
-# CHECK-NEXT: - - - - - - - 2.00 - - - - - - madd x1, x3, x7, x4
-# CHECK-NEXT: - - - - - - - 2.00 - - - - - - madd xzr, x0, x9, x11
-# CHECK-NEXT: - - - - - - - 2.00 - - - - - - madd x13, xzr, x4, x4
-# CHECK-NEXT: - - - - - - - 2.00 - - - - - - madd x19, x30, xzr, x29
-# CHECK-NEXT: - - - - - - - 2.00 - - - - - - mul x4, x5, x6
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - msub w1, w3, w7, w4
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - msub wzr, w0, w9, w11
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - msub w13, wzr, w4, w4
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - msub w19, w30, wzr, w29
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - mneg w4, w5, w6
-# CHECK-NEXT: - - - - - - - 2.00 - - - - - - msub x1, x3, x7, x4
-# CHECK-NEXT: - - - - - - - 2.00 - - - - - - msub xzr, x0, x9, x11
-# CHECK-NEXT: - - - - - - - 2.00 - - - - - - msub x13, xzr, x4, x4
-# CHECK-NEXT: - - - - - - - 2.00 - - - - - - msub x19, x30, xzr, x29
-# CHECK-NEXT: - - - - - - - 2.00 - - - - - - mneg x4, x5, x6
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smaddl x3, w5, w2, x9
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smaddl xzr, w10, w11, x12
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smaddl x13, wzr, w14, x15
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smaddl x16, w17, wzr, x18
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smull x19, w20, w21
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smsubl x3, w5, w2, x9
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smsubl xzr, w10, w11, x12
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smsubl x13, wzr, w14, x15
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smsubl x16, w17, wzr, x18
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smnegl x19, w20, w21
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umaddl x3, w5, w2, x9
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umaddl xzr, w10, w11, x12
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umaddl x13, wzr, w14, x15
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umaddl x16, w17, wzr, x18
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umull x19, w20, w21
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umsubl x3, w5, w2, x9
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umsubl x16, w17, wzr, x18
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umnegl x19, w20, w21
-# CHECK-NEXT: - - - - - - - 2.00 - - - - - - smulh x30, x29, x28
-# CHECK-NEXT: - - - - - - - 2.00 - - - - - - smulh x23, x22, xzr
-# CHECK-NEXT: - - - - - - - 2.00 - - - - - - umulh x23, x22, xzr
-# CHECK-NEXT: - - - - - - - 2.00 - - - - - - mul x19, x20, xzr
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - mneg w21, w22, w23
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smull x11, w13, w17
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umull x11, w13, w17
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - smnegl x11, w13, w17
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - - umnegl x11, w13, w17
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - extr w3, w5, w7, #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - extr w11, w13, w17, #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - extr x3, x5, x7, #15
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - extr x11, x13, x17, #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ror x19, x23, #24
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ror x29, xzr, #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ror w9, w13, #31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmp s3, s5
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmp s31, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmp s31, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmpe s29, s30
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmpe s15, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmpe s15, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmp d4, d12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmp d23, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmp d23, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmpe d26, d22
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmpe d29, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmpe d29, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmp s1, s31, #0, eq
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmp s3, s0, #15, hs
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmp s31, s15, #13, hs
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmp d9, d31, #0, le
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmp d3, d0, #15, gt
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmp d31, d5, #7, ne
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmpe s1, s31, #0, eq
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmpe s3, s0, #15, hs
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmpe s31, s15, #13, hs
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmpe d9, d31, #0, le
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmpe d3, d0, #15, gt
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fccmpe d31, d5, #7, ne
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcsel s3, s20, s9, pl
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcsel d9, d10, d11, mi
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov s0, s1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs s2, s3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg s4, s5
-# CHECK-NEXT: - - - - - - - - - - - - - 29.00 fsqrt s6, s7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt d8, s9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt h10, s11
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn s12, s13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp s14, s15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm s16, s17
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz s18, s19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta s20, s21
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx s22, s23
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti s24, s25
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov d0, d1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs d2, d3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg d4, d5
-# CHECK-NEXT: - - - - - - - - - - - - - 29.00 fsqrt d6, d7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt s8, d9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt h10, d11
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn d12, d13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp d14, d15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm d16, d17
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz d18, d19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta d20, d21
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx d22, d23
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti d24, d25
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt s26, h27
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt d28, h29
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul s20, s19, s17
-# CHECK-NEXT: - - - - - - - - - - - - - 10.00 fdiv s1, s2, s3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd s4, s5, s6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub s7, s8, s9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax s10, s11, s12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin s13, s14, s15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm s16, s17, s18
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm s19, s20, s21
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmul s22, s23, s2
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul d20, d19, d17
-# CHECK-NEXT: - - - - - - - - - - - - - 19.00 fdiv d1, d2, d3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd d4, d5, d6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub d7, d8, d9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax d10, d11, d12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin d13, d14, d15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm d16, d17, d18
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm d19, d20, d21
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmul d22, d23, d24
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmadd s3, s5, s6, s31
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmadd d3, d13, d0, d23
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmsub s3, s5, s6, s31
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmsub d3, d13, d0, d23
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmadd s3, s5, s6, s31
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmadd d3, d13, d0, d23
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmsub s3, s5, s6, s31
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmsub d3, d13, d0, d23
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs w3, h5, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs wzr, h20, #13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs w19, h0, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x3, h5, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x12, h30, #45
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x19, h0, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs w3, s5, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs wzr, s20, #13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs w19, s0, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x3, s5, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x12, s30, #45
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x19, s0, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs w3, d5, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs wzr, d20, #13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs w19, d0, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x3, d5, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x12, d30, #45
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x19, d0, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu w3, h5, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu wzr, h20, #13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu w19, h0, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x3, h5, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x12, h30, #45
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x19, h0, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu w3, s5, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu wzr, s20, #13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu w19, s0, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x3, s5, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x12, s30, #45
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x19, s0, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu w3, d5, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu wzr, d20, #13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu w19, d0, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x3, d5, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x12, d30, #45
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x19, d0, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf h23, w19, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf h31, wzr, #20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf h14, w0, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf h23, x19, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf h31, xzr, #20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf h14, x0, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s23, w19, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s31, wzr, #20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s14, w0, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s23, x19, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s31, xzr, #20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s14, x0, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d23, w19, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d31, wzr, #20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d14, w0, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d23, x19, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d31, xzr, #20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d14, x0, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf h23, w19, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf h31, wzr, #20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf h14, w0, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf h23, x19, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf h31, xzr, #20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf h14, x0, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf s23, w19, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf s31, wzr, #20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf s14, w0, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf s23, x19, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf s31, xzr, #20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf s14, x0, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d23, w19, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d31, wzr, #20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d14, w0, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d23, x19, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d31, xzr, #20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d14, x0, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns w3, h31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns xzr, h12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu wzr, h12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu x0, h0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps wzr, h9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps x12, h20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu w30, h23
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu x29, h3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms w2, h3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms x4, h5
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu w6, h7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu x8, h9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs w10, h11
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x12, h13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu w14, h15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x15, h16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf h17, w18
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf h19, x20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf h21, w22
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf h23, x24
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas w25, h26
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas x27, h28
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau w29, h30
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau xzr, h0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns w3, s31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns xzr, s12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu wzr, s12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu x0, s0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps wzr, s9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps x12, s20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu w30, s23
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu x29, s3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms w2, s3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms x4, s5
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu w6, s7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu x8, s9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs w10, s11
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x12, s13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu w14, s15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x15, s16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s17, w18
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s19, x20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf s21, w22
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s23, x24
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas w25, s26
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas x27, s28
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau w29, s30
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau xzr, s0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns w3, d31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns xzr, d12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu wzr, d12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu x0, d0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps wzr, d9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps x12, d20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu w30, d23
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu x29, d3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms w2, d3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms x4, d5
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu w6, d7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu x8, d9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs w10, d11
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs x12, d13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu w14, d15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu x15, d16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d17, w18
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d19, x20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d21, w22
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d23, x24
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas w25, d26
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas x27, d28
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau w29, d30
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau xzr, d0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov w3, s9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov s9, w3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov x20, d31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov d1, x15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov x3, v12.d[1]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov v1.d[1], x19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov s2, #0.12500000
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov s3, #1.00000000
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov d30, #16.00000000
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov s4, #1.06250000
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov d10, #1.93750000
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov s12, #-1.00000000
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov d16, #8.50000000
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w3, #0
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x29, #4
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw xzr, #-4
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr s0, #8
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr d0, #1048572
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q0, #-1048576
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - prfm pldl1strm, #0
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - prfm #22, #0
-# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stxrb w18, w8, [sp]
-# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stxrh w24, w15, [x16]
-# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stxr w5, w6, [x17]
-# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stxr w1, x10, [x21]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldxrb w30, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldxrh w17, [x4]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldxr w22, [sp]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldxr x11, [x29]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldxr x11, [x29]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldxr x11, [x29]
-# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stxp w12, w11, w10, [sp]
-# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stxp wzr, x27, x9, [x12]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldxp w0, wzr, [sp]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldxp x17, x0, [x18]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldxp x17, x0, [x18]
-# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stlxrb w12, w22, [x0]
-# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stlxrh w10, w1, [x1]
-# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stlxr w9, w2, [x2]
-# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stlxr w9, x3, [sp]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldaxrb w8, [x4]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldaxrh w7, [x5]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldaxr w6, [sp]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldaxr x5, [x6]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldaxr x5, [x6]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldaxr x5, [x6]
-# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stlxp w4, w5, w6, [sp]
-# CHECK-NEXT: - - - - - 0.50 1.50 - - - - - - - stlxp wzr, x6, x7, [x1]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldaxp w5, w18, [sp]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldaxp x6, x19, [x22]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldaxp x6, x19, [x22]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stlrb w24, [sp]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stlrh w25, [x30]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stlr w26, [x29]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stlr x27, [x28]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stlr x27, [x28]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stlr x27, [x28]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldarb w23, [sp]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldarh w22, [x30]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldar wzr, [x29]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldar x21, [x28]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldar x21, [x28]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldar x21, [x28]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - sturb w9, [sp]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - sturh wzr, [x12, #255]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stur w16, [x0, #-256]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stur x28, [x14, #1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldurb w1, [x20, #255]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldurh w20, [x1, #255]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldur w12, [sp, #255]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldur xzr, [x12, #255]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldursb x9, [x7, #-256]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldursh x17, [x19, #-256]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldursw x20, [x15, #-256]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - prfum pldl2keep, [sp, #-256]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldursb w19, [x1, #-256]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldursh w15, [x21, #-256]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stur b0, [sp, #1]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stur h12, [x12, #-1]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stur s15, [x0, #255]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stur d31, [x5, #25]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stur q9, [x5]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldur b3, [sp]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldur h5, [x4, #-256]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldur s7, [x12, #-1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldur d11, [x19, #4]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldur q13, [x1, #2]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strb w9, [x2], #255
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strb w10, [x3], #1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strb w10, [x3], #-256
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strh w9, [x2], #255
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strh w9, [x2], #1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strh w10, [x3], #-256
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str w19, [sp], #255
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str w20, [x30], #1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str w21, [x12], #-256
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str xzr, [x9], #255
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str x2, [x3], #1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str x19, [x12], #-256
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w9, [x2], #255
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w10, [x3], #1
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w10, [x3], #-256
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w9, [x2], #255
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w9, [x2], #1
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w10, [x3], #-256
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w19, [sp], #255
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w20, [x30], #1
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w21, [x12], #-256
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr xzr, [x9], #255
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x2, [x3], #1
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x19, [x12], #-256
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb xzr, [x9], #255
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb x2, [x3], #1
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb x19, [x12], #-256
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh xzr, [x9], #255
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh x2, [x3], #1
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh x19, [x12], #-256
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw xzr, [x9], #255
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw x2, [x3], #1
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw x19, [x12], #-256
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb wzr, [x9], #255
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb w2, [x3], #1
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb w19, [x12], #-256
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh wzr, [x9], #255
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh w2, [x3], #1
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh w19, [x12], #-256
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str b0, [x0], #255
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str b3, [x3], #1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str b5, [sp], #-256
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str h10, [x10], #255
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str h13, [x23], #1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str h15, [sp], #-256
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str s20, [x20], #255
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str s23, [x23], #1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str s25, [x0], #-256
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str d20, [x20], #255
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str d23, [x23], #1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str d25, [x0], #-256
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr b0, [x0], #255
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr b3, [x3], #1
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr b5, [sp], #-256
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr h10, [x10], #255
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr h13, [x23], #1
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr h15, [sp], #-256
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr s20, [x20], #255
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr s23, [x23], #1
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr s25, [x0], #-256
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr d20, [x20], #255
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr d23, [x23], #1
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr d25, [x0], #-256
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q20, [x1], #255
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q23, [x9], #1
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q25, [x20], #-256
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q10, [x1], #255
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q22, [sp], #1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q21, [x20], #-256
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x3, [x4, #0]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strb w9, [x2, #255]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strb w10, [x3, #1]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strb w10, [x3, #-256]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strh w9, [x2, #255]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strh w9, [x2, #1]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strh w10, [x3, #-256]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str w19, [sp, #255]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str w20, [x30, #1]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str w21, [x12, #-256]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str xzr, [x9, #255]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str x2, [x3, #1]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str x19, [x12, #-256]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w9, [x2, #255]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w10, [x3, #1]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w10, [x3, #-256]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w9, [x2, #255]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w9, [x2, #1]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w10, [x3, #-256]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w19, [sp, #255]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w20, [x30, #1]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w21, [x12, #-256]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr xzr, [x9, #255]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x2, [x3, #1]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x19, [x12, #-256]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb xzr, [x9, #255]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb x2, [x3, #1]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb x19, [x12, #-256]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh xzr, [x9, #255]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh x2, [x3, #1]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh x19, [x12, #-256]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw xzr, [x9, #255]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw x2, [x3, #1]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw x19, [x12, #-256]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb wzr, [x9, #255]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb w2, [x3, #1]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb w19, [x12, #-256]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh wzr, [x9, #255]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh w2, [x3, #1]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh w19, [x12, #-256]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str b0, [x0, #255]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str b3, [x3, #1]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str b5, [sp, #-256]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str h10, [x10, #255]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str h13, [x23, #1]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str h15, [sp, #-256]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str s20, [x20, #255]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str s23, [x23, #1]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str s25, [x0, #-256]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str d20, [x20, #255]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str d23, [x23, #1]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str d25, [x0, #-256]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr b0, [x0, #255]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr b3, [x3, #1]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr b5, [sp, #-256]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr h10, [x10, #255]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr h13, [x23, #1]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr h15, [sp, #-256]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr s20, [x20, #255]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr s23, [x23, #1]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr s25, [x0, #-256]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr d20, [x20, #255]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr d23, [x23, #1]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr d25, [x0, #-256]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q20, [x1, #255]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q23, [x9, #1]!
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q25, [x20, #-256]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q10, [x1, #255]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q22, [sp, #1]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q21, [x20, #-256]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - sttrb w9, [sp]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - sttrh wzr, [x12, #255]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - sttr w16, [x0, #-256]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - sttr x28, [x14, #1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldtrb w1, [x20, #255]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldtrh w20, [x1, #255]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldtr w12, [sp, #255]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldtr xzr, [x12, #255]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldtrsb x9, [x7, #-256]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldtrsh x17, [x19, #-256]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldtrsw x20, [x15, #-256]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldtrsb w19, [x1, #-256]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldtrsh w15, [x21, #-256]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x4, [x29]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x30, [x12, #32760]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x20, [sp, #8]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr xzr, [sp]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w2, [sp]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w17, [sp, #16380]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w13, [x2, #4]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw x2, [x5, #4]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw x23, [sp, #16380]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w2, [x4]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh w23, [x6, #8190]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh wzr, [sp, #2]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh x29, [x2, #2]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w26, [x3, #121]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w12, [x2]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb w27, [sp, #4095]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb xzr, [x15]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str x30, [sp]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str w20, [x4, #16380]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strh w17, [sp, #8190]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strb w23, [x3, #4095]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strb wzr, [x2]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr b31, [sp, #4095]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr h20, [x2, #8190]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr s10, [x19, #16380]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr d3, [x10, #32760]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q12, [sp, #65520]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w3, [sp, x5]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w9, [x27, x6]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb w10, [x30, x7]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w11, [x29, x3, sxtx]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strb w12, [x28, xzr, sxtx]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w14, [x26, w6, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb w15, [x25, w7, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrb w17, [x23, w9, sxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsb x18, [x22, w10, sxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh w3, [sp, x5]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh w9, [x27, x6]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w10, [x30, x7, lsl #1]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strh w11, [x29, x3, sxtx]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w12, [x28, xzr, sxtx]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh x13, [x27, x5, sxtx #1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w14, [x26, w6, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w15, [x25, w7, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsh w16, [x24, w8, uxtw #1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w17, [x23, w9, sxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrh w18, [x22, w10, sxtw]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - strh w19, [x21, wzr, sxtw #1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w3, [sp, x5]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr s9, [x27, x6]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w10, [x30, x7, lsl #2]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w11, [x29, x3, sxtx]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str s12, [x28, xzr, sxtx]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str w13, [x27, x5, sxtx #2]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str w14, [x26, w6, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w15, [x25, w7, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w16, [x24, w8, uxtw #2]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw x17, [x23, w9, sxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr w18, [x22, w10, sxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldrsw x19, [x21, wzr, sxtw #2]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x3, [sp, x5]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str x9, [x27, x6]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr d10, [x30, x7, lsl #3]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str x11, [x29, x3, sxtx]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x12, [x28, xzr, sxtx]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x13, [x27, x5, sxtx #3]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - prfm pldl1keep, [x26, w6, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x15, [x25, w7, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x16, [x24, w8, uxtw #3]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x17, [x23, w9, sxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr x18, [x22, w10, sxtw]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str d19, [x21, wzr, sxtw #3]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q3, [sp, x5]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q9, [x27, x6]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q10, [x30, x7, lsl #4]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q11, [x29, x3, sxtx]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q12, [x28, xzr, sxtx]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q13, [x27, x5, sxtx #4]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q14, [x26, w6, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q15, [x25, w7, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q16, [x24, w8, uxtw #4]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q17, [x23, w9, sxtw]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str q18, [x22, w10, sxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr q19, [x21, wzr, sxtw #4]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp w3, w5, [sp]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp wzr, w9, [sp, #252]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp w2, wzr, [sp, #-256]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp w9, w10, [sp, #4]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [sp, #4]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [x2, #-256]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldpsw x20, x30, [sp, #252]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp x21, x29, [x2, #504]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp x22, x23, [x3, #-512]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp x24, x25, [x4, #8]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp s29, s28, [sp, #252]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp s27, s26, [sp, #-256]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp s1, s2, [x3, #44]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp d3, d5, [x9, #504]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp d7, d11, [x10, #-512]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp d2, d3, [x30, #-8]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp q3, q5, [sp]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp q17, q19, [sp, #1008]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp q23, q29, [x1, #-1024]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp w3, w5, [sp], #0
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp wzr, w9, [sp], #252
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp w2, wzr, [sp], #-256
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp w9, w10, [sp], #4
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [sp], #4
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [x2], #-256
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldpsw x20, x30, [sp], #252
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp x21, x29, [x2], #504
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp x22, x23, [x3], #-512
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp x24, x25, [x4], #8
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp s29, s28, [sp], #252
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp s27, s26, [sp], #-256
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp s1, s2, [x3], #44
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp d3, d5, [x9], #504
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp d7, d11, [x10], #-512
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp d2, d3, [x30], #-8
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp q3, q5, [sp], #0
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp q17, q19, [sp], #1008
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp q23, q29, [x1], #-1024
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp w3, w5, [sp, #0]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp wzr, w9, [sp, #252]!
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp w2, wzr, [sp, #-256]!
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp w9, w10, [sp, #4]!
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [sp, #4]!
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [x2, #-256]!
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldpsw x20, x30, [sp, #252]!
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp x21, x29, [x2, #504]!
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp x22, x23, [x3, #-512]!
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp x24, x25, [x4, #8]!
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp s29, s28, [sp, #252]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp s27, s26, [sp, #-256]!
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp s1, s2, [x3, #44]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp d3, d5, [x9, #504]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp d7, d11, [x10, #-512]!
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp d2, d3, [x30, #-8]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp q3, q5, [sp, #0]!
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stp q17, q19, [sp, #1008]!
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldp q23, q29, [x1, #-1024]!
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp w3, w5, [sp]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnp wzr, w9, [sp, #252]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp w2, wzr, [sp, #-256]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp w9, w10, [sp, #4]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp x21, x29, [x2, #504]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp x22, x23, [x3, #-512]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp x24, x25, [x4, #8]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp s29, s28, [sp, #252]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnp s27, s26, [sp, #-256]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp s1, s2, [x3, #44]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnp d3, d5, [x9, #504]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnp d7, d11, [x10, #-512]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp d2, d3, [x30, #-8]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnp q3, q5, [sp]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnp q17, q19, [sp, #1008]
-# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - ldnp q23, q29, [x1, #-1024]
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov w3, #983055
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov x10, #-6148914691236517206
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and w12, w23, w21
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and w16, w15, w1, lsl #1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and w9, w4, w10, lsl #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and w3, w30, w11
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and x3, x5, x7, lsl #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and x5, x14, x19, asr #4
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and w3, w17, w19, ror #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and w0, w2, wzr, lsr #17
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and w3, w30, w11, asr #2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and xzr, x4, x26
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and w3, wzr, w20, ror #2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - and x7, x20, xzr, asr #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bic x13, x20, x14, lsl #47
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bic w2, w7, w9
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - orr w2, w7, w0, asr #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - orr x8, x9, x10, lsl #12
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - orn x3, x5, x7, asr #2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - orn w2, w5, w29
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ands w7, wzr, w9, lsl #1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ands x3, x5, x20, ror #63
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bics w3, w5, w7
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - bics x3, xzr, x3, lsl #1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - tst w3, w7, lsl #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - tst x2, x20, asr #2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov x3, x6
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov x3, xzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov wzr, w2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov w3, w5
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - movz w2, #0, lsl #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov w2, #-1235
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov x2, #5299989643264
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - mov x2, #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - movk w3, #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - movz x4, #0, lsl #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - movk w5, #0, lsl #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - movz x6, #0, lsl #32
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - movk x7, #0, lsl #32
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - movz x8, #0, lsl #48
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - movk x9, #0, lsl #48
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adr x2, #1600
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adrp x21, #6553600
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - adr x0, #262144
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - tbz x12, #62, #0
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - tbz x12, #62, #4
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - tbz x12, #62, #-32768
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - tbnz x12, #60, #32764
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - b #4
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - b #-4
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - b #134217724
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - br x20
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - blr xzr
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - ret x10
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - ret
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - eret
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - drps
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autda x0, x1
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autdb x2, x3
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autdza x4
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autdzb x5
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autia x6, x7
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autib x8, x9
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autia1716
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autib1716
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autiasp
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autibsp
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autiaz
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autibz
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autiza x10
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - autizb x11
-# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - blraa x5, x6
-# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - blraaz x7
-# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - blrab x8, x9
-# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - blrabz x10
-# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - braa x29, x30
-# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - braaz x1
-# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - brab x2, x3
-# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - brabz x4
-# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - retaa
-# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - retab
-# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - eretaa
-# CHECK-NEXT: - - - 1.00 - - - - 1.00 - - - - - eretab
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacda x12, x13
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacdb x14, x15
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacdza x16
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacdzb x17
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacga x24, x25, x26
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacia x18, x19
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacib x20, x21
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacia1716
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacib1716
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - paciasp
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacibsp
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - paciaz
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacibz
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - paciza x22
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - pacizb x23
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - ldraa x11, [x12, #16]!
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - ldraa x13, [x14, #32]
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - ldrab x15, [x16, #24]!
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - ldrab x17, [x18, #8]
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - xpacd x27
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - xpaci x28
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - - xpaclri
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11] Instructions:
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w2, w3, #4095
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w30, w29, #1, lsl #12
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w13, w5, #4095, lsl #12
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x5, x7, #1638
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w20, wsp, #801
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add wsp, wsp, #1104
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add wsp, w30, #4084
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x0, x24, #291
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x3, x24, #4095, lsl #12
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x8, sp, #1074
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add sp, x29, #3816
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w0, wsp, #4077
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w4, w20, #546, lsl #12
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub sp, sp, #288
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub wsp, w19, #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w13, w23, #291, lsl #12
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w2, #4095
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w20, wsp, #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x3, #1, lsl #12
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp sp, #20, lsl #12
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x30, #4095
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x4, sp, #3822
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w3, #291, lsl #12
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn wsp, #1365
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn sp, #1092, lsl #12
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov sp, x30
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov wsp, w20
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov x11, sp
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov w24, wsp
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w3, w5, w7
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add wzr, w3, w5
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w20, wzr, w4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w4, w6, wzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w11, w13, w15
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w9, w3, wzr, lsl #10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w17, w29, w20, lsl #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w21, w22, w23, lsr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w24, w25, w26, lsr #18
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w27, w28, w29, lsr #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w2, w3, w4, asr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w5, w6, w7, asr #21
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w8, w9, w10, asr #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x3, x5, x7
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add xzr, x3, x5
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x20, xzr, x4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x4, x6, xzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x11, x13, x15
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x9, x3, xzr, lsl #10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x17, x29, x20, lsl #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x21, x22, x23, lsr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x24, x25, x26, lsr #18
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x27, x28, x29, lsr #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x2, x3, x4, asr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x5, x6, x7, asr #21
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x8, x9, x10, asr #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w3, w5, w7
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w3, w5
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w20, wzr, w4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w4, w6, wzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w11, w13, w15
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w9, w3, wzr, lsl #10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w17, w29, w20, lsl #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w21, w22, w23, lsr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w24, w25, w26, lsr #18
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w27, w28, w29, lsr #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w2, w3, w4, asr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w5, w6, w7, asr #21
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w8, w9, w10, asr #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x3, x5, x7
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x3, x5
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x20, xzr, x4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x4, x6, xzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x11, x13, x15
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x9, x3, xzr, lsl #10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x17, x29, x20, lsl #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x21, x22, x23, lsr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x24, x25, x26, lsr #18
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x27, x28, x29, lsr #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x2, x3, x4, asr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x5, x6, x7, asr #21
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x8, x9, x10, asr #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w3, w5, w7
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub wzr, w3, w5
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w4, w6, wzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w11, w13, w15
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w9, w3, wzr, lsl #10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w17, w29, w20, lsl #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w21, w22, w23, lsr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w24, w25, w26, lsr #18
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w27, w28, w29, lsr #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w2, w3, w4, asr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w5, w6, w7, asr #21
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w8, w9, w10, asr #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x3, x5, x7
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub xzr, x3, x5
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x4, x6, xzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x11, x13, x15
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x9, x3, xzr, lsl #10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x17, x29, x20, lsl #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x21, x22, x23, lsr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x24, x25, x26, lsr #18
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x27, x28, x29, lsr #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x2, x3, x4, asr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x5, x6, x7, asr #21
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x8, x9, x10, asr #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w3, w5, w7
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w3, w5
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w4, w6, wzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w11, w13, w15
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w9, w3, wzr, lsl #10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w17, w29, w20, lsl #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w21, w22, w23, lsr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w24, w25, w26, lsr #18
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w27, w28, w29, lsr #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w2, w3, w4, asr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w5, w6, w7, asr #21
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w8, w9, w10, asr #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x3, x5, x7
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x3, x5
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x4, x6, xzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x11, x13, x15
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x9, x3, xzr, lsl #10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x17, x29, x20, lsl #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x21, x22, x23, lsr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x24, x25, x26, lsr #18
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x27, x28, x29, lsr #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x2, x3, x4, asr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x5, x6, x7, asr #21
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x8, x9, x10, asr #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn wzr, w4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w5, wzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w6, w7
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w8, w9, lsl #15
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w10, w11, lsl #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w12, w13, lsr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w14, w15, lsr #21
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w16, w17, lsr #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w18, w19, asr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w20, w21, asr #22
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w22, w23, asr #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x0, x3
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn xzr, x4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x5, xzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x6, x7
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x8, x9, lsl #15
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x10, x11, lsl #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x12, x13, lsr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x14, x15, lsr #41
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x16, x17, lsr #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x18, x19, asr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x20, x21, asr #55
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x22, x23, asr #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w0, w3
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp wzr, w4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w5, wzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w6, w7
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w8, w9, lsl #15
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w10, w11, lsl #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w12, w13, lsr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w14, w15, lsr #21
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w18, w19, asr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w20, w21, asr #22
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w22, w23, asr #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x0, x3
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp xzr, x4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x5, xzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x6, x7
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x8, x9, lsl #15
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x10, x11, lsl #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x12, x13, lsr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x14, x15, lsr #41
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x16, x17, lsr #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x18, x19, asr #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x20, x21, asr #55
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x22, x23, asr #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp wzr, w0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp xzr, x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc w29, w27, w25
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc wzr, w3, w4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc w9, wzr, w10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc w20, w0, wzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc x29, x27, x25
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc xzr, x3, x4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc x9, xzr, x10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc x20, x0, xzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs w29, w27, w25
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs wzr, w3, w4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs w9, wzr, w10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs w20, w0, wzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs x29, x27, x25
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs xzr, x3, x4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs x9, xzr, x10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs x20, x0, xzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbc w29, w27, w25
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbc wzr, w3, w4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc w9, w10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbc w20, w0, wzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbc x29, x27, x25
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbc xzr, x3, x4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc x9, x10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbc x20, x0, xzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbcs w29, w27, w25
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbcs wzr, w3, w4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngcs w9, w10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbcs w20, w0, wzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbcs x29, x27, x25
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbcs xzr, x3, x4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngcs x9, x10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbcs x20, x0, xzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc w3, w12
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc wzr, w9
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc w23, wzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc x29, x30
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc xzr, x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc x0, xzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngcs w3, w12
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngcs wzr, w9
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngcs w23, wzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngcs x29, x30
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngcs xzr, x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngcs x0, xzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfx x1, x2, #3, #2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr x3, x4, #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr wzr, wzr, #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfx w12, w9, #0, #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ubfiz x4, x5, #52, #11
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ubfx xzr, x4, #0, #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ubfiz x4, xzr, #1, #6
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr x5, x6, #12
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfi x4, x5, #52, #11
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil xzr, x4, #0, #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfc x4, #1, #6
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil x5, x6, #12, #52
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sxtb w1, w2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sxtb xzr, w3
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sxth w9, w10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sxth x0, w1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sxtw x3, w30
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uxtb w1, w2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uxth w9, w10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ubfx x3, x30, #0, #32
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr w3, w2, #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr w9, w10, #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr x20, x21, #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr w1, wzr, #3
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr w3, w2, #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr w9, w10, #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr x20, x21, #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr wzr, wzr, #3
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr w3, w2, #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl w9, w10, #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl x20, x21, #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl w1, wzr, #3
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfx w9, w10, #0, #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfiz x2, x3, #63, #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr x19, x20, #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfiz x9, x10, #5, #59
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr w9, w10, #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfiz w11, w12, #31, #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfiz w13, w14, #29, #3
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfiz xzr, xzr, #10, #11
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfx w9, w10, #0, #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr x2, x3, #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr x19, x20, #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr x9, x10, #5
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr w9, w10, #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr w11, w12, #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr w13, w14, #29
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfx xzr, xzr, #10, #11
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil w9, w10, #0, #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfi x2, x3, #63, #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil x19, x20, #0, #64
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfi x9, x10, #5, #59
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil w9, w10, #0, #32
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfi w11, w12, #31, #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfi w13, w14, #29, #3
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfc xzr, #10, #11
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil w9, w10, #0, #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil x2, x3, #63, #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil x19, x20, #0, #64
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil x9, x10, #5, #59
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil w9, w10, #0, #32
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil w11, w12, #31, #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil w13, w14, #29, #3
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil xzr, xzr, #10, #11
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ubfx w9, w10, #0, #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl x2, x3, #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr x19, x20, #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl x9, x10, #5
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr w9, w10, #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl w11, w12, #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl w13, w14, #29
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ubfiz xzr, xzr, #10, #11
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ubfx w9, w10, #0, #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr x2, x3, #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr x19, x20, #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr x9, x10, #5
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr w9, w10, #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr w11, w12, #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr w13, w14, #29
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ubfx xzr, xzr, #10, #11
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - cbz w5, #4
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - cbz x5, #0
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - cbnz x2, #-4
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - cbnz x26, #1048572
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - cbz wzr, #0
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - cbnz xzr, #0
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - b.ne #4
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - b.ge #1048572
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - b.ge #-4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp w1, #31, #0, eq
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp w3, #0, #15, hs
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp wzr, #15, #13, hs
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp x9, #31, #0, le
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp x3, #0, #15, gt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp xzr, #5, #7, ne
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn w1, #31, #0, eq
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn w3, #0, #15, hs
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn wzr, #15, #13, hs
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn x9, #31, #0, le
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn x3, #0, #15, gt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn xzr, #5, #7, ne
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp w1, wzr, #0, eq
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp w3, w0, #15, hs
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp wzr, w15, #13, hs
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp x9, xzr, #0, le
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp x3, x0, #15, gt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp xzr, x5, #7, ne
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn w1, wzr, #0, eq
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn w3, w0, #15, hs
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn wzr, w15, #13, hs
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn x9, xzr, #0, le
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn x3, x0, #15, gt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn xzr, x5, #7, ne
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csel w1, w0, w19, ne
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csel wzr, w5, w9, eq
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csel w9, wzr, w30, gt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csel w1, w28, wzr, mi
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csel x19, x23, x29, lt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csel xzr, x3, x4, ge
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csel x5, xzr, x6, hs
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csel x7, x8, xzr, lo
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinc w1, w0, w19, ne
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinc wzr, w5, w9, eq
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinc w9, wzr, w30, gt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinc w1, w28, wzr, mi
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinc x19, x23, x29, lt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinc xzr, x3, x4, ge
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinc x5, xzr, x6, hs
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinc x7, x8, xzr, lo
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinv w1, w0, w19, ne
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinv wzr, w5, w9, eq
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinv w9, wzr, w30, gt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinv w1, w28, wzr, mi
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinv x19, x23, x29, lt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinv xzr, x3, x4, ge
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinv x5, xzr, x6, hs
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinv x7, x8, xzr, lo
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csneg w1, w0, w19, ne
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csneg wzr, w5, w9, eq
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csneg w9, wzr, w30, gt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csneg w1, w28, wzr, mi
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csneg x19, x23, x29, lt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csneg xzr, x3, x4, ge
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csneg x5, xzr, x6, hs
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csneg x7, x8, xzr, lo
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cset w3, eq
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cset x9, pl
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csetm w20, ne
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csetm x30, ge
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinc w2, wzr, wzr, al
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinv x3, xzr, xzr, nv
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cinc w3, w5, gt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cinc wzr, w4, le
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cset w9, lt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cinc x3, x5, gt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cinc xzr, x4, le
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cset x9, lt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinc w5, w6, w6, nv
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinc x1, x2, x2, al
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cinv w3, w5, gt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cinv wzr, w4, le
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csetm w9, lt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cinv x3, x5, gt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cinv xzr, x4, le
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csetm x9, lt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinv x1, x0, x0, al
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinv w9, w8, w8, nv
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cneg w3, w5, gt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cneg wzr, w4, le
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cneg w9, wzr, lt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cneg x3, x5, gt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cneg xzr, x4, le
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cneg x9, xzr, lt
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csneg x4, x8, x8, al
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinv w9, w8, w8, nv
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rbit w0, w7
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rbit x18, x3
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rev16 w17, w1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rev16 x5, x2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rev w18, w0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rev32 x20, x1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rev x22, x2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - clz w24, w3
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - clz x26, x4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cls w3, w5
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cls x20, x5
+# CHECK-NEXT: - - - 8.00 - - - - - - - - - udiv w0, w7, w10
+# CHECK-NEXT: - - - 16.00 - - - - - - - - - udiv x9, x22, x4
+# CHECK-NEXT: - - - 8.00 - - - - - - - - - sdiv w12, w21, w0
+# CHECK-NEXT: - - - 16.00 - - - - - - - - - sdiv x13, x2, x1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl w11, w12, w13
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl x14, x15, x16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr w17, w18, w19
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr x20, x21, x22
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr w23, w24, w25
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr x26, x27, x28
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ror w0, w1, w2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ror x3, x4, x5
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl w6, w7, w8
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl x9, x10, x11
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr w12, w13, w14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr x15, x16, x17
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr w18, w19, w20
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr x21, x22, x23
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ror w24, w25, w26
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ror x27, x28, x29
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - smulh x30, x29, x28
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - smulh xzr, x27, x26
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - umulh x30, x29, x28
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - umulh x23, x30, xzr
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - madd w1, w3, w7, w4
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - madd wzr, w0, w9, w11
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - madd w13, wzr, w4, w4
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - madd w19, w30, wzr, w29
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - mul w4, w5, w6
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - madd x1, x3, x7, x4
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - madd xzr, x0, x9, x11
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - madd x13, xzr, x4, x4
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - madd x19, x30, xzr, x29
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - mul x4, x5, x6
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - msub w1, w3, w7, w4
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - msub wzr, w0, w9, w11
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - msub w13, wzr, w4, w4
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - msub w19, w30, wzr, w29
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - mneg w4, w5, w6
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - msub x1, x3, x7, x4
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - msub xzr, x0, x9, x11
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - msub x13, xzr, x4, x4
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - msub x19, x30, xzr, x29
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - mneg x4, x5, x6
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - smaddl x3, w5, w2, x9
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - smaddl xzr, w10, w11, x12
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - smaddl x13, wzr, w14, x15
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - smaddl x16, w17, wzr, x18
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - smull x19, w20, w21
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - smsubl x3, w5, w2, x9
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - smsubl xzr, w10, w11, x12
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - smsubl x13, wzr, w14, x15
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - smsubl x16, w17, wzr, x18
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - smnegl x19, w20, w21
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - umaddl x3, w5, w2, x9
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - umaddl xzr, w10, w11, x12
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - umaddl x13, wzr, w14, x15
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - umaddl x16, w17, wzr, x18
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - umull x19, w20, w21
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - umsubl x3, w5, w2, x9
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - umsubl x16, w17, wzr, x18
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - umnegl x19, w20, w21
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - smulh x30, x29, x28
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - smulh x23, x22, xzr
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - umulh x23, x22, xzr
+# CHECK-NEXT: - - - - - - 2.00 - - - - - - mul x19, x20, xzr
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - mneg w21, w22, w23
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - smull x11, w13, w17
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - umull x11, w13, w17
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - smnegl x11, w13, w17
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - umnegl x11, w13, w17
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - extr w3, w5, w7, #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - extr w11, w13, w17, #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - extr x3, x5, x7, #15
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - extr x11, x13, x17, #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ror x19, x23, #24
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ror x29, xzr, #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ror w9, w13, #31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmp s3, s5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmp s31, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmp s31, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmpe s29, s30
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmpe s15, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmpe s15, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmp d4, d12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmp d23, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmp d23, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmpe d26, d22
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmpe d29, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmpe d29, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmp s1, s31, #0, eq
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmp s3, s0, #15, hs
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmp s31, s15, #13, hs
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmp d9, d31, #0, le
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmp d3, d0, #15, gt
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmp d31, d5, #7, ne
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmpe s1, s31, #0, eq
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmpe s3, s0, #15, hs
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmpe s31, s15, #13, hs
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmpe d9, d31, #0, le
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmpe d3, d0, #15, gt
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmpe d31, d5, #7, ne
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcsel s3, s20, s9, pl
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcsel d9, d10, d11, mi
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov s0, s1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs s2, s3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg s4, s5
+# CHECK-NEXT: - - - - - - - - - - - - 29.00 fsqrt s6, s7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt d8, s9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt h10, s11
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintn s12, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintp s14, s15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintm s16, s17
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintz s18, s19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinta s20, s21
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintx s22, s23
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinti s24, s25
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov d0, d1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs d2, d3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg d4, d5
+# CHECK-NEXT: - - - - - - - - - - - - 29.00 fsqrt d6, d7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt s8, d9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt h10, d11
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintn d12, d13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintp d14, d15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintm d16, d17
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintz d18, d19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinta d20, d21
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintx d22, d23
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinti d24, d25
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt s26, h27
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt d28, h29
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul s20, s19, s17
+# CHECK-NEXT: - - - - - - - - - - - - 10.00 fdiv s1, s2, s3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd s4, s5, s6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub s7, s8, s9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax s10, s11, s12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin s13, s14, s15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm s16, s17, s18
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm s19, s20, s21
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmul s22, s23, s2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul d20, d19, d17
+# CHECK-NEXT: - - - - - - - - - - - - 19.00 fdiv d1, d2, d3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd d4, d5, d6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub d7, d8, d9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax d10, d11, d12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin d13, d14, d15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm d16, d17, d18
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm d19, d20, d21
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmul d22, d23, d24
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmadd s3, s5, s6, s31
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmadd d3, d13, d0, d23
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmsub s3, s5, s6, s31
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmsub d3, d13, d0, d23
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmadd s3, s5, s6, s31
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmadd d3, d13, d0, d23
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmsub s3, s5, s6, s31
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmsub d3, d13, d0, d23
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs w3, h5, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs wzr, h20, #13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs w19, h0, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs x3, h5, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs x12, h30, #45
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs x19, h0, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs w3, s5, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs wzr, s20, #13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs w19, s0, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs x3, s5, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs x12, s30, #45
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs x19, s0, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs w3, d5, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs wzr, d20, #13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs w19, d0, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs x3, d5, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs x12, d30, #45
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs x19, d0, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu w3, h5, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu wzr, h20, #13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu w19, h0, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu x3, h5, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu x12, h30, #45
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu x19, h0, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu w3, s5, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu wzr, s20, #13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu w19, s0, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu x3, s5, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu x12, s30, #45
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu x19, s0, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu w3, d5, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu wzr, d20, #13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu w19, d0, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu x3, d5, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu x12, d30, #45
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu x19, d0, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf h23, w19, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf h31, wzr, #20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf h14, w0, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf h23, x19, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf h31, xzr, #20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf h14, x0, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf s23, w19, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf s31, wzr, #20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf s14, w0, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf s23, x19, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf s31, xzr, #20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf s14, x0, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf d23, w19, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf d31, wzr, #20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf d14, w0, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf d23, x19, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf d31, xzr, #20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf d14, x0, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf h23, w19, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf h31, wzr, #20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf h14, w0, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf h23, x19, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf h31, xzr, #20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf h14, x0, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf s23, w19, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf s31, wzr, #20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf s14, w0, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf s23, x19, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf s31, xzr, #20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf s14, x0, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf d23, w19, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf d31, wzr, #20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf d14, w0, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf d23, x19, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf d31, xzr, #20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf d14, x0, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns w3, h31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns xzr, h12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu wzr, h12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu x0, h0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps wzr, h9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps x12, h20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu w30, h23
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu x29, h3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms w2, h3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms x4, h5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu w6, h7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu x8, h9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs w10, h11
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs x12, h13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu w14, h15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu x15, h16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf h17, w18
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf h19, x20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf h21, w22
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf h23, x24
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas w25, h26
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas x27, h28
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau w29, h30
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau xzr, h0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns w3, s31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns xzr, s12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu wzr, s12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu x0, s0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps wzr, s9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps x12, s20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu w30, s23
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu x29, s3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms w2, s3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms x4, s5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu w6, s7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu x8, s9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs w10, s11
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs x12, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu w14, s15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu x15, s16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf s17, w18
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf s19, x20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf s21, w22
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf s23, x24
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas w25, s26
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas x27, s28
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau w29, s30
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau xzr, s0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns w3, d31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns xzr, d12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu wzr, d12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu x0, d0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps wzr, d9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps x12, d20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu w30, d23
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu x29, d3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms w2, d3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms x4, d5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu w6, d7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu x8, d9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs w10, d11
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs x12, d13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu w14, d15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu x15, d16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf d17, w18
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf d19, x20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf d21, w22
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf d23, x24
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas w25, d26
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas x27, d28
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau w29, d30
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau xzr, d0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov w3, s9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov s9, w3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov x20, d31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov d1, x15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov x3, v12.d[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov v1.d[1], x19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov s2, #0.12500000
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov s3, #1.00000000
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov d30, #16.00000000
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov s4, #1.06250000
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov d10, #1.93750000
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov s12, #-1.00000000
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov d16, #8.50000000
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w3, #0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x29, #4
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsw xzr, #-4
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr s0, #8
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d0, #1048572
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q0, #-1048576
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - prfm pldl1strm, #0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - prfm #22, #0
+# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stxrb w18, w8, [sp]
+# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stxrh w24, w15, [x16]
+# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stxr w5, w6, [x17]
+# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stxr w1, x10, [x21]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldxrb w30, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldxrh w17, [x4]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldxr w22, [sp]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldxr x11, [x29]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldxr x11, [x29]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldxr x11, [x29]
+# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stxp w12, w11, w10, [sp]
+# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stxp wzr, x27, x9, [x12]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldxp w0, wzr, [sp]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldxp x17, x0, [x18]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldxp x17, x0, [x18]
+# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stlxrb w12, w22, [x0]
+# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stlxrh w10, w1, [x1]
+# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stlxr w9, w2, [x2]
+# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stlxr w9, x3, [sp]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldaxrb w8, [x4]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldaxrh w7, [x5]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldaxr w6, [sp]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldaxr x5, [x6]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldaxr x5, [x6]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldaxr x5, [x6]
+# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stlxp w4, w5, w6, [sp]
+# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stlxp wzr, x6, x7, [x1]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldaxp w5, w18, [sp]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldaxp x6, x19, [x22]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldaxp x6, x19, [x22]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stlrb w24, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stlrh w25, [x30]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stlr w26, [x29]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stlr x27, [x28]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stlr x27, [x28]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stlr x27, [x28]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldarb w23, [sp]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldarh w22, [x30]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldar wzr, [x29]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldar x21, [x28]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldar x21, [x28]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldar x21, [x28]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - sturb w9, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - sturh wzr, [x12, #255]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stur w16, [x0, #-256]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stur x28, [x14, #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldurb w1, [x20, #255]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldurh w20, [x1, #255]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldur w12, [sp, #255]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldur xzr, [x12, #255]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldursb x9, [x7, #-256]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldursh x17, [x19, #-256]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldursw x20, [x15, #-256]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - prfum pldl2keep, [sp, #-256]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldursb w19, [x1, #-256]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldursh w15, [x21, #-256]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stur b0, [sp, #1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stur h12, [x12, #-1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stur s15, [x0, #255]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stur d31, [x5, #25]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stur q9, [x5]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldur b3, [sp]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldur h5, [x4, #-256]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldur s7, [x12, #-1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldur d11, [x19, #4]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldur q13, [x1, #2]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strb w9, [x2], #255
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strb w10, [x3], #1
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strb w10, [x3], #-256
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strh w9, [x2], #255
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strh w9, [x2], #1
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strh w10, [x3], #-256
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str w19, [sp], #255
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str w20, [x30], #1
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str w21, [x12], #-256
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str xzr, [x9], #255
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str x2, [x3], #1
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str x19, [x12], #-256
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w9, [x2], #255
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w10, [x3], #1
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w10, [x3], #-256
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w9, [x2], #255
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w9, [x2], #1
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w10, [x3], #-256
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w19, [sp], #255
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w20, [x30], #1
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w21, [x12], #-256
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr xzr, [x9], #255
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x2, [x3], #1
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x19, [x12], #-256
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb xzr, [x9], #255
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb x2, [x3], #1
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb x19, [x12], #-256
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh xzr, [x9], #255
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh x2, [x3], #1
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh x19, [x12], #-256
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsw xzr, [x9], #255
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsw x2, [x3], #1
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsw x19, [x12], #-256
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb wzr, [x9], #255
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb w2, [x3], #1
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb w19, [x12], #-256
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh wzr, [x9], #255
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh w2, [x3], #1
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh w19, [x12], #-256
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str b0, [x0], #255
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str b3, [x3], #1
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str b5, [sp], #-256
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str h10, [x10], #255
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str h13, [x23], #1
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str h15, [sp], #-256
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str s20, [x20], #255
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str s23, [x23], #1
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str s25, [x0], #-256
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str d20, [x20], #255
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str d23, [x23], #1
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str d25, [x0], #-256
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr b0, [x0], #255
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr b3, [x3], #1
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr b5, [sp], #-256
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h10, [x10], #255
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h13, [x23], #1
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h15, [sp], #-256
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr s20, [x20], #255
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr s23, [x23], #1
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr s25, [x0], #-256
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d20, [x20], #255
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d23, [x23], #1
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d25, [x0], #-256
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q20, [x1], #255
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q23, [x9], #1
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q25, [x20], #-256
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q10, [x1], #255
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q22, [sp], #1
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q21, [x20], #-256
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x3, [x4, #0]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strb w9, [x2, #255]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strb w10, [x3, #1]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strb w10, [x3, #-256]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strh w9, [x2, #255]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strh w9, [x2, #1]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strh w10, [x3, #-256]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str w19, [sp, #255]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str w20, [x30, #1]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str w21, [x12, #-256]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str xzr, [x9, #255]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str x2, [x3, #1]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str x19, [x12, #-256]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w9, [x2, #255]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w10, [x3, #1]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w10, [x3, #-256]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w9, [x2, #255]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w9, [x2, #1]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w10, [x3, #-256]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w19, [sp, #255]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w20, [x30, #1]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w21, [x12, #-256]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr xzr, [x9, #255]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x2, [x3, #1]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x19, [x12, #-256]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb xzr, [x9, #255]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb x2, [x3, #1]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb x19, [x12, #-256]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh xzr, [x9, #255]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh x2, [x3, #1]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh x19, [x12, #-256]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsw xzr, [x9, #255]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsw x2, [x3, #1]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsw x19, [x12, #-256]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb wzr, [x9, #255]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb w2, [x3, #1]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb w19, [x12, #-256]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh wzr, [x9, #255]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh w2, [x3, #1]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh w19, [x12, #-256]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str b0, [x0, #255]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str b3, [x3, #1]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str b5, [sp, #-256]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str h10, [x10, #255]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str h13, [x23, #1]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str h15, [sp, #-256]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str s20, [x20, #255]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str s23, [x23, #1]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str s25, [x0, #-256]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str d20, [x20, #255]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str d23, [x23, #1]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str d25, [x0, #-256]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr b0, [x0, #255]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr b3, [x3, #1]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr b5, [sp, #-256]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h10, [x10, #255]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h13, [x23, #1]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h15, [sp, #-256]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr s20, [x20, #255]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr s23, [x23, #1]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr s25, [x0, #-256]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d20, [x20, #255]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d23, [x23, #1]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d25, [x0, #-256]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q20, [x1, #255]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q23, [x9, #1]!
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q25, [x20, #-256]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q10, [x1, #255]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q22, [sp, #1]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q21, [x20, #-256]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - sttrb w9, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - sttrh wzr, [x12, #255]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - sttr w16, [x0, #-256]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - sttr x28, [x14, #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldtrb w1, [x20, #255]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldtrh w20, [x1, #255]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldtr w12, [sp, #255]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldtr xzr, [x12, #255]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldtrsb x9, [x7, #-256]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldtrsh x17, [x19, #-256]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldtrsw x20, [x15, #-256]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldtrsb w19, [x1, #-256]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldtrsh w15, [x21, #-256]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x4, [x29]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x30, [x12, #32760]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x20, [sp, #8]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr xzr, [sp]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w2, [sp]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w17, [sp, #16380]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w13, [x2, #4]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsw x2, [x5, #4]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsw x23, [sp, #16380]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w2, [x4]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh w23, [x6, #8190]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh wzr, [sp, #2]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh x29, [x2, #2]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w26, [x3, #121]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w12, [x2]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb w27, [sp, #4095]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb xzr, [x15]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str x30, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str w20, [x4, #16380]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strh w17, [sp, #8190]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strb w23, [x3, #4095]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strb wzr, [x2]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr b31, [sp, #4095]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h20, [x2, #8190]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr s10, [x19, #16380]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d3, [x10, #32760]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q12, [sp, #65520]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w3, [sp, x5]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w9, [x27, x6]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb w10, [x30, x7]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w11, [x29, x3, sxtx]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strb w12, [x28, xzr, sxtx]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w14, [x26, w6, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb w15, [x25, w7, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w17, [x23, w9, sxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb x18, [x22, w10, sxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh w3, [sp, x5]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh w9, [x27, x6]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w10, [x30, x7, lsl #1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strh w11, [x29, x3, sxtx]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w12, [x28, xzr, sxtx]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh x13, [x27, x5, sxtx #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w14, [x26, w6, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w15, [x25, w7, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh w16, [x24, w8, uxtw #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w17, [x23, w9, sxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w18, [x22, w10, sxtw]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strh w19, [x21, wzr, sxtw #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w3, [sp, x5]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr s9, [x27, x6]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w10, [x30, x7, lsl #2]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w11, [x29, x3, sxtx]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str s12, [x28, xzr, sxtx]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str w13, [x27, x5, sxtx #2]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str w14, [x26, w6, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w15, [x25, w7, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w16, [x24, w8, uxtw #2]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsw x17, [x23, w9, sxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w18, [x22, w10, sxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsw x19, [x21, wzr, sxtw #2]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x3, [sp, x5]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str x9, [x27, x6]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d10, [x30, x7, lsl #3]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str x11, [x29, x3, sxtx]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x12, [x28, xzr, sxtx]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x13, [x27, x5, sxtx #3]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - prfm pldl1keep, [x26, w6, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x15, [x25, w7, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x16, [x24, w8, uxtw #3]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x17, [x23, w9, sxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x18, [x22, w10, sxtw]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str d19, [x21, wzr, sxtw #3]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q3, [sp, x5]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q9, [x27, x6]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q10, [x30, x7, lsl #4]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q11, [x29, x3, sxtx]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q12, [x28, xzr, sxtx]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q13, [x27, x5, sxtx #4]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q14, [x26, w6, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q15, [x25, w7, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q16, [x24, w8, uxtw #4]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q17, [x23, w9, sxtw]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q18, [x22, w10, sxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q19, [x21, wzr, sxtw #4]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp w3, w5, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp wzr, w9, [sp, #252]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp w2, wzr, [sp, #-256]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp w9, w10, [sp, #4]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [sp, #4]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [x2, #-256]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldpsw x20, x30, [sp, #252]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp x21, x29, [x2, #504]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp x22, x23, [x3, #-512]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp x24, x25, [x4, #8]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp s29, s28, [sp, #252]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp s27, s26, [sp, #-256]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp s1, s2, [x3, #44]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp d3, d5, [x9, #504]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp d7, d11, [x10, #-512]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp d2, d3, [x30, #-8]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp q3, q5, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp q17, q19, [sp, #1008]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp q23, q29, [x1, #-1024]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp w3, w5, [sp], #0
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp wzr, w9, [sp], #252
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp w2, wzr, [sp], #-256
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp w9, w10, [sp], #4
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [sp], #4
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [x2], #-256
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldpsw x20, x30, [sp], #252
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp x21, x29, [x2], #504
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp x22, x23, [x3], #-512
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp x24, x25, [x4], #8
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp s29, s28, [sp], #252
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp s27, s26, [sp], #-256
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp s1, s2, [x3], #44
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp d3, d5, [x9], #504
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp d7, d11, [x10], #-512
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp d2, d3, [x30], #-8
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp q3, q5, [sp], #0
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp q17, q19, [sp], #1008
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp q23, q29, [x1], #-1024
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp w3, w5, [sp, #0]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp wzr, w9, [sp, #252]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp w2, wzr, [sp, #-256]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp w9, w10, [sp, #4]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [sp, #4]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [x2, #-256]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldpsw x20, x30, [sp, #252]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp x21, x29, [x2, #504]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp x22, x23, [x3, #-512]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp x24, x25, [x4, #8]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp s29, s28, [sp, #252]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp s27, s26, [sp, #-256]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp s1, s2, [x3, #44]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp d3, d5, [x9, #504]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp d7, d11, [x10, #-512]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp d2, d3, [x30, #-8]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp q3, q5, [sp, #0]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp q17, q19, [sp, #1008]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp q23, q29, [x1, #-1024]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp w3, w5, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnp wzr, w9, [sp, #252]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp w2, wzr, [sp, #-256]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp w9, w10, [sp, #4]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp x21, x29, [x2, #504]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp x22, x23, [x3, #-512]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp x24, x25, [x4, #8]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp s29, s28, [sp, #252]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnp s27, s26, [sp, #-256]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp s1, s2, [x3, #44]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnp d3, d5, [x9, #504]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnp d7, d11, [x10, #-512]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp d2, d3, [x30, #-8]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnp q3, q5, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnp q17, q19, [sp, #1008]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp q23, q29, [x1, #-1024]
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov w3, #983055
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov x10, #-6148914691236517206
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and w12, w23, w21
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and w16, w15, w1, lsl #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and w9, w4, w10, lsl #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and w3, w30, w11
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and x3, x5, x7, lsl #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and x5, x14, x19, asr #4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and w3, w17, w19, ror #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and w0, w2, wzr, lsr #17
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and w3, w30, w11, asr #2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and xzr, x4, x26
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and w3, wzr, w20, ror #2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and x7, x20, xzr, asr #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bic x13, x20, x14, lsl #47
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bic w2, w7, w9
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - orr w2, w7, w0, asr #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - orr x8, x9, x10, lsl #12
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - orn x3, x5, x7, asr #2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - orn w2, w5, w29
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ands w7, wzr, w9, lsl #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ands x3, x5, x20, ror #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bics w3, w5, w7
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bics x3, xzr, x3, lsl #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - tst w3, w7, lsl #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - tst x2, x20, asr #2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov x3, x6
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov x3, xzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov wzr, w2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov w3, w5
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - movz w2, #0, lsl #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov w2, #-1235
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov x2, #5299989643264
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov x2, #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - movk w3, #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - movz x4, #0, lsl #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - movk w5, #0, lsl #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - movz x6, #0, lsl #32
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - movk x7, #0, lsl #32
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - movz x8, #0, lsl #48
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - movk x9, #0, lsl #48
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adr x2, #1600
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adrp x21, #6553600
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adr x0, #262144
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - tbz x12, #62, #0
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - tbz x12, #62, #4
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - tbz x12, #62, #-32768
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - tbnz x12, #60, #32764
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - b #4
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - b #-4
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - b #134217724
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - br x20
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - blr xzr
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - ret x10
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - ret
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - eret
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - drps
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autda x0, x1
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autdb x2, x3
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autdza x4
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autdzb x5
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autia x6, x7
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autib x8, x9
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autia1716
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autib1716
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autiasp
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autibsp
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autiaz
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autibz
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autiza x10
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autizb x11
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - blraa x5, x6
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - blraaz x7
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - blrab x8, x9
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - blrabz x10
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - braa x29, x30
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - braaz x1
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - brab x2, x3
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - brabz x4
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - retaa
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - retab
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - eretaa
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - eretab
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacda x12, x13
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacdb x14, x15
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacdza x16
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacdzb x17
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacga x24, x25, x26
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacia x18, x19
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacib x20, x21
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacia1716
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacib1716
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - paciasp
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacibsp
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - paciaz
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacibz
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - paciza x22
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacizb x23
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldraa x11, [x12, #16]!
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldraa x13, [x14, #32]
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldrab x15, [x16, #24]!
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldrab x17, [x18, #8]
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - xpacd x27
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - xpaci x28
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - xpaclri
diff --git a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s
index de6559a790102..2186de5a6035c 100644
--- a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s
@@ -2132,8 +2132,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK: Resources:
# CHECK-NEXT: [0] - C1NanoUnitALU0
-# CHECK-NEXT: [1.0] - C1NanoUnitALU1
-# CHECK-NEXT: [1.1] - C1NanoUnitALU1
+# CHECK-NEXT: [1] - C1NanoUnitALU1
# CHECK-NEXT: [2] - C1NanoUnitB
# CHECK-NEXT: [3] - C1NanoUnitDiv
# CHECK-NEXT: [4] - C1NanoUnitLd1
@@ -2147,1067 +2146,1067 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: [11] - C1NanoUnitVMC
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1.0] [1.1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11]
-# CHECK-NEXT: - - - - - - 145.00 - - 501.00 501.00 3.00 3.00 197.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11]
+# CHECK-NEXT: - - - - - 145.00 - - 501.00 501.00 3.00 3.00 197.00
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1.0] [1.1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11] Instructions:
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs d29, d24
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add d17, d31, d29
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhn v0.2s, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhn v0.4h, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhn v0.8b, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhn2 v0.16b, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhn2 v0.4s, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhn2 v0.8h, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addp v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addp v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bic v0.4h, #15, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bic v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bif v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bit v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bsl v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmeq d20, d21, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmeq d20, d21, d22
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmeq v0.16b, v0.16b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmeq v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmge d20, d21, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmge d20, d21, d22
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmge v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmge v0.8b, v0.8b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmgt d20, d21, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmgt d20, d21, d22
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmgt v0.2s, v0.2s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmgt v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmhi d20, d21, d22
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmhi v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmhs d20, d21, d22
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmhs v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmle d20, d21, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmle v0.2d, v0.2d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmlt d20, d21, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmlt v0.8h, v0.8h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmtst d20, d21, d22
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmtst v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnt v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnt v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dup v0.16b, w28
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dup v0.2d, x28
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dup v0.2s, w28
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dup v0.4h, w28
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dup v0.4s, w28
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dup v0.8b, w28
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dup v0.8h, w28
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ext v0.16b, v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ext v0.8b, v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabd d29, d24, d20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabd s29, s24, s20
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabd v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - facge d20, d21, d22
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - facge s10, s11, s12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - facge v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - facgt d20, d21, d22
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - facgt s10, s11, s12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - facgt v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - faddp v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - faddp v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmeq d20, d21, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmeq d20, d21, d22
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmeq s10, s11, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmeq s10, s11, s12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmeq v0.2s, v0.2s, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmeq v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmge d20, d21, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmge d20, d21, d22
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmge s10, s11, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmge s10, s11, s12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmge v0.2d, v0.2d, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmge v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmgt d20, d21, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmgt d20, d21, d22
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmgt s10, s11, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmgt s10, s11, s12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmgt v0.4s, v0.4s, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmgt v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmle d20, d21, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmle s10, s11, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmle v0.2d, v0.2d, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmlt d20, d21, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmlt s10, s11, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcmlt v0.4s, v0.4s, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas d21, d14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas s12, s13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtas v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau d21, d14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau s12, s13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtau v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtl v0.2d, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtl v0.4s, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtl2 v0.2d, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtl2 v0.4s, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms d21, d14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms s22, s13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtms v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu d21, d14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu s12, s13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtmu v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtn v0.2s, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtn v0.4h, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtn2 v0.4s, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtn2 v0.8h, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns d21, d14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns s22, s13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtns v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu d21, d14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu s12, s13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnu v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps d21, d14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps s22, s13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtps v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu d21, d14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu s12, s13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtpu v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtxn s22, d13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtxn v0.2s, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtxn2 v0.4s, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs d21, d12, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs d21, d14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs s12, s13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs s21, s12, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu d21, d12, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu d21, d14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu s12, s13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu s21, s12, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - - - - - 10.00 fdiv v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnmp v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnmp v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnmp v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxp v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxp v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxp v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnmp v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnmp v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnmp v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminp v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminp v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminp v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmla d0, d1, v0.d[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmla s0, s1, v0.s[3]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmla v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmls d0, d4, v0.d[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmls s3, s5, v0.s[3]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmls v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov v0.2d, #-1.25000000
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov v0.2s, #13.00000000
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmov v0.4s, #1.00000000
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmul d0, d1, v0.d[1]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmul s0, s1, v0.s[3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmul v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmulx d0, d4, v0.d[1]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmulx d23, d11, d1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmulx s20, s22, s15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmulx s3, s5, v0.s[3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmulx v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmulx v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmulx v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecpe d13, d13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecpe s19, s14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecpe v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecpe v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecpe v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecpe v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecpe v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecps v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecps d22, d30, d21
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecps s21, s16, s13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecpx d16, d19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frecpx s18, s10
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - - - - - 19.00 frsqrte d21, d12
-# CHECK-NEXT: - - - - - - - - - - - - - 9.00 frsqrte s22, s13
-# CHECK-NEXT: - - - - - - - - - - - - - 19.00 frsqrte v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - - - - - 9.00 frsqrte v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - - - - - 5.00 frsqrte v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - - - - - 9.00 frsqrte v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - - - - - 5.00 frsqrte v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - - - - - 19.00 frsqrts d8, d22, d18
-# CHECK-NEXT: - - - - - - - - - - - - - 9.00 frsqrts s21, s5, s12
-# CHECK-NEXT: - - - - - - - - - - - - - 19.00 frsqrts v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - - - - - 19.00 fsqrt v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - - - - - 9.00 fsqrt v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - - - - - 5.00 fsqrt v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - - - - - 9.00 fsqrt v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - - - - - 5.00 fsqrt v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1 { v0.16b }, [x0]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1 { v0.4s, v1.4s }, [sp], #32
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld1 { v0.4s, v1.4s, v2.4s }, [sp]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1 { v0.8h }, [x15], x2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1 { v0.8h, v1.8h }, [x15]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1 { v0.b }[9], [x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1 { v0.b }[9], [x0], #1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1r { v0.16b }, [x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1r { v0.16b }, [x0], #1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1r { v0.8h }, [x15]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1r { v0.8h }, [x15], #2
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2 { v0.16b, v1.16b }, [x0], x1
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2 { v0.8b, v1.8b }, [x0]
-# CHECK-NEXT: - - - - - - 4.00 - - - - - - - ld2 { v0.h, v1.h }[7], [x15]
-# CHECK-NEXT: - - - - - - 4.00 - - - - - - - ld2 { v0.h, v1.h }[7], [x15], #4
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2r { v0.2d, v1.2d }, [x0]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2r { v0.2d, v1.2d }, [x0], #16
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2r { v0.4s, v1.4s }, [sp]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2r { v0.4s, v1.4s }, [sp], #8
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3 { v0.4h, v1.4h, v2.4h }, [x15]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2
-# CHECK-NEXT: - - - - - - 5.00 - - - - - - - ld3 { v0.s, v1.s, v2.s }[3], [sp]
-# CHECK-NEXT: - - - - - - 5.00 - - - - - - - ld3 { v0.s, v1.s, v2.s }[3], [sp], x3
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld3r { v0.4h, v1.4h, v2.4h }, [x15]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld3r { v0.8b, v1.8b, v2.8b }, [x0]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
-# CHECK-NEXT: - - - - - - 5.00 - - - - - - - ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0]
-# CHECK-NEXT: - - - - - - 5.00 - - - - - - - ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32
-# CHECK-NEXT: - - - - - - 5.00 - - - - - - - ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mla v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mls v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov b0, v0.b[15]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov d6, v0.d[1]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov h2, v0.h[5]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov s17, v0.s[2]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - movi d15, #0xff00ff00ff00ff
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - movi v0.16b, #31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - movi v0.2d, #0xff0000ff0000ffff
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - movi v0.2s, #8, msl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - movi v0.4s, #255, lsl #24
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - movi v0.8b, #255
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mul v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mvni v0.2s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mvni v0.4s, #16, msl #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg d29, d24
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mvn v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mvn v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orn v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr v0.8h, #31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - pmul v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - pmul v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - pmull v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - pmull2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhn v0.2s, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhn v0.4h, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhn v0.8b, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhn2 v0.16b, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhn2 v0.4s, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhn2 v0.8h, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rbit v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rbit v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev16 v21.8b, v1.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev16 v30.16b, v31.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev32 v0.4h, v9.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev32 v21.8b, v1.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev32 v30.16b, v31.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev32 v4.8h, v7.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev64 v0.16b, v31.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev64 v1.8b, v9.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev64 v13.4h, v21.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev64 v2.8h, v4.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev64 v4.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev64 v6.4s, v8.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrn v0.2s, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrn v0.4h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrn v0.8b, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrn2 v0.16b, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrn2 v0.4s, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrn2 v0.8h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhn v0.2s, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhn v0.4h, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhn v0.8b, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhn2 v0.16b, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhn2 v0.4s, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhn2 v0.8h, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saba v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabal v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabal v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabal v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabal2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabal2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabal2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabd v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdl v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdl v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdl v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdl2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdl2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sadalp v0.1d, v0.2s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sadalp v0.2d, v0.4s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sadalp v0.2s, v0.4h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sadalp v0.4h, v0.8b
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sadalp v0.4s, v0.8h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sadalp v0.8h, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddl v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddl v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddl v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddl2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddl2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlp v0.1d, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlp v0.2d, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlp v0.2s, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlp v0.4h, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlp v0.4s, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlp v0.8h, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddw v0.2d, v0.2d, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddw v0.4s, v0.4s, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddw v0.8h, v0.8h, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddw2 v0.2d, v0.2d, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddw2 v0.4s, v0.4s, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddw2 v0.8h, v0.8h, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d21, d12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf d21, d12, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s22, s13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf s22, s13, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shadd v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shl d7, d10, #12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shl v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shl v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shl v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shl v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll v0.2d, v0.2s, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll v0.4s, v0.4h, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll v0.8h, v0.8b, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll v0.2d, v0.2s, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll v0.4s, v0.4h, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll v0.8h, v0.8b, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll2 v0.2d, v0.4s, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll2 v0.4s, v0.8h, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll2 v0.8h, v0.16b, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll2 v0.2d, v0.4s, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll2 v0.4s, v0.8h, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shll2 v0.8h, v0.16b, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrn v0.2s, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrn v0.4h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrn v0.8b, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrn2 v0.16b, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrn2 v0.4s, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrn2 v0.8h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsub v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsub v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli d10, d14, #12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli v0.8h, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smaxp v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smaxp v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smaxp v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sminp v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sminp v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sminp v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlal v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlal v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlal v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlal2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlal2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlal2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlsl v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlsl v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlsl v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlsl2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlsl2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smlsl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smull v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smull v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smull v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smull2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smull2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smull2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs b19, b14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs d18, d12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs h21, h15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs s20, s12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd b20, b11, b15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlal d19, s24, s12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlal d8, s9, v0.s[1]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlal s0, h0, v0.h[3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlal s17, h27, h12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlal v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlal v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlal2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlal2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlsl d12, s23, s13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlsl d8, s9, v0.s[1]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlsl s0, h0, v0.h[3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlsl s14, h12, h25
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlsl v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlsl v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlsl2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmlsl2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmulh h10, h11, h12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmulh h7, h15, v0.h[3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmulh s15, s14, v0.s[1]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmulh s20, s21, s2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmulh v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmulh v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmull d1, s1, v0.s[1]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmull d15, s22, s12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmull s1, h1, v0.h[3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmull s12, h22, h12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmull v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmull v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmull2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdmull2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg b19, b14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg d18, d12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg h21, h15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg s20, s12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrdmulh h10, h11, h12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrdmulh h7, h15, v0.h[3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrdmulh s15, s14, v0.s[1]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrdmulh s20, s21, s2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrdmulh v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrdmulh v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshl d31, d31, d31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshl h3, h4, h15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshl v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshl v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshl v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrn b10, h13, #2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrn h15, s10, #6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrn s15, d12, #9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrn v0.2s, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrn v0.4h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrn v0.8b, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrn2 v0.16b, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrn2 v0.4s, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrn2 v0.8h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrun b17, h10, #6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrun h10, s13, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrun s22, d16, #31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrun v0.2s, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrun v0.4h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrun v0.8b, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrun2 v0.16b, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrun2 v0.4s, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrun2 v0.8h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl b11, b19, #7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl d15, d16, #51
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl d31, d31, d31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl h13, h18, #11
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl h3, h4, h15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl s14, s17, #22
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl v0.8h, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu b15, b18, #6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu d11, d13, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu h19, h17, #6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu s16, s14, #25
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu v0.8h, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrn b10, h15, #5
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrn h17, s10, #4
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrn s18, d10, #31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrn v0.2s, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrn v0.4h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrn v0.8b, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrn2 v0.16b, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrn2 v0.4s, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrn2 v0.8h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrun b15, h10, #7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrun h20, s14, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrun s10, d15, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrun v0.2s, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrun v0.4h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrun v0.8b, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrun2 v0.16b, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrun2 v0.4s, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrun2 v0.8h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub s20, s10, s7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtn b18, h18
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtn h20, s17
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtn s19, d14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtn v0.2s, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtn v0.4h, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtn v0.8b, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtn2 v0.16b, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtn2 v0.4s, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtn2 v0.8h, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtun b19, h14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtun h21, s15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtun s20, d12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtun v0.2s, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtun v0.4h, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtun v0.8b, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtun2 v0.16b, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtun2 v0.4s, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtun2 v0.8h, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srhadd v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srhadd v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srhadd v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri d10, d12, #14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri v0.8h, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshl d16, d16, d16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshl v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshl v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshl v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr d19, d18, #7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr v0.8h, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - srsra d15, d11, #19
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - srsra v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - srsra v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - srsra v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - srsra v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - srsra v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - srsra v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - srsra v0.8h, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshl d31, d31, d31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshl v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshl v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshl v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshl v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshll v0.2d, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshll2 v0.4s, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshr d15, d16, #12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshr v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshr v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshr v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshr v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshr v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshr v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshr v0.8h, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra d18, d12, #21
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra v0.8h, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubl v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubl v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubl v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubl2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubl2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubw v0.2d, v0.2d, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubw v0.4s, v0.4s, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubw v0.8h, v0.8h, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubw2 v0.2d, v0.2d, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubw2 v0.4s, v0.4s, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubw2 v0.8h, v0.8h, v0.16b
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st1 { v0.16b }, [x0]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st1 { v0.2d, v1.2d, v2.2d }, [x0], #48
-# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st1 { v0.4s, v1.4s }, [sp], #32
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st1 { v0.4s, v1.4s, v2.4s }, [sp]
-# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st1 { v0.8h }, [x15], x2
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st1 { v0.8h, v1.8h }, [x15]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1 { v0.d }[1], [x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1 { v0.d }[1], [x0], #8
-# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st2 { v0.16b, v1.16b }, [x0], x1
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2 { v0.8b, v1.8b }, [x0]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2 { v0.s, v1.s }[3], [sp]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2 { v0.s, v1.s }[3], [sp], #8
-# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st3 { v0.4h, v1.4h, v2.4h }, [x15]
-# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st3 { v0.8h, v1.8h, v2.8h }, [x15], x2
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st3 { v0.h, v1.h, v2.h }[7], [x15]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st3 { v0.h, v1.h, v2.h }[7], [x15], #6
-# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
-# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub d15, d5, d16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd b19, b14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd d18, d22
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd h20, h15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd s21, s12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl v0.16b, { v0.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl v0.16b, { v0.16b, v1.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl v0.8b, { v0.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl v0.8b, { v0.16b, v1.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx v0.16b, { v0.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx v0.16b, { v0.16b, v1.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx v0.8b, { v0.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx v0.8b, { v0.16b, v1.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaba v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabal v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabal v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabal v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabal2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabal2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabal2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabd v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdl v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdl v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdl v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdl2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdl2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uadalp v0.1d, v0.2s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uadalp v0.2d, v0.4s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uadalp v0.2s, v0.4h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uadalp v0.4h, v0.8b
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uadalp v0.4s, v0.8h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uadalp v0.8h, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddl v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddl v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddl v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddl2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddl2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlp v0.1d, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlp v0.2d, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlp v0.2s, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlp v0.4h, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlp v0.4s, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlp v0.8h, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddw v0.2d, v0.2d, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddw v0.4s, v0.4s, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddw v0.8h, v0.8h, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddw2 v0.2d, v0.2d, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddw2 v0.4s, v0.4s, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddw2 v0.8h, v0.8h, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d21, d14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf d21, d14, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf s22, s13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf s22, s13, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhadd v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhadd v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhsub v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umax v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umax v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umax v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umaxp v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umaxp v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umaxp v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umin v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umin v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umin v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uminp v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uminp v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uminp v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlal v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlal v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlal v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlal2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlal2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlal2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlsl v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlsl v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlsl v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlsl2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlsl2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umlsl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umull v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umull v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umull v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umull2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umull2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umull2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd h0, h1, h5
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl b11, b20, b30
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl s23, s20, s16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrn b10, h12, #5
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrn h12, s10, #14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrn s10, d10, #25
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrn v0.2s, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrn v0.4h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrn v0.8b, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrn2 v0.16b, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrn2 v0.4s, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrn2 v0.8h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl b11, b20, b30
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl b18, b15, #6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl d15, d12, #19
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl h11, h18, #7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl s14, s19, #18
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl s23, s20, s16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.8h, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrn b12, h10, #7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrn h10, s14, #5
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrn s10, d12, #13
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrn v0.2s, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrn v0.4h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrn v0.8b, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrn2 v0.16b, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrn2 v0.4s, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrn2 v0.8h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub d16, d16, d16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtn b18, h18
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtn h20, s17
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtn s19, d14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtn v0.2s, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtn v0.4h, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtn v0.8b, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtn2 v0.16b, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtn2 v0.4s, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtn2 v0.8h, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urecpe v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urecpe v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urhadd v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urhadd v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urhadd v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshl d8, d7, d4
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshl v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshl v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshl v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshl v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr d20, d23, #31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr v0.8h, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - - - - - 9.00 ursqrte v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - - - - - 9.00 ursqrte v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - ursra d18, d10, #13
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - ursra v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - ursra v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - ursra v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - ursra v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - ursra v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - ursra v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - ursra v0.8h, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushl d0, d0, d0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushl v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushl v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushl v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushll v0.4s, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushll2 v0.8h, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushr d10, d17, #18
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushr v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushr v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushr v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushr v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushr v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushr v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushr v0.8h, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd b19, b14
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd d18, d22
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd h20, h15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd s21, s12
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra d20, d13, #61
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra v0.8h, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubl v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubl v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubl v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubl2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubl2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubw v0.2d, v0.2d, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubw v0.4s, v0.4s, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubw v0.8h, v0.8h, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubw2 v0.2d, v0.2d, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubw2 v0.4s, v0.4s, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubw2 v0.8h, v0.8h, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xtn v0.2s, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xtn v0.4h, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xtn v0.8b, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xtn2 v0.16b, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xtn2 v0.4s, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xtn2 v0.8h, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs d29, d24
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add d17, d31, d29
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addp v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic v0.4h, #15, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bif v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bit v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bsl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cls v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cls v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cls v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cls v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cls v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cls v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clz v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clz v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clz v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clz v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clz v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clz v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmeq d20, d21, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmeq d20, d21, d22
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmeq v0.16b, v0.16b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmeq v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmge d20, d21, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmge d20, d21, d22
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmge v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmge v0.8b, v0.8b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmgt d20, d21, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmgt d20, d21, d22
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmgt v0.2s, v0.2s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmgt v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmhi d20, d21, d22
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmhi v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmhs d20, d21, d22
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmhs v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmle d20, d21, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmle v0.2d, v0.2d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmlt d20, d21, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmlt v0.8h, v0.8h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmtst d20, d21, d22
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmtst v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnt v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnt v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dup v0.16b, w28
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dup v0.2d, x28
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dup v0.2s, w28
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dup v0.4h, w28
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dup v0.4s, w28
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dup v0.8b, w28
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dup v0.8h, w28
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ext v0.16b, v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ext v0.8b, v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabd d29, d24, d20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabd s29, s24, s20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabd v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge d20, d21, d22
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge s10, s11, s12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt d20, d21, d22
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt s10, s11, s12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq d20, d21, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq d20, d21, d22
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq s10, s11, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq s10, s11, s12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq v0.2s, v0.2s, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge d20, d21, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge d20, d21, d22
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge s10, s11, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge s10, s11, s12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge v0.2d, v0.2d, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt d20, d21, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt d20, d21, d22
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt s10, s11, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt s10, s11, s12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt v0.4s, v0.4s, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmle d20, d21, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmle s10, s11, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmle v0.2d, v0.2d, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmlt d20, d21, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmlt s10, s11, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmlt v0.4s, v0.4s, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas d21, d14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas s12, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau d21, d14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau s12, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtl v0.2d, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtl v0.4s, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtl2 v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtl2 v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms d21, d14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms s22, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu d21, d14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu s12, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtn v0.2s, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtn v0.4h, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtn2 v0.4s, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtn2 v0.8h, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns d21, d14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns s22, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu d21, d14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu s12, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps d21, d14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps s22, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu d21, d14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu s12, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtxn s22, d13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtxn v0.2s, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtxn2 v0.4s, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs d21, d12, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs d21, d14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs s12, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs s21, s12, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu d21, d12, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu d21, d14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu s12, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu s21, s12, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - - - 10.00 fdiv v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnmp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnmp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnmp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnmp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnmp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnmp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla d0, d1, v0.d[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla s0, s1, v0.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmls d0, d4, v0.d[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmls s3, s5, v0.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmls v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov v0.2d, #-1.25000000
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov v0.2s, #13.00000000
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov v0.4s, #1.00000000
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmul d0, d1, v0.d[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmul s0, s1, v0.s[3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmul v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmulx d0, d4, v0.d[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmulx d23, d11, d1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmulx s20, s22, s15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmulx s3, s5, v0.s[3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmulx v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmulx v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmulx v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecpe d13, d13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecpe s19, s14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecpe v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecpe v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecpe v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecpe v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecpe v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecps v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecps d22, d30, d21
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecps s21, s16, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecpx d16, d19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecpx s18, s10
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinta v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinta v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinta v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinta v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinta v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinti v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinti v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinti v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinti v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinti v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintm v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintm v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintm v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintm v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintm v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintn v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintn v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintn v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintn v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintn v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintp v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintp v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintp v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintp v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintp v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintx v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintx v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintx v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintx v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintx v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintz v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintz v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintz v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintz v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintz v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - - - 19.00 frsqrte d21, d12
+# CHECK-NEXT: - - - - - - - - - - - - 9.00 frsqrte s22, s13
+# CHECK-NEXT: - - - - - - - - - - - - 19.00 frsqrte v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - - - - 9.00 frsqrte v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - - - 5.00 frsqrte v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - - - 9.00 frsqrte v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - - - 5.00 frsqrte v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - - - 19.00 frsqrts d8, d22, d18
+# CHECK-NEXT: - - - - - - - - - - - - 9.00 frsqrts s21, s5, s12
+# CHECK-NEXT: - - - - - - - - - - - - 19.00 frsqrts v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - - - - 19.00 fsqrt v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - - - - 9.00 fsqrt v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - - - 5.00 fsqrt v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - - - 9.00 fsqrt v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - - - 5.00 fsqrt v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v0.16b }, [x0]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v0.4s, v1.4s }, [sp], #32
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v0.4s, v1.4s, v2.4s }, [sp]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v0.8h }, [x15], x2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v0.8h, v1.8h }, [x15]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v0.b }[9], [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v0.b }[9], [x0], #1
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1r { v0.16b }, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1r { v0.16b }, [x0], #1
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1r { v0.8h }, [x15]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1r { v0.8h }, [x15], #2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2 { v0.16b, v1.16b }, [x0], x1
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2 { v0.8b, v1.8b }, [x0]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld2 { v0.h, v1.h }[7], [x15]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld2 { v0.h, v1.h }[7], [x15], #4
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2r { v0.2d, v1.2d }, [x0]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2r { v0.2d, v1.2d }, [x0], #16
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2r { v0.4s, v1.4s }, [sp]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2r { v0.4s, v1.4s }, [sp], #8
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3 { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2
+# CHECK-NEXT: - - - - - 5.00 - - - - - - - ld3 { v0.s, v1.s, v2.s }[3], [sp]
+# CHECK-NEXT: - - - - - 5.00 - - - - - - - ld3 { v0.s, v1.s, v2.s }[3], [sp], x3
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld3r { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld3r { v0.8b, v1.8b, v2.8b }, [x0]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
+# CHECK-NEXT: - - - - - 5.00 - - - - - - - ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0]
+# CHECK-NEXT: - - - - - 5.00 - - - - - - - ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32
+# CHECK-NEXT: - - - - - 5.00 - - - - - - - ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mla v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mls v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov b0, v0.b[15]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov d6, v0.d[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov h2, v0.h[5]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov s17, v0.s[2]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movi d15, #0xff00ff00ff00ff
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movi v0.16b, #31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movi v0.2d, #0xff0000ff0000ffff
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movi v0.2s, #8, msl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movi v0.4s, #255, lsl #24
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movi v0.8b, #255
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mul v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mvni v0.2s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mvni v0.4s, #16, msl #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg d29, d24
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mvn v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mvn v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orn v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr v0.8h, #31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmul v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmul v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmull v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmull2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev16 v21.8b, v1.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev16 v30.16b, v31.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev32 v0.4h, v9.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev32 v21.8b, v1.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev32 v30.16b, v31.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev32 v4.8h, v7.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev64 v0.16b, v31.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev64 v1.8b, v9.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev64 v13.4h, v21.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev64 v2.8h, v4.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev64 v4.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev64 v6.4s, v8.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrn v0.2s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrn v0.4h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrn v0.8b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saba v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sadalp v0.1d, v0.2s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sadalp v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sadalp v0.2s, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sadalp v0.4h, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sadalp v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sadalp v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlp v0.1d, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlp v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlp v0.2s, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlp v0.4h, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlp v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlp v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddw v0.2d, v0.2d, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddw v0.4s, v0.4s, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddw v0.8h, v0.8h, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddw2 v0.2d, v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddw2 v0.4s, v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf d21, d12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf d21, d12, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf s22, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf s22, s13, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shadd v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shl d7, d10, #12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shl v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shl v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shl v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shl v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll v0.2d, v0.2s, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll v0.4s, v0.4h, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll v0.8h, v0.8b, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll v0.2d, v0.2s, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll v0.4s, v0.4h, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll v0.8h, v0.8b, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll2 v0.2d, v0.4s, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll2 v0.4s, v0.8h, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll2 v0.8h, v0.16b, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll2 v0.2d, v0.4s, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll2 v0.4s, v0.8h, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll2 v0.8h, v0.16b, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrn v0.2s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrn v0.4h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrn v0.8b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shsub v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shsub v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli d10, d14, #12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smaxp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smaxp v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smaxp v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sminp v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sminp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sminp v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlsl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlsl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlsl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlsl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlsl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smull v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smull v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smull v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smull2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smull2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smull2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs b19, b14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs d18, d12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs h21, h15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs s20, s12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd b20, b11, b15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlal d19, s24, s12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlal d8, s9, v0.s[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlal s0, h0, v0.h[3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlal s17, h27, h12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlsl d12, s23, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlsl d8, s9, v0.s[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlsl s0, h0, v0.h[3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlsl s14, h12, h25
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlsl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlsl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlsl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmulh h10, h11, h12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmulh h7, h15, v0.h[3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmulh s15, s14, v0.s[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmulh s20, s21, s2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmulh v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmulh v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmull d1, s1, v0.s[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmull d15, s22, s12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmull s1, h1, v0.h[3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmull s12, h22, h12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmull v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmull v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmull2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmull2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg b19, b14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg d18, d12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg h21, h15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg s20, s12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrdmulh h10, h11, h12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrdmulh h7, h15, v0.h[3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrdmulh s15, s14, v0.s[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrdmulh s20, s21, s2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrdmulh v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrdmulh v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshl d31, d31, d31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshl h3, h4, h15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshl v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshl v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrn b10, h13, #2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrn h15, s10, #6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrn s15, d12, #9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrn v0.2s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrn v0.4h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrn v0.8b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrun b17, h10, #6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrun h10, s13, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrun s22, d16, #31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrun v0.2s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrun v0.4h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrun v0.8b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrun2 v0.16b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrun2 v0.4s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrun2 v0.8h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl b11, b19, #7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl d15, d16, #51
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl d31, d31, d31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl h13, h18, #11
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl h3, h4, h15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl s14, s17, #22
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu b15, b18, #6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu d11, d13, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu h19, h17, #6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu s16, s14, #25
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrn b10, h15, #5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrn h17, s10, #4
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrn s18, d10, #31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrn v0.2s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrn v0.4h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrn v0.8b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrun b15, h10, #7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrun h20, s14, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrun s10, d15, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrun v0.2s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrun v0.4h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrun v0.8b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrun2 v0.16b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrun2 v0.4s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrun2 v0.8h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub s20, s10, s7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtn b18, h18
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtn h20, s17
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtn s19, d14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtn v0.2s, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtn v0.4h, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtn v0.8b, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtn2 v0.16b, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtn2 v0.4s, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtn2 v0.8h, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtun b19, h14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtun h21, s15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtun s20, d12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtun v0.2s, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtun v0.4h, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtun v0.8b, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtun2 v0.16b, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtun2 v0.4s, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtun2 v0.8h, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srhadd v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srhadd v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srhadd v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sri d10, d12, #14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sri v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sri v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sri v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sri v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sri v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sri v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sri v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshl d16, d16, d16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshl v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshl v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr d19, d18, #7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - srsra d15, d11, #19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - srsra v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - srsra v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - srsra v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - srsra v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - srsra v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - srsra v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - srsra v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshl d31, d31, d31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshl v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshl v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshl v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshll v0.2d, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshll2 v0.4s, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshr d15, d16, #12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshr v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshr v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshr v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshr v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshr v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshr v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshr v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssra d18, d12, #21
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssra v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssra v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssra v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssra v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssra v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssra v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssra v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubw v0.2d, v0.2d, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubw v0.4s, v0.4s, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubw v0.8h, v0.8h, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubw2 v0.2d, v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubw2 v0.4s, v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v0.16b }, [x0]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v0.2d, v1.2d, v2.2d }, [x0], #48
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v0.4s, v1.4s }, [sp], #32
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v0.4s, v1.4s, v2.4s }, [sp]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v0.8h }, [x15], x2
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v0.8h, v1.8h }, [x15]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v0.d }[1], [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v0.d }[1], [x0], #8
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st2 { v0.16b, v1.16b }, [x0], x1
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2 { v0.8b, v1.8b }, [x0]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2 { v0.s, v1.s }[3], [sp]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2 { v0.s, v1.s }[3], [sp], #8
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st3 { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st3 { v0.8h, v1.8h, v2.8h }, [x15], x2
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st3 { v0.h, v1.h, v2.h }[7], [x15]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st3 { v0.h, v1.h, v2.h }[7], [x15], #6
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub d15, d5, d16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd b19, b14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd d18, d22
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd h20, h15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd s21, s12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl v0.16b, { v0.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl v0.16b, { v0.16b, v1.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl v0.8b, { v0.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl v0.8b, { v0.16b, v1.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx v0.16b, { v0.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx v0.16b, { v0.16b, v1.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx v0.8b, { v0.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx v0.8b, { v0.16b, v1.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaba v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uadalp v0.1d, v0.2s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uadalp v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uadalp v0.2s, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uadalp v0.4h, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uadalp v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uadalp v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlp v0.1d, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlp v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlp v0.2s, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlp v0.4h, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlp v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlp v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddw v0.2d, v0.2d, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddw v0.4s, v0.4s, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddw v0.8h, v0.8h, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddw2 v0.2d, v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddw2 v0.4s, v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf d21, d14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf d21, d14, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf s22, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf s22, s13, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhadd v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhadd v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhsub v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umax v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umax v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umax v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umaxp v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umaxp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umaxp v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umin v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umin v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umin v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uminp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uminp v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uminp v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlsl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlsl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlsl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlsl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlsl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umull v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umull v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umull v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umull2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umull2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umull2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd h0, h1, h5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshl b11, b20, b30
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshl s23, s20, s16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshl v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshl v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshl v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshl v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrn b10, h12, #5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrn h12, s10, #14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrn s10, d10, #25
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrn v0.2s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrn v0.4h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrn v0.8b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl b11, b20, b30
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl b18, b15, #6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl d15, d12, #19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl h11, h18, #7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl s14, s19, #18
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl s23, s20, s16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrn b12, h10, #7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrn h10, s14, #5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrn s10, d12, #13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrn v0.2s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrn v0.4h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrn v0.8b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub d16, d16, d16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtn b18, h18
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtn h20, s17
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtn s19, d14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtn v0.2s, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtn v0.4h, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtn v0.8b, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtn2 v0.16b, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtn2 v0.4s, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtn2 v0.8h, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urecpe v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urecpe v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urhadd v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urhadd v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urhadd v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshl d8, d7, d4
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshl v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshl v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshl v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshl v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr d20, d23, #31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - - - - 9.00 ursqrte v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - - - 9.00 ursqrte v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - ursra d18, d10, #13
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - ursra v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - ursra v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - ursra v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - ursra v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - ursra v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - ursra v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - ursra v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushl d0, d0, d0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushl v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushl v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushl v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushll v0.4s, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushll2 v0.8h, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushr d10, d17, #18
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushr v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushr v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushr v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushr v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushr v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushr v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushr v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usqadd b19, b14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usqadd d18, d22
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usqadd h20, h15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usqadd s21, s12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usqadd v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usqadd v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usqadd v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usqadd v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usqadd v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usqadd v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usqadd v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usra d20, d13, #61
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usra v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usra v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usra v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usra v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usra v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usra v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usra v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usubl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usubl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usubl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usubl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usubl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usubl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usubw v0.2d, v0.2d, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usubw v0.4s, v0.4s, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usubw v0.8h, v0.8h, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usubw2 v0.2d, v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usubw2 v0.4s, v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usubw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp1 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp1 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp1 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp1 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp1 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp1 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp1 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp2 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp2 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp2 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp2 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp2 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp2 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp2 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xtn v0.2s, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xtn v0.4h, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xtn v0.8b, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xtn2 v0.16b, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xtn2 v0.4s, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xtn2 v0.8h, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip2 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip2 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip2 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip2 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip2 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip2 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip2 v0.8h, v0.8h, v0.8h
diff --git a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s
index ff2a6d562502b..91480597331f7 100644
--- a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s
@@ -3486,14 +3486,14 @@ zip2 z31.s, z31.s, z31.s
# 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.33 addpl sp, sp, #31
-# CHECK-NEXT: 1 1 0.33 addpl x0, x0, #-32
-# CHECK-NEXT: 1 1 0.33 addpl x21, x21, #0
-# CHECK-NEXT: 1 1 0.33 addpl x23, x8, #-1
-# CHECK-NEXT: 1 1 0.33 addvl sp, sp, #31
-# CHECK-NEXT: 1 1 0.33 addvl x0, x0, #-32
-# CHECK-NEXT: 1 1 0.33 addvl x21, x21, #0
-# CHECK-NEXT: 1 1 0.33 addvl x23, x8, #-1
+# CHECK-NEXT: 1 1 0.50 addpl sp, sp, #31
+# CHECK-NEXT: 1 1 0.50 addpl x0, x0, #-32
+# CHECK-NEXT: 1 1 0.50 addpl x21, x21, #0
+# CHECK-NEXT: 1 1 0.50 addpl x23, x8, #-1
+# CHECK-NEXT: 1 1 0.50 addvl sp, sp, #31
+# CHECK-NEXT: 1 1 0.50 addvl x0, x0, #-32
+# CHECK-NEXT: 1 1 0.50 addvl x21, x21, #0
+# CHECK-NEXT: 1 1 0.50 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]
@@ -3862,51 +3862,51 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 9 0.50 cnt z31.d, p7/m, z31.d
# CHECK-NEXT: 1 3 0.50 cnt z31.h, p7/m, z31.h
# CHECK-NEXT: 1 6 0.50 cnt z31.s, p7/m, z31.s
-# CHECK-NEXT: 1 1 0.33 cntb x0
-# CHECK-NEXT: 1 1 0.33 cntb x0, #28
-# CHECK-NEXT: 1 1 0.33 cntb x0, all, mul #16
-# CHECK-NEXT: 1 1 0.33 cntb x0, pow2
-# CHECK-NEXT: 1 1 0.33 cntd x0
-# CHECK-NEXT: 1 1 0.33 cntd x0, #28
-# CHECK-NEXT: 1 1 0.33 cntd x0, all, mul #16
-# CHECK-NEXT: 1 1 0.33 cntd x0, pow2
-# CHECK-NEXT: 1 1 0.33 cnth x0
-# CHECK-NEXT: 1 1 0.33 cnth x0, #28
-# CHECK-NEXT: 1 1 0.33 cnth x0, all, mul #16
-# CHECK-NEXT: 1 1 0.33 cnth x0, pow2
+# CHECK-NEXT: 1 1 0.50 cntb x0
+# CHECK-NEXT: 1 1 0.50 cntb x0, #28
+# CHECK-NEXT: 1 1 0.50 cntb x0, all, mul #16
+# CHECK-NEXT: 1 1 0.50 cntb x0, pow2
+# CHECK-NEXT: 1 1 0.50 cntd x0
+# CHECK-NEXT: 1 1 0.50 cntd x0, #28
+# CHECK-NEXT: 1 1 0.50 cntd x0, all, mul #16
+# CHECK-NEXT: 1 1 0.50 cntd x0, pow2
+# CHECK-NEXT: 1 1 0.50 cnth x0
+# CHECK-NEXT: 1 1 0.50 cnth x0, #28
+# CHECK-NEXT: 1 1 0.50 cnth x0, all, mul #16
+# CHECK-NEXT: 1 1 0.50 cnth x0, pow2
# CHECK-NEXT: 1 4 1.00 cntp x0, p15, p0.b
# CHECK-NEXT: 1 4 1.00 cntp x0, p15, p0.d
# CHECK-NEXT: 1 4 1.00 cntp x0, p15, p0.h
# CHECK-NEXT: 1 4 1.00 cntp x0, p15, p0.s
-# CHECK-NEXT: 1 1 0.33 cntw x0
-# CHECK-NEXT: 1 1 0.33 cntw x0, #28
-# CHECK-NEXT: 1 1 0.33 cntw x0, all, mul #16
-# CHECK-NEXT: 1 1 0.33 cntw x0, pow2
+# CHECK-NEXT: 1 1 0.50 cntw x0
+# CHECK-NEXT: 1 1 0.50 cntw x0, #28
+# CHECK-NEXT: 1 1 0.50 cntw x0, all, mul #16
+# CHECK-NEXT: 1 1 0.50 cntw x0, pow2
# CHECK-NEXT: 1 4 0.50 compact z31.d, p7, z31.d
# CHECK-NEXT: 1 4 0.50 compact z31.s, p7, z31.s
-# CHECK-NEXT: 1 1 0.33 ctermeq w30, wzr
-# CHECK-NEXT: 1 1 0.33 ctermeq wzr, w30
-# CHECK-NEXT: 1 1 0.33 ctermeq x30, xzr
-# CHECK-NEXT: 1 1 0.33 ctermeq xzr, x30
-# CHECK-NEXT: 1 1 0.33 ctermne w30, wzr
-# CHECK-NEXT: 1 1 0.33 ctermne wzr, w30
-# CHECK-NEXT: 1 1 0.33 ctermne x30, xzr
-# CHECK-NEXT: 1 1 0.33 ctermne xzr, x30
-# CHECK-NEXT: 1 3 0.33 decb x0
-# CHECK-NEXT: 1 3 0.33 decb x0, #14
-# CHECK-NEXT: 1 3 0.33 decb x0, all, mul #16
-# CHECK-NEXT: 1 3 0.33 decb x0, pow2
-# CHECK-NEXT: 1 3 0.33 decb x0, vl1
-# CHECK-NEXT: 1 3 0.33 decd x0
-# CHECK-NEXT: 1 3 0.33 decd x0, #14
-# CHECK-NEXT: 1 3 0.33 decd x0, all, mul #16
-# CHECK-NEXT: 1 3 0.33 decd x0, pow2
-# CHECK-NEXT: 1 3 0.33 decd x0, vl1
-# CHECK-NEXT: 1 3 0.33 dech x0
-# CHECK-NEXT: 1 3 0.33 dech x0, #14
-# CHECK-NEXT: 1 3 0.33 dech x0, all, mul #16
-# CHECK-NEXT: 1 3 0.33 dech x0, pow2
-# CHECK-NEXT: 1 3 0.33 dech x0, vl1
+# 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 3 0.50 decb x0
+# CHECK-NEXT: 1 3 0.50 decb x0, #14
+# CHECK-NEXT: 1 3 0.50 decb x0, all, mul #16
+# CHECK-NEXT: 1 3 0.50 decb x0, pow2
+# CHECK-NEXT: 1 3 0.50 decb x0, vl1
+# CHECK-NEXT: 1 3 0.50 decd x0
+# CHECK-NEXT: 1 3 0.50 decd x0, #14
+# CHECK-NEXT: 1 3 0.50 decd x0, all, mul #16
+# CHECK-NEXT: 1 3 0.50 decd x0, pow2
+# CHECK-NEXT: 1 3 0.50 decd x0, vl1
+# CHECK-NEXT: 1 3 0.50 dech x0
+# CHECK-NEXT: 1 3 0.50 dech x0, #14
+# CHECK-NEXT: 1 3 0.50 dech x0, all, mul #16
+# CHECK-NEXT: 1 3 0.50 dech x0, pow2
+# CHECK-NEXT: 1 3 0.50 dech x0, vl1
# CHECK-NEXT: 1 4 1.00 decp x0, p0.b
# CHECK-NEXT: 1 4 1.00 decp x0, p0.d
# CHECK-NEXT: 1 4 1.00 decp x0, p0.h
@@ -3918,11 +3918,11 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 decp z31.d, p15.d
# CHECK-NEXT: 1 4 0.50 decp z31.h, p15.h
# CHECK-NEXT: 1 4 0.50 decp z31.s, p15.s
-# CHECK-NEXT: 1 3 0.33 decw x0
-# CHECK-NEXT: 1 3 0.33 decw x0, #14
-# CHECK-NEXT: 1 3 0.33 decw x0, all, mul #16
-# CHECK-NEXT: 1 3 0.33 decw x0, pow2
-# CHECK-NEXT: 1 3 0.33 decw x0, vl1
+# CHECK-NEXT: 1 3 0.50 decw x0
+# CHECK-NEXT: 1 3 0.50 decw x0, #14
+# CHECK-NEXT: 1 3 0.50 decw x0, all, mul #16
+# CHECK-NEXT: 1 3 0.50 decw x0, pow2
+# CHECK-NEXT: 1 3 0.50 decw x0, vl1
# CHECK-NEXT: 1 4 0.50 dupm z0.d, #0xfffffffffffffff9
# CHECK-NEXT: 1 4 0.50 dupm z0.s, #0xfffffff9
# CHECK-NEXT: 1 4 0.50 dupm z23.h, #0xfff9
@@ -4309,23 +4309,23 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 6 2.00 histcnt z0.s, p0/z, z1.s, z2.s
# CHECK-NEXT: 1 6 2.00 histcnt z29.d, p7/z, z30.d, z31.d
# CHECK-NEXT: 1 6 2.00 histseg z0.b, z1.b, z31.b
-# CHECK-NEXT: 1 3 0.33 incb x0
-# CHECK-NEXT: 1 3 0.33 incb x0, #14
-# CHECK-NEXT: 1 3 0.33 incb x0, all, mul #16
-# CHECK-NEXT: 1 3 0.33 incb x0, pow2
-# CHECK-NEXT: 1 3 0.33 incb x0, vl1
-# CHECK-NEXT: 1 3 0.33 incd x0
-# CHECK-NEXT: 1 3 0.33 incd x0, #14
-# CHECK-NEXT: 1 3 0.33 incd x0, all, mul #16
-# CHECK-NEXT: 1 3 0.33 incd x0, pow2
-# CHECK-NEXT: 1 3 0.33 incd x0, vl1
+# CHECK-NEXT: 1 3 0.50 incb x0
+# CHECK-NEXT: 1 3 0.50 incb x0, #14
+# CHECK-NEXT: 1 3 0.50 incb x0, all, mul #16
+# CHECK-NEXT: 1 3 0.50 incb x0, pow2
+# CHECK-NEXT: 1 3 0.50 incb x0, vl1
+# CHECK-NEXT: 1 3 0.50 incd x0
+# CHECK-NEXT: 1 3 0.50 incd x0, #14
+# CHECK-NEXT: 1 3 0.50 incd x0, all, mul #16
+# CHECK-NEXT: 1 3 0.50 incd x0, pow2
+# CHECK-NEXT: 1 3 0.50 incd x0, vl1
# CHECK-NEXT: 1 4 0.50 incd z0.d
# CHECK-NEXT: 1 4 0.50 incd z0.d, all, mul #16
-# CHECK-NEXT: 1 3 0.33 inch x0
-# CHECK-NEXT: 1 3 0.33 inch x0, #14
-# CHECK-NEXT: 1 3 0.33 inch x0, all, mul #16
-# CHECK-NEXT: 1 3 0.33 inch x0, pow2
-# CHECK-NEXT: 1 3 0.33 inch x0, vl1
+# CHECK-NEXT: 1 3 0.50 inch x0
+# CHECK-NEXT: 1 3 0.50 inch x0, #14
+# CHECK-NEXT: 1 3 0.50 inch x0, all, mul #16
+# CHECK-NEXT: 1 3 0.50 inch x0, pow2
+# CHECK-NEXT: 1 3 0.50 inch x0, vl1
# CHECK-NEXT: 1 4 0.50 inch z0.h
# CHECK-NEXT: 1 4 0.50 inch z0.h, all, mul #16
# CHECK-NEXT: 1 4 1.00 incp x0, p0.b
@@ -4339,11 +4339,11 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 incp z31.d, p15.d
# CHECK-NEXT: 1 4 0.50 incp z31.h, p15.h
# CHECK-NEXT: 1 4 0.50 incp z31.s, p15.s
-# CHECK-NEXT: 1 3 0.33 incw x0
-# CHECK-NEXT: 1 3 0.33 incw x0, #14
-# CHECK-NEXT: 1 3 0.33 incw x0, all, mul #16
-# CHECK-NEXT: 1 3 0.33 incw x0, pow2
-# CHECK-NEXT: 1 3 0.33 incw x0, vl1
+# CHECK-NEXT: 1 3 0.50 incw x0
+# CHECK-NEXT: 1 3 0.50 incw x0, #14
+# CHECK-NEXT: 1 3 0.50 incw x0, all, mul #16
+# CHECK-NEXT: 1 3 0.50 incw x0, pow2
+# CHECK-NEXT: 1 3 0.50 incw x0, vl1
# CHECK-NEXT: 1 4 0.50 incw z0.s
# CHECK-NEXT: 1 4 0.50 incw z0.s, all, mul #16
# CHECK-NEXT: 1 4 0.50 index z0.b, #0, #0
@@ -5369,16 +5369,16 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 rbit z0.d, p7/m, z31.d
# CHECK-NEXT: 1 3 0.50 rbit z0.h, p7/m, z31.h
# CHECK-NEXT: 1 3 0.50 rbit z0.s, p7/m, z31.s
-# CHECK-NEXT: 1 1 0.33 * U rdffr p0.b
+# CHECK-NEXT: 1 1 0.50 * U rdffr p0.b
# CHECK-NEXT: 1 3 1.00 * U rdffr p0.b, p0/z
-# CHECK-NEXT: 1 1 0.33 * U rdffr p15.b
+# CHECK-NEXT: 1 1 0.50 * U rdffr p15.b
# CHECK-NEXT: 1 3 1.00 * U rdffr p15.b, p15/z
# CHECK-NEXT: 1 3 1.00 U rdffrs p0.b, p0/z
# CHECK-NEXT: 1 3 1.00 U rdffrs p15.b, p15/z
-# CHECK-NEXT: 1 1 0.33 rdvl x0, #0
-# CHECK-NEXT: 1 1 0.33 rdvl x21, #-32
-# CHECK-NEXT: 1 1 0.33 rdvl x23, #31
-# CHECK-NEXT: 1 1 0.33 rdvl xzr, #-1
+# CHECK-NEXT: 1 1 0.50 rdvl x0, #0
+# CHECK-NEXT: 1 1 0.50 rdvl x21, #-32
+# CHECK-NEXT: 1 1 0.50 rdvl x23, #31
+# CHECK-NEXT: 1 1 0.50 rdvl xzr, #-1
# CHECK-NEXT: 1 3 0.50 rev z0.b, z31.b
# CHECK-NEXT: 1 3 0.50 rev z0.d, z31.d
# CHECK-NEXT: 1 3 0.50 rev z0.h, z31.h
@@ -5471,7 +5471,7 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 2 0.50 sel z23.d, p11, z13.d, z8.d
# CHECK-NEXT: 1 2 0.50 sel z23.h, p11, z13.h, z8.h
# CHECK-NEXT: 1 2 0.50 sel z23.s, p11, z13.s, z8.s
-# CHECK-NEXT: 1 1 0.33 * U setffr
+# CHECK-NEXT: 1 1 0.50 * U setffr
# CHECK-NEXT: 1 2 0.50 shadd z0.b, p0/m, z0.b, z1.b
# CHECK-NEXT: 1 2 0.50 shadd z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: 1 2 0.50 shadd z29.s, p7/m, z29.s, z30.s
@@ -5624,37 +5624,37 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 sqcadd z31.d, z31.d, z31.d, #270
# CHECK-NEXT: 1 4 0.50 sqcadd z31.h, z31.h, z31.h, #270
# CHECK-NEXT: 1 4 0.50 sqcadd z31.s, z31.s, z31.s, #270
-# CHECK-NEXT: 1 4 0.33 sqdecb x0
-# CHECK-NEXT: 1 4 0.33 sqdecb x0, #14
-# CHECK-NEXT: 1 4 0.33 sqdecb x0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 sqdecb x0, pow2
-# CHECK-NEXT: 1 4 0.33 sqdecb x0, vl1
-# CHECK-NEXT: 1 4 0.33 sqdecb x0, w0
-# CHECK-NEXT: 1 4 0.33 sqdecb x0, w0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 sqdecb x0, w0, pow2
-# CHECK-NEXT: 1 4 0.33 sqdecb x0, w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.33 sqdecd x0
-# CHECK-NEXT: 1 4 0.33 sqdecd x0, #14
-# CHECK-NEXT: 1 4 0.33 sqdecd x0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 sqdecd x0, pow2
-# CHECK-NEXT: 1 4 0.33 sqdecd x0, vl1
-# CHECK-NEXT: 1 4 0.33 sqdecd x0, w0
-# CHECK-NEXT: 1 4 0.33 sqdecd x0, w0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 sqdecd x0, w0, pow2
-# CHECK-NEXT: 1 4 0.33 sqdecd x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdecb x0
+# CHECK-NEXT: 1 4 0.50 sqdecb x0, #14
+# CHECK-NEXT: 1 4 0.50 sqdecb x0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdecb x0, pow2
+# CHECK-NEXT: 1 4 0.50 sqdecb x0, vl1
+# CHECK-NEXT: 1 4 0.50 sqdecb x0, w0
+# CHECK-NEXT: 1 4 0.50 sqdecb x0, w0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdecb x0, w0, pow2
+# CHECK-NEXT: 1 4 0.50 sqdecb x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdecd x0
+# CHECK-NEXT: 1 4 0.50 sqdecd x0, #14
+# CHECK-NEXT: 1 4 0.50 sqdecd x0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdecd x0, pow2
+# CHECK-NEXT: 1 4 0.50 sqdecd x0, vl1
+# CHECK-NEXT: 1 4 0.50 sqdecd x0, w0
+# CHECK-NEXT: 1 4 0.50 sqdecd x0, w0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdecd x0, w0, pow2
+# CHECK-NEXT: 1 4 0.50 sqdecd x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqdecd z0.d
# CHECK-NEXT: 1 4 0.50 sqdecd z0.d, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqdecd z0.d, pow2
# CHECK-NEXT: 1 4 0.50 sqdecd z0.d, pow2, mul #16
-# CHECK-NEXT: 1 4 0.33 sqdech x0
-# CHECK-NEXT: 1 4 0.33 sqdech x0, #14
-# CHECK-NEXT: 1 4 0.33 sqdech x0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 sqdech x0, pow2
-# CHECK-NEXT: 1 4 0.33 sqdech x0, vl1
-# CHECK-NEXT: 1 4 0.33 sqdech x0, w0
-# CHECK-NEXT: 1 4 0.33 sqdech x0, w0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 sqdech x0, w0, pow2
-# CHECK-NEXT: 1 4 0.33 sqdech x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdech x0
+# CHECK-NEXT: 1 4 0.50 sqdech x0, #14
+# CHECK-NEXT: 1 4 0.50 sqdech x0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdech x0, pow2
+# CHECK-NEXT: 1 4 0.50 sqdech x0, vl1
+# CHECK-NEXT: 1 4 0.50 sqdech x0, w0
+# CHECK-NEXT: 1 4 0.50 sqdech x0, w0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdech x0, w0, pow2
+# CHECK-NEXT: 1 4 0.50 sqdech x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqdech z0.h
# CHECK-NEXT: 1 4 0.50 sqdech z0.h, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqdech z0.h, pow2
@@ -5670,15 +5670,15 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 sqdecp z0.d, p0.d
# CHECK-NEXT: 1 4 0.50 sqdecp z0.h, p0.h
# CHECK-NEXT: 1 4 0.50 sqdecp z0.s, p0.s
-# CHECK-NEXT: 1 4 0.33 sqdecw x0
-# CHECK-NEXT: 1 4 0.33 sqdecw x0, #14
-# CHECK-NEXT: 1 4 0.33 sqdecw x0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 sqdecw x0, pow2
-# CHECK-NEXT: 1 4 0.33 sqdecw x0, vl1
-# CHECK-NEXT: 1 4 0.33 sqdecw x0, w0
-# CHECK-NEXT: 1 4 0.33 sqdecw x0, w0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 sqdecw x0, w0, pow2
-# CHECK-NEXT: 1 4 0.33 sqdecw x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdecw x0
+# CHECK-NEXT: 1 4 0.50 sqdecw x0, #14
+# CHECK-NEXT: 1 4 0.50 sqdecw x0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdecw x0, pow2
+# CHECK-NEXT: 1 4 0.50 sqdecw x0, vl1
+# CHECK-NEXT: 1 4 0.50 sqdecw x0, w0
+# CHECK-NEXT: 1 4 0.50 sqdecw x0, w0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqdecw x0, w0, pow2
+# CHECK-NEXT: 1 4 0.50 sqdecw x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqdecw z0.s
# CHECK-NEXT: 1 4 0.50 sqdecw z0.s, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqdecw z0.s, pow2
@@ -5726,37 +5726,37 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 sqdmullt z0.s, z1.h, z7.h[7]
# CHECK-NEXT: 1 4 0.50 sqdmullt z29.s, z30.h, z31.h
# CHECK-NEXT: 1 4 0.50 sqdmullt z31.d, z31.s, z31.s
-# CHECK-NEXT: 1 4 0.33 sqincb x0
-# CHECK-NEXT: 1 4 0.33 sqincb x0, #14
-# CHECK-NEXT: 1 4 0.33 sqincb x0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 sqincb x0, pow2
-# CHECK-NEXT: 1 4 0.33 sqincb x0, vl1
-# CHECK-NEXT: 1 4 0.33 sqincb x0, w0
-# CHECK-NEXT: 1 4 0.33 sqincb x0, w0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 sqincb x0, w0, pow2
-# CHECK-NEXT: 1 4 0.33 sqincb x0, w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.33 sqincd x0
-# CHECK-NEXT: 1 4 0.33 sqincd x0, #14
-# CHECK-NEXT: 1 4 0.33 sqincd x0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 sqincd x0, pow2
-# CHECK-NEXT: 1 4 0.33 sqincd x0, vl1
-# CHECK-NEXT: 1 4 0.33 sqincd x0, w0
-# CHECK-NEXT: 1 4 0.33 sqincd x0, w0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 sqincd x0, w0, pow2
-# CHECK-NEXT: 1 4 0.33 sqincd x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 sqincb x0
+# CHECK-NEXT: 1 4 0.50 sqincb x0, #14
+# CHECK-NEXT: 1 4 0.50 sqincb x0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqincb x0, pow2
+# CHECK-NEXT: 1 4 0.50 sqincb x0, vl1
+# CHECK-NEXT: 1 4 0.50 sqincb x0, w0
+# CHECK-NEXT: 1 4 0.50 sqincb x0, w0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqincb x0, w0, pow2
+# CHECK-NEXT: 1 4 0.50 sqincb x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 sqincd x0
+# CHECK-NEXT: 1 4 0.50 sqincd x0, #14
+# CHECK-NEXT: 1 4 0.50 sqincd x0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqincd x0, pow2
+# CHECK-NEXT: 1 4 0.50 sqincd x0, vl1
+# CHECK-NEXT: 1 4 0.50 sqincd x0, w0
+# CHECK-NEXT: 1 4 0.50 sqincd x0, w0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqincd x0, w0, pow2
+# CHECK-NEXT: 1 4 0.50 sqincd x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqincd z0.d
# CHECK-NEXT: 1 4 0.50 sqincd z0.d, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqincd z0.d, pow2
# CHECK-NEXT: 1 4 0.50 sqincd z0.d, pow2, mul #16
-# CHECK-NEXT: 1 4 0.33 sqinch x0
-# CHECK-NEXT: 1 4 0.33 sqinch x0, #14
-# CHECK-NEXT: 1 4 0.33 sqinch x0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 sqinch x0, pow2
-# CHECK-NEXT: 1 4 0.33 sqinch x0, vl1
-# CHECK-NEXT: 1 4 0.33 sqinch x0, w0
-# CHECK-NEXT: 1 4 0.33 sqinch x0, w0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 sqinch x0, w0, pow2
-# CHECK-NEXT: 1 4 0.33 sqinch x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 sqinch x0
+# CHECK-NEXT: 1 4 0.50 sqinch x0, #14
+# CHECK-NEXT: 1 4 0.50 sqinch x0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqinch x0, pow2
+# CHECK-NEXT: 1 4 0.50 sqinch x0, vl1
+# CHECK-NEXT: 1 4 0.50 sqinch x0, w0
+# CHECK-NEXT: 1 4 0.50 sqinch x0, w0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqinch x0, w0, pow2
+# CHECK-NEXT: 1 4 0.50 sqinch x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqinch z0.h
# CHECK-NEXT: 1 4 0.50 sqinch z0.h, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqinch z0.h, pow2
@@ -5772,15 +5772,15 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 sqincp z0.d, p0.d
# CHECK-NEXT: 1 4 0.50 sqincp z0.h, p0.h
# CHECK-NEXT: 1 4 0.50 sqincp z0.s, p0.s
-# CHECK-NEXT: 1 4 0.33 sqincw x0
-# CHECK-NEXT: 1 4 0.33 sqincw x0, #14
-# CHECK-NEXT: 1 4 0.33 sqincw x0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 sqincw x0, pow2
-# CHECK-NEXT: 1 4 0.33 sqincw x0, vl1
-# CHECK-NEXT: 1 4 0.33 sqincw x0, w0
-# CHECK-NEXT: 1 4 0.33 sqincw x0, w0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 sqincw x0, w0, pow2
-# CHECK-NEXT: 1 4 0.33 sqincw x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 sqincw x0
+# CHECK-NEXT: 1 4 0.50 sqincw x0, #14
+# CHECK-NEXT: 1 4 0.50 sqincw x0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqincw x0, pow2
+# CHECK-NEXT: 1 4 0.50 sqincw x0, vl1
+# CHECK-NEXT: 1 4 0.50 sqincw x0, w0
+# CHECK-NEXT: 1 4 0.50 sqincw x0, w0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 sqincw x0, w0, pow2
+# CHECK-NEXT: 1 4 0.50 sqincw x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqincw z0.s
# CHECK-NEXT: 1 4 0.50 sqincw z0.s, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqincw z0.s, pow2
@@ -6473,37 +6473,37 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 uqadd z31.d, z31.d, #65280
# CHECK-NEXT: 1 3 0.50 uqadd z31.h, z31.h, #65280
# CHECK-NEXT: 1 3 0.50 uqadd z31.s, z31.s, #65280
-# CHECK-NEXT: 1 4 0.33 uqdecb w0
-# CHECK-NEXT: 1 4 0.33 uqdecb w0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 uqdecb w0, pow2
-# CHECK-NEXT: 1 4 0.33 uqdecb w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.33 uqdecb x0
-# CHECK-NEXT: 1 4 0.33 uqdecb x0, #14
-# CHECK-NEXT: 1 4 0.33 uqdecb x0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 uqdecb x0, pow2
-# CHECK-NEXT: 1 4 0.33 uqdecb x0, vl1
-# CHECK-NEXT: 1 4 0.33 uqdecd w0
-# CHECK-NEXT: 1 4 0.33 uqdecd w0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 uqdecd w0, pow2
-# CHECK-NEXT: 1 4 0.33 uqdecd w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.33 uqdecd x0
-# CHECK-NEXT: 1 4 0.33 uqdecd x0, #14
-# CHECK-NEXT: 1 4 0.33 uqdecd x0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 uqdecd x0, pow2
-# CHECK-NEXT: 1 4 0.33 uqdecd x0, vl1
+# CHECK-NEXT: 1 4 0.50 uqdecb w0
+# CHECK-NEXT: 1 4 0.50 uqdecb w0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqdecb w0, pow2
+# CHECK-NEXT: 1 4 0.50 uqdecb w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 uqdecb x0
+# CHECK-NEXT: 1 4 0.50 uqdecb x0, #14
+# CHECK-NEXT: 1 4 0.50 uqdecb x0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqdecb x0, pow2
+# CHECK-NEXT: 1 4 0.50 uqdecb x0, vl1
+# CHECK-NEXT: 1 4 0.50 uqdecd w0
+# CHECK-NEXT: 1 4 0.50 uqdecd w0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqdecd w0, pow2
+# CHECK-NEXT: 1 4 0.50 uqdecd w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 uqdecd x0
+# CHECK-NEXT: 1 4 0.50 uqdecd x0, #14
+# CHECK-NEXT: 1 4 0.50 uqdecd x0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqdecd x0, pow2
+# CHECK-NEXT: 1 4 0.50 uqdecd x0, vl1
# CHECK-NEXT: 1 4 0.50 uqdecd z0.d
# CHECK-NEXT: 1 4 0.50 uqdecd z0.d, all, mul #16
# CHECK-NEXT: 1 4 0.50 uqdecd z0.d, pow2
# CHECK-NEXT: 1 4 0.50 uqdecd z0.d, pow2, mul #16
-# CHECK-NEXT: 1 4 0.33 uqdech w0
-# CHECK-NEXT: 1 4 0.33 uqdech w0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 uqdech w0, pow2
-# CHECK-NEXT: 1 4 0.33 uqdech w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.33 uqdech x0
-# CHECK-NEXT: 1 4 0.33 uqdech x0, #14
-# CHECK-NEXT: 1 4 0.33 uqdech x0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 uqdech x0, pow2
-# CHECK-NEXT: 1 4 0.33 uqdech x0, vl1
+# CHECK-NEXT: 1 4 0.50 uqdech w0
+# CHECK-NEXT: 1 4 0.50 uqdech w0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqdech w0, pow2
+# CHECK-NEXT: 1 4 0.50 uqdech w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 uqdech x0
+# CHECK-NEXT: 1 4 0.50 uqdech x0, #14
+# CHECK-NEXT: 1 4 0.50 uqdech x0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqdech x0, pow2
+# CHECK-NEXT: 1 4 0.50 uqdech x0, vl1
# CHECK-NEXT: 1 4 0.50 uqdech z0.h
# CHECK-NEXT: 1 4 0.50 uqdech z0.h, all, mul #16
# CHECK-NEXT: 1 4 0.50 uqdech z0.h, pow2
@@ -6519,50 +6519,50 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 uqdecp z0.d, p0.d
# CHECK-NEXT: 1 4 0.50 uqdecp z0.h, p0.h
# CHECK-NEXT: 1 4 0.50 uqdecp z0.s, p0.s
-# CHECK-NEXT: 1 4 0.33 uqdecw w0
-# CHECK-NEXT: 1 4 0.33 uqdecw w0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 uqdecw w0, pow2
-# CHECK-NEXT: 1 4 0.33 uqdecw w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.33 uqdecw x0
-# CHECK-NEXT: 1 4 0.33 uqdecw x0, #14
-# CHECK-NEXT: 1 4 0.33 uqdecw x0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 uqdecw x0, pow2
-# CHECK-NEXT: 1 4 0.33 uqdecw x0, vl1
+# CHECK-NEXT: 1 4 0.50 uqdecw w0
+# CHECK-NEXT: 1 4 0.50 uqdecw w0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqdecw w0, pow2
+# CHECK-NEXT: 1 4 0.50 uqdecw w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 uqdecw x0
+# CHECK-NEXT: 1 4 0.50 uqdecw x0, #14
+# CHECK-NEXT: 1 4 0.50 uqdecw x0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqdecw x0, pow2
+# CHECK-NEXT: 1 4 0.50 uqdecw x0, vl1
# CHECK-NEXT: 1 4 0.50 uqdecw z0.s
# CHECK-NEXT: 1 4 0.50 uqdecw z0.s, all, mul #16
# CHECK-NEXT: 1 4 0.50 uqdecw z0.s, pow2
# CHECK-NEXT: 1 4 0.50 uqdecw z0.s, pow2, mul #16
-# CHECK-NEXT: 1 4 0.33 uqincb w0
-# CHECK-NEXT: 1 4 0.33 uqincb w0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 uqincb w0, pow2
-# CHECK-NEXT: 1 4 0.33 uqincb w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.33 uqincb x0
-# CHECK-NEXT: 1 4 0.33 uqincb x0, #14
-# CHECK-NEXT: 1 4 0.33 uqincb x0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 uqincb x0, pow2
-# CHECK-NEXT: 1 4 0.33 uqincb x0, vl1
-# CHECK-NEXT: 1 4 0.33 uqincd w0
-# CHECK-NEXT: 1 4 0.33 uqincd w0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 uqincd w0, pow2
-# CHECK-NEXT: 1 4 0.33 uqincd w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.33 uqincd x0
-# CHECK-NEXT: 1 4 0.33 uqincd x0, #14
-# CHECK-NEXT: 1 4 0.33 uqincd x0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 uqincd x0, pow2
-# CHECK-NEXT: 1 4 0.33 uqincd x0, vl1
+# CHECK-NEXT: 1 4 0.50 uqincb w0
+# CHECK-NEXT: 1 4 0.50 uqincb w0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqincb w0, pow2
+# CHECK-NEXT: 1 4 0.50 uqincb w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 uqincb x0
+# CHECK-NEXT: 1 4 0.50 uqincb x0, #14
+# CHECK-NEXT: 1 4 0.50 uqincb x0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqincb x0, pow2
+# CHECK-NEXT: 1 4 0.50 uqincb x0, vl1
+# CHECK-NEXT: 1 4 0.50 uqincd w0
+# CHECK-NEXT: 1 4 0.50 uqincd w0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqincd w0, pow2
+# CHECK-NEXT: 1 4 0.50 uqincd w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 uqincd x0
+# CHECK-NEXT: 1 4 0.50 uqincd x0, #14
+# CHECK-NEXT: 1 4 0.50 uqincd x0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqincd x0, pow2
+# CHECK-NEXT: 1 4 0.50 uqincd x0, vl1
# CHECK-NEXT: 1 4 0.50 uqincd z0.d
# CHECK-NEXT: 1 4 0.50 uqincd z0.d, all, mul #16
# CHECK-NEXT: 1 4 0.50 uqincd z0.d, pow2
# CHECK-NEXT: 1 4 0.50 uqincd z0.d, pow2, mul #16
-# CHECK-NEXT: 1 4 0.33 uqinch w0
-# CHECK-NEXT: 1 4 0.33 uqinch w0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 uqinch w0, pow2
-# CHECK-NEXT: 1 4 0.33 uqinch w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.33 uqinch x0
-# CHECK-NEXT: 1 4 0.33 uqinch x0, #14
-# CHECK-NEXT: 1 4 0.33 uqinch x0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 uqinch x0, pow2
-# CHECK-NEXT: 1 4 0.33 uqinch x0, vl1
+# CHECK-NEXT: 1 4 0.50 uqinch w0
+# CHECK-NEXT: 1 4 0.50 uqinch w0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqinch w0, pow2
+# CHECK-NEXT: 1 4 0.50 uqinch w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 uqinch x0
+# CHECK-NEXT: 1 4 0.50 uqinch x0, #14
+# CHECK-NEXT: 1 4 0.50 uqinch x0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqinch x0, pow2
+# CHECK-NEXT: 1 4 0.50 uqinch x0, vl1
# CHECK-NEXT: 1 4 0.50 uqinch z0.h
# CHECK-NEXT: 1 4 0.50 uqinch z0.h, all, mul #16
# CHECK-NEXT: 1 4 0.50 uqinch z0.h, pow2
@@ -6578,15 +6578,15 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 uqincp z0.d, p0.d
# CHECK-NEXT: 1 4 0.50 uqincp z0.h, p0.h
# CHECK-NEXT: 1 4 0.50 uqincp z0.s, p0.s
-# CHECK-NEXT: 1 4 0.33 uqincw w0
-# CHECK-NEXT: 1 4 0.33 uqincw w0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 uqincw w0, pow2
-# CHECK-NEXT: 1 4 0.33 uqincw w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.33 uqincw x0
-# CHECK-NEXT: 1 4 0.33 uqincw x0, #14
-# CHECK-NEXT: 1 4 0.33 uqincw x0, all, mul #16
-# CHECK-NEXT: 1 4 0.33 uqincw x0, pow2
-# CHECK-NEXT: 1 4 0.33 uqincw x0, vl1
+# CHECK-NEXT: 1 4 0.50 uqincw w0
+# CHECK-NEXT: 1 4 0.50 uqincw w0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqincw w0, pow2
+# CHECK-NEXT: 1 4 0.50 uqincw w0, pow2, mul #16
+# CHECK-NEXT: 1 4 0.50 uqincw x0
+# CHECK-NEXT: 1 4 0.50 uqincw x0, #14
+# CHECK-NEXT: 1 4 0.50 uqincw x0, all, mul #16
+# CHECK-NEXT: 1 4 0.50 uqincw x0, pow2
+# CHECK-NEXT: 1 4 0.50 uqincw x0, vl1
# CHECK-NEXT: 1 4 0.50 uqincw z0.s
# CHECK-NEXT: 1 4 0.50 uqincw z0.s, all, mul #16
# CHECK-NEXT: 1 4 0.50 uqincw z0.s, pow2
@@ -6787,8 +6787,8 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 2 1.00 whilewr p15.d, x30, x30
# CHECK-NEXT: 1 2 1.00 whilewr p15.h, x30, x30
# CHECK-NEXT: 1 2 1.00 whilewr p15.s, x30, x30
-# CHECK-NEXT: 1 1 0.33 * U wrffr p0.b
-# CHECK-NEXT: 1 1 0.33 * U wrffr p15.b
+# CHECK-NEXT: 1 1 0.50 * U wrffr p0.b
+# CHECK-NEXT: 1 1 0.50 * U wrffr p15.b
# CHECK-NEXT: 1 4 0.50 xar z0.b, z0.b, z1.b, #1
# CHECK-NEXT: 1 4 0.50 xar z0.d, z0.d, z1.d, #1
# CHECK-NEXT: 1 4 0.50 xar z0.h, z0.h, z1.h, #1
@@ -6832,8 +6832,7 @@ zip2 z31.s, z31.s, z31.s
# CHECK: Resources:
# CHECK-NEXT: [0] - C1NanoUnitALU0
-# CHECK-NEXT: [1.0] - C1NanoUnitALU1
-# CHECK-NEXT: [1.1] - C1NanoUnitALU1
+# CHECK-NEXT: [1] - C1NanoUnitALU1
# CHECK-NEXT: [2] - C1NanoUnitB
# CHECK-NEXT: [3] - C1NanoUnitDiv
# CHECK-NEXT: [4] - C1NanoUnitLd1
@@ -6847,3417 +6846,3417 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: [11] - C1NanoUnitVMC
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1.0] [1.1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11]
-# CHECK-NEXT: 79.00 75.00 75.00 9.00 - 209.00 2401.00 - - 1303.50 937.50 199.50 199.50 643.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11]
+# CHECK-NEXT: 116.50 112.50 9.00 - 209.00 2401.00 - - 1303.50 937.50 199.50 199.50 643.00
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1.0] [1.1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11] Instructions:
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs z0.b, p0/m, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs z0.d, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs z0.h, p0/m, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs z0.s, p0/m, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs z31.b, p7/m, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - abs z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adclb z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adclb z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adclt z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adclt z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.b, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.b, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.d, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.d, z0.d, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.d, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.h, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.h, z0.h, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.h, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.s, p0/m, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.s, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.s, z0.s, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.s, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z0.s, z1.s, z2.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z21.b, p5/m, z21.b, z10.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z21.b, z10.b, z21.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z21.d, p5/m, z21.d, z10.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z21.d, z10.d, z21.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z21.h, p5/m, z21.h, z10.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z21.h, z10.h, z21.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z21.s, p5/m, z21.s, z10.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z21.s, z10.s, z21.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z23.b, p3/m, z23.b, z13.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z23.b, z13.b, z8.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z23.d, p3/m, z23.d, z13.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z23.d, z13.d, z8.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z23.h, p3/m, z23.h, z13.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z23.h, z13.h, z8.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z23.s, p3/m, z23.s, z13.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z23.s, z13.s, z8.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.b, p7/m, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.b, z31.b, #255
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.b, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.d, p7/m, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.d, z31.d, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.d, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.h, p7/m, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.h, z31.h, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.h, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.s, p7/m, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.s, z31.s, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - add z31.s, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhnb z0.b, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhnb z0.h, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhnb z0.s, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhnt z0.b, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhnt z0.h, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addhnt z0.s, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addp z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addp z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addp z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - addp z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - addpl sp, sp, #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - addpl x0, x0, #-32
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - addpl x21, x21, #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - addpl x23, x8, #-1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - addvl sp, sp, #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - addvl x0, x0, #-32
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - addvl x21, x21, #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - addvl x23, x8, #-1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, lsl #1]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, lsl #2]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, lsl #3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, sxtw #1]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, sxtw #2]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, sxtw #3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, sxtw]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, uxtw #1]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, uxtw #2]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, uxtw #3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, uxtw]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.s, [z0.s, z0.s, lsl #1]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.s, [z0.s, z0.s, lsl #2]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.s, [z0.s, z0.s, lsl #3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - adr z0.s, [z0.s, z0.s]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - aesd z0.b, z0.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - aese z0.b, z0.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - aesimc z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - aesimc z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - aesmc z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - aesmc z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - and p0.b, p0/z, p0.b, p1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z0.d, z0.d, #0x6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z0.d, z0.d, #0xfffffffffffffff9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z0.d, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z0.s, z0.s, #0x6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z0.s, z0.s, #0xfffffff9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z23.d, z13.d, z8.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z23.h, z23.h, #0x6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z23.h, z23.h, #0xfff9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z31.b, p7/m, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z31.d, p7/m, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z31.h, p7/m, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z31.s, p7/m, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z5.b, z5.b, #0x6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - and z5.b, z5.b, #0xf9
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ands p0.b, p0/z, p0.b, p1.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - andv b0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - andv d0, p7, z31.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - andv h0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - andv s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.b, p0/m, z0.b, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.b, p0/m, z0.b, z1.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.b, z0.b, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.b, z1.b, z2.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.d, p0/m, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.d, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.h, p0/m, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.h, p0/m, z0.h, z1.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.h, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.h, z1.h, z2.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.s, p0/m, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.s, p0/m, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.s, p0/m, z0.s, z1.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.s, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z0.s, z1.s, z2.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z31.b, p0/m, z31.b, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z31.b, z31.b, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z31.d, p0/m, z31.d, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z31.d, z31.d, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z31.h, p0/m, z31.h, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z31.h, z31.h, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z31.s, p0/m, z31.s, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asr z31.s, z31.s, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrd z0.b, p0/m, z0.b, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrd z0.d, p0/m, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrd z0.h, p0/m, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrd z0.s, p0/m, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrd z31.b, p0/m, z31.b, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrd z31.d, p0/m, z31.d, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrd z31.h, p0/m, z31.h, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrd z31.s, p0/m, z31.s, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrr z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrr z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrr z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - asrr z0.s, p0/m, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bcax z29.d, z29.d, z30.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - - - 11.00 bdep z0.b, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - - - 66.00 bdep z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - - - 19.00 bdep z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - - - 35.00 bdep z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - - - 11.00 bext z0.b, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - - - 66.00 bext z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - - - 19.00 bext z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - - - 35.00 bext z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bfcvt z0.h, p0/m, z1.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bfcvtnt z0.h, p0/m, z1.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 0.50 0.50 - bfdot z0.s, z1.h, z2.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 0.50 0.50 - bfdot z0.s, z1.h, z2.h[0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 0.50 0.50 - bfdot z0.s, z1.h, z2.h[3]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalb z0.s, z1.h, z2.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalb z0.s, z1.h, z2.h[0]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalb z0.s, z1.h, z2.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalb z10.s, z21.h, z14.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalb z21.s, z14.h, z3.h[2]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalt z0.s, z1.h, z2.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalt z0.s, z1.h, z2.h[0]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalt z0.s, z1.h, z2.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalt z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - bfmlalt z14.s, z10.h, z21.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 0.50 0.50 - bfmmla z0.s, z1.h, z2.h
-# CHECK-NEXT: - - - - - - - - - - - - - 11.00 bgrp z0.b, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - - - 66.00 bgrp z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - - - 19.00 bgrp z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - - - 35.00 bgrp z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - bic p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - bic p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bic z0.d, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bic z23.d, z13.d, z8.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bic z31.b, p7/m, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bic z31.d, p7/m, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bic z31.h, p7/m, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bic z31.s, p7/m, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - bics p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - bics p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brka p0.b, p15/m, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brka p0.b, p15/z, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkas p0.b, p15/z, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkb p0.b, p15/m, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkb p0.b, p15/z, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkbs p0.b, p15/z, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkn p0.b, p15/z, p1.b, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkn p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkns p0.b, p15/z, p1.b, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkns p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkpa p0.b, p15/z, p1.b, p2.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkpa p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkpas p0.b, p15/z, p1.b, p2.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkpas p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkpb p0.b, p15/z, p1.b, p2.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkpb p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkpbs p0.b, p15/z, p1.b, p2.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - brkpbs p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bsl z0.d, z0.d, z1.d, z2.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bsl1n z0.d, z0.d, z1.d, z2.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - bsl2n z0.d, z0.d, z1.d, z2.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cadd z0.b, z0.b, z0.b, #90
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cadd z0.d, z0.d, z0.d, #90
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cadd z0.h, z0.h, z0.h, #90
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cadd z0.s, z0.s, z0.s, #90
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cadd z31.b, z31.b, z31.b, #270
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cadd z31.d, z31.d, z31.d, #270
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cadd z31.h, z31.h, z31.h, #270
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cadd z31.s, z31.s, z31.s, #270
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z0.d, z1.h, z15.h[1], #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z0.d, z1.h, z31.h, #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z0.d, z1.h, z31.h, #180
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z0.d, z1.h, z31.h, #270
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z0.d, z1.h, z31.h, #90
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z0.s, z1.b, z31.b, #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z0.s, z1.b, z7.b[3], #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z29.d, z30.h, z0.h[0], #180
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z31.d, z30.h, z7.h[1], #270
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cdot z5.d, z6.h, z3.h[0], #90
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta b0, p7, b0, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta d0, p7, d0, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta h0, p7, h0, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta s0, p7, s0, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta w0, p7, w0, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta w0, p7, w0, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta w0, p7, w0, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta x0, p7, x0, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta z0.b, p7, z0.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta z0.d, p7, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta z0.h, p7, z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clasta z0.s, p7, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb b0, p7, b0, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb d0, p7, d0, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb h0, p7, h0, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb s0, p7, s0, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb w0, p7, w0, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb w0, p7, w0, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb w0, p7, w0, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb x0, p7, x0, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb z0.b, p7, z0.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb z0.d, p7, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb z0.h, p7, z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clastb z0.s, p7, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls z31.b, p7/m, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cls z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz z31.b, p7/m, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - clz z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z0.b, z1.b, z2.b, #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z0.d, z1.d, z2.d, #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z0.h, z1.h, z2.h, #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z0.h, z1.h, z2.h[0], #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z0.s, z1.s, z2.s, #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z0.s, z1.s, z2.s[0], #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z15.b, z16.b, z17.b, #270
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z15.d, z16.d, z17.d, #270
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z15.h, z16.h, z17.h, #270
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z15.s, z16.s, z17.s, #270
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z29.b, z30.b, z31.b, #90
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z29.d, z30.d, z31.d, #90
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z29.h, z30.h, z31.h, #90
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z29.s, z30.s, z31.s, #90
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z31.b, z31.b, z31.b, #180
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z31.d, z31.d, z31.d, #180
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z31.h, z30.h, z7.h[0], #180
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z31.h, z31.h, z31.h, #180
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z31.s, z30.s, z7.s[0], #180
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - cmla z31.s, z31.s, z31.s, #180
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpeq p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z1.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z1.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z0.b, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z1.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.d, p0/z, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.d, p0/z, z0.d, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z0.h, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z0.s, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z0.b, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z1.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.d, p0/z, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.d, p0/z, z0.d, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z0.h, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z0.s, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmple p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.b, p0/z, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.b, p0/z, z0.b, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.d, p0/z, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.d, p0/z, z0.d, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.h, p0/z, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.h, p0/z, z0.h, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.s, p0/z, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.s, p0/z, z0.s, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplo p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.b, p0/z, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.b, p0/z, z0.b, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.d, p0/z, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.d, p0/z, z0.d, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.h, p0/z, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.h, p0/z, z0.h, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.s, p0/z, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.s, p0/z, z0.s, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpls p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmplt p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cmpne p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnot z31.b, p7/m, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnot z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnot z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnot z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnt z31.b, p7/m, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnt z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnt z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - cnt z31.s, p7/m, z31.s
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntb x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntb x0, #28
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntb x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntb x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntd x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntd x0, #28
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntd x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntd x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cnth x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cnth x0, #28
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cnth x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cnth x0, pow2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - cntp x0, p15, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - cntp x0, p15, p0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - cntp x0, p15, p0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - cntp x0, p15, p0.s
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntw x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntw x0, #28
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntw x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - cntw x0, pow2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - compact z31.d, p7, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - compact z31.s, p7, z31.s
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ctermeq w30, wzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ctermeq wzr, w30
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ctermeq x30, xzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ctermeq xzr, x30
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ctermne w30, wzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ctermne wzr, w30
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ctermne x30, xzr
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - ctermne xzr, x30
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decb x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decb x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decb x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decb x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decb x0, vl1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decd x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decd x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decd x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decd x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decd x0, vl1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - dech x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - dech x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - dech x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - dech x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - dech x0, vl1
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - decp x0, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - decp x0, p0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - decp x0, p0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - decp x0, p0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - decp xzr, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - decp xzr, p15.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - decp xzr, p15.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - decp xzr, p15.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - decp z31.d, p15.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - decp z31.h, p15.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - decp z31.s, p15.s
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decw x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decw x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decw x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decw x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - decw x0, vl1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dupm z0.d, #0xfffffffffffffff9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dupm z0.s, #0xfffffff9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dupm z23.h, #0xfff9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - dupm z5.b, #0xf9
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - eor p0.b, p0/z, p0.b, p1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z0.d, z0.d, #0x6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z0.d, z0.d, #0xfffffffffffffff9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z0.d, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z0.s, z0.s, #0x6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z0.s, z0.s, #0xfffffff9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z23.d, z13.d, z8.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z23.h, z23.h, #0x6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z23.h, z23.h, #0xfff9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z31.b, p7/m, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z31.d, p7/m, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z31.h, p7/m, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z31.s, p7/m, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z5.b, z5.b, #0x6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor z5.b, z5.b, #0xf9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eor3 z29.d, z29.d, z30.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eorbt z0.b, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eorbt z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eorbt z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eorbt z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - eors p0.b, p0/z, p0.b, p1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eortb z0.b, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eortb z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eortb z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - eortb z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - eorv b0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - eorv d0, p7, z31.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - eorv h0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - eorv s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ext z0.b, { z1.b, z2.b }, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ext z31.b, z31.b, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ext z31.b, z31.b, z0.b, #255
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ext z31.b, { z30.b, z31.b }, #255
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabd z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabd z0.h, p7/m, z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabd z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fabs z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facge p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facge p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facge p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facge p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facge p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facge p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facgt p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facgt p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facgt p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facgt p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facgt p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - facgt p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z0.d, p0/m, z0.d, #0.5
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z0.h, p0/m, z0.h, #0.5
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z0.h, p7/m, z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z0.s, p0/m, z0.s, #0.5
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z31.d, p7/m, z31.d, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z31.h, p7/m, z31.h, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fadd z31.s, p7/m, z31.s, #1.0
-# CHECK-NEXT: - - - - - - - - - 2.50 2.50 - - - fadda d0, p7, d0, z31.d
-# CHECK-NEXT: - - - - - - - - - 14.50 14.50 - - - fadda h0, p7, h0, z31.h
-# CHECK-NEXT: - - - - - - - - - 6.50 6.50 - - - fadda s0, p7, s0, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - faddp z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - faddp z29.s, p3/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - faddp z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - faddv d0, p7, z31.d
-# CHECK-NEXT: - - - - - - - - - 11.00 - - - - faddv h0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - - faddv s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcadd z0.d, p0/m, z0.d, z0.d, #90
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcadd z0.h, p0/m, z0.h, z0.h, #90
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcadd z0.s, p0/m, z0.s, z0.s, #90
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcadd z31.d, p7/m, z31.d, z31.d, #270
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcadd z31.h, p7/m, z31.h, z31.h, #270
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcadd z31.s, p7/m, z31.s, z31.s, #270
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmeq p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmeq p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmeq p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmeq p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmeq p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmeq p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmge p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmge p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmge p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmge p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmge p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmge p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmge p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmge p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmge p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmgt p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmgt p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmgt p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmgt p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmgt p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmgt p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmgt p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmgt p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmgt p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z0.d, p0/m, z0.d, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z0.d, p0/m, z1.d, z2.d, #90
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z0.h, p0/m, z0.h, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z0.h, p0/m, z1.h, z2.h, #90
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z0.h, z0.h, z0.h[0], #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z0.s, p0/m, z0.s, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z0.s, p0/m, z1.s, z2.s, #90
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z21.s, z10.s, z5.s[1], #90
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z23.s, z13.s, z8.s[0], #270
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z29.d, p7/m, z30.d, z31.d, #180
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z29.h, p7/m, z30.h, z31.h, #180
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z29.s, p7/m, z30.s, z31.s, #180
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z31.d, p7/m, z31.d, z31.d, #270
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z31.h, p7/m, z31.h, z31.h, #270
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z31.h, z31.h, z7.h[3], #270
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fcmla z31.s, p7/m, z31.s, z31.s, #270
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmle p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmle p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmle p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmlt p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmlt p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmlt p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmne p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmne p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmne p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmne p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmne p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmne p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmuo p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmuo p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - fcmuo p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt z0.d, p0/m, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt z0.d, p0/m, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt z0.h, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt z0.h, p0/m, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt z0.s, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvt z0.s, p0/m, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtlt z0.s, p0/m, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtlt z30.d, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnt z0.h, p0/m, z1.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtnt z30.s, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtx z0.s, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtx z30.s, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtxnt z0.s, p0/m, z1.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtxnt z30.s, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs z0.d, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs z0.d, p0/m, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs z0.d, p0/m, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs z0.h, p0/m, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs z0.s, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs z0.s, p0/m, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzs z0.s, p0/m, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu z0.d, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu z0.d, p0/m, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu z0.d, p0/m, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu z0.h, p0/m, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu z0.s, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu z0.s, p0/m, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fcvtzu z0.s, p0/m, z0.s
-# CHECK-NEXT: - - - - - - - - - - - - - 19.00 fdiv z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - - - 5.00 fdiv z0.h, p7/m, z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - - - 10.00 fdiv z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - - - 19.00 fdivr z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - - - 5.00 fdivr z0.h, p7/m, z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - - - 10.00 fdivr z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fexpa z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fexpa z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fexpa z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - flogb z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - flogb z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - flogb z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmad z0.d, p7/m, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmad z0.h, p7/m, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmad z0.s, p7/m, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax z0.d, p0/m, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax z0.h, p0/m, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax z0.h, p7/m, z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax z0.s, p0/m, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax z31.d, p7/m, z31.d, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax z31.h, p7/m, z31.h, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmax z31.s, p7/m, z31.s, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm z0.d, p0/m, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm z0.h, p0/m, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm z0.h, p7/m, z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm z0.s, p0/m, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm z31.d, p7/m, z31.d, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm z31.h, p7/m, z31.h, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnm z31.s, p7/m, z31.s, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnmp z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnmp z29.s, p3/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxnmp z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmaxnmv d0, p7, z31.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmaxnmv h0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmaxnmv s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxp z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxp z29.s, p3/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmaxp z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmaxv d0, p7, z31.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmaxv h0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmaxv s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin z0.d, p0/m, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin z0.h, p0/m, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin z0.h, p7/m, z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin z0.s, p0/m, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin z31.d, p7/m, z31.d, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin z31.h, p7/m, z31.h, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fmin z31.s, p7/m, z31.s, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm z0.d, p0/m, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm z0.h, p0/m, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm z0.h, p7/m, z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm z0.s, p0/m, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm z31.d, p7/m, z31.d, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm z31.h, p7/m, z31.h, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnm z31.s, p7/m, z31.s, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnmp z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnmp z29.s, p3/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminnmp z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fminnmv d0, p7, z31.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fminnmv h0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fminnmv s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminp z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminp z29.s, p3/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fminp z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fminv d0, p7, z31.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fminv h0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fminv s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmla z0.d, p7/m, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmla z0.d, z1.d, z7.d[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmla z0.h, p7/m, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmla z0.h, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmla z0.s, p7/m, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmla z0.s, z1.s, z7.s[3]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlalb z0.s, z1.h, z7.h[0]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlalb z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlalb z30.s, z31.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlalt z0.s, z1.h, z7.h[0]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlalt z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlalt z30.s, z31.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmls z0.d, p7/m, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmls z0.d, z1.d, z7.d[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmls z0.h, p7/m, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmls z0.h, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmls z0.s, p7/m, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmls z0.s, z1.s, z7.s[3]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlslb z0.s, z1.h, z7.h[0]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlslb z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlslb z30.s, z31.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlslt z0.s, z1.h, z7.h[0]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlslt z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmlslt z30.s, z31.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmov z0.d, #-10.00000000
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmov z0.d, #0.12500000
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmov z0.d, p0/m, #-10.00000000
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmov z0.d, p0/m, #0.12500000
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmov z0.h, #-0.12500000
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmov z0.h, p0/m, #-0.12500000
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmov z0.s, #-0.12500000
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - fmov z0.s, p0/m, #-0.12500000
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmsb z0.d, p7/m, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmsb z0.h, p7/m, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmsb z0.s, p7/m, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.d, p0/m, z0.d, #0.5
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.d, z0.d, z0.d[0]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.h, p0/m, z0.h, #0.5
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.h, p7/m, z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.h, z0.h, z0.h[0]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.s, p0/m, z0.s, #0.5
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.s, z0.s, z0.s[0]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z31.d, p7/m, z31.d, #2.0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z31.d, z31.d, z15.d[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z31.h, p7/m, z31.h, #2.0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z31.h, z31.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z31.s, p7/m, z31.s, #2.0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmul z31.s, z31.s, z7.s[3]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmulx z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmulx z0.h, p7/m, z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fmulx z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fneg z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmad z0.d, p7/m, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmad z0.h, p7/m, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmad z0.s, p7/m, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmla z0.d, p7/m, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmla z0.h, p7/m, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmla z0.s, p7/m, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmls z0.d, p7/m, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmls z0.h, p7/m, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmls z0.s, p7/m, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmsb z0.d, p7/m, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmsb z0.h, p7/m, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fnmsb z0.s, p7/m, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frecpe z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frecpe z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frecpe z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frecps z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frecps z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frecps z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frecpx z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frecpx z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frecpx z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinta z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frinti z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintm z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintn z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintp z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintx z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - frintz z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frsqrte z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frsqrte z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frsqrte z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frsqrts z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frsqrts z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - frsqrts z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fscale z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fscale z0.h, p7/m, z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - fscale z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - - - 19.00 fsqrt z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - - - - - 5.00 fsqrt z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - - - - - 9.00 fsqrt z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z0.d, p0/m, z0.d, #0.5
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z0.h, p0/m, z0.h, #0.5
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z0.h, p7/m, z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z0.s, p0/m, z0.s, #0.5
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z31.d, p7/m, z31.d, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z31.h, p7/m, z31.h, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsub z31.s, p7/m, z31.s, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsubr z0.d, p0/m, z0.d, #0.5
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsubr z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsubr z0.h, p0/m, z0.h, #0.5
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsubr z0.h, p7/m, z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsubr z0.s, p0/m, z0.s, #0.5
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsubr z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsubr z31.d, p7/m, z31.d, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsubr z31.h, p7/m, z31.h, #1.0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - fsubr z31.s, p7/m, z31.s, #1.0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - ftmad z0.d, z0.d, z31.d, #7
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - ftmad z0.h, z0.h, z31.h, #7
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - ftmad z0.s, z0.s, z31.s, #7
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - ftsmul z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - ftsmul z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - ftsmul z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ftssel z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ftssel z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ftssel z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - histcnt z0.s, p0/z, z1.s, z2.s
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - histcnt z29.d, p7/z, z30.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - histseg z0.b, z1.b, z31.b
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incb x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incb x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incb x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incb x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incb x0, vl1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incd x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incd x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incd x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incd x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incd x0, vl1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - incd z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - incd z0.d, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - inch x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - inch x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - inch x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - inch x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - inch x0, vl1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - inch z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - inch z0.h, all, mul #16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - incp x0, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - incp x0, p0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - incp x0, p0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - incp x0, p0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - incp xzr, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - incp xzr, p15.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - incp xzr, p15.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - incp xzr, p15.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - incp z31.d, p15.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - incp z31.h, p15.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - incp z31.s, p15.s
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incw x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incw x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incw x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incw x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - incw x0, vl1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - incw z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - incw z0.s, all, mul #16
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z0.b, #0, #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z0.d, #0, #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z0.h, #0, #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z0.h, w0, w0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z0.s, #0, #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z21.b, w10, w21
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z21.d, x10, x21
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z21.s, w10, w21
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z23.b, #13, w8
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z23.b, w13, #8
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z23.d, #13, x8
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z23.d, x13, #8
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z23.h, #13, w8
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z23.h, w13, #8
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z23.s, #13, w8
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z23.s, w13, #8
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.b, #-1, #-1
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.b, #-1, wzr
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.b, wzr, #-1
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.b, wzr, wzr
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.d, #-1, #-1
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.d, #-1, xzr
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.d, xzr, #-1
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.d, xzr, xzr
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.h, #-1, #-1
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.h, #-1, wzr
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.h, wzr, #-1
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.h, wzr, wzr
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.s, #-1, #-1
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.s, #-1, wzr
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.s, wzr, #-1
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - index z31.s, wzr, wzr
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - insr z0.b, w0
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - insr z0.d, x0
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - insr z0.h, w0
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - insr z0.s, w0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - insr z31.b, b31
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - insr z31.b, wzr
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - insr z31.d, d31
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - insr z31.d, xzr
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - insr z31.h, h31
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - insr z31.h, wzr
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - insr z31.s, s31
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - insr z31.s, wzr
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lasta b0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lasta d0, p7, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lasta h0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lasta s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - lasta w0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - lasta w0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - lasta w0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - lasta x0, p7, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lastb b0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lastb d0, p7, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lastb h0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lastb s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - lastb w0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - lastb w0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - lastb w0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - - lastb x0, p7, z31.d
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z0.b }, p0/z, [sp, x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z0.b }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z0.b }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1b { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1b { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z21.b }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1b { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1b { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z21.s }, p5/z, [x10, x21]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z23.d }, p3/z, [x13, x8]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z31.b }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1b { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1b { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1b { z31.s }, p7/z, [z31.s, #31]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1b { z5.h }, p3/z, [x17, x16]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1d { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1d { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1d { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1d { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1d { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1d { z23.d }, p3/z, [sp, x8, lsl #3]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1d { z23.d }, p3/z, [x13, x8, lsl #3]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1d { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1d { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1d { z31.d }, p7/z, [z31.d, #248]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1h { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1h { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1h { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1h { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z21.s }, p5/z, [x10, x21, lsl #1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z23.d }, p3/z, [x13, x8, lsl #1]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1h { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1h { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1h { z31.s }, p7/z, [z31.s, #62]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z5.h }, p3/z, [sp, x16, lsl #1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1h { z5.h }, p3/z, [x17, x16, lsl #1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rb { z0.b }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rb { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rb { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rb { z31.b }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rb { z31.d }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rb { z31.h }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rb { z31.s }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rd { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rd { z31.d }, p7/z, [sp, #504]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rh { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rh { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rh { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rh { z31.d }, p7/z, [sp, #126]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rh { z31.h }, p7/z, [sp, #126]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rh { z31.s }, p7/z, [sp, #126]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1rqb { z0.b }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqb { z0.b }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqb { z21.b }, p5/z, [x10, #112]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqb { z23.b }, p3/z, [x13, #-128]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqb { z31.b }, p7/z, [sp, #-16]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqd { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqd { z23.d }, p3/z, [x13, #-128]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqd { z23.d }, p3/z, [x13, #112]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqd { z31.d }, p7/z, [sp, #-16]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqh { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqh { z23.h }, p3/z, [x13, #-128]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqh { z23.h }, p3/z, [x13, #112]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqh { z31.h }, p7/z, [sp, #-16]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqw { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqw { z23.s }, p3/z, [x13, #-128]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqw { z23.s }, p3/z, [x13, #112]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rqw { z31.s }, p7/z, [sp, #-16]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsb { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsb { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsb { z31.d }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsb { z31.h }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsb { z31.s }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsh { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsh { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsh { z31.d }, p7/z, [sp, #126]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsh { z31.s }, p7/z, [sp, #126]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsw { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rsw { z31.d }, p7/z, [sp, #252]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rw { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rw { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rw { z31.d }, p7/z, [sp, #252]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1rw { z31.s }, p7/z, [sp, #252]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sb { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z0.h }, p0/z, [sp, x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z0.h }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1sb { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z21.s }, p5/z, [x10, x21]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z23.d }, p3/z, [x13, x8]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sb { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sb { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sb { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1sb { z31.s }, p7/z, [z31.s, #31]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sh { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sh { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sh { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1sh { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sh { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sh { z21.s }, p5/z, [sp, x21, lsl #1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sh { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sh { z21.s }, p5/z, [x10, x21, lsl #1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sh { z23.d }, p3/z, [x13, x8, lsl #1]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sh { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sh { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sh { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sh { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1sh { z31.s }, p7/z, [z31.s, #62]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sw { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sw { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sw { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sw { z23.d }, p3/z, [sp, x8, lsl #2]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sw { z23.d }, p3/z, [x13, x8, lsl #2]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1sw { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sw { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1sw { z31.d }, p7/z, [z31.d, #124]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1w { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1w { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1w { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1w { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1w { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1w { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1w { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1w { z21.s }, p5/z, [sp, x21, lsl #2]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1w { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1w { z21.s }, p5/z, [x10, x21, lsl #2]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1w { z23.d }, p3/z, [x13, x8, lsl #2]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1w { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1w { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ld1w { z31.d }, p7/z, [z31.d, #124]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ld1w { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ld1w { z31.s }, p7/z, [z31.s, #124]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2b { z0.b, z1.b }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2b { z0.b, z1.b }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2b { z21.b, z22.b }, p5/z, [x10, #10, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2b { z23.b, z24.b }, p3/z, [x13, #-16, mul vl]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2b { z5.b, z6.b }, p3/z, [x17, x16]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2d { z0.d, z1.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2d { z0.d, z1.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2d { z21.d, z22.d }, p5/z, [x10, #10, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2d { z23.d, z24.d }, p3/z, [x13, #-16, mul vl]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2d { z5.d, z6.d }, p3/z, [x17, x16, lsl #3]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2h { z0.h, z1.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2h { z0.h, z1.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2h { z21.h, z22.h }, p5/z, [x10, #10, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2h { z23.h, z24.h }, p3/z, [x13, #-16, mul vl]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2h { z5.h, z6.h }, p3/z, [x17, x16, lsl #1]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2w { z0.s, z1.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2w { z0.s, z1.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2w { z21.s, z22.s }, p5/z, [x10, #10, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ld2w { z23.s, z24.s }, p3/z, [x13, #-16, mul vl]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - ld2w { z5.s, z6.s }, p3/z, [x17, x16, lsl #2]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3b { z0.b - z2.b }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3b { z0.b - z2.b }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3b { z21.b - z23.b }, p5/z, [x10, #15, mul vl]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3b { z23.b - z25.b }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3b { z5.b - z7.b }, p3/z, [x17, x16]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3d { z0.d - z2.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3d { z0.d - z2.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3d { z21.d - z23.d }, p5/z, [x10, #15, mul vl]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3d { z23.d - z25.d }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3d { z5.d - z7.d }, p3/z, [x17, x16, lsl #3]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3h { z0.h - z2.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3h { z0.h - z2.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3h { z21.h - z23.h }, p5/z, [x10, #15, mul vl]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3h { z23.h - z25.h }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3h { z5.h - z7.h }, p3/z, [x17, x16, lsl #1]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3w { z0.s - z2.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3w { z0.s - z2.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3w { z21.s - z23.s }, p5/z, [x10, #15, mul vl]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3w { z23.s - z25.s }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld3w { z5.s - z7.s }, p3/z, [x17, x16, lsl #2]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4b { z0.b - z3.b }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4b { z0.b - z3.b }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4b { z21.b - z24.b }, p5/z, [x10, #20, mul vl]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4b { z23.b - z26.b }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4b { z5.b - z8.b }, p3/z, [x17, x16]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4d { z0.d - z3.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4d { z0.d - z3.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4d { z21.d - z24.d }, p5/z, [x10, #20, mul vl]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4d { z23.d - z26.d }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4d { z5.d - z8.d }, p3/z, [x17, x16, lsl #3]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4h { z0.h - z3.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4h { z0.h - z3.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4h { z21.h - z24.h }, p5/z, [x10, #20, mul vl]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4h { z23.h - z26.h }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4h { z5.h - z8.h }, p3/z, [x17, x16, lsl #1]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4w { z0.s - z3.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4w { z0.s - z3.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4w { z21.s - z24.s }, p5/z, [x10, #20, mul vl]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4w { z23.s - z26.s }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1b { z0.d }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1b { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1b { z0.h }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1b { z0.s }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1b { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1b { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1b { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1b { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1b { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1b { z31.b }, p7/z, [sp]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1b { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1b { z31.d }, p7/z, [sp]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1b { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1b { z31.h }, p7/z, [sp]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1b { z31.s }, p7/z, [sp]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1b { z31.s }, p7/z, [z31.s, #31]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1d { z0.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1d { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1d { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1d { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1d { z31.d }, p7/z, [sp]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1d { z31.d }, p7/z, [z31.d, #248]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1h { z0.d }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1h { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1h { z0.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1h { z0.s }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1h { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1h { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1h { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1h { z31.d }, p7/z, [sp]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1h { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1h { z31.h }, p7/z, [sp]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1h { z31.s }, p7/z, [sp]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1h { z31.s }, p7/z, [z31.s, #62]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sb { z0.d }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sb { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sb { z0.h }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1sb { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sb { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sb { z31.d }, p7/z, [sp]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sb { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sb { z31.h }, p7/z, [sp]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sb { z31.s }, p7/z, [sp]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1sb { z31.s }, p7/z, [z31.s, #31]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sh { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1sh { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sh { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sh { z31.d }, p7/z, [sp]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sh { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sh { z31.s }, p7/z, [sp]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1sh { z31.s }, p7/z, [z31.s, #62]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sw { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sw { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1sw { z31.d }, p7/z, [sp]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1sw { z31.d }, p7/z, [z31.d, #124]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1w { z0.d }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1w { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1w { z0.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1w { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1w { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1w { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1w { z31.d }, p7/z, [sp]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldff1w { z31.d }, p7/z, [z31.d, #124]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
-# CHECK-NEXT: - - - - - 3.50 3.50 - - - - - - - ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldff1w { z31.s }, p7/z, [sp]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldff1w { z31.s }, p7/z, [z31.s, #124]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.b }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z21.b }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z31.b }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1b { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1d { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1d { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1d { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1h { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1h { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1h { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1h { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1h { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1h { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1h { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1h { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1h { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sb { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sb { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sb { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sb { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sb { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sb { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sb { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sb { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sh { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sh { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sh { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sh { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sh { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sh { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sw { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sw { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1sw { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1w { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1w { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1w { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1w { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1w { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldnf1w { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1b { z0.b }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1b { z0.b }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1b { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1b { z0.s }, p0/z, [z1.s]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1b { z21.b }, p5/z, [x10, #7, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1b { z23.b }, p3/z, [x13, #-8, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1b { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1b { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1b { z31.s }, p7/z, [z31.s, x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1b { z31.s }, p7/z, [z31.s]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1d { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1d { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1d { z21.d }, p5/z, [x10, #7, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1d { z23.d }, p3/z, [x13, #-8, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1d { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1d { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1h { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1h { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1h { z0.s }, p0/z, [z1.s]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1h { z21.h }, p5/z, [x10, #7, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1h { z23.h }, p3/z, [x13, #-8, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1h { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1h { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1h { z31.s }, p7/z, [z31.s, x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1h { z31.s }, p7/z, [z31.s]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1sb { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1sb { z0.s }, p0/z, [z1.s]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1sb { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1sb { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1sb { z31.s }, p7/z, [z31.s, x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1sb { z31.s }, p7/z, [z31.s]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1sh { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1sh { z0.s }, p0/z, [z1.s]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1sh { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1sh { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1sh { z31.s }, p7/z, [z31.s, x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1sh { z31.s }, p7/z, [z31.s]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1sw { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1sw { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1sw { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1w { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1w { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1w { z0.s }, p0/z, [z1.s]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1w { z21.s }, p5/z, [x10, #7, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldnt1w { z23.s }, p3/z, [x13, #-8, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1w { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - ldnt1w { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1w { z31.s }, p7/z, [z31.s, x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - ldnt1w { z31.s }, p7/z, [z31.s]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldr p0, [x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldr p5, [x10, #255, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - ldr p7, [x13, #-256, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr z0, [x0]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr z23, [x13, #255, mul vl]
-# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - ldr z31, [sp, #-256, mul vl]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.b, p0/m, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.b, p0/m, z0.b, z1.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.b, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.b, z1.b, z2.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.d, p0/m, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.d, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.h, p0/m, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.h, p0/m, z0.h, z1.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.h, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.h, z1.h, z2.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.s, p0/m, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.s, p0/m, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.s, p0/m, z0.s, z1.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.s, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z0.s, z1.s, z2.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z31.b, p0/m, z31.b, #7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z31.b, z31.b, #7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z31.d, p0/m, z31.d, #63
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z31.d, z31.d, #63
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z31.h, p0/m, z31.h, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z31.h, z31.h, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z31.s, p0/m, z31.s, #31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsl z31.s, z31.s, #31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lslr z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lslr z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lslr z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lslr z0.s, p0/m, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.b, p0/m, z0.b, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.b, p0/m, z0.b, z1.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.b, z0.b, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.b, z1.b, z2.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.d, p0/m, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.d, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.h, p0/m, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.h, p0/m, z0.h, z1.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.h, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.h, z1.h, z2.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.s, p0/m, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.s, p0/m, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.s, p0/m, z0.s, z1.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.s, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z0.s, z1.s, z2.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z31.b, p0/m, z31.b, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z31.b, z31.b, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z31.d, p0/m, z31.d, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z31.d, z31.d, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z31.h, p0/m, z31.h, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z31.h, z31.h, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z31.s, p0/m, z31.s, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsr z31.s, z31.s, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsrr z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsrr z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsrr z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - lsrr z0.s, p0/m, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mad z0.b, p7/m, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mad z0.d, p7/m, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mad z0.h, p7/m, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mad z0.s, p7/m, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - match p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - match p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - match p15.b, p7/z, z30.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - match p15.h, p7/z, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mla z0.b, p7/m, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mla z0.d, p7/m, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mla z0.d, z1.d, z7.d[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mla z0.h, p7/m, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mla z0.h, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mla z0.s, p7/m, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mla z0.s, z1.s, z7.s[3]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mls z0.b, p7/m, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mls z0.d, p7/m, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mls z0.d, z1.d, z7.d[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mls z0.h, p7/m, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mls z0.h, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mls z0.s, p7/m, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mls z0.s, z1.s, z7.s[3]
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov p0.b, p0/m, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov p0.b, p0/z, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov p15.b, p15/m, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov p15.b, p15/z, p15.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.b, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.b, b0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.b, p0/m, b0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov z0.b, p0/m, w0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.b, p0/z, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.b, w0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.d, #0xe0000000000003ff
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.d, #0xffffffffffff7fff
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.d, #32768
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.d, d0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.d, p0/m, d0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov z0.d, p0/m, x0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.d, x0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.h, #-256
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.h, #-32768
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.h, #32512
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.h, #32767
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.h, h0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.h, p0/m, h0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov z0.h, p0/m, w0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.h, p0/z, #32512
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.h, w0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.q, q0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.s, #0xffff7fff
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.s, #32768
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.s, p0/m, s0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov z0.s, p0/m, w0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.s, s0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z0.s, w0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, #-32768
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, #32512
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, p0/z, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, p0/z, #-32768
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, p0/z, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, p0/z, #32512
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, p15/m, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.d, p15/m, #-32768
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, #-32768
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, #32512
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, p0/z, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, p0/z, #-32768
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, p0/z, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, p0/z, #32512
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, p15/m, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.h, p15/m, #-32768
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, #-32768
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, #32512
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, p0/z, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, p0/z, #-32768
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, p0/z, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, p0/z, #32512
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, p15/m, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z21.s, p15/m, #-32768
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.b, p15/m, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.b, p7/m, b31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - movprfx z31, z6
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov z31.b, p7/m, wsp
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.b, wsp
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.b, z31.b[63]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.d, p15/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.d, p7/m, d31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - movprfx z31.d, p7/z, z6.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov z31.d, p7/m, sp
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.d, sp
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.d, z31.d[7]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.h, p15/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.h, p7/m, h31
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov z31.h, p7/m, wsp
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.h, wsp
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.h, z31.h[31]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.s, p15/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.s, p7/m, s31
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - mov z31.s, p7/m, wsp
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.s, wsp
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z31.s, z31.s[15]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.b, #-1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.b, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.b, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.b, p0/z, #-1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.b, p0/z, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.b, p0/z, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.b, p15/m, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.d, #-6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.h, #-6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.q, z17.q[3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - mov z5.s, #-6
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movs p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movs p0.b, p0/z, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movs p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - movs p15.b, p15/z, p15.b
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - mrs x3, ID_AA64ZFR0_EL1
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - mrs x3, ZCR_EL1
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - mrs x3, ZCR_EL12
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - mrs x3, ZCR_EL2
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - mrs x3, ZCR_EL3
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - msb z0.b, p7/m, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - msb z0.d, p7/m, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - msb z0.h, p7/m, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - msb z0.s, p7/m, z1.s, z31.s
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - msr ZCR_EL1, x3
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - msr ZCR_EL12, x3
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - msr ZCR_EL2, x3
-# CHECK-NEXT: - - - 1.00 - - - - - - - - - - msr ZCR_EL3, x3
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z0.b, p7/m, z0.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z0.b, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z0.d, z1.d, z15.d[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z0.h, p7/m, z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z0.h, z1.h, z2.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z0.h, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z0.s, z1.s, z7.s[3]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z29.s, z30.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z31.b, z31.b, #-128
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z31.b, z31.b, #127
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z31.d, z31.d, #-128
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z31.d, z31.d, #127
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z31.d, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z31.h, z31.h, #-128
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z31.h, z31.h, #127
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z31.s, z31.s, #-128
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - mul z31.s, z31.s, #127
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nand p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nand p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nands p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nands p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - nbsl z0.d, z0.d, z1.d, z2.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg z0.b, p0/m, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg z0.d, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg z0.h, p0/m, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg z0.s, p0/m, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg z31.b, p7/m, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - neg z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - nmatch p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - nmatch p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - nmatch p15.b, p7/z, z30.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - nmatch p15.h, p7/z, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nor p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nor p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nors p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nors p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - not p0.b, p0/z, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - not p15.b, p15/z, p15.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - not z31.b, p7/m, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - not z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - not z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - not z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nots p0.b, p0/z, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - nots p15.b, p15/z, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orn p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orn p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orns p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orns p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orr p0.b, p0/z, p0.b, p1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z0.d, z0.d, #0x6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z0.d, z0.d, #0xfffffffffffffff9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z0.s, z0.s, #0x6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z0.s, z0.s, #0xfffffff9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z23.d, z13.d, z8.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z23.h, z23.h, #0x6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z23.h, z23.h, #0xfff9
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z31.b, p7/m, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z31.d, p7/m, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z31.h, p7/m, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z31.s, p7/m, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z5.b, z5.b, #0x6
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - orr z5.b, z5.b, #0xf9
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orrs p0.b, p0/z, p0.b, p1.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orv b0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orv d0, p7, z31.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orv h0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - orv s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - pfalse p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - pfirst p0.b, p15, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - pfirst p15.b, p15, p15.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - pmul z0.b, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - pmul z29.b, z30.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - - - 1.00 pmullb z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - - - - - 1.00 pmullb z29.q, z30.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - - - 1.00 pmullb z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - - - 1.00 pmullt z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - - - - - 1.00 pmullt z29.q, z30.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - - - 1.00 pmullt z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - pnext p0.b, p15, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - pnext p0.d, p15, p0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - pnext p0.h, p15, p0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - pnext p0.s, p15, p0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - pnext p15.b, p15, p15.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb #14, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb #15, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb #6, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb #7, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb #7, p3, [z13.s, #31]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb #7, p3, [z13.s]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl1keep, p0, [x0, z0.d, uxtw]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl1keep, p0, [x0, z0.d]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl1keep, p0, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl1keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl1strm, p0, [x0, #-32, mul vl]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl1strm, p0, [x0, #31, mul vl]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl1strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl2keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl2strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl3keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl3strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl3strm, p5, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl3strm, p5, [x10, z21.s, uxtw]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl3strm, p5, [z10.d, #31]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pldl3strm, p5, [z10.d]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pstl1keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pstl1strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pstl2keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pstl2strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pstl3keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfb pstl3strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd #14, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd #15, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd #15, p7, [z31.d, #248]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd #15, p7, [z31.d]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd #15, p7, [z31.s, #248]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd #15, p7, [z31.s]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd #6, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd #7, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl1keep, p0, [x0, z0.d, lsl #3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl1keep, p0, [x0, z0.d, sxtw #3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl1keep, p0, [x0, z0.d, uxtw #3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl1keep, p0, [x0, z0.s, sxtw #3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl1keep, p0, [x0, z0.s, uxtw #3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl1keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl1strm, p0, [x0, #-32, mul vl]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl1strm, p0, [x0, #31, mul vl]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl1strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl2keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl2strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl3keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pldl3strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pstl1keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pstl1strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pstl2keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pstl2strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pstl3keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfd pstl3strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh #14, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh #15, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh #15, p7, [z31.d, #62]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh #15, p7, [z31.d]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh #15, p7, [z31.s, #62]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh #15, p7, [z31.s]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh #6, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh #7, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl1keep, p0, [x0, z0.d, lsl #1]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl1keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl1strm, p0, [x0, #-32, mul vl]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl1strm, p0, [x0, #31, mul vl]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl1strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl2keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl2strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl3keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl3strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl3strm, p5, [x10, z21.d, sxtw #1]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl3strm, p5, [x10, z21.d, uxtw #1]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl3strm, p5, [x10, z21.s, sxtw #1]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pldl3strm, p5, [x10, z21.s, uxtw #1]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pstl1keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pstl1strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pstl2keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pstl2strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pstl3keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfh pstl3strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw #14, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw #15, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw #15, p7, [z31.d, #124]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw #15, p7, [z31.d]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw #15, p7, [z31.s, #124]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw #15, p7, [z31.s]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw #6, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw #7, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw #7, p3, [x13, z8.d, uxtw #2]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl1keep, p0, [x0, z0.d, sxtw #2]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl1keep, p0, [x0, z0.s, uxtw #2]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl1keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl1strm, p0, [x0, #-32, mul vl]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl1strm, p0, [x0, #31, mul vl]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl1strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl2keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl2strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl3keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl3strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl3strm, p5, [x10, z21.d, lsl #2]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pldl3strm, p5, [x10, z21.s, sxtw #2]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pstl1keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pstl1strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pstl2keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pstl2strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pstl3keep, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - prfw pstl3strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptest p15, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptest p15, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p0.b, pow2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p0.d, pow2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p0.h, pow2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p0.s, pow2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p15.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p15.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p15.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #14
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #17
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #18
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #20
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #21
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #22
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #23
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #24
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #25
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #26
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #27
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, #28
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, mul3
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, mul4
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl1
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl128
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl256
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl3
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl32
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl4
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl5
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl6
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl64
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl7
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrue p7.s, vl8
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p0.b, pow2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p0.d, pow2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p0.h, pow2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p0.s, pow2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p15.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p15.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p15.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #14
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #17
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #18
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #19
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #20
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #21
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #22
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #23
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #24
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #25
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #26
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #27
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, #28
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, mul3
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, mul4
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl1
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl128
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl2
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl256
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl3
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl32
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl4
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl5
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl6
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl64
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl7
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - ptrues p7.s, vl8
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - punpkhi p0.h, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - punpkhi p15.h, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - punpklo p0.h, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - punpklo p15.h, p15.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhnb z0.b, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhnb z0.h, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhnb z0.s, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhnt z0.b, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhnt z0.h, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - raddhnt z0.s, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - - - 1.00 rax1 z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rbit z0.b, p7/m, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rbit z0.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rbit z0.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rbit z0.s, p7/m, z31.s
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rdffr p0.b
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - - rdffr p0.b, p0/z
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rdffr p15.b
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - - rdffr p15.b, p15/z
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - - rdffrs p0.b, p0/z
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - - rdffrs p15.b, p15/z
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rdvl x0, #0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rdvl x21, #-32
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rdvl x23, #31
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - rdvl xzr, #-1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev z0.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rev z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - revb z0.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - revb z0.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - revb z0.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - revh z0.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - revh z0.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - revw z0.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnb z0.b, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnb z0.h, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnb z0.s, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnb z31.b, z31.h, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnb z31.h, z31.s, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnb z31.s, z31.d, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnt z0.b, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnt z0.h, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnt z0.s, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnt z31.b, z31.h, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnt z31.h, z31.s, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rshrnt z31.s, z31.d, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhnb z0.b, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhnb z0.h, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhnb z0.s, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhnt z0.b, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhnt z0.h, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - rsubhnt z0.s, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - saba z0.b, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - saba z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - saba z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - saba z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sabalb z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sabalb z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sabalb z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sabalt z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sabalt z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sabalt z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabd z31.b, p7/m, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabd z31.d, p7/m, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabd z31.h, p7/m, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabd z31.s, p7/m, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdlb z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdlb z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdlb z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdlt z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdlt z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sabdlt z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sadalp z0.h, p0/m, z1.b
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sadalp z29.s, p0/m, z30.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - sadalp z30.d, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlb z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlb z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlb z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlbt z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlbt z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlbt z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlt z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlt z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddlt z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - saddv d0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - saddv d0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - saddv d0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddwb z0.h, z1.h, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddwb z29.s, z30.s, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddwb z31.d, z31.d, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddwt z0.h, z1.h, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddwt z29.s, z30.s, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - saddwt z31.d, z31.d, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sbclb z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sbclb z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sbclt z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sbclt z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf z0.d, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf z0.d, p0/m, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf z0.h, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf z0.h, p0/m, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf z0.h, p0/m, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf z0.s, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - scvtf z0.s, p0/m, z0.s
-# CHECK-NEXT: - - - - - - - - - - - - - 23.00 sdiv z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - - - 12.00 sdiv z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - - - 23.00 sdivr z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - - - 12.00 sdivr z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sdot z0.d, z1.h, z15.h[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sdot z0.d, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sdot z0.s, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sdot z0.s, z1.b, z7.b[3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sel z23.b, p11, z13.b, z8.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sel z23.d, p11, z13.d, z8.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sel z23.h, p11, z13.h, z8.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sel z23.s, p11, z13.s, z8.s
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - setffr
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shadd z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shadd z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shadd z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shadd z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnb z0.b, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnb z0.h, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnb z0.s, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnb z31.b, z31.h, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnb z31.h, z31.s, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnb z31.s, z31.d, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnt z0.b, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnt z0.h, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnt z0.s, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnt z31.b, z31.h, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnt z31.h, z31.s, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shrnt z31.s, z31.d, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsub z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsub z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsub z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsub z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsubr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsubr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsubr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - shsubr z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli z0.b, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli z0.d, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli z0.h, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli z0.s, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli z31.b, z31.b, #7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli z31.d, z31.d, #63
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli z31.h, z31.h, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sli z31.s, z31.s, #31
-# CHECK-NEXT: - - - - - - - - - - - - - 1.00 sm4e z0.s, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - - - 1.00 sm4ekey z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z0.b, z0.b, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z0.d, z0.d, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z0.h, z0.h, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z0.s, z0.s, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z31.b, p7/m, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z31.b, z31.b, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z31.d, p7/m, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z31.d, z31.d, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z31.h, p7/m, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z31.h, z31.h, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z31.s, p7/m, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smax z31.s, z31.s, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smaxp z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smaxp z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smaxp z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smaxp z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - smaxv b0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - smaxv d0, p7, z31.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - smaxv h0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - smaxv s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z0.b, z0.b, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z0.d, z0.d, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z0.h, z0.h, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z0.s, z0.s, #-128
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z31.b, p7/m, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z31.b, z31.b, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z31.d, p7/m, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z31.d, z31.d, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z31.h, p7/m, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z31.h, z31.h, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z31.s, p7/m, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - smin z31.s, z31.s, #127
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sminp z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sminp z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sminp z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sminp z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sminv b0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sminv d0, p7, z31.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sminv h0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sminv s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalb z0.d, z1.s, z15.s[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalb z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalb z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalb z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalb z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalt z0.d, z1.s, z15.s[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalt z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalt z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalt z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlalt z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslb z0.d, z1.s, z15.s[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslb z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslb z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslb z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslb z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslt z0.d, z1.s, z15.s[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslt z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslt z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslt z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smlslt z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smmla z0.s, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smulh z0.b, p7/m, z0.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smulh z0.b, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smulh z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smulh z0.h, p7/m, z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smulh z0.h, z1.h, z2.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smulh z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smulh z29.s, z30.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smulh z31.d, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullb z0.d, z1.s, z15.s[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullb z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullb z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullb z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullb z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullt z0.d, z1.s, z15.s[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullt z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullt z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullt z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - smullt z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - splice z29.b, p7, { z30.b, z31.b }
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - splice z29.d, p7, { z30.d, z31.d }
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - splice z29.h, p7, { z30.h, z31.h }
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - splice z29.s, p7, { z30.s, z31.s }
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - splice z31.b, p7, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - splice z31.d, p7, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - splice z31.h, p7, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - splice z31.s, p7, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs z31.b, p7/m, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqabs z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.b, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.b, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.d, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.d, z0.d, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.d, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.h, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.h, z0.h, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.h, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.s, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.s, z0.s, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z0.s, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z31.b, z31.b, #255
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z31.d, z31.d, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z31.h, z31.h, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqadd z31.s, z31.s, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqcadd z0.b, z0.b, z0.b, #90
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqcadd z0.d, z0.d, z0.d, #90
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqcadd z0.h, z0.h, z0.h, #90
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqcadd z0.s, z0.s, z0.s, #90
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqcadd z31.b, z31.b, z31.b, #270
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqcadd z31.d, z31.d, z31.d, #270
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqcadd z31.h, z31.h, z31.h, #270
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqcadd z31.s, z31.s, z31.s, #270
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecb x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecb x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecb x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecb x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecb x0, vl1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecb x0, w0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecb x0, w0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecb x0, w0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecb x0, w0, pow2, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecd x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecd x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecd x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecd x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecd x0, vl1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecd x0, w0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecd x0, w0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecd x0, w0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecd x0, w0, pow2, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecd z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecd z0.d, all, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecd z0.d, pow2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecd z0.d, pow2, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdech x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdech x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdech x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdech x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdech x0, vl1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdech x0, w0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdech x0, w0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdech x0, w0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdech x0, w0, pow2, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdech z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdech z0.h, all, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdech z0.h, pow2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdech z0.h, pow2, mul #16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqdecp x0, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqdecp x0, p0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqdecp x0, p0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqdecp x0, p0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqdecp xzr, p15.b, wzr
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqdecp xzr, p15.d, wzr
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqdecp xzr, p15.h, wzr
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqdecp xzr, p15.s, wzr
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecp z0.d, p0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecp z0.h, p0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecp z0.s, p0.s
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecw x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecw x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecw x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecw x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecw x0, vl1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecw x0, w0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecw x0, w0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecw x0, w0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqdecw x0, w0, pow2, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecw z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecw z0.s, all, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecw z0.s, pow2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqdecw z0.s, pow2, mul #16
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalb z0.d, z1.s, z15.s[3]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalb z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalb z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalb z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalb z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalbt z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalbt z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalbt z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalt z0.d, z1.s, z15.s[3]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalt z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalt z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalt z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlalt z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslb z0.d, z1.s, z15.s[3]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslb z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslb z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslb z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslb z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslbt z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslbt z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslbt z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslt z0.d, z1.s, z15.s[3]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslt z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslt z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslt z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmlslt z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmulh z0.b, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmulh z0.d, z1.d, z15.d[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmulh z0.h, z1.h, z2.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmulh z0.h, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmulh z0.s, z1.s, z7.s[3]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmulh z29.s, z30.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmulh z31.d, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullb z0.d, z1.s, z15.s[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullb z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullb z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullb z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullb z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullt z0.d, z1.s, z15.s[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullt z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullt z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullt z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqdmullt z31.d, z31.s, z31.s
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincb x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincb x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincb x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincb x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincb x0, vl1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincb x0, w0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincb x0, w0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincb x0, w0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincb x0, w0, pow2, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincd x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincd x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincd x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincd x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincd x0, vl1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincd x0, w0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincd x0, w0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincd x0, w0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincd x0, w0, pow2, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincd z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincd z0.d, all, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincd z0.d, pow2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincd z0.d, pow2, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqinch x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqinch x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqinch x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqinch x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqinch x0, vl1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqinch x0, w0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqinch x0, w0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqinch x0, w0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqinch x0, w0, pow2, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqinch z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqinch z0.h, all, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqinch z0.h, pow2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqinch z0.h, pow2, mul #16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqincp x0, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqincp x0, p0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqincp x0, p0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqincp x0, p0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqincp xzr, p15.b, wzr
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqincp xzr, p15.d, wzr
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqincp xzr, p15.h, wzr
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - sqincp xzr, p15.s, wzr
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincp z0.d, p0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincp z0.h, p0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincp z0.s, p0.s
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincw x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincw x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincw x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincw x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincw x0, vl1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincw x0, w0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincw x0, w0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincw x0, w0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - sqincw x0, w0, pow2, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincw z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincw z0.s, all, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincw z0.s, pow2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqincw z0.s, pow2, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg z31.b, p7/m, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqneg z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z0.b, z1.b, z2.b, #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z0.d, z1.d, z2.d, #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z0.h, z1.h, z2.h, #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z0.h, z1.h, z2.h[0], #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z0.s, z1.s, z2.s, #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z0.s, z1.s, z2.s[0], #0
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z15.b, z16.b, z17.b, #270
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z15.d, z16.d, z17.d, #270
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z15.h, z16.h, z17.h, #270
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z15.s, z16.s, z17.s, #270
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z29.b, z30.b, z31.b, #90
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z29.d, z30.d, z31.d, #90
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z29.h, z30.h, z31.h, #90
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z29.s, z30.s, z31.s, #90
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z31.b, z31.b, z31.b, #180
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z31.d, z31.d, z31.d, #180
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z31.h, z30.h, z7.h[0], #180
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z31.h, z31.h, z31.h, #180
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z31.s, z30.s, z7.s[0], #180
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdcmlah z31.s, z31.s, z31.s, #180
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.b, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.d, z1.d, z15.d[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.h, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.s, z1.s, z7.s[3]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.b, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.d, z1.d, z15.d[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.h, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.s, z1.s, z7.s[3]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmulh z0.b, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmulh z0.d, z1.d, z15.d[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmulh z0.h, z1.h, z2.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmulh z0.h, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmulh z0.s, z1.s, z7.s[3]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmulh z29.s, z30.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - sqrdmulh z31.d, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshl z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshl z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshl z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshl z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshlr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshlr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshlr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshlr z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnb z0.b, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnb z0.h, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnb z0.s, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnb z31.b, z31.h, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnb z31.h, z31.s, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnb z31.s, z31.d, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnt z0.b, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnt z0.h, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnt z0.s, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnt z31.b, z31.h, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnt z31.h, z31.s, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrnt z31.s, z31.d, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunb z0.b, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunb z0.h, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunb z0.s, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunb z31.b, z31.h, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunb z31.h, z31.s, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunb z31.s, z31.d, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunt z0.b, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunt z0.h, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunt z0.s, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunt z31.b, z31.h, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunt z31.h, z31.s, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqrshrunt z31.s, z31.d, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z0.b, p0/m, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z0.d, p0/m, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z0.h, p0/m, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z0.s, p0/m, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z31.b, p0/m, z31.b, #7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z31.d, p0/m, z31.d, #63
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z31.h, p0/m, z31.h, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshl z31.s, p0/m, z31.s, #31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlr z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu z0.b, p0/m, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu z0.d, p0/m, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu z0.h, p0/m, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu z0.s, p0/m, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu z31.b, p0/m, z31.b, #7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu z31.d, p0/m, z31.d, #63
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu z31.h, p0/m, z31.h, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshlu z31.s, p0/m, z31.s, #31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnb z0.b, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnb z0.h, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnb z0.s, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnb z31.b, z31.h, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnb z31.h, z31.s, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnb z31.s, z31.d, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnt z0.b, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnt z0.h, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnt z0.s, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnt z31.b, z31.h, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnt z31.h, z31.s, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrnt z31.s, z31.d, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunb z0.b, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunb z0.h, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunb z0.s, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunb z31.b, z31.h, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunb z31.h, z31.s, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunb z31.s, z31.d, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunt z0.b, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunt z0.h, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunt z0.s, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunt z31.b, z31.h, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunt z31.h, z31.s, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqshrunt z31.s, z31.d, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.b, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.b, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.d, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.d, z0.d, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.d, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.h, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.h, z0.h, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.h, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.s, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.s, z0.s, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z0.s, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z31.b, z31.b, #255
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z31.d, z31.d, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z31.h, z31.h, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsub z31.s, z31.s, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsubr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsubr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsubr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqsubr z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtnb z0.b, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtnb z0.h, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtnb z0.s, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtnt z0.b, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtnt z0.h, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtnt z0.s, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtunb z0.b, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtunb z0.h, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtunb z0.s, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtunt z0.b, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtunt z0.h, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sqxtunt z0.s, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srhadd z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srhadd z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srhadd z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srhadd z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri z0.b, z0.b, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri z0.d, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri z0.h, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri z0.s, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri z31.b, z31.b, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri z31.d, z31.d, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri z31.h, z31.h, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sri z31.s, z31.s, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshl z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshl z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshl z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshl z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshlr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshlr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshlr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshlr z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr z0.b, p0/m, z0.b, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr z0.d, p0/m, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr z0.h, p0/m, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr z0.s, p0/m, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr z31.b, p0/m, z31.b, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr z31.d, p0/m, z31.d, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr z31.h, p0/m, z31.h, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srshr z31.s, p0/m, z31.s, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srsra z0.b, z0.b, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srsra z0.d, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srsra z0.h, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srsra z0.s, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srsra z31.b, z31.b, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srsra z31.d, z31.d, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srsra z31.h, z31.h, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - srsra z31.s, z31.s, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllb z0.d, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllb z0.h, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllb z0.s, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllb z31.d, z31.s, #31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllb z31.h, z31.b, #7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllb z31.s, z31.h, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllt z0.d, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllt z0.h, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllt z0.s, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllt z31.d, z31.s, #31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllt z31.h, z31.b, #7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sshllt z31.s, z31.h, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra z0.b, z0.b, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra z0.d, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra z0.h, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra z0.s, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra z31.b, z31.b, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra z31.d, z31.d, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra z31.h, z31.h, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssra z31.s, z31.s, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssublb z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssublb z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssublb z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssublbt z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssublbt z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssublbt z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssublt z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssublt z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssublt z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubltb z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubltb z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubltb z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubwb z0.h, z1.h, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubwb z29.s, z30.s, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubwb z31.d, z31.d, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubwt z0.h, z1.h, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubwt z29.s, z30.s, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ssubwt z31.d, z31.d, z31.s
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z0.b }, p0, [x0, x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z0.b }, p0, [x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z0.d }, p0, [x0, x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1b { z0.d }, p0, [x0, z0.d, sxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1b { z0.d }, p0, [x0, z0.d, uxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1b { z0.d }, p0, [x0, z0.d]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z0.d }, p0, [x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1b { z0.d }, p7, [z0.d]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z0.h }, p0, [x0, x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z0.h }, p0, [x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z0.s }, p0, [x0, x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1b { z0.s }, p0, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1b { z0.s }, p0, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z0.s }, p0, [x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1b { z0.s }, p7, [z0.s]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z21.b }, p5, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z21.d }, p5, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z21.h }, p5, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z21.s }, p5, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z31.b }, p7, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z31.d }, p7, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1b { z31.d }, p7, [z31.d, #31]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z31.h }, p7, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1b { z31.s }, p7, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1b { z31.s }, p7, [z31.s, #31]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1d { z0.d }, p0, [x0, x0, lsl #3]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1d { z0.d }, p0, [x0, z0.d, lsl #3]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1d { z0.d }, p0, [x0, z0.d, sxtw #3]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1d { z0.d }, p0, [x0, z0.d, sxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1d { z0.d }, p0, [x0, z0.d, uxtw #3]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1d { z0.d }, p0, [x0, z0.d, uxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1d { z0.d }, p0, [x0, z0.d]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1d { z0.d }, p0, [x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1d { z0.d }, p7, [z0.d]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1d { z21.d }, p5, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1d { z31.d }, p7, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1d { z31.d }, p7, [z31.d, #248]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z0.d }, p0, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1h { z0.d }, p0, [x0, z0.d, lsl #1]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1h { z0.d }, p0, [x0, z0.d, sxtw #1]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1h { z0.d }, p0, [x0, z0.d, sxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1h { z0.d }, p0, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1h { z0.d }, p0, [x0, z0.d, uxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1h { z0.d }, p0, [x0, z0.d]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z0.d }, p0, [x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1h { z0.d }, p7, [z0.d]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z0.h }, p0, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z0.h }, p0, [x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z0.s }, p0, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1h { z0.s }, p0, [x0, z0.s, sxtw #1]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1h { z0.s }, p0, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1h { z0.s }, p0, [x0, z0.s, uxtw #1]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1h { z0.s }, p0, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z0.s }, p0, [x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1h { z0.s }, p7, [z0.s]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z21.d }, p5, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z21.h }, p5, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z21.s }, p5, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z31.d }, p7, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1h { z31.d }, p7, [z31.d, #62]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z31.h }, p7, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1h { z31.s }, p7, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1h { z31.s }, p7, [z31.s, #62]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1w { z0.d }, p0, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1w { z0.d }, p0, [x0, z0.d, lsl #2]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1w { z0.d }, p0, [x0, z0.d, sxtw #2]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1w { z0.d }, p0, [x0, z0.d, sxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1w { z0.d }, p0, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1w { z0.d }, p0, [x0, z0.d, uxtw]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1w { z0.d }, p0, [x0, z0.d]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1w { z0.d }, p0, [x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1w { z0.d }, p7, [z0.d]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1w { z0.s }, p0, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1w { z0.s }, p0, [x0, z0.s, sxtw #2]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1w { z0.s }, p0, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1w { z0.s }, p0, [x0, z0.s, uxtw #2]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1w { z0.s }, p0, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1w { z0.s }, p0, [x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1w { z0.s }, p7, [z0.s]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1w { z21.d }, p5, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1w { z21.s }, p5, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1w { z31.d }, p7, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - st1w { z31.d }, p7, [z31.d, #124]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - st1w { z31.s }, p7, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - st1w { z31.s }, p7, [z31.s, #124]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2b { z0.b, z1.b }, p0, [x0, x0]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2b { z0.b, z1.b }, p0, [x0]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2b { z21.b, z22.b }, p5, [x10, #10, mul vl]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2b { z23.b, z24.b }, p3, [x13, #-16, mul vl]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2b { z5.b, z6.b }, p3, [x17, x16]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2d { z0.d, z1.d }, p0, [x0, x0, lsl #3]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2d { z0.d, z1.d }, p0, [x0]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2d { z21.d, z22.d }, p5, [x10, #10, mul vl]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2d { z23.d, z24.d }, p3, [x13, #-16, mul vl]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2d { z5.d, z6.d }, p3, [x17, x16, lsl #3]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2h { z0.h, z1.h }, p0, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2h { z0.h, z1.h }, p0, [x0]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2h { z21.h, z22.h }, p5, [x10, #10, mul vl]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2h { z23.h, z24.h }, p3, [x13, #-16, mul vl]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2h { z5.h, z6.h }, p3, [x17, x16, lsl #1]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2w { z0.s, z1.s }, p0, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2w { z0.s, z1.s }, p0, [x0]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2w { z21.s, z22.s }, p5, [x10, #10, mul vl]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2w { z23.s, z24.s }, p3, [x13, #-16, mul vl]
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - - st2w { z5.s, z6.s }, p3, [x17, x16, lsl #2]
-# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3b { z0.b - z2.b }, p0, [x0, x0]
-# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3b { z0.b - z2.b }, p0, [x0]
-# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3b { z21.b - z23.b }, p5, [x10, #15, mul vl]
-# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3b { z23.b - z25.b }, p3, [x13, #-24, mul vl]
-# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3b { z5.b - z7.b }, p3, [x17, x16]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - st3d { z0.d - z2.d }, p0, [x0, x0, lsl #3]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - st3d { z0.d - z2.d }, p0, [x0]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - st3d { z21.d - z23.d }, p5, [x10, #15, mul vl]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - st3d { z23.d - z25.d }, p3, [x13, #-24, mul vl]
-# CHECK-NEXT: - - - - - - 3.00 - - - - - - - st3d { z5.d - z7.d }, p3, [x17, x16, lsl #3]
-# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3h { z0.h - z2.h }, p0, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3h { z0.h - z2.h }, p0, [x0]
-# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3h { z21.h - z23.h }, p5, [x10, #15, mul vl]
-# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3h { z23.h - z25.h }, p3, [x13, #-24, mul vl]
-# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3h { z5.h - z7.h }, p3, [x17, x16, lsl #1]
-# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3w { z0.s - z2.s }, p0, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3w { z0.s - z2.s }, p0, [x0]
-# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3w { z21.s - z23.s }, p5, [x10, #15, mul vl]
-# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3w { z23.s - z25.s }, p3, [x13, #-24, mul vl]
-# CHECK-NEXT: - - - - - - 6.00 - - - - - - - st3w { z5.s - z7.s }, p3, [x17, x16, lsl #2]
-# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4b { z0.b - z3.b }, p0, [x0, x0]
-# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4b { z0.b - z3.b }, p0, [x0]
-# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4b { z21.b - z24.b }, p5, [x10, #20, mul vl]
-# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4b { z23.b - z26.b }, p3, [x13, #-32, mul vl]
-# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4b { z5.b - z8.b }, p3, [x17, x16]
-# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st4d { z0.d - z3.d }, p0, [x0, x0, lsl #3]
-# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st4d { z0.d - z3.d }, p0, [x0]
-# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st4d { z21.d - z24.d }, p5, [x10, #20, mul vl]
-# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st4d { z23.d - z26.d }, p3, [x13, #-32, mul vl]
-# CHECK-NEXT: - - - - - - 4.00 - - - - - - - st4d { z5.d - z8.d }, p3, [x17, x16, lsl #3]
-# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4h { z0.h - z3.h }, p0, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4h { z0.h - z3.h }, p0, [x0]
-# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4h { z21.h - z24.h }, p5, [x10, #20, mul vl]
-# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4h { z23.h - z26.h }, p3, [x13, #-32, mul vl]
-# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4h { z5.h - z8.h }, p3, [x17, x16, lsl #1]
-# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4w { z0.s - z3.s }, p0, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4w { z0.s - z3.s }, p0, [x0]
-# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4w { z21.s - z24.s }, p5, [x10, #20, mul vl]
-# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4w { z23.s - z26.s }, p3, [x13, #-32, mul vl]
-# CHECK-NEXT: - - - - - - 8.00 - - - - - - - st4w { z5.s - z8.s }, p3, [x17, x16, lsl #2]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1b { z0.b }, p0, [x0, x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1b { z0.b }, p0, [x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1b { z0.d }, p0, [z1.d]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - stnt1b { z0.s }, p0, [z1.s]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1b { z21.b }, p5, [x10, #7, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1b { z23.b }, p3, [x13, #-8, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1b { z31.d }, p7, [z31.d, x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1b { z31.d }, p7, [z31.d]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - stnt1b { z31.s }, p7, [z31.s, x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - stnt1b { z31.s }, p7, [z31.s]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1d { z0.d }, p0, [x0, x0, lsl #3]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1d { z0.d }, p0, [x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1d { z0.d }, p0, [z1.d]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1d { z21.d }, p5, [x10, #7, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1d { z23.d }, p3, [x13, #-8, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1d { z31.d }, p7, [z31.d, x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1d { z31.d }, p7, [z31.d]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1h { z0.d }, p0, [z1.d]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1h { z0.h }, p0, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1h { z0.h }, p0, [x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - stnt1h { z0.s }, p0, [z1.s]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1h { z21.h }, p5, [x10, #7, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1h { z23.h }, p3, [x13, #-8, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1h { z31.d }, p7, [z31.d, x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1h { z31.d }, p7, [z31.d]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - stnt1h { z31.s }, p7, [z31.s, x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - stnt1h { z31.s }, p7, [z31.s]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1w { z0.d }, p0, [z1.d]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1w { z0.s }, p0, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1w { z0.s }, p0, [x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - stnt1w { z0.s }, p0, [z1.s]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1w { z21.s }, p5, [x10, #7, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - stnt1w { z23.s }, p3, [x13, #-8, mul vl]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1w { z31.d }, p7, [z31.d, x0]
-# CHECK-NEXT: - - - - - - 7.00 - - - - - - - stnt1w { z31.d }, p7, [z31.d]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - stnt1w { z31.s }, p7, [z31.s, x0]
-# CHECK-NEXT: - - - - - - 9.00 - - - - - - - stnt1w { z31.s }, p7, [z31.s]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str p0, [x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str p15, [sp, #-256, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str p5, [x10, #255, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str z0, [x0]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str z21, [x10, #-256, mul vl]
-# CHECK-NEXT: - - - - - - 1.00 - - - - - - - str z31, [sp, #255, mul vl]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.b, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.b, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.d, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.d, z0.d, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.d, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.h, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.h, z0.h, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.h, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.s, p0/m, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.s, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.s, z0.s, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z0.s, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z21.b, p5/m, z21.b, z10.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z21.b, z10.b, z21.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z21.d, p5/m, z21.d, z10.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z21.d, z10.d, z21.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z21.h, p5/m, z21.h, z10.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z21.h, z10.h, z21.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z21.s, p5/m, z21.s, z10.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z21.s, z10.s, z21.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z23.b, p3/m, z23.b, z13.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z23.b, z13.b, z8.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z23.d, p3/m, z23.d, z13.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z23.d, z13.d, z8.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z23.h, p3/m, z23.h, z13.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z23.h, z13.h, z8.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z23.s, p3/m, z23.s, z13.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z23.s, z13.s, z8.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.b, p7/m, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.b, z31.b, #255
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.b, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.d, p7/m, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.d, z31.d, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.d, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.h, p7/m, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.h, z31.h, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.h, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.s, p7/m, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.s, z31.s, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sub z31.s, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subhnb z0.b, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subhnb z0.h, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subhnb z0.s, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subhnt z0.b, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subhnt z0.h, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subhnt z0.s, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.b, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.d, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.d, z0.d, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.h, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.h, z0.h, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.s, p0/m, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.s, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z0.s, z0.s, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z31.b, z31.b, #255
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z31.d, z31.d, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z31.h, z31.h, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - subr z31.s, z31.s, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sunpkhi z31.d, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sunpkhi z31.h, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sunpkhi z31.s, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sunpklo z31.d, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sunpklo z31.h, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sunpklo z31.s, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - suqadd z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxtb z0.d, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxtb z0.h, p0/m, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxtb z0.s, p0/m, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxtb z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxtb z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxtb z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxth z0.d, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxth z0.s, p0/m, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxth z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxth z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxtw z0.d, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - sxtw z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl z28.b, { z29.b, z30.b }, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl z28.d, { z29.d, z30.d }, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl z28.h, { z29.h, z30.h }, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl z28.s, { z29.s, z30.s }, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl z31.b, { z31.b }, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl z31.d, { z31.d }, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl z31.h, { z31.h }, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbl z31.s, { z31.s }, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx z31.b, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx z31.d, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx z31.h, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - tbx z31.s, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - trn1 p15.b, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - trn1 p15.d, p15.d, p15.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - trn1 p15.h, p15.h, p15.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - trn1 p15.s, p15.s, p15.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 z31.b, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 z31.d, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 z31.h, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn1 z31.s, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - trn2 p15.b, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - trn2 p15.d, p15.d, p15.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - trn2 p15.h, p15.h, p15.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - trn2 p15.s, p15.s, p15.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 z31.b, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 z31.d, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 z31.h, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - trn2 z31.s, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uaba z0.b, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uaba z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uaba z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uaba z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uabalb z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uabalb z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uabalb z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uabalt z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uabalt z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uabalt z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabd z31.b, p7/m, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabd z31.d, p7/m, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabd z31.h, p7/m, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabd z31.s, p7/m, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdlb z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdlb z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdlb z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdlt z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdlt z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uabdlt z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uadalp z0.h, p0/m, z1.b
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uadalp z29.s, p0/m, z30.h
-# CHECK-NEXT: - - - - - - - - - 1.00 1.00 - - - uadalp z30.d, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlb z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlb z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlb z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlt z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlt z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddlt z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uaddv d0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uaddv d0, p7, z31.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uaddv d0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uaddv d0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddwb z0.h, z1.h, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddwb z29.s, z30.s, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddwb z31.d, z31.d, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddwt z0.h, z1.h, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddwt z29.s, z30.s, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uaddwt z31.d, z31.d, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf z0.d, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf z0.d, p0/m, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf z0.h, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf z0.h, p0/m, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf z0.h, p0/m, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf z0.s, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ucvtf z0.s, p0/m, z0.s
-# CHECK-NEXT: - - - - - - - - - - - - - 23.00 udiv z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - - - 12.00 udiv z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - - - 23.00 udivr z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - - - 12.00 udivr z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - udot z0.d, z1.h, z15.h[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - udot z0.d, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - udot z0.s, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - udot z0.s, z1.b, z7.b[3]
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhadd z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhadd z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhadd z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhadd z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhsub z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhsub z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhsub z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhsub z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhsubr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhsubr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhsubr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uhsubr z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umax z0.b, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umax z31.b, p7/m, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umax z31.b, z31.b, #255
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umax z31.d, p7/m, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umax z31.h, p7/m, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umax z31.s, p7/m, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umaxp z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umaxp z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umaxp z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umaxp z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - umaxv b0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - umaxv d0, p7, z31.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - umaxv h0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - umaxv s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umin z0.b, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umin z31.b, p7/m, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umin z31.b, z31.b, #255
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umin z31.d, p7/m, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umin z31.h, p7/m, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - umin z31.s, p7/m, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uminp z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uminp z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uminp z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uminp z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uminv b0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uminv d0, p7, z31.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uminv h0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uminv s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalb z0.d, z1.s, z15.s[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalb z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalb z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalb z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalb z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalt z0.d, z1.s, z15.s[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalt z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalt z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalt z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlalt z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslb z0.d, z1.s, z15.s[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslb z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslb z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslb z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslb z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslt z0.d, z1.s, z15.s[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslt z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslt z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslt z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umlslt z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - ummla z0.s, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umulh z0.b, p7/m, z0.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umulh z0.b, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umulh z0.d, p7/m, z0.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umulh z0.h, p7/m, z0.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umulh z0.h, z1.h, z2.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umulh z0.s, p7/m, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umulh z29.s, z30.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umulh z31.d, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullb z0.d, z1.s, z15.s[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullb z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullb z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullb z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullb z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullt z0.d, z1.s, z15.s[1]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullt z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullt z0.s, z1.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullt z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - umullt z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.b, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.b, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.d, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.d, z0.d, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.d, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.h, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.h, z0.h, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.h, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.s, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.s, z0.s, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z0.s, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z31.b, z31.b, #255
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z31.d, z31.d, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z31.h, z31.h, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqadd z31.s, z31.s, #65280
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecb w0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecb w0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecb w0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecb w0, pow2, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecb x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecb x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecb x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecb x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecb x0, vl1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecd w0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecd w0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecd w0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecd w0, pow2, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecd x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecd x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecd x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecd x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecd x0, vl1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecd z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecd z0.d, all, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecd z0.d, pow2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecd z0.d, pow2, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdech w0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdech w0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdech w0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdech w0, pow2, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdech x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdech x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdech x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdech x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdech x0, vl1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdech z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdech z0.h, all, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdech z0.h, pow2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdech z0.h, pow2, mul #16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqdecp wzr, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqdecp wzr, p15.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqdecp wzr, p15.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqdecp wzr, p15.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqdecp x0, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqdecp x0, p0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqdecp x0, p0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqdecp x0, p0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecp z0.d, p0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecp z0.h, p0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecp z0.s, p0.s
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecw w0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecw w0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecw w0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecw w0, pow2, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecw x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecw x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecw x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecw x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqdecw x0, vl1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecw z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecw z0.s, all, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecw z0.s, pow2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqdecw z0.s, pow2, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincb w0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincb w0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincb w0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincb w0, pow2, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincb x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincb x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincb x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincb x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincb x0, vl1
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincd w0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincd w0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincd w0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincd w0, pow2, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincd x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincd x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincd x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincd x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincd x0, vl1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincd z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincd z0.d, all, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincd z0.d, pow2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincd z0.d, pow2, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqinch w0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqinch w0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqinch w0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqinch w0, pow2, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqinch x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqinch x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqinch x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqinch x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqinch x0, vl1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqinch z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqinch z0.h, all, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqinch z0.h, pow2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqinch z0.h, pow2, mul #16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqincp wzr, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqincp wzr, p15.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqincp wzr, p15.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqincp wzr, p15.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqincp x0, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqincp x0, p0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqincp x0, p0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uqincp x0, p0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincp z0.d, p0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincp z0.h, p0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincp z0.s, p0.s
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincw w0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincw w0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincw w0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincw w0, pow2, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincw x0
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincw x0, #14
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincw x0, all, mul #16
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincw x0, pow2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - uqincw x0, vl1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincw z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincw z0.s, all, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincw z0.s, pow2
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqincw z0.s, pow2, mul #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshl z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshlr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshlr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshlr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshlr z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnb z0.b, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnb z0.h, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnb z0.s, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnb z31.b, z31.h, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnb z31.h, z31.s, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnb z31.s, z31.d, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnt z0.b, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnt z0.h, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnt z0.s, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnt z31.b, z31.h, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnt z31.h, z31.s, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqrshrnt z31.s, z31.d, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z0.b, p0/m, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z0.d, p0/m, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z0.h, p0/m, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z0.s, p0/m, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z31.b, p0/m, z31.b, #7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z31.d, p0/m, z31.d, #63
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z31.h, p0/m, z31.h, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshl z31.s, p0/m, z31.s, #31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshlr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshlr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshlr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshlr z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnb z0.b, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnb z0.h, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnb z0.s, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnb z31.b, z31.h, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnb z31.h, z31.s, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnb z31.s, z31.d, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnt z0.b, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnt z0.h, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnt z0.s, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnt z31.b, z31.h, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnt z31.h, z31.s, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqshrnt z31.s, z31.d, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.b, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.b, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.d, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.d, z0.d, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.d, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.h, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.h, z0.h, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.h, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.s, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.s, z0.s, #0, lsl #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z0.s, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z31.b, z31.b, #255
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z31.d, z31.d, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z31.h, z31.h, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsub z31.s, z31.s, #65280
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsubr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsubr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsubr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqsubr z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtnb z0.b, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtnb z0.h, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtnb z0.s, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtnt z0.b, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtnt z0.h, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uqxtnt z0.s, z31.d
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - urecpe z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urhadd z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urhadd z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urhadd z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urhadd z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshl z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshl z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshl z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshl z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshlr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshlr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshlr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshlr z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr z0.b, p0/m, z0.b, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr z0.d, p0/m, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr z0.h, p0/m, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr z0.s, p0/m, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr z31.b, p0/m, z31.b, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr z31.d, p0/m, z31.d, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr z31.h, p0/m, z31.h, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - urshr z31.s, p0/m, z31.s, #32
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - ursqrte z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ursra z0.b, z0.b, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ursra z0.d, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ursra z0.h, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ursra z0.s, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ursra z31.b, z31.b, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ursra z31.d, z31.d, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ursra z31.h, z31.h, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ursra z31.s, z31.s, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllb z0.d, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllb z0.h, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllb z0.s, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllb z31.d, z31.s, #31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllb z31.h, z31.b, #7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllb z31.s, z31.h, #15
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllt z0.d, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllt z0.h, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllt z0.s, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllt z31.d, z31.s, #31
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllt z31.h, z31.b, #7
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - ushllt z31.s, z31.h, #15
-# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 - usmmla z0.s, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usqadd z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra z0.b, z0.b, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra z0.d, z0.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra z0.h, z0.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra z0.s, z0.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra z31.b, z31.b, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra z31.d, z31.d, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra z31.h, z31.h, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usra z31.s, z31.s, #32
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usublb z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usublb z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usublb z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usublt z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usublt z29.s, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usublt z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubwb z0.h, z1.h, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubwb z29.s, z30.s, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubwb z31.d, z31.d, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubwt z0.h, z1.h, z2.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubwt z29.s, z30.s, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - usubwt z31.d, z31.d, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uunpkhi z31.d, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uunpkhi z31.h, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uunpkhi z31.s, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uunpklo z31.d, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uunpklo z31.h, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uunpklo z31.s, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxtb z0.d, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxtb z0.h, p0/m, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxtb z0.s, p0/m, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxtb z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxtb z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxtb z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxth z0.d, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxth z0.s, p0/m, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxth z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxth z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxtw z0.d, p0/m, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uxtw z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uzp1 p15.b, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uzp1 p15.d, p15.d, p15.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uzp1 p15.h, p15.h, p15.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uzp1 p15.s, p15.s, p15.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 z31.b, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 z31.d, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 z31.h, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp1 z31.s, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uzp2 p15.b, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uzp2 p15.d, p15.d, p15.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uzp2 p15.h, p15.h, p15.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - uzp2 p15.s, p15.s, p15.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 z31.b, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 z31.d, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 z31.h, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - uzp2 z31.s, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.b, w0, wzr
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.b, wzr, w0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.b, x0, xzr
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.b, xzr, x0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.d, w0, wzr
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.d, x0, xzr
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.h, w0, wzr
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.h, x0, xzr
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.s, w0, wzr
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilege p15.s, x0, xzr
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilerw p15.b, x30, x30
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilerw p15.d, x30, x30
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilerw p15.h, x30, x30
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilerw p15.s, x30, x30
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilewr p15.b, x30, x30
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilewr p15.d, x30, x30
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilewr p15.h, x30, x30
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - whilewr p15.s, x30, x30
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - wrffr p0.b
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - wrffr p15.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xar z0.b, z0.b, z1.b, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xar z0.d, z0.d, z1.d, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xar z0.h, z0.h, z1.h, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xar z0.s, z0.s, z1.s, #1
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xar z31.b, z31.b, z30.b, #8
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xar z31.d, z31.d, z30.d, #64
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xar z31.h, z31.h, z30.h, #16
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - xar z31.s, z31.s, z30.s, #32
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip1 p0.b, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip1 p0.d, p0.d, p0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip1 p0.h, p0.h, p0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip1 p0.s, p0.s, p0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip1 p15.b, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip1 p15.d, p15.d, p15.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip1 p15.h, p15.h, p15.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip1 p15.s, p15.s, p15.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 z0.b, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 z0.d, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 z0.h, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 z0.s, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 z31.b, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 z31.d, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 z31.h, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip1 z31.s, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip2 p0.b, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip2 p0.d, p0.d, p0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip2 p0.h, p0.h, p0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip2 p0.s, p0.s, p0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip2 p15.b, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip2 p15.d, p15.d, p15.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip2 p15.h, p15.h, p15.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - - zip2 p15.s, p15.s, p15.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 z0.b, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 z0.d, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 z0.h, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 z0.s, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 z31.b, z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 z31.d, z31.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 z31.h, z31.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - - - zip2 z31.s, z31.s, z31.s
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs z0.b, p0/m, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs z0.h, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs z31.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adclb z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adclb z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adclt z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adclt z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z0.b, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z0.h, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z0.s, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z0.s, z1.s, z2.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z21.b, p5/m, z21.b, z10.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z21.b, z10.b, z21.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z21.d, p5/m, z21.d, z10.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z21.d, z10.d, z21.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z21.h, p5/m, z21.h, z10.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z21.h, z10.h, z21.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z21.s, p5/m, z21.s, z10.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z21.s, z10.s, z21.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z23.b, p3/m, z23.b, z13.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z23.b, z13.b, z8.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z23.d, p3/m, z23.d, z13.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z23.d, z13.d, z8.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z23.h, p3/m, z23.h, z13.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z23.h, z13.h, z8.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z23.s, p3/m, z23.s, z13.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z23.s, z13.s, z8.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z31.b, z31.b, #255
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z31.b, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z31.d, z31.d, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z31.h, z31.h, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z31.h, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z31.s, z31.s, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - add z31.s, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addp z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addp z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - addpl sp, sp, #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - addpl x0, x0, #-32
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - addpl x21, x21, #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - addpl x23, x8, #-1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - addvl sp, sp, #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - addvl x0, x0, #-32
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - addvl x21, x21, #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - addvl x23, x8, #-1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, lsl #1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, lsl #2]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, lsl #3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, sxtw #1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, sxtw #2]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, sxtw #3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, sxtw]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, uxtw #1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, uxtw #2]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, uxtw #3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d, uxtw]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adr z0.d, [z0.d, z0.d]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adr z0.s, [z0.s, z0.s, lsl #1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adr z0.s, [z0.s, z0.s, lsl #2]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adr z0.s, [z0.s, z0.s, lsl #3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - adr z0.s, [z0.s, z0.s]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aesd z0.b, z0.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aese z0.b, z0.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aesimc z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aesimc z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aesmc z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aesmc z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - and p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z0.d, z0.d, #0x6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z0.d, z0.d, #0xfffffffffffffff9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z0.s, z0.s, #0x6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z0.s, z0.s, #0xfffffff9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z23.d, z13.d, z8.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z23.h, z23.h, #0x6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z23.h, z23.h, #0xfff9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z5.b, z5.b, #0x6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z5.b, z5.b, #0xf9
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ands p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - andv b0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - andv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - andv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - andv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z0.b, p0/m, z0.b, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z0.b, p0/m, z0.b, z1.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z0.b, z1.b, z2.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z0.d, p0/m, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z0.h, p0/m, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z0.h, p0/m, z0.h, z1.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z0.h, z1.h, z2.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z0.s, p0/m, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z0.s, p0/m, z0.s, z1.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z0.s, z1.s, z2.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z31.b, p0/m, z31.b, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z31.d, p0/m, z31.d, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z31.h, p0/m, z31.h, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z31.s, p0/m, z31.s, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asr z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asrd z0.b, p0/m, z0.b, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asrd z0.d, p0/m, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asrd z0.h, p0/m, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asrd z0.s, p0/m, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asrd z31.b, p0/m, z31.b, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asrd z31.d, p0/m, z31.d, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asrd z31.h, p0/m, z31.h, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asrd z31.s, p0/m, z31.s, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asrr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asrr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asrr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - asrr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bcax z29.d, z29.d, z30.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - 11.00 bdep z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - - 66.00 bdep z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - 19.00 bdep z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - - 35.00 bdep z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - - 11.00 bext z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - - 66.00 bext z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - 19.00 bext z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - - 35.00 bext z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bfcvt z0.h, p0/m, z1.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bfcvtnt z0.h, p0/m, z1.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - bfdot z0.s, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - bfdot z0.s, z1.h, z2.h[0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - bfdot z0.s, z1.h, z2.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalb z0.s, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalb z0.s, z1.h, z2.h[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalb z0.s, z1.h, z2.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalb z10.s, z21.h, z14.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalb z21.s, z14.h, z3.h[2]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalt z0.s, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalt z0.s, z1.h, z2.h[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalt z0.s, z1.h, z2.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalt z14.s, z10.h, z21.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - bfmmla z0.s, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - - - - - 11.00 bgrp z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - - 66.00 bgrp z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - 19.00 bgrp z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - - 35.00 bgrp z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - bic p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - bic p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic z23.d, z13.d, z8.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - bics p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - bics p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - brka p0.b, p15/m, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - brka p0.b, p15/z, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkas p0.b, p15/z, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkb p0.b, p15/m, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkb p0.b, p15/z, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkbs p0.b, p15/z, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkn p0.b, p15/z, p1.b, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkn p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkns p0.b, p15/z, p1.b, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkns p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkpa p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkpa p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkpas p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkpas p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkpb p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkpb p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkpbs p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkpbs p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bsl z0.d, z0.d, z1.d, z2.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bsl1n z0.d, z0.d, z1.d, z2.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bsl2n z0.d, z0.d, z1.d, z2.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cadd z0.b, z0.b, z0.b, #90
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cadd z0.d, z0.d, z0.d, #90
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cadd z0.h, z0.h, z0.h, #90
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cadd z0.s, z0.s, z0.s, #90
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cadd z31.b, z31.b, z31.b, #270
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cadd z31.d, z31.d, z31.d, #270
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cadd z31.h, z31.h, z31.h, #270
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cadd z31.s, z31.s, z31.s, #270
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cdot z0.d, z1.h, z15.h[1], #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cdot z0.d, z1.h, z31.h, #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cdot z0.d, z1.h, z31.h, #180
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cdot z0.d, z1.h, z31.h, #270
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cdot z0.d, z1.h, z31.h, #90
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cdot z0.s, z1.b, z31.b, #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cdot z0.s, z1.b, z7.b[3], #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cdot z29.d, z30.h, z0.h[0], #180
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cdot z31.d, z30.h, z7.h[1], #270
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cdot z5.d, z6.h, z3.h[0], #90
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta b0, p7, b0, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta d0, p7, d0, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta h0, p7, h0, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta s0, p7, s0, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta w0, p7, w0, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta w0, p7, w0, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta w0, p7, w0, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta x0, p7, x0, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta z0.b, p7, z0.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta z0.d, p7, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta z0.h, p7, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta z0.s, p7, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb b0, p7, b0, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb d0, p7, d0, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb h0, p7, h0, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb s0, p7, s0, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb w0, p7, w0, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb w0, p7, w0, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb w0, p7, w0, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb x0, p7, x0, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb z0.b, p7, z0.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb z0.d, p7, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb z0.h, p7, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb z0.s, p7, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cls z31.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cls z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cls z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cls z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clz z31.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clz z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clz z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clz z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z0.b, z1.b, z2.b, #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z0.d, z1.d, z2.d, #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z0.h, z1.h, z2.h, #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z0.h, z1.h, z2.h[0], #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z0.s, z1.s, z2.s, #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z0.s, z1.s, z2.s[0], #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z15.b, z16.b, z17.b, #270
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z15.d, z16.d, z17.d, #270
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z15.h, z16.h, z17.h, #270
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z15.s, z16.s, z17.s, #270
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z29.b, z30.b, z31.b, #90
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z29.d, z30.d, z31.d, #90
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z29.h, z30.h, z31.h, #90
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z29.s, z30.s, z31.s, #90
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z31.b, z31.b, z31.b, #180
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z31.d, z31.d, z31.d, #180
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z31.h, z30.h, z7.h[0], #180
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z31.h, z31.h, z31.h, #180
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z31.s, z30.s, z7.s[0], #180
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z31.s, z31.s, z31.s, #180
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnot z31.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnot z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnot z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnot z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnt z31.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnt z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnt z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnt z31.s, p7/m, z31.s
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntb x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntb x0, #28
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntb x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntb x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntd x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntd x0, #28
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntd x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntd x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cnth x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cnth x0, #28
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cnth x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cnth x0, pow2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - cntp x0, p15, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - cntp x0, p15, p0.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - cntp x0, p15, p0.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - cntp x0, p15, p0.s
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntw x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntw x0, #28
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntw x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntw x0, pow2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - compact z31.d, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - compact z31.s, p7, z31.s
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ctermeq w30, wzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ctermeq wzr, w30
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ctermeq x30, xzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ctermeq xzr, x30
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ctermne w30, wzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ctermne wzr, w30
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ctermne x30, xzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ctermne xzr, x30
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decb x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decb x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decb x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decb x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decb x0, vl1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decd x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decd x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decd x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decd x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decd x0, vl1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - dech x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - dech x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - dech x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - dech x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - dech x0, vl1
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - decp x0, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - decp x0, p0.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - decp x0, p0.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - decp x0, p0.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - decp xzr, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - decp xzr, p15.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - decp xzr, p15.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - decp xzr, p15.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - decp z31.d, p15.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - decp z31.h, p15.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - decp z31.s, p15.s
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decw x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decw x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decw x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decw x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decw x0, vl1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dupm z0.d, #0xfffffffffffffff9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dupm z0.s, #0xfffffff9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dupm z23.h, #0xfff9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dupm z5.b, #0xf9
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - eor p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor z0.d, z0.d, #0x6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor z0.d, z0.d, #0xfffffffffffffff9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor z0.s, z0.s, #0x6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor z0.s, z0.s, #0xfffffff9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor z23.d, z13.d, z8.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor z23.h, z23.h, #0x6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor z23.h, z23.h, #0xfff9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor z5.b, z5.b, #0x6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor z5.b, z5.b, #0xf9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor3 z29.d, z29.d, z30.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eorbt z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eorbt z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eorbt z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eorbt z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - eors p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eortb z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eortb z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eortb z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eortb z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - eorv b0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - eorv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - eorv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - eorv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ext z0.b, { z1.b, z2.b }, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ext z31.b, z31.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ext z31.b, z31.b, z0.b, #255
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ext z31.b, { z30.b, z31.b }, #255
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabd z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabd z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabd z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facge p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facge p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facge p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facgt p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facgt p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facgt p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fadda d0, p7, d0, z31.d
+# CHECK-NEXT: - - - - - - - - 14.50 14.50 - - - fadda h0, p7, h0, z31.h
+# CHECK-NEXT: - - - - - - - - 6.50 6.50 - - - fadda s0, p7, s0, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z29.s, p3/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - faddv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 11.00 - - - - faddv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 5.00 - - - - faddv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcadd z0.d, p0/m, z0.d, z0.d, #90
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcadd z0.h, p0/m, z0.h, z0.h, #90
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcadd z0.s, p0/m, z0.s, z0.s, #90
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcadd z31.d, p7/m, z31.d, z31.d, #270
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcadd z31.h, p7/m, z31.h, z31.h, #270
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcadd z31.s, p7/m, z31.s, z31.s, #270
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmeq p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmeq p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmeq p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmeq p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmeq p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmeq p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z0.d, p0/m, z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z0.d, p0/m, z1.d, z2.d, #90
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z0.h, p0/m, z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z0.h, p0/m, z1.h, z2.h, #90
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z0.h, z0.h, z0.h[0], #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z0.s, p0/m, z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z0.s, p0/m, z1.s, z2.s, #90
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z21.s, z10.s, z5.s[1], #90
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z23.s, z13.s, z8.s[0], #270
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z29.d, p7/m, z30.d, z31.d, #180
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z29.h, p7/m, z30.h, z31.h, #180
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z29.s, p7/m, z30.s, z31.s, #180
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z31.d, p7/m, z31.d, z31.d, #270
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z31.h, p7/m, z31.h, z31.h, #270
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z31.h, z31.h, z7.h[3], #270
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z31.s, p7/m, z31.s, z31.s, #270
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmle p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmle p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmle p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmlt p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmlt p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmlt p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmne p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmne p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmne p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmne p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmne p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmne p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmuo p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmuo p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmuo p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt z0.d, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt z0.d, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt z0.h, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt z0.h, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt z0.s, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt z0.s, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtlt z0.s, p0/m, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtlt z30.d, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnt z0.h, p0/m, z1.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnt z30.s, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtx z0.s, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtx z30.s, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtxnt z0.s, p0/m, z1.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtxnt z30.s, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs z0.d, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs z0.d, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs z0.h, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs z0.s, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs z0.s, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu z0.d, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu z0.d, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu z0.h, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu z0.s, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu z0.s, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - - - - 19.00 fdiv z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - 5.00 fdiv z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - - 10.00 fdiv z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - - 19.00 fdivr z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - 5.00 fdivr z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - - - 10.00 fdivr z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fexpa z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fexpa z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fexpa z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - flogb z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - flogb z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - flogb z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmad z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmad z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmad z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnmp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnmp z29.s, p3/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnmp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmaxnmv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmaxnmv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmaxnmv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxp z29.s, p3/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmaxv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmaxv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmaxv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnmp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnmp z29.s, p3/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnmp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fminnmv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fminnmv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fminnmv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminp z29.s, p3/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fminv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fminv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fminv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla z0.d, z1.d, z7.d[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlalb z0.s, z1.h, z7.h[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlalb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlalb z30.s, z31.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlalt z0.s, z1.h, z7.h[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlalt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlalt z30.s, z31.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmls z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmls z0.d, z1.d, z7.d[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmls z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmls z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmls z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmls z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlslb z0.s, z1.h, z7.h[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlslb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlslb z30.s, z31.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlslt z0.s, z1.h, z7.h[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlslt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlslt z30.s, z31.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmov z0.d, #-10.00000000
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmov z0.d, #0.12500000
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmov z0.d, p0/m, #-10.00000000
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmov z0.d, p0/m, #0.12500000
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmov z0.h, #-0.12500000
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmov z0.h, p0/m, #-0.12500000
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmov z0.s, #-0.12500000
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmov z0.s, p0/m, #-0.12500000
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmsb z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmsb z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmsb z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul z0.d, z0.d, z0.d[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul z0.h, z0.h, z0.h[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul z0.s, z0.s, z0.s[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul z31.d, p7/m, z31.d, #2.0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul z31.d, z31.d, z15.d[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul z31.h, p7/m, z31.h, #2.0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul z31.h, z31.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul z31.s, p7/m, z31.s, #2.0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul z31.s, z31.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmulx z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmulx z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmulx z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmad z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmad z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmad z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmla z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmla z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmla z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmls z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmls z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmls z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmsb z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmsb z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmsb z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecpe z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecpe z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecpe z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecps z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecps z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecps z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecpx z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecpx z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecpx z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinta z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinta z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinta z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinti z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinti z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinti z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintm z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintm z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintm z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintn z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintn z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintn z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintp z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintp z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintp z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintx z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintx z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintx z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintz z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintz z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintz z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrte z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrte z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrte z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrts z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrts z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrts z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fscale z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fscale z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fscale z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - - 19.00 fsqrt z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - 5.00 fsqrt z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - - - - - 9.00 fsqrt z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsubr z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsubr z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsubr z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsubr z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsubr z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsubr z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsubr z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsubr z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsubr z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - ftmad z0.d, z0.d, z31.d, #7
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - ftmad z0.h, z0.h, z31.h, #7
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - ftmad z0.s, z0.s, z31.s, #7
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - ftsmul z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - ftsmul z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - ftsmul z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ftssel z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ftssel z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ftssel z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - histcnt z0.s, p0/z, z1.s, z2.s
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - histcnt z29.d, p7/z, z30.d, z31.d
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - histseg z0.b, z1.b, z31.b
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incb x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incb x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incb x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incb x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incb x0, vl1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incd x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incd x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incd x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incd x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incd x0, vl1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - incd z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - incd z0.d, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - inch x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - inch x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - inch x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - inch x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - inch x0, vl1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - inch z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - inch z0.h, all, mul #16
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - incp x0, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - incp x0, p0.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - incp x0, p0.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - incp x0, p0.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - incp xzr, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - incp xzr, p15.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - incp xzr, p15.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - incp xzr, p15.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - incp z31.d, p15.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - incp z31.h, p15.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - incp z31.s, p15.s
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incw x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incw x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incw x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incw x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incw x0, vl1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - incw z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - incw z0.s, all, mul #16
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z0.b, #0, #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z0.d, #0, #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z0.h, #0, #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z0.h, w0, w0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z0.s, #0, #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z21.b, w10, w21
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z21.d, x10, x21
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z21.s, w10, w21
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z23.b, #13, w8
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z23.b, w13, #8
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z23.d, #13, x8
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z23.d, x13, #8
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z23.h, #13, w8
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z23.h, w13, #8
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z23.s, #13, w8
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z23.s, w13, #8
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.b, #-1, #-1
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.b, #-1, wzr
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.b, wzr, #-1
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.b, wzr, wzr
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.d, #-1, #-1
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.d, #-1, xzr
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.d, xzr, #-1
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.d, xzr, xzr
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.h, #-1, #-1
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.h, #-1, wzr
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.h, wzr, #-1
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.h, wzr, wzr
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.s, #-1, #-1
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.s, #-1, wzr
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.s, wzr, #-1
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.s, wzr, wzr
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - insr z0.b, w0
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - insr z0.d, x0
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - insr z0.h, w0
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - insr z0.s, w0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z31.b, b31
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - insr z31.b, wzr
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z31.d, d31
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - insr z31.d, xzr
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z31.h, h31
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - insr z31.h, wzr
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z31.s, s31
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - insr z31.s, wzr
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lasta b0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lasta d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lasta h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lasta s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - lasta w0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - lasta w0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - lasta w0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - lasta x0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lastb b0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lastb d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lastb h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lastb s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - lastb w0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - lastb w0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - lastb w0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - lastb x0, p7, z31.d
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z0.b }, p0/z, [sp, x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1b { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1b { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z21.b }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1b { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1b { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z21.s }, p5/z, [x10, x21]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z23.d }, p3/z, [x13, x8]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z31.b }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1b { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1b { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1b { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z5.h }, p3/z, [x17, x16]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1d { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1d { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1d { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1d { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1d { z23.d }, p3/z, [sp, x8, lsl #3]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1d { z23.d }, p3/z, [x13, x8, lsl #3]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1d { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1d { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1d { z31.d }, p7/z, [z31.d, #248]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1h { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z21.s }, p5/z, [x10, x21, lsl #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z23.d }, p3/z, [x13, x8, lsl #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1h { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z5.h }, p3/z, [sp, x16, lsl #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z5.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rb { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rb { z31.b }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rb { z31.d }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rb { z31.h }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rb { z31.s }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rd { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rd { z31.d }, p7/z, [sp, #504]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rh { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rh { z31.d }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rh { z31.h }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rh { z31.s }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1rqb { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqb { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqb { z21.b }, p5/z, [x10, #112]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqb { z23.b }, p3/z, [x13, #-128]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqb { z31.b }, p7/z, [sp, #-16]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqd { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqd { z23.d }, p3/z, [x13, #-128]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqd { z23.d }, p3/z, [x13, #112]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqd { z31.d }, p7/z, [sp, #-16]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqh { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqh { z23.h }, p3/z, [x13, #-128]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqh { z23.h }, p3/z, [x13, #112]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqh { z31.h }, p7/z, [sp, #-16]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqw { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqw { z23.s }, p3/z, [x13, #-128]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqw { z23.s }, p3/z, [x13, #112]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqw { z31.s }, p7/z, [sp, #-16]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsb { z31.d }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsb { z31.h }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsb { z31.s }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsh { z31.d }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsh { z31.s }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsw { z31.d }, p7/z, [sp, #252]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rw { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rw { z31.d }, p7/z, [sp, #252]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rw { z31.s }, p7/z, [sp, #252]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sb { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z0.h }, p0/z, [sp, x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1sb { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z21.s }, p5/z, [x10, x21]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z23.d }, p3/z, [x13, x8]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sb { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sb { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1sb { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1sh { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z21.s }, p5/z, [sp, x21, lsl #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z21.s }, p5/z, [x10, x21, lsl #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z23.d }, p3/z, [x13, x8, lsl #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1sh { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sw { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sw { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sw { z23.d }, p3/z, [sp, x8, lsl #2]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sw { z23.d }, p3/z, [x13, x8, lsl #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sw { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sw { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sw { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1w { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z21.s }, p5/z, [sp, x21, lsl #2]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z21.s }, p5/z, [x10, x21, lsl #2]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z23.d }, p3/z, [x13, x8, lsl #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1w { z31.s }, p7/z, [z31.s, #124]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2b { z0.b, z1.b }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2b { z0.b, z1.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2b { z21.b, z22.b }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2b { z23.b, z24.b }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2b { z5.b, z6.b }, p3/z, [x17, x16]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2d { z0.d, z1.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2d { z0.d, z1.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2d { z21.d, z22.d }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2d { z23.d, z24.d }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2d { z5.d, z6.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2h { z0.h, z1.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2h { z0.h, z1.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2h { z21.h, z22.h }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2h { z23.h, z24.h }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2h { z5.h, z6.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2w { z0.s, z1.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2w { z0.s, z1.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2w { z21.s, z22.s }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2w { z23.s, z24.s }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2w { z5.s, z6.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3b { z0.b - z2.b }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3b { z0.b - z2.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3b { z21.b - z23.b }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3b { z23.b - z25.b }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3b { z5.b - z7.b }, p3/z, [x17, x16]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3d { z0.d - z2.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3d { z0.d - z2.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3d { z21.d - z23.d }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3d { z23.d - z25.d }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3d { z5.d - z7.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3h { z0.h - z2.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3h { z0.h - z2.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3h { z21.h - z23.h }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3h { z23.h - z25.h }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3h { z5.h - z7.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3w { z0.s - z2.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3w { z0.s - z2.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3w { z21.s - z23.s }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3w { z23.s - z25.s }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3w { z5.s - z7.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4b { z0.b - z3.b }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4b { z0.b - z3.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4b { z21.b - z24.b }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4b { z23.b - z26.b }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4b { z5.b - z8.b }, p3/z, [x17, x16]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4d { z0.d - z3.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4d { z0.d - z3.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4d { z21.d - z24.d }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4d { z23.d - z26.d }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4d { z5.d - z8.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4h { z0.h - z3.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4h { z0.h - z3.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4h { z21.h - z24.h }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4h { z23.h - z26.h }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4h { z5.h - z8.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4w { z0.s - z3.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4w { z0.s - z3.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4w { z21.s - z24.s }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4w { z23.s - z26.s }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z0.d }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1b { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z0.s }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1b { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1b { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1b { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z31.b }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1b { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1b { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z31.h }, p7/z, [sp]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1b { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1d { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1d { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1d { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1d { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1d { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1d { z31.d }, p7/z, [z31.d, #248]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1h { z0.d }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1h { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1h { z0.s }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1h { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1h { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1h { z31.h }, p7/z, [sp]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1h { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1h { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sb { z0.d }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sb { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sb { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1sb { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sb { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sb { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sb { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sb { z31.h }, p7/z, [sp]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sb { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1sb { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1sh { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sh { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sh { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1sh { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sw { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sw { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sw { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sw { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1w { z0.d }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1w { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1w { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1w { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1w { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1w { z31.s }, p7/z, [z31.s, #124]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z21.b }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z31.b }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1d { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1d { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1h { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1h { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1h { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1h { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1h { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1h { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1h { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1h { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sb { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sb { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sb { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sb { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sb { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sb { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sh { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sh { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sh { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sh { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sw { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sw { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1w { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1w { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1w { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1w { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1w { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1b { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1b { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1b { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1b { z21.b }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1b { z23.b }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1b { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1b { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1b { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1b { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1d { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1d { z21.d }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1d { z23.d }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1d { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1d { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1h { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1h { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1h { z21.h }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1h { z23.h }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1h { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1h { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1h { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1h { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sb { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1sb { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sb { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sb { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1sb { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1sb { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sh { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1sh { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sh { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sh { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1sh { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1sh { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sw { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sw { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sw { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1w { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1w { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1w { z21.s }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1w { z23.s }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1w { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1w { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1w { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1w { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldr p0, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldr p5, [x10, #255, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldr p7, [x13, #-256, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr z0, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr z23, [x13, #255, mul vl]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr z31, [sp, #-256, mul vl]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.b, p0/m, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.b, p0/m, z0.b, z1.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.b, z1.b, z2.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.d, p0/m, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.h, p0/m, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.h, p0/m, z0.h, z1.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.h, z1.h, z2.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.s, p0/m, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.s, p0/m, z0.s, z1.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.s, z1.s, z2.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z31.b, p0/m, z31.b, #7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z31.b, z31.b, #7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z31.d, p0/m, z31.d, #63
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z31.d, z31.d, #63
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z31.h, p0/m, z31.h, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z31.h, z31.h, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z31.s, p0/m, z31.s, #31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z31.s, z31.s, #31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lslr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lslr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lslr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lslr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z0.b, p0/m, z0.b, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z0.b, p0/m, z0.b, z1.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z0.b, z1.b, z2.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z0.d, p0/m, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z0.h, p0/m, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z0.h, p0/m, z0.h, z1.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z0.h, z1.h, z2.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z0.s, p0/m, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z0.s, p0/m, z0.s, z1.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z0.s, z1.s, z2.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z31.b, p0/m, z31.b, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z31.d, p0/m, z31.d, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z31.h, p0/m, z31.h, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z31.s, p0/m, z31.s, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsr z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsrr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsrr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsrr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsrr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mad z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mad z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mad z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mad z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - match p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - match p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - match p15.b, p7/z, z30.b, z31.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - match p15.h, p7/z, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla z0.d, z1.d, z7.d[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mls z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mls z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mls z0.d, z1.d, z7.d[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mls z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mls z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mls z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mls z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov p0.b, p0/m, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov p0.b, p0/z, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov p15.b, p15/m, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov p15.b, p15/z, p15.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.b, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.b, b0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.b, p0/m, b0
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov z0.b, p0/m, w0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.b, p0/z, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.b, w0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.d, #0xe0000000000003ff
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.d, #0xffffffffffff7fff
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.d, #32768
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.d, d0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.d, p0/m, d0
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov z0.d, p0/m, x0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.d, x0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.h, #-256
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.h, #-32768
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.h, #32512
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.h, #32767
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.h, h0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.h, p0/m, h0
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov z0.h, p0/m, w0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.h, p0/z, #32512
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.h, w0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.q, q0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.s, #0xffff7fff
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.s, #32768
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.s, p0/m, s0
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov z0.s, p0/m, w0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.s, s0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.s, w0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.d, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.d, #-32768
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.d, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.d, #32512
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.d, p0/z, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.d, p0/z, #-32768
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.d, p0/z, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.d, p0/z, #32512
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.d, p15/m, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.d, p15/m, #-32768
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.h, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.h, #-32768
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.h, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.h, #32512
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.h, p0/z, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.h, p0/z, #-32768
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.h, p0/z, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.h, p0/z, #32512
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.h, p15/m, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.h, p15/m, #-32768
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.s, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.s, #-32768
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.s, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.s, #32512
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.s, p0/z, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.s, p0/z, #-32768
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.s, p0/z, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.s, p0/z, #32512
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.s, p15/m, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.s, p15/m, #-32768
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.b, p15/m, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.b, p7/m, b31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movprfx z31, z6
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov z31.b, p7/m, wsp
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.b, wsp
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.b, z31.b[63]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.d, p15/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.d, p7/m, d31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movprfx z31.d, p7/z, z6.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov z31.d, p7/m, sp
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.d, sp
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.d, z31.d[7]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.h, p15/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.h, p7/m, h31
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov z31.h, p7/m, wsp
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.h, wsp
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.h, z31.h[31]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.s, p15/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.s, p7/m, s31
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov z31.s, p7/m, wsp
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.s, wsp
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.s, z31.s[15]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z5.b, #-1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z5.b, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z5.b, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z5.b, p0/z, #-1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z5.b, p0/z, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z5.b, p0/z, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z5.b, p15/m, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z5.d, #-6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z5.h, #-6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z5.q, z17.q[3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z5.s, #-6
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - movs p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - movs p0.b, p0/z, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - movs p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - movs p15.b, p15/z, p15.b
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - mrs x3, ID_AA64ZFR0_EL1
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - mrs x3, ZCR_EL1
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - mrs x3, ZCR_EL12
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - mrs x3, ZCR_EL2
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - mrs x3, ZCR_EL3
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - msb z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - msb z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - msb z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - msb z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - msr ZCR_EL1, x3
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - msr ZCR_EL12, x3
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - msr ZCR_EL2, x3
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - msr ZCR_EL3, x3
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z0.b, p7/m, z0.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z0.b, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z0.d, z1.d, z15.d[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z0.h, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z29.s, z30.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z31.b, z31.b, #-128
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z31.b, z31.b, #127
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z31.d, z31.d, #-128
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z31.d, z31.d, #127
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z31.h, z31.h, #-128
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z31.h, z31.h, #127
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z31.s, z31.s, #-128
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z31.s, z31.s, #127
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - nand p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - nand p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - nands p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - nands p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - nbsl z0.d, z0.d, z1.d, z2.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z0.b, p0/m, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z0.h, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z31.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - nmatch p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - nmatch p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - nmatch p15.b, p7/z, z30.b, z31.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - nmatch p15.h, p7/z, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - nor p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - nor p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - nors p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - nors p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - not p0.b, p0/z, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - not p15.b, p15/z, p15.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - not z31.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - not z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - not z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - not z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - nots p0.b, p0/z, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - nots p15.b, p15/z, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - orn p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - orn p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - orns p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - orns p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - orr p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z0.d, z0.d, #0x6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z0.d, z0.d, #0xfffffffffffffff9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z0.s, z0.s, #0x6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z0.s, z0.s, #0xfffffff9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z23.d, z13.d, z8.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z23.h, z23.h, #0x6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z23.h, z23.h, #0xfff9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z5.b, z5.b, #0x6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z5.b, z5.b, #0xf9
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - orrs p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - orv b0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - orv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - orv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - orv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - pfalse p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - pfirst p0.b, p15, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - pfirst p15.b, p15, p15.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmul z0.b, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmul z29.b, z30.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 pmullb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 pmullb z29.q, z30.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 pmullb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 pmullt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 pmullt z29.q, z30.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 pmullt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - pnext p0.b, p15, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - pnext p0.d, p15, p0.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - pnext p0.h, p15, p0.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - pnext p0.s, p15, p0.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - pnext p15.b, p15, p15.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb #14, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb #15, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb #6, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb #7, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb #7, p3, [z13.s, #31]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb #7, p3, [z13.s]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pldl1keep, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pldl1keep, p0, [x0, z0.d]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pldl1keep, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pldl1keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pldl1strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pldl2keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pldl2strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pldl3keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pldl3strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pldl3strm, p5, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pldl3strm, p5, [x10, z21.s, uxtw]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pldl3strm, p5, [z10.d, #31]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pldl3strm, p5, [z10.d]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pstl1keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pstl1strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pstl2keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pstl2strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pstl3keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb pstl3strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd #14, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd #15, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd #15, p7, [z31.d, #248]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd #15, p7, [z31.d]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd #15, p7, [z31.s, #248]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd #15, p7, [z31.s]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd #6, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd #7, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pldl1keep, p0, [x0, z0.d, lsl #3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pldl1keep, p0, [x0, z0.d, sxtw #3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pldl1keep, p0, [x0, z0.d, uxtw #3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pldl1keep, p0, [x0, z0.s, sxtw #3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pldl1keep, p0, [x0, z0.s, uxtw #3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pldl1keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pldl1strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pldl2keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pldl2strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pldl3keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pldl3strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pstl1keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pstl1strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pstl2keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pstl2strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pstl3keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfd pstl3strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh #14, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh #15, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh #15, p7, [z31.d, #62]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh #15, p7, [z31.d]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh #15, p7, [z31.s, #62]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh #15, p7, [z31.s]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh #6, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh #7, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pldl1keep, p0, [x0, z0.d, lsl #1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pldl1keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pldl1strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pldl2keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pldl2strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pldl3keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pldl3strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pldl3strm, p5, [x10, z21.d, sxtw #1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pldl3strm, p5, [x10, z21.d, uxtw #1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pldl3strm, p5, [x10, z21.s, sxtw #1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pldl3strm, p5, [x10, z21.s, uxtw #1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pstl1keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pstl1strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pstl2keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pstl2strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pstl3keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfh pstl3strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw #14, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw #15, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw #15, p7, [z31.d, #124]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw #15, p7, [z31.d]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw #15, p7, [z31.s, #124]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw #15, p7, [z31.s]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw #6, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw #7, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw #7, p3, [x13, z8.d, uxtw #2]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pldl1keep, p0, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pldl1keep, p0, [x0, z0.s, uxtw #2]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pldl1keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pldl1strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pldl2keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pldl2strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pldl3keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pldl3strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pldl3strm, p5, [x10, z21.d, lsl #2]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pldl3strm, p5, [x10, z21.s, sxtw #2]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pstl1keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pstl1strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pstl2keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pstl2strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pstl3keep, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pstl3strm, p0, [x0]
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptest p15, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptest p15, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p0.b, pow2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p0.d, pow2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p0.h, pow2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p0.s, pow2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p15.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p15.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p15.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #14
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #15
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #16
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #17
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #18
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #19
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #20
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #21
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #22
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #23
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #24
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #25
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #26
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #27
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #28
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, mul3
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, mul4
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl1
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl128
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl16
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl256
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl3
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl32
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl4
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl5
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl6
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl64
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl7
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl8
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p0.b, pow2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p0.d, pow2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p0.h, pow2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p0.s, pow2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p15.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p15.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p15.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #14
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #15
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #16
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #17
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #18
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #19
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #20
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #21
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #22
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #23
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #24
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #25
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #26
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #27
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #28
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, mul3
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, mul4
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl1
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl128
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl16
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl2
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl256
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl3
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl32
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl4
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl5
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl6
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl64
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl7
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl8
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - punpkhi p0.h, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - punpkhi p15.h, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - punpklo p0.h, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - punpklo p15.h, p15.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 rax1 z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit z0.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit z0.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit z0.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit z0.s, p7/m, z31.s
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rdffr p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - rdffr p0.b, p0/z
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rdffr p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - rdffr p15.b, p15/z
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - rdffrs p0.b, p0/z
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - rdffrs p15.b, p15/z
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rdvl x0, #0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rdvl x21, #-32
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rdvl x23, #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rdvl xzr, #-1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev z0.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - revb z0.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - revb z0.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - revb z0.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - revh z0.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - revh z0.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - revw z0.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrnb z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrnb z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrnb z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrnb z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrnb z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrnb z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrnt z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrnt z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrnt z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrnt z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrnt z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrnt z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - saba z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - saba z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - saba z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - saba z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sabalb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sabalb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sabalb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sabalt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sabalt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sabalt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdlb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdlb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdlb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdlt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdlt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdlt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sadalp z0.h, p0/m, z1.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sadalp z29.s, p0/m, z30.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sadalp z30.d, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlbt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlbt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlbt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - saddv d0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - saddv d0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - saddv d0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddwb z0.h, z1.h, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddwb z29.s, z30.s, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddwb z31.d, z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddwt z0.h, z1.h, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddwt z29.s, z30.s, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddwt z31.d, z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sbclb z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sbclb z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sbclt z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sbclt z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf z0.d, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf z0.h, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf z0.h, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf z0.h, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf z0.s, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - - - - 23.00 sdiv z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - 12.00 sdiv z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - - 23.00 sdivr z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - 12.00 sdivr z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sdot z0.d, z1.h, z15.h[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sdot z0.d, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sdot z0.s, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sdot z0.s, z1.b, z7.b[3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sel z23.b, p11, z13.b, z8.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sel z23.d, p11, z13.d, z8.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sel z23.h, p11, z13.h, z8.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sel z23.s, p11, z13.s, z8.s
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - setffr
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrnb z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrnb z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrnb z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrnb z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrnb z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrnb z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrnt z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrnt z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrnt z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrnt z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrnt z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrnt z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shsub z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shsub z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shsub z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shsub z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shsubr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shsubr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shsubr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shsubr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli z31.b, z31.b, #7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli z31.d, z31.d, #63
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli z31.h, z31.h, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli z31.s, z31.s, #31
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 sm4e z0.s, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 sm4ekey z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax z0.b, z0.b, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax z0.d, z0.d, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax z0.h, z0.h, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax z0.s, z0.s, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax z31.b, z31.b, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax z31.d, z31.d, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax z31.h, z31.h, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax z31.s, z31.s, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smaxp z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smaxp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smaxp z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smaxp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - smaxv b0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - smaxv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - smaxv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - smaxv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin z0.b, z0.b, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin z0.d, z0.d, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin z0.h, z0.h, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin z0.s, z0.s, #-128
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin z31.b, z31.b, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin z31.d, z31.d, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin z31.h, z31.h, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin z31.s, z31.s, #127
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sminp z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sminp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sminp z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sminp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sminv b0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sminv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sminv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sminv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlalb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlalb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlalb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlalb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlalb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlalt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlalt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlalt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlalt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlalt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlslb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlslb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlslb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlslb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlslb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlslt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlslt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlslt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlslt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlslt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smmla z0.s, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smulh z0.b, p7/m, z0.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smulh z0.b, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smulh z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smulh z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smulh z0.h, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smulh z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smulh z29.s, z30.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smulh z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smullb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smullb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smullb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smullb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smullb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smullt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smullt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smullt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smullt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smullt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - splice z29.b, p7, { z30.b, z31.b }
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - splice z29.d, p7, { z30.d, z31.d }
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - splice z29.h, p7, { z30.h, z31.h }
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - splice z29.s, p7, { z30.s, z31.s }
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - splice z31.b, p7, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - splice z31.d, p7, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - splice z31.h, p7, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - splice z31.s, p7, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs z31.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z0.b, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z0.h, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z0.s, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z31.b, z31.b, #255
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z31.d, z31.d, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z31.h, z31.h, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd z31.s, z31.s, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqcadd z0.b, z0.b, z0.b, #90
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqcadd z0.d, z0.d, z0.d, #90
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqcadd z0.h, z0.h, z0.h, #90
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqcadd z0.s, z0.s, z0.s, #90
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqcadd z31.b, z31.b, z31.b, #270
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqcadd z31.d, z31.d, z31.d, #270
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqcadd z31.h, z31.h, z31.h, #270
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqcadd z31.s, z31.s, z31.s, #270
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecb x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecb x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecb x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecb x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecb x0, vl1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecb x0, w0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecb x0, w0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecb x0, w0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecb x0, w0, pow2, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecd x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecd x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecd x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecd x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecd x0, vl1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecd x0, w0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecd x0, w0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecd x0, w0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecd x0, w0, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecd z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecd z0.d, all, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecd z0.d, pow2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecd z0.d, pow2, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdech x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdech x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdech x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdech x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdech x0, vl1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdech x0, w0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdech x0, w0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdech x0, w0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdech x0, w0, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdech z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdech z0.h, all, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdech z0.h, pow2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdech z0.h, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqdecp x0, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqdecp x0, p0.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqdecp x0, p0.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqdecp x0, p0.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqdecp xzr, p15.b, wzr
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqdecp xzr, p15.d, wzr
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqdecp xzr, p15.h, wzr
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqdecp xzr, p15.s, wzr
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecp z0.d, p0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecp z0.h, p0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecp z0.s, p0.s
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0, vl1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0, w0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0, w0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0, w0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0, w0, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecw z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecw z0.s, all, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecw z0.s, pow2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecw z0.s, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlalb z0.d, z1.s, z15.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlalb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlalb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlalb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlalb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlalbt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlalbt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlalbt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlalt z0.d, z1.s, z15.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlalt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlalt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlalt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlalt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlslb z0.d, z1.s, z15.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlslb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlslb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlslb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlslb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlslbt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlslbt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlslbt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlslt z0.d, z1.s, z15.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlslt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlslt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlslt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlslt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmulh z0.b, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmulh z0.d, z1.d, z15.d[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmulh z0.h, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmulh z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmulh z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmulh z29.s, z30.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmulh z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmullb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmullb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmullb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmullb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmullb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmullt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmullt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmullt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmullt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmullt z31.d, z31.s, z31.s
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincb x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincb x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincb x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincb x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincb x0, vl1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincb x0, w0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincb x0, w0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincb x0, w0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincb x0, w0, pow2, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincd x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincd x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincd x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincd x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincd x0, vl1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincd x0, w0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincd x0, w0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincd x0, w0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincd x0, w0, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincd z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincd z0.d, all, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincd z0.d, pow2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincd z0.d, pow2, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqinch x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqinch x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqinch x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqinch x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqinch x0, vl1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqinch x0, w0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqinch x0, w0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqinch x0, w0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqinch x0, w0, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqinch z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqinch z0.h, all, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqinch z0.h, pow2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqinch z0.h, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqincp x0, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqincp x0, p0.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqincp x0, p0.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqincp x0, p0.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqincp xzr, p15.b, wzr
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqincp xzr, p15.d, wzr
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqincp xzr, p15.h, wzr
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqincp xzr, p15.s, wzr
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincp z0.d, p0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincp z0.h, p0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincp z0.s, p0.s
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0, vl1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0, w0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0, w0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0, w0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0, w0, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincw z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincw z0.s, all, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincw z0.s, pow2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincw z0.s, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg z31.b, p7/m, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z0.b, z1.b, z2.b, #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z0.d, z1.d, z2.d, #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z0.h, z1.h, z2.h, #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z0.h, z1.h, z2.h[0], #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z0.s, z1.s, z2.s, #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z0.s, z1.s, z2.s[0], #0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z15.b, z16.b, z17.b, #270
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z15.d, z16.d, z17.d, #270
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z15.h, z16.h, z17.h, #270
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z15.s, z16.s, z17.s, #270
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z29.b, z30.b, z31.b, #90
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z29.d, z30.d, z31.d, #90
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z29.h, z30.h, z31.h, #90
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z29.s, z30.s, z31.s, #90
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z31.b, z31.b, z31.b, #180
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z31.d, z31.d, z31.d, #180
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z31.h, z30.h, z7.h[0], #180
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z31.h, z31.h, z31.h, #180
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z31.s, z30.s, z7.s[0], #180
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdcmlah z31.s, z31.s, z31.s, #180
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.d, z1.d, z15.d[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.d, z1.d, z15.d[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmulh z0.b, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmulh z0.d, z1.d, z15.d[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmulh z0.h, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmulh z0.h, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmulh z0.s, z1.s, z7.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmulh z29.s, z30.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmulh z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshl z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshl z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshl z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshl z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrnb z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrnb z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrnb z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrnb z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrnb z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrnb z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrnt z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrnt z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrnt z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrnt z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrnt z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrnt z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrunb z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrunb z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrunb z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrunb z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrunb z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrunb z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrunt z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrunt z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrunt z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrunt z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrunt z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrunt z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl z0.b, p0/m, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl z0.d, p0/m, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl z0.h, p0/m, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl z0.s, p0/m, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl z31.b, p0/m, z31.b, #7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl z31.d, p0/m, z31.d, #63
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl z31.h, p0/m, z31.h, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl z31.s, p0/m, z31.s, #31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu z0.b, p0/m, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu z0.d, p0/m, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu z0.h, p0/m, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu z0.s, p0/m, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu z31.b, p0/m, z31.b, #7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu z31.d, p0/m, z31.d, #63
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu z31.h, p0/m, z31.h, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshlu z31.s, p0/m, z31.s, #31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrnb z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrnb z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrnb z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrnb z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrnb z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrnb z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrnt z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrnt z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrnt z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrnt z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrnt z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrnt z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrunb z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrunb z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrunb z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrunb z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrunb z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrunb z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrunt z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrunt z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrunt z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrunt z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrunt z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshrunt z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z0.b, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z0.h, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z0.s, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z31.b, z31.b, #255
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z31.d, z31.d, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z31.h, z31.h, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub z31.s, z31.s, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsubr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsubr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsubr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsubr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtnb z0.b, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtnb z0.h, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtnb z0.s, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtnt z0.b, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtnt z0.h, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtnt z0.s, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtunb z0.b, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtunb z0.h, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtunb z0.s, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtunt z0.b, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtunt z0.h, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqxtunt z0.s, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srhadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srhadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srhadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srhadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sri z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sri z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sri z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sri z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sri z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sri z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sri z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sri z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshl z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshl z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshl z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshl z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr z0.b, p0/m, z0.b, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr z0.d, p0/m, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr z0.h, p0/m, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr z0.s, p0/m, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr z31.b, p0/m, z31.b, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr z31.d, p0/m, z31.d, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr z31.h, p0/m, z31.h, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr z31.s, p0/m, z31.s, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srsra z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srsra z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srsra z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srsra z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srsra z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srsra z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srsra z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srsra z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllb z0.d, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllb z0.h, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllb z0.s, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllb z31.d, z31.s, #31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllb z31.h, z31.b, #7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllb z31.s, z31.h, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllt z0.d, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllt z0.h, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllt z0.s, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllt z31.d, z31.s, #31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllt z31.h, z31.b, #7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllt z31.s, z31.h, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssra z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssra z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssra z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssra z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssra z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssra z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssra z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssra z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssublb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssublb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssublb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssublbt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssublbt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssublbt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssublt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssublt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssublt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubltb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubltb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubltb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubwb z0.h, z1.h, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubwb z29.s, z30.s, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubwb z31.d, z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubwt z0.h, z1.h, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubwt z29.s, z30.s, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubwt z31.d, z31.d, z31.s
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1b { z0.b }, p0, [x0, x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1b { z0.b }, p0, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1b { z0.d }, p0, [x0, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1b { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1b { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1b { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1b { z0.d }, p0, [x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1b { z0.d }, p7, [z0.d]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1b { z0.h }, p0, [x0, x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1b { z0.h }, p0, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1b { z0.s }, p0, [x0, x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - st1b { z0.s }, p0, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - st1b { z0.s }, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1b { z0.s }, p0, [x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - st1b { z0.s }, p7, [z0.s]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1b { z21.b }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1b { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1b { z21.h }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1b { z21.s }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1b { z31.b }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1b { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1b { z31.d }, p7, [z31.d, #31]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1b { z31.h }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1b { z31.s }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - st1b { z31.s }, p7, [z31.s, #31]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1d { z0.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1d { z0.d }, p0, [x0, z0.d, lsl #3]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1d { z0.d }, p0, [x0, z0.d, sxtw #3]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1d { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1d { z0.d }, p0, [x0, z0.d, uxtw #3]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1d { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1d { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1d { z0.d }, p0, [x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1d { z0.d }, p7, [z0.d]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1d { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1d { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1d { z31.d }, p7, [z31.d, #248]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1h { z0.d }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1h { z0.d }, p0, [x0, z0.d, lsl #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1h { z0.d }, p0, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1h { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1h { z0.d }, p0, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1h { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1h { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1h { z0.d }, p0, [x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1h { z0.d }, p7, [z0.d]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1h { z0.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1h { z0.h }, p0, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1h { z0.s }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - st1h { z0.s }, p0, [x0, z0.s, sxtw #1]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - st1h { z0.s }, p0, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - st1h { z0.s }, p0, [x0, z0.s, uxtw #1]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - st1h { z0.s }, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1h { z0.s }, p0, [x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - st1h { z0.s }, p7, [z0.s]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1h { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1h { z21.h }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1h { z21.s }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1h { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1h { z31.d }, p7, [z31.d, #62]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1h { z31.h }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1h { z31.s }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - st1h { z31.s }, p7, [z31.s, #62]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1w { z0.d }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1w { z0.d }, p0, [x0, z0.d, lsl #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1w { z0.d }, p0, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1w { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1w { z0.d }, p0, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1w { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1w { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1w { z0.d }, p0, [x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1w { z0.d }, p7, [z0.d]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1w { z0.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - st1w { z0.s }, p0, [x0, z0.s, sxtw #2]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - st1w { z0.s }, p0, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - st1w { z0.s }, p0, [x0, z0.s, uxtw #2]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - st1w { z0.s }, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1w { z0.s }, p0, [x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - st1w { z0.s }, p7, [z0.s]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1w { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1w { z21.s }, p5, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1w { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - st1w { z31.d }, p7, [z31.d, #124]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1w { z31.s }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - st1w { z31.s }, p7, [z31.s, #124]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2b { z0.b, z1.b }, p0, [x0, x0]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2b { z0.b, z1.b }, p0, [x0]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2b { z21.b, z22.b }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2b { z23.b, z24.b }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2b { z5.b, z6.b }, p3, [x17, x16]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2d { z0.d, z1.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2d { z0.d, z1.d }, p0, [x0]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2d { z21.d, z22.d }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2d { z23.d, z24.d }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2d { z5.d, z6.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2h { z0.h, z1.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2h { z0.h, z1.h }, p0, [x0]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2h { z21.h, z22.h }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2h { z23.h, z24.h }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2h { z5.h, z6.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2w { z0.s, z1.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2w { z0.s, z1.s }, p0, [x0]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2w { z21.s, z22.s }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2w { z23.s, z24.s }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2w { z5.s, z6.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3b { z0.b - z2.b }, p0, [x0, x0]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3b { z0.b - z2.b }, p0, [x0]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3b { z21.b - z23.b }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3b { z23.b - z25.b }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3b { z5.b - z7.b }, p3, [x17, x16]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - st3d { z0.d - z2.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - st3d { z0.d - z2.d }, p0, [x0]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - st3d { z21.d - z23.d }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - st3d { z23.d - z25.d }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - st3d { z5.d - z7.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3h { z0.h - z2.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3h { z0.h - z2.h }, p0, [x0]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3h { z21.h - z23.h }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3h { z23.h - z25.h }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3h { z5.h - z7.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3w { z0.s - z2.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3w { z0.s - z2.s }, p0, [x0]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3w { z21.s - z23.s }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3w { z23.s - z25.s }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3w { z5.s - z7.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4b { z0.b - z3.b }, p0, [x0, x0]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4b { z0.b - z3.b }, p0, [x0]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4b { z21.b - z24.b }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4b { z23.b - z26.b }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4b { z5.b - z8.b }, p3, [x17, x16]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st4d { z0.d - z3.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st4d { z0.d - z3.d }, p0, [x0]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st4d { z21.d - z24.d }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st4d { z23.d - z26.d }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st4d { z5.d - z8.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4h { z0.h - z3.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4h { z0.h - z3.h }, p0, [x0]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4h { z21.h - z24.h }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4h { z23.h - z26.h }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4h { z5.h - z8.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4w { z0.s - z3.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4w { z0.s - z3.s }, p0, [x0]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4w { z21.s - z24.s }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4w { z23.s - z26.s }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4w { z5.s - z8.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnt1b { z0.b }, p0, [x0, x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnt1b { z0.b }, p0, [x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - stnt1b { z0.d }, p0, [z1.d]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - stnt1b { z0.s }, p0, [z1.s]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnt1b { z21.b }, p5, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnt1b { z23.b }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - stnt1b { z31.d }, p7, [z31.d, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - stnt1b { z31.d }, p7, [z31.d]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - stnt1b { z31.s }, p7, [z31.s, x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - stnt1b { z31.s }, p7, [z31.s]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnt1d { z0.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnt1d { z0.d }, p0, [x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - stnt1d { z0.d }, p0, [z1.d]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnt1d { z21.d }, p5, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnt1d { z23.d }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - stnt1d { z31.d }, p7, [z31.d, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - stnt1d { z31.d }, p7, [z31.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - stnt1h { z0.d }, p0, [z1.d]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnt1h { z0.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnt1h { z0.h }, p0, [x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - stnt1h { z0.s }, p0, [z1.s]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnt1h { z21.h }, p5, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnt1h { z23.h }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - stnt1h { z31.d }, p7, [z31.d, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - stnt1h { z31.d }, p7, [z31.d]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - stnt1h { z31.s }, p7, [z31.s, x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - stnt1h { z31.s }, p7, [z31.s]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - stnt1w { z0.d }, p0, [z1.d]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnt1w { z0.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnt1w { z0.s }, p0, [x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - stnt1w { z0.s }, p0, [z1.s]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnt1w { z21.s }, p5, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnt1w { z23.s }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - stnt1w { z31.d }, p7, [z31.d, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - stnt1w { z31.d }, p7, [z31.d]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - stnt1w { z31.s }, p7, [z31.s, x0]
+# CHECK-NEXT: - - - - - 9.00 - - - - - - - stnt1w { z31.s }, p7, [z31.s]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str p0, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str p15, [sp, #-256, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str p5, [x10, #255, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str z0, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str z21, [x10, #-256, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str z31, [sp, #255, mul vl]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z0.b, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z0.h, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z0.s, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z21.b, p5/m, z21.b, z10.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z21.b, z10.b, z21.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z21.d, p5/m, z21.d, z10.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z21.d, z10.d, z21.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z21.h, p5/m, z21.h, z10.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z21.h, z10.h, z21.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z21.s, p5/m, z21.s, z10.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z21.s, z10.s, z21.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z23.b, p3/m, z23.b, z13.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z23.b, z13.b, z8.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z23.d, p3/m, z23.d, z13.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z23.d, z13.d, z8.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z23.h, p3/m, z23.h, z13.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z23.h, z13.h, z8.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z23.s, p3/m, z23.s, z13.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z23.s, z13.s, z8.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z31.b, z31.b, #255
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z31.b, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z31.d, z31.d, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z31.h, z31.h, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z31.h, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z31.s, z31.s, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub z31.s, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subr z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subr z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subr z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subr z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subr z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subr z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subr z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subr z31.b, z31.b, #255
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subr z31.d, z31.d, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subr z31.h, z31.h, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subr z31.s, z31.s, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sunpkhi z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sunpkhi z31.h, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sunpkhi z31.s, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sunpklo z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sunpklo z31.h, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sunpklo z31.s, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxtb z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxtb z0.h, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxtb z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxtb z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxtb z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxtb z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxth z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxth z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxth z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxth z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxtw z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxtw z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z28.b, { z29.b, z30.b }, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z28.d, { z29.d, z30.d }, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z28.h, { z29.h, z30.h }, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z28.s, { z29.s, z30.s }, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z31.b, { z31.b }, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z31.d, { z31.d }, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z31.h, { z31.h }, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z31.s, { z31.s }, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx z31.b, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx z31.h, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx z31.s, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - trn1 p15.b, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - trn1 p15.d, p15.d, p15.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - trn1 p15.h, p15.h, p15.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - trn1 p15.s, p15.s, p15.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 z31.b, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 z31.h, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 z31.s, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - trn2 p15.b, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - trn2 p15.d, p15.d, p15.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - trn2 p15.h, p15.h, p15.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - trn2 p15.s, p15.s, p15.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 z31.b, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 z31.h, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 z31.s, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uaba z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uaba z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uaba z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uaba z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uabalb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uabalb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uabalb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uabalt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uabalt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uabalt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdlb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdlb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdlb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdlt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdlt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdlt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uadalp z0.h, p0/m, z1.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uadalp z29.s, p0/m, z30.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uadalp z30.d, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uaddv d0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uaddv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uaddv d0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uaddv d0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddwb z0.h, z1.h, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddwb z29.s, z30.s, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddwb z31.d, z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddwt z0.h, z1.h, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddwt z29.s, z30.s, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddwt z31.d, z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf z0.d, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf z0.h, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf z0.h, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf z0.h, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf z0.s, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - - - - - 23.00 udiv z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - 12.00 udiv z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - - 23.00 udivr z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - 12.00 udivr z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - udot z0.d, z1.h, z15.h[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - udot z0.d, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - udot z0.s, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - udot z0.s, z1.b, z7.b[3]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhsub z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhsub z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhsub z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhsub z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhsubr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhsubr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhsubr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhsubr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umax z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umax z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umax z31.b, z31.b, #255
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umax z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umax z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umax z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umaxp z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umaxp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umaxp z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umaxp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - umaxv b0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - umaxv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - umaxv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - umaxv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umin z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umin z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umin z31.b, z31.b, #255
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umin z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umin z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umin z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uminp z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uminp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uminp z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uminp z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uminv b0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uminv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uminv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uminv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlalb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlalb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlalb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlalb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlalb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlalt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlalt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlalt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlalt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlalt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlslb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlslb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlslb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlslb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlslb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlslt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlslt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlslt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlslt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlslt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - ummla z0.s, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umulh z0.b, p7/m, z0.b, z31.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umulh z0.b, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umulh z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umulh z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umulh z0.h, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umulh z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umulh z29.s, z30.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umulh z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umullb z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umullb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umullb z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umullb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umullb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umullt z0.d, z1.s, z15.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umullt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umullt z0.s, z1.h, z7.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umullt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umullt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z0.b, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z0.h, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z0.s, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z31.b, z31.b, #255
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z31.d, z31.d, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z31.h, z31.h, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z31.s, z31.s, #65280
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecb w0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecb w0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecb w0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecb w0, pow2, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecb x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecb x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecb x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecb x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecb x0, vl1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecd w0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecd w0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecd w0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecd w0, pow2, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecd x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecd x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecd x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecd x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecd x0, vl1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecd z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecd z0.d, all, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecd z0.d, pow2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecd z0.d, pow2, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdech w0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdech w0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdech w0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdech w0, pow2, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdech x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdech x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdech x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdech x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdech x0, vl1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdech z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdech z0.h, all, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdech z0.h, pow2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdech z0.h, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqdecp wzr, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqdecp wzr, p15.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqdecp wzr, p15.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqdecp wzr, p15.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqdecp x0, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqdecp x0, p0.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqdecp x0, p0.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqdecp x0, p0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecp z0.d, p0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecp z0.h, p0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecp z0.s, p0.s
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw w0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw w0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw w0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw w0, pow2, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw x0, vl1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecw z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecw z0.s, all, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecw z0.s, pow2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecw z0.s, pow2, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincb w0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincb w0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincb w0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincb w0, pow2, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincb x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincb x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincb x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincb x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincb x0, vl1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincd w0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincd w0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincd w0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincd w0, pow2, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincd x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincd x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincd x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincd x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincd x0, vl1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincd z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincd z0.d, all, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincd z0.d, pow2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincd z0.d, pow2, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqinch w0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqinch w0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqinch w0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqinch w0, pow2, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqinch x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqinch x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqinch x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqinch x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqinch x0, vl1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqinch z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqinch z0.h, all, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqinch z0.h, pow2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqinch z0.h, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqincp wzr, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqincp wzr, p15.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqincp wzr, p15.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqincp wzr, p15.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqincp x0, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqincp x0, p0.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqincp x0, p0.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqincp x0, p0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincp z0.d, p0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincp z0.h, p0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincp z0.s, p0.s
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw w0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw w0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw w0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw w0, pow2, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw x0, #14
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw x0, all, mul #16
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw x0, pow2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw x0, vl1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincw z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincw z0.s, all, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincw z0.s, pow2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincw z0.s, pow2, mul #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshl z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshl z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshl z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshl z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrnb z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrnb z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrnb z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrnb z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrnb z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrnb z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrnt z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrnt z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrnt z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrnt z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrnt z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrnt z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl z0.b, p0/m, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl z0.d, p0/m, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl z0.h, p0/m, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl z0.s, p0/m, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl z31.b, p0/m, z31.b, #7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl z31.d, p0/m, z31.d, #63
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl z31.h, p0/m, z31.h, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl z31.s, p0/m, z31.s, #31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrnb z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrnb z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrnb z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrnb z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrnb z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrnb z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrnt z0.b, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrnt z0.h, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrnt z0.s, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrnt z31.b, z31.h, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrnt z31.h, z31.s, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrnt z31.s, z31.d, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z0.b, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z0.b, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z0.d, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z0.h, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z0.h, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z0.s, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z0.s, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z31.b, z31.b, #255
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z31.d, z31.d, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z31.h, z31.h, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub z31.s, z31.s, #65280
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsubr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsubr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsubr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsubr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtnb z0.b, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtnb z0.h, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtnb z0.s, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtnt z0.b, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtnt z0.h, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtnt z0.s, z31.d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - urecpe z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urhadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urhadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urhadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urhadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshl z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshl z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshl z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshl z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr z0.b, p0/m, z0.b, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr z0.d, p0/m, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr z0.h, p0/m, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr z0.s, p0/m, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr z31.b, p0/m, z31.b, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr z31.d, p0/m, z31.d, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr z31.h, p0/m, z31.h, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr z31.s, p0/m, z31.s, #32
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - ursqrte z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursra z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursra z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursra z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursra z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursra z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursra z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursra z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursra z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllb z0.d, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllb z0.h, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllb z0.s, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllb z31.d, z31.s, #31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllb z31.h, z31.b, #7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllb z31.s, z31.h, #15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllt z0.d, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllt z0.h, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllt z0.s, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllt z31.d, z31.s, #31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllt z31.h, z31.b, #7
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllt z31.s, z31.h, #15
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - usmmla z0.s, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usqadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usqadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usqadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usqadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usra z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usra z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usra z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usra z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usra z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usra z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usra z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usra z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usublb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usublb z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usublb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usublt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usublt z29.s, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usublt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usubwb z0.h, z1.h, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usubwb z29.s, z30.s, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usubwb z31.d, z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usubwt z0.h, z1.h, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usubwt z29.s, z30.s, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usubwt z31.d, z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uunpkhi z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uunpkhi z31.h, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uunpkhi z31.s, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uunpklo z31.d, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uunpklo z31.h, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uunpklo z31.s, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uxtb z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uxtb z0.h, p0/m, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uxtb z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uxtb z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uxtb z31.h, p7/m, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uxtb z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uxth z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uxth z0.s, p0/m, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uxth z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uxth z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uxtw z0.d, p0/m, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uxtw z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uzp1 p15.b, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uzp1 p15.d, p15.d, p15.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uzp1 p15.h, p15.h, p15.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uzp1 p15.s, p15.s, p15.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp1 z31.b, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp1 z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp1 z31.h, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp1 z31.s, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uzp2 p15.b, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uzp2 p15.d, p15.d, p15.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uzp2 p15.h, p15.h, p15.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uzp2 p15.s, p15.s, p15.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp2 z31.b, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp2 z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp2 z31.h, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp2 z31.s, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.b, w0, wzr
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.b, wzr, w0
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.b, x0, xzr
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.b, xzr, x0
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.d, w0, wzr
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.d, x0, xzr
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.h, w0, wzr
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.h, x0, xzr
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.s, w0, wzr
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.s, x0, xzr
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilerw p15.b, x30, x30
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilerw p15.d, x30, x30
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilerw p15.h, x30, x30
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilerw p15.s, x30, x30
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilewr p15.b, x30, x30
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilewr p15.d, x30, x30
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilewr p15.h, x30, x30
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilewr p15.s, x30, x30
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - wrffr p0.b
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - wrffr p15.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xar z0.b, z0.b, z1.b, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xar z0.d, z0.d, z1.d, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xar z0.h, z0.h, z1.h, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xar z0.s, z0.s, z1.s, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xar z31.b, z31.b, z30.b, #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xar z31.d, z31.d, z30.d, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xar z31.h, z31.h, z30.h, #16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xar z31.s, z31.s, z30.s, #32
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip1 p0.b, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip1 p0.d, p0.d, p0.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip1 p0.h, p0.h, p0.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip1 p0.s, p0.s, p0.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip1 p15.b, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip1 p15.d, p15.d, p15.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip1 p15.h, p15.h, p15.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip1 p15.s, p15.s, p15.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 z0.b, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 z0.h, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 z0.s, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 z31.b, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 z31.h, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 z31.s, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip2 p0.b, p0.b, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip2 p0.d, p0.d, p0.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip2 p0.h, p0.h, p0.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip2 p0.s, p0.s, p0.s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip2 p15.b, p15.b, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip2 p15.d, p15.d, p15.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip2 p15.h, p15.h, p15.h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip2 p15.s, p15.s, p15.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip2 z0.b, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip2 z0.d, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip2 z0.h, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip2 z0.s, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip2 z31.b, z31.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip2 z31.d, z31.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip2 z31.h, z31.h, z31.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip2 z31.s, z31.s, z31.s
>From 797a0556ba74f5d2e786a42ae4c4c414e728dc2a Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Mon, 2 Mar 2026 15:58:59 +0000
Subject: [PATCH 05/22] [Thumb2] Update timings in C1-Nano scheduling model
This updates a number of instruction timings in the C1-Nano
scheduling model to match what is specified in the Arm C1-Nano
Core Software Optimization Guide.
---
llvm/lib/Target/AArch64/AArch64SchedC1Nano.td | 176 +-
.../AArch64/C1/Nano-neon-instructions.s | 238 +-
.../AArch64/C1/Nano-sve-instructions.s | 3392 ++++++++---------
3 files changed, 1906 insertions(+), 1900 deletions(-)
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
index 5262159e6a153..ec9edfde81205 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
@@ -62,6 +62,7 @@ let BufferSize = 0 in {
def C1NanoUnitLd : ProcResGroup<[C1NanoUnitLdSt, C1NanoUnitLd1]>;
def C1NanoUnitVALU : ProcResGroup<[C1NanoUnitVALU0, C1NanoUnitVALU1]>;
def C1NanoUnitALU : ProcResGroup<[C1NanoUnitALU0, C1NanoUnitALU1]>;
+
// These latencies are modeled without taking into account forwarding paths
// (the software optimisation guide lists latencies taking into account
// typical forwarding paths).
@@ -409,37 +410,39 @@ def : InstRW<[C1NanoWriteFPALU_F3], (instrs FCSELHrrr, FCSELSrrr, FCSELDrrr)>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]ABDv(2i32|4i16|8i8)")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]ABDv(16i8|4i32|8i16)")>;
// ASIMD absolute diff accum
-def : InstRW<[C1NanoWrite<6, C1NanoUnitVALU>], (instregex "[SU]ABAL?v")>;
+def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU>], (instregex "[SU]ABAL?v")>;
// ASIMD absolute diff long
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]ABDLv")>;
-// ASIMD arith #1
+// ASIMD arith, basic
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "(ADD|SUB|NEG)v",
- "[SU]R?HADDv", "[SU]HSUBv")>;
-// ASIMD arith #2
+ "[SU](HADDv|HSUBv)")>;
+// ASIMD, arith, basic, long, saturate
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "SADDLv", "UADDLv", "SADDWv",
+ "UADDWv", "SSUBLv", "USUBLv", "SSUBWv", "USUBWv")>;
+// ASIMD, arith, complex
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "ADDHNv", "SUBHNv")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "([SU]QADD|[SU]QSUB|SQNEG|SUQADD|USQADD)v(16i8|2i64|4i32|8i16)$")>;
+// ASIMD, arith, complex, rounding, add and subtract
+def : InstRW<[C1NanoMCWrite<6, 3, C1NanoUnitVALU>], (instregex "RADDHNv", "RSUBHNv")>;
+// ASIMD, arith, complex, rounding halving addition
+def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU>], (instregex "[SU]RHADDv")>;
+// ASIMD, arith, pair-wise
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "ABSv(1i64|2i32|4i16|8i8)$",
"[SU]ADDLPv(2i32_v1i64|4i16_v2i32|8i8_v4i16)$",
"ADDPv(2i32|4i16|8i8)$")>;
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "([SU]QADD|[SU]QSUB|SQNEG|SUQADD|USQADD)v(1i16|1i32|1i64|1i8|2i32|4i16|8i8)$")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "ABSv(2i64|4i32|8i16|16i8)$",
"[SU]ADDLPv(16i8_v8i16|4i32_v2i64|8i16_v4i32)$",
"ADDPv(16i8|2i64|4i32|8i16)$")>;
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "([SU]QADD|[SU]QSUB|SQNEG|SUQADD|USQADD)v(16i8|2i64|4i32|8i16)$")>;
-// ASIMD arith #3
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "SADDLv", "UADDLv", "SADDWv",
- "UADDWv", "SSUBLv", "USUBLv", "SSUBWv", "USUBWv")>;
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "ADDHNv", "SUBHNv")>;
-// ASIMD arith #5
-def : InstRW<[C1NanoWrite<8, C1NanoUnitVALU>], (instregex "RADDHNv", "RSUBHNv")>;
// ASIMD arith, reduce
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "ADDVv")>;
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "SADDLVv", "UADDLVv")>;
-// ASIMD compare #1
+// ASIMD compare
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "CM(EQ|GE|GT|HI|HS|LE|LT)v(1i64|2i32|4i16|8i8)")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "CM(EQ|GE|GT|HI|HS|LE|LT)v(2i64|4i32|8i16|16i8)")>;
-// ASIMD compare #2
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "CMTSTv(1i64|2i32|4i16|8i8)")>;
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "CMTSTv(2i64|4i32|8i16|16i8)")>;
-// ASIMD logical $1
+// ASIMD compare test
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "CMTSTv(1i64|2i32|4i16|8i8)")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "CMTSTv(2i64|4i32|8i16|16i8)")>;
+// ASIMD logical
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "(AND|EOR|NOT|ORN)v8i8",
"(ORR|BIC)v(2i32|4i16|8i8)$", "MVNIv(2i|2s|4i16)")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "(AND|EOR|NOT|ORN)v16i8",
@@ -453,8 +456,8 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU](MAX|MIN)Vv")>;
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "MULv(2i32|4i16|4i32|8i16)_indexed$",
"SQR?DMULHv(1i16|1i32|2i32|4i16|4i32|8i16)_indexed$")>;
// ASIMD multiply
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs PMULv8i8)>;
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs PMULv16i8)>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instrs PMULv8i8)>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instrs PMULv16i8)>;
// ASIMD multiply accumulate
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "ML[AS]v(2i32|4i16|8i8)$")>;
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "ML[AS]v(16i8|4i32|8i16)$")>;
@@ -475,12 +478,12 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]MULLv", "SQDMULL[
// ASIMD polynomial (8x8) multiply long
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs PMULLv8i8, PMULLv16i8)>;
// ASIMD pairwise add and accumulate
-def : InstRW<[C1NanoMCWrite<7, 2, C1NanoUnitVALU>], (instregex "[SU]ADALPv")>;
+def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU>], (instregex "[SU]ADALPv")>;
// ASIMD shift accumulate
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]SRA(d|v2i32|v4i16|v8i8)")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]SRAv(16i8|2i64|4i32|8i16)")>;
// ASIMD shift accumulate #2
-def : InstRW<[C1NanoMCWrite<7, 2, C1NanoUnitVALU>], (instregex "[SU]RSRA[vd]")>;
+def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU>], (instregex "[SU]RSRA[vd]")>;
// ASIMD shift by immed
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "SHLd$", "SHLv",
"SLId$", "SRId$", "[SU]SHR[vd]", "SHRNv")>;
@@ -512,7 +515,7 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]QRSHLv(2i64|4i32|
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^AES[DE]rr$", "^AESI?MCrr")>;
// Crypto polynomial (64x64) multiply long
-def : InstRW<[C1NanoMCWrite<4, 0, C1NanoUnitVMC>], (instrs PMULLv1i64, PMULLv2i64)>;
+def : InstRW<[C1NanoMCWrite<3, 0, C1NanoUnitVMC>], (instrs PMULLv1i64, PMULLv2i64)>;
// Crypto SHA1 hash acceleration op
// Crypto SHA1 schedule acceleration ops
@@ -531,7 +534,7 @@ def : InstRW<[C1NanoMCWrite<9, 0, C1NanoUnitVMC>], (instregex "^SHA512(H|H2|SU0|
// Crypto SHA3 ops
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instrs BCAX, EOR3)>;
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs XAR)>;
-def : InstRW<[C1NanoMCWrite<9, 0, C1NanoUnitVMC>], (instrs RAX1)>;
+def : InstRW<[C1NanoMCWrite<9, 0, C1NanoUnitVALU>], (instrs RAX1)>;
// Crypto SM3 ops
@@ -548,26 +551,30 @@ def : InstRW<[C1NanoMCWrite<2, 0, C1NanoUnitMAC>], (instregex "^CRC32")>;
// SVE Predicate instructions
+// Note Correction to what is stated in the Arm C1-Nano Core Software Optimization
+// Guide issue 4, section 22.4 SVE Predicate instructions:
+// - PALU should be ALU0
+// - VALU should be ALU0
+
// Loop control, based on predicate
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instrs BRKA_PPmP, BRKA_PPzP,
+def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>], (instrs BRKA_PPmP, BRKA_PPzP,
BRKB_PPmP, BRKB_PPzP)>;
// Loop control, based on predicate and flag setting
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instrs BRKAS_PPzP, BRKBS_PPzP)>;
+def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>], (instrs BRKAS_PPzP, BRKBS_PPzP)>;
// Loop control, propagating
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instrs BRKN_PPzP, BRKPA_PPzPP, BRKPB_PPzPP)>;
+def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>], (instrs BRKN_PPzP, BRKPA_PPzPP, BRKPB_PPzPP)>;
// Loop control, propagating and flag setting
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instrs BRKNS_PPzP)>;
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>], (instrs BRKPAS_PPzPP, BRKPBS_PPzPP)>;
+def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>], (instrs BRKNS_PPzP, BRKPAS_PPzPP, BRKPBS_PPzPP)>;
// Loop control, based on GPR
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>],
+def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>],
(instregex "^WHILE(GE|GT|HI|HS|LE|LO|LS|LT)_P(WW|XX)_[BHSD]")>;
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instregex "^WHILE(RW|WR)_PXX_[BHSD]")>;
+def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>], (instregex "^WHILE(RW|WR)_PXX_[BHSD]")>;
// Loop terminate
def : InstRW<[C1NanoWrite<1, C1NanoUnitALU>], (instregex "^CTERM(EQ|NE)_(WW|XX)")>;
@@ -581,60 +588,59 @@ def : InstRW<[C1NanoWrite<1, C1NanoUnitALU>],
def : InstRW<[C1NanoWrite<3, C1NanoUnitALU>],
(instregex "^(INC|DEC)[BHWD]_XPiI")>;
-def : InstRW<[C1NanoWrite<4, C1NanoUnitALU>],
+def : InstRW<[C1NanoWrite<5, C1NanoUnitALU>],
(instregex "^(SQINC|SQDEC|UQINC|UQDEC)[BHWD]_[XW]Pi(Wd)?I")>;
// Predicate counting scalar, active predicate
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>],
+def : InstRW<[C1NanoWrite<1, C1NanoUnitALU0>],
(instregex "^CNTP_XPP_[BHSD]")>;
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>],
+def : InstRW<[C1NanoWrite<1, C1NanoUnitALU0>],
(instregex "^(DEC|INC)P_XP_[BHSD]")>;
-def : InstRW<[C1NanoWrite<9, C1NanoUnitVALU0>],
+def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>],
(instregex "^(SQDEC|SQINC|UQDEC|UQINC)P_XP_[BHSD]",
"^(UQDEC|UQINC)P_WP_[BHSD]",
"^(SQDEC|SQINC|UQDEC|UQINC)P_XPWd_[BHSD]")>;
-
// Predicate counting vector, active predicate
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
+def : InstRW<[C1NanoWrite<3, C1NanoUnitALU0>],
(instregex "^(DEC|INC|SQDEC|SQINC|UQDEC|UQINC)P_ZP_[HSD]")>;
// Predicate logical
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>],
+def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>],
(instregex "^(AND|BIC|EOR|NAND|NOR|ORN|ORR)_PPzPP")>;
// Predicate logical, flag setting
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>],
+def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>],
(instregex "^(ANDS|BICS|EORS|NANDS|NORS|ORNS|ORRS)_PPzPP")>;
// Predicate reverse
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instregex "^REV_PP_[BHSD]")>;
+def : InstRW<[C1NanoWrite<1, C1NanoUnitALU0>], (instregex "^REV_PP_[BHSD]")>;
// Predicate select
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instrs SEL_PPPP)>;
+def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>], (instrs SEL_PPPP)>;
// Predicate set
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instregex "^PFALSE", "^PTRUE_[BHSD]")>;
+def : InstRW<[C1NanoWrite<1, C1NanoUnitALU0>], (instregex "^PFALSE", "^PTRUE_[BHSD]")>;
// Predicate set/initialize, set flags
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instregex "^PTRUES_[BHSD]")>;
+def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>], (instregex "^PTRUES_[BHSD]")>;
// Predicate find first/next
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instregex "^PFIRST_B", "^PNEXT_[BHSD]")>;
+def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>], (instregex "^PFIRST_B", "^PNEXT_[BHSD]")>;
// Predicate test
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instrs PTEST_PP, PTEST_PP_ANY, PTEST_PP_FIRST)>;
+def : InstRW<[C1NanoWrite<1, C1NanoUnitALU0>], (instrs PTEST_PP, PTEST_PP_ANY, PTEST_PP_FIRST)>;
// Predicate transpose
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instregex "^TRN[12]_PPP_[BHSDQ]")>;
+def : InstRW<[C1NanoWrite<1, C1NanoUnitALU0>], (instregex "^TRN[12]_PPP_[BHSDQ]")>;
// Predicate unpack and widen
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instrs PUNPKHI_PP, PUNPKLO_PP)>;
+def : InstRW<[C1NanoWrite<1, C1NanoUnitALU0>], (instrs PUNPKHI_PP, PUNPKLO_PP)>;
// Predicate zip/unzip
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instregex "^(ZIP|UZP)[12]_PPP_[BHSDQ]")>;
+def : InstRW<[C1NanoWrite<1, C1NanoUnitALU0>], (instregex "^(ZIP|UZP)[12]_PPP_[BHSDQ]")>;
// SVE integer instructions
@@ -643,16 +649,16 @@ def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU0>], (instregex "^(ZIP|UZP)[12]_PPP_[
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^[SU]ABD_(ZPmZ|ZPZZ)_[BHSD]")>;
// Arithmetic, absolute diff accum
-def : InstRW<[C1NanoMCWrite<6, 2, C1NanoUnitVALU>], (instregex "^[SU]ABA_ZZZ_[BHSD]")>;
+def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU>], (instregex "^[SU]ABA_ZZZ_[BHSD]")>;
// Arithmetic, absolute diff accum long
-def : InstRW<[C1NanoMCWrite<6, 2, C1NanoUnitVALU>], (instregex "^[SU]ABAL[TB]_ZZZ_[HSD]")>;
+def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU>], (instregex "^[SU]ABAL[TB]_ZZZ_[HSD]")>;
// Arithmetic, absolute diff long
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^[SU]ABDL[TB]_ZZZ_[HSD]")>;
// Arithmetic, basic
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU>],
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
(instregex "^(ABS|CNOT|NEG)_ZPmZ_[BHSD]",
"^(ADD|SUB|SUBR)_ZPmZ_[BHSD]",
"^(ADD|SUB|SUBR)_ZPZZ_[BHSD]",
@@ -661,33 +667,33 @@ def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU>],
"^ADR_[SU]XTW_ZZZ_D_[0123]",
"^ADR_LSL_ZZZ_[SD]_[0123]",
"^[SU]H(ADD|SUB|SUBR)_(ZPmZ|ZPZZ)_[BHSD]")>;
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
(instregex "^[SU](ADD|SUB)[LW][BT]_ZZZ_[HSD]",
"^SADDLBT_ZZZ_[HSD]",
"^SSUBL(BT|TB)_ZZZ_[HSD]")>;
// Arithmetic, complex
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
(instregex "^SQ(ABS|NEG)_ZPmZ_[BHSD]",
"^SQ(ADD|SUB|SUBR)_ZPmZ_?[BHSD]",
"^[SU]Q(ADD|SUB)_ZZZ_[BHSD]",
"^[SU]Q(ADD|SUB)_ZI_[BHSD]",
"^(SRH|SUQ|UQ|USQ|URH)ADD_ZPmZ_[BHSD]",
"^(UQSUB|UQSUBR)_ZPmZ_[BHSD]")>;
-def : InstRW<[C1NanoWrite<8, C1NanoUnitVALU>],
+def : InstRW<[C1NanoWrite<6, C1NanoUnitVALU>],
(instregex "^R?(ADD|SUB)HN[BT]_ZZZ_[BHS]")>;
// Arithmetic, large integer
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(AD|SB)CL[BT]_ZZZ_[SD]")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^(AD|SB)CL[BT]_ZZZ_[SD]")>;
// Arithmetic, pairwise add
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU>], (instregex "^ADDP_ZPmZ_[BHSD]")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^ADDP_ZPmZ_[BHSD]")>;
// Arithmetic, pairwise add and accum long
-def : InstRW<[C1NanoMCWrite<7, 2, C1NanoUnitVALU>], (instregex "^[SU]ADALP_ZPmZ_[HSD]")>;
+def : InstRW<[C1NanoMCWrite<6, 4, C1NanoUnitVALU>], (instregex "^[SU]ADALP_ZPmZ_[HSD]")>;
// Arithmetic, shift
-def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU>],
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
(instregex "^(ASR|LSL|LSR)_WIDE_ZPmZ_[BHS]",
"^(ASR|LSL|LSR)_WIDE_ZZZ_[BHS]",
"^(ASR|LSL|LSR)_ZPmI_[BHSD]",
@@ -702,10 +708,10 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
"^ASRD_ZPZI_[BHSD]")>;
// Arithmetic, shift and accumulate
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
(instregex "^(SSRA|USRA)_ZZI_[BHSD]")>;
-def : InstRW<[C1NanoMCWrite<5, 1, C1NanoUnitVALU>],
+def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU>],
(instregex "^(SRSRA|URSRA)_ZZI_[BHSD]")>;
@@ -747,8 +753,8 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(BSL|BSL1N|BSL2N|NBS
// Count/reverse bits
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(CLS|CLZ|RBIT)_ZPmZ_[BHSD]")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^CNT_ZPmZ_[BH]")>;
-def : InstRW<[C1NanoWrite<6, C1NanoUnitVALU>], (instregex "^CNT_ZPmZ_S")>;
-def : InstRW<[C1NanoWrite<9, C1NanoUnitVALU>], (instregex "^CNT_ZPmZ_D")>;
+def : InstRW<[C1NanoMCWrite<6, 4, C1NanoUnitVALU>], (instregex "^CNT_ZPmZ_S")>;
+def : InstRW<[C1NanoMCWrite<9, 7, C1NanoUnitVALU>], (instregex "^CNT_ZPmZ_D")>;
// Broadcast logical bitmask immediate to vector
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs DUPM_ZI)>;
@@ -776,7 +782,7 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^CMLA_ZZZ_[BHS]",
def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instrs CMLA_ZZZ_D)>;
// Conditional extract operations, scalar form
-def : InstRW<[C1NanoMCWrite<4, 1, C1NanoUnitVALU>], (instregex "^CLAST[AB]_RPZ_[BHSD]")>;
+def : InstRW<[C1NanoMCWrite<4, 4, C1NanoUnitVALU>], (instregex "^CLAST[AB]_RPZ_[BHSD]")>;
// Conditional extract operations, SIMD&FP scalar and vector forms
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^CLAST[AB]_[VZ]PZ_[BHSD]",
@@ -799,7 +805,7 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^[SU]CVTF_ZPmZ_StoD")
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^[SU]CVTF_ZPmZ_HtoH")>;
// Copy, scalar
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU0>],(instregex "^CPY_ZPmR_[BHSD]")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],(instregex "^CPY_ZPmR_[BHSD]")>;
// Copy, scalar SIMD&FP or imm
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^CPY_ZPm[IV]_[BHSD]",
@@ -844,11 +850,11 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^LAST[AB]_VPZ_[BHSD]"
"^INSR_ZV_[BHSD]")>;
// Extract/insert operation, scalar
-def : InstRW<[C1NanoMCWrite<8, 2, C1NanoUnitVALU0>], (instregex "^LAST[AB]_RPZ_[BHSD]",
- "^INSR_ZR_[BHSD]")>;
+def : InstRW<[C1NanoMCWrite<8, 4, C1NanoUnitVALU>], (instregex "^LAST[AB]_RPZ_[BHSD]")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^INSR_ZR_[BHSD]")>;
// Histogram operations
-def : InstRW<[C1NanoMCWrite<6, 2, C1NanoUnitVALU0>], (instregex "^HISTCNT_ZPzZZ_[SD]",
+def : InstRW<[C1NanoMCWrite<6, 4, C1NanoUnitVALU0>], (instregex "^HISTCNT_ZPzZZ_[SD]",
"^HISTSEG_ZZZ")>;
// Horizontal operations, B, H, S form, immediate operands only
@@ -880,7 +886,7 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^[SU](MAX|MIN)_ZI_[BH
"^[SU](MAX|MIN)P?_(ZPmZ|ZPZZ)_[BHSD]")>;
// Matching operations
-def : InstRW<[C1NanoMCWrite<8, 2, C1NanoUnitVALU>], (instregex "^N?MATCH_PPzZZ_[BH]")>;
+def : InstRW<[C1NanoMCWrite<8, 4, C1NanoUnitVALU>], (instregex "^N?MATCH_PPzZZ_[BH]")>;
// Matrix multiply-accumulate
def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instrs SMMLA_ZZZ, UMMLA_ZZZ, USMMLA_ZZZ)>;
@@ -948,7 +954,7 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^SQRDMULH_ZZZ_[BHS]",
def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^SQRDMULH_ZZZI?_D")>;
// Multiply/multiply long, (8x8) polynomial
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^PMUL_ZZZ_B")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^PMUL_ZZZ_B")>;
def : InstRW<[C1NanoWrite<9, C1NanoUnitVMC>], (instregex "^PMULL[BT]_ZZZ_[HDQ]")>;
@@ -1015,16 +1021,16 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^F(ADD|SUB)_(ZPm[IZ]|
"^FSUBR_(ZPm[IZ]|ZPZ[IZ])_[HSD]")>;
// Floating point associative add, F16
-def : InstRW<[C1NanoMCWrite<32, 29, C1NanoUnitVALU>], (instrs FADDA_VPZ_H)>;
+def : InstRW<[C1NanoMCWrite<32, 25, C1NanoUnitVALU>], (instrs FADDA_VPZ_H)>;
// Floating point associative add, F32
-def : InstRW<[C1NanoMCWrite<16, 13, C1NanoUnitVALU>], (instrs FADDA_VPZ_S)>;
+def : InstRW<[C1NanoMCWrite<16, 9, C1NanoUnitVALU>], (instrs FADDA_VPZ_S)>;
// Floating point associative add, F64
-def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnitVALU>], (instrs FADDA_VPZ_D)>;
+def : InstRW<[C1NanoMCWrite<8, 3, C1NanoUnitVALU>], (instrs FADDA_VPZ_D)>;
// Floating point compare
-def : InstRW<[C1NanoMCWrite<4, 2, C1NanoUnitVALU>], (instregex "^FACG[ET]_PPzZZ_[HSD]",
+def : InstRW<[C1NanoMCWrite<4, 1, C1NanoUnitVALU>], (instregex "^FACG[ET]_PPzZZ_[HSD]",
"^FCM(EQ|GE|GT|NE)_PPzZ[0Z]_[HSD]",
"^FCM(LE|LT)_PPzZ0_[HSD]",
"^FCMUO_PPzZZ_[HSD]")>;
@@ -1119,10 +1125,10 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>],
(instregex "^(FMAXNMV|FMAXV|FMINNMV|FMINV)_VPZ_[HSD]")>;
// Floating point reduction, F32
-def : InstRW<[C1NanoMCWrite<12, 11, C1NanoUnitVALU0>],
+def : InstRW<[C1NanoMCWrite<12, 5, C1NanoUnitVALU0>],
(instregex "^FADDV_VPZ_H")>;
-def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnitVALU0>],
+def : InstRW<[C1NanoMCWrite<8, 3, C1NanoUnitVALU0>],
(instregex "^FADDV_VPZ_S")>;
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>],
@@ -1211,12 +1217,12 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitLdSt>], (instregex "^LDNT1[BHWD]_ZRI$")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitLdSt>], (instregex "^LDNT1[BHWD]_ZRR$")>;
// Non temporal gather load, vector + scalar 32-bit element size
-def : InstRW<[C1NanoMCWrite<9, 9, C1NanoUnitLdSt>], (instregex "^LDNT1[BHW]_ZZR_S$",
+def : InstRW<[C1NanoMCWrite<9, 7, C1NanoUnitLdSt>], (instregex "^LDNT1[BHW]_ZZR_S$",
"^LDNT1S[BH]_ZZR_S$")>;
// Non temporal gather load, vector + scalar 64-bit element size
-def : InstRW<[C1NanoMCWrite<7, 7, C1NanoUnitLdSt>], (instregex "^LDNT1S?[BHW]_ZZR_D$")>;
-def : InstRW<[C1NanoMCWrite<7, 7, C1NanoUnitLdSt>], (instrs LDNT1D_ZZR_D)>;
+def : InstRW<[C1NanoMCWrite<7, 6, C1NanoUnitLdSt>], (instregex "^LDNT1S?[BHW]_ZZR_D$")>;
+def : InstRW<[C1NanoMCWrite<7, 6, C1NanoUnitLdSt>], (instrs LDNT1D_ZZR_D)>;
// Contiguous first faulting load, scalar + scalar
def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "^LDFF1[BHWD]$",
@@ -1231,7 +1237,7 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "^LDNF1[BHWD]_IMM$",
"^LDNF1S?W_D_IMM$")>;
// Contiguous Load two structures to two vectors, scalar + imm
-def : InstRW<[C1NanoMCWrite<3, 1, C1NanoUnitLdSt>], (instregex "^LD2[BHWD]_IMM$")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLdSt>], (instregex "^LD2[BHWD]_IMM$")>;
// Contiguous Load two structures to two vectors, scalar + scalar
def : InstRW<[C1NanoMCWrite<3, 2, C1NanoUnitLdSt>], (instregex "^LD2[BHWD]$")>;
@@ -1240,24 +1246,24 @@ def : InstRW<[C1NanoMCWrite<3, 2, C1NanoUnitLdSt>], (instregex "^LD2[BHWD]$")>;
def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitLdSt>], (instregex "^LD3[BHWD]_IMM$")>;
// Contiguous Load three structures to three vectors, scalar + scalar
-def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitLdSt>], (instregex "^LD3[BHWD]$")>;
+def : InstRW<[C1NanoMCWrite<5, 4, C1NanoUnitLdSt>], (instregex "^LD3[BHWD]$")>;
// Contiguous Load four structures to four vectors, scalar + imm
def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitLdSt>], (instregex "^LD4[BHWD]_IMM$")>;
// Contiguous Load four structures to four vectors, scalar + scalar
-def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitLdSt>], (instregex "^LD4[BHWD]$")>;
+def : InstRW<[C1NanoMCWrite<5, 4, C1NanoUnitLdSt>], (instregex "^LD4[BHWD]$")>;
// Gather load, vector + imm, 32-bit element size
-def : InstRW<[C1NanoMCWrite<9, 9, C1NanoUnitLdSt>], (instregex "^GLD(FF)?1S?[BH]_S_IMM$",
+def : InstRW<[C1NanoMCWrite<9, 7, C1NanoUnitLdSt>], (instregex "^GLD(FF)?1S?[BH]_S_IMM$",
"^GLD(FF)?1W_IMM$")>;
// Gather load, vector + imm, 64-bit element size
-def : InstRW<[C1NanoMCWrite<7, 7, C1NanoUnitLdSt>], (instregex "^GLD(FF)?1S?[BHW]_D_IMM$",
+def : InstRW<[C1NanoMCWrite<7, 6, C1NanoUnitLdSt>], (instregex "^GLD(FF)?1S?[BHW]_D_IMM$",
"^GLD(FF)?1D_IMM$")>;
// Gather load, 64-bit element size
-def : InstRW<[C1NanoMCWrite<7, 7, C1NanoUnitLdSt>],
+def : InstRW<[C1NanoMCWrite<7, 6, C1NanoUnitLdSt>],
(instregex "^GLD(FF)?1S?[BHW]_D_[SU]XTW(_SCALED)?$",
"^GLD(FF)?1S?[BHW]_D(_SCALED)?$",
"^GLD(FF)?1D_[SU]XTW(_SCALED)?$",
@@ -1269,7 +1275,7 @@ def : InstRW<[C1NanoMCWrite<7, 7, C1NanoUnitLd>],
"^GLD(FF)?1W_[SU]XTW_SCALED")>;
// Gather load, 32-bit unpacked unscaled offset
-def : InstRW<[C1NanoMCWrite<7, 7, C1NanoUnitLd>], (instregex "^GLD(FF)?1S?[BH]_S_[SU]XTW$",
+def : InstRW<[C1NanoMCWrite<7, 6, C1NanoUnitLd>], (instregex "^GLD(FF)?1S?[BH]_S_[SU]XTW$",
"^GLD(FF)?1W_[SU]XTW$")>;
def : InstRW<[C1NanoWrite<0, C1NanoUnitVALU>], (instregex "^PRF(B|H|W|D).*")>;
@@ -1393,7 +1399,7 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^AES[DE]_ZZZ_B$",
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(BCAX|EOR3)_ZZZZ$")>;
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^XAR_ZZZI_[BHSD]$")>;
-def : InstRW<[C1NanoMC_RC0Write<3, C1NanoUnitVMC>], (instregex "^RAX1_ZZZ_D$")>;
+def : InstRW<[C1NanoMC_RC0Write<3, C1NanoUnitVALU>], (instregex "^RAX1_ZZZ_D$")>;
// Crypto SM4 ops
def : InstRW<[C1NanoMC_RC0Write<9, C1NanoUnitVMC>], (instregex "^SM4E(KEY)?_ZZZ_S$")>;
diff --git a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s
index 2186de5a6035c..afa9b0da4fdb9 100644
--- a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s
@@ -1126,8 +1126,8 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 cmle v0.2d, v0.2d, #0
# CHECK-NEXT: 1 3 0.50 cmlt d20, d21, #0
# CHECK-NEXT: 1 3 0.50 cmlt v0.8h, v0.8h, #0
-# CHECK-NEXT: 1 4 0.50 cmtst d20, d21, d22
-# CHECK-NEXT: 1 4 0.50 cmtst v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 cmtst d20, d21, d22
+# CHECK-NEXT: 1 3 0.50 cmtst v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 cnt v0.16b, v0.16b
# CHECK-NEXT: 1 4 0.50 cnt v0.8b, v0.8b
# CHECK-NEXT: 1 3 0.50 dup v0.16b, w28
@@ -1453,16 +1453,16 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 orn v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 mov v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 orr v0.8h, #31
-# CHECK-NEXT: 1 4 0.50 pmul v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: 1 4 0.50 pmul v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 pmul v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 pmul v0.8b, v0.8b, v0.8b
# CHECK-NEXT: 1 4 0.50 pmull v0.8h, v0.8b, v0.8b
# CHECK-NEXT: 1 4 0.50 pmull2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: 1 8 0.50 raddhn v0.2s, v0.2d, v0.2d
-# CHECK-NEXT: 1 8 0.50 raddhn v0.4h, v0.4s, v0.4s
-# CHECK-NEXT: 1 8 0.50 raddhn v0.8b, v0.8h, v0.8h
-# CHECK-NEXT: 1 8 0.50 raddhn2 v0.16b, v0.8h, v0.8h
-# CHECK-NEXT: 1 8 0.50 raddhn2 v0.4s, v0.2d, v0.2d
-# CHECK-NEXT: 1 8 0.50 raddhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: 1 6 1.50 raddhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: 1 6 1.50 raddhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: 1 6 1.50 raddhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: 1 6 1.50 raddhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: 1 6 1.50 raddhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: 1 6 1.50 raddhn2 v0.8h, v0.4s, v0.4s
# CHECK-NEXT: 1 4 0.50 rbit v0.16b, v0.16b
# CHECK-NEXT: 1 4 0.50 rbit v0.8b, v0.8b
# CHECK-NEXT: 1 4 0.50 rev16 v21.8b, v1.8b
@@ -1483,19 +1483,19 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 rshrn2 v0.16b, v0.8h, #3
# CHECK-NEXT: 1 4 0.50 rshrn2 v0.4s, v0.2d, #3
# CHECK-NEXT: 1 4 0.50 rshrn2 v0.8h, v0.4s, #3
-# CHECK-NEXT: 1 8 0.50 rsubhn v0.2s, v0.2d, v0.2d
-# CHECK-NEXT: 1 8 0.50 rsubhn v0.4h, v0.4s, v0.4s
-# CHECK-NEXT: 1 8 0.50 rsubhn v0.8b, v0.8h, v0.8h
-# CHECK-NEXT: 1 8 0.50 rsubhn2 v0.16b, v0.8h, v0.8h
-# CHECK-NEXT: 1 8 0.50 rsubhn2 v0.4s, v0.2d, v0.2d
-# CHECK-NEXT: 1 8 0.50 rsubhn2 v0.8h, v0.4s, v0.4s
-# CHECK-NEXT: 1 6 0.50 saba v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: 1 6 0.50 sabal v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: 1 6 0.50 sabal v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: 1 6 0.50 sabal v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: 1 6 0.50 sabal2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: 1 6 0.50 sabal2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: 1 6 0.50 sabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 6 1.50 rsubhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: 1 6 1.50 rsubhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: 1 6 1.50 rsubhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: 1 6 1.50 rsubhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: 1 6 1.50 rsubhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: 1 6 1.50 rsubhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: 1 5 1.50 saba v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 5 1.50 sabal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 5 1.50 sabal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 5 1.50 sabal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 5 1.50 sabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 5 1.50 sabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 5 1.50 sabal2 v0.8h, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 sabd v0.4h, v0.4h, v0.4h
# CHECK-NEXT: 1 3 0.50 sabdl v0.2d, v0.2s, v0.2s
# CHECK-NEXT: 1 3 0.50 sabdl v0.4s, v0.4h, v0.4h
@@ -1503,12 +1503,12 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 sabdl2 v0.2d, v0.4s, v0.4s
# CHECK-NEXT: 1 3 0.50 sabdl2 v0.4s, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 sabdl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: 1 7 1.00 sadalp v0.1d, v0.2s
-# CHECK-NEXT: 1 7 1.00 sadalp v0.2d, v0.4s
-# CHECK-NEXT: 1 7 1.00 sadalp v0.2s, v0.4h
-# CHECK-NEXT: 1 7 1.00 sadalp v0.4h, v0.8b
-# CHECK-NEXT: 1 7 1.00 sadalp v0.4s, v0.8h
-# CHECK-NEXT: 1 7 1.00 sadalp v0.8h, v0.16b
+# CHECK-NEXT: 1 5 1.50 sadalp v0.1d, v0.2s
+# CHECK-NEXT: 1 5 1.50 sadalp v0.2d, v0.4s
+# CHECK-NEXT: 1 5 1.50 sadalp v0.2s, v0.4h
+# CHECK-NEXT: 1 5 1.50 sadalp v0.4h, v0.8b
+# CHECK-NEXT: 1 5 1.50 sadalp v0.4s, v0.8h
+# CHECK-NEXT: 1 5 1.50 sadalp v0.8h, v0.16b
# CHECK-NEXT: 1 3 0.50 saddl v0.2d, v0.2s, v0.2s
# CHECK-NEXT: 1 3 0.50 saddl v0.4s, v0.4h, v0.4h
# CHECK-NEXT: 1 3 0.50 saddl v0.8h, v0.8b, v0.8b
@@ -1754,9 +1754,9 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 sqxtun2 v0.16b, v0.8h
# CHECK-NEXT: 1 4 0.50 sqxtun2 v0.4s, v0.2d
# CHECK-NEXT: 1 4 0.50 sqxtun2 v0.8h, v0.4s
-# CHECK-NEXT: 1 3 0.50 srhadd v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: 1 3 0.50 srhadd v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: 1 3 0.50 srhadd v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.50 srhadd v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.50 srhadd v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 2 0.50 srhadd v0.8b, v0.8b, v0.8b
# CHECK-NEXT: 1 3 0.50 sri d10, d12, #14
# CHECK-NEXT: 1 4 0.50 sri v0.16b, v0.16b, #3
# CHECK-NEXT: 1 4 0.50 sri v0.2d, v0.2d, #3
@@ -1777,14 +1777,14 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 srshr v0.4s, v0.4s, #3
# CHECK-NEXT: 1 3 0.50 srshr v0.8b, v0.8b, #3
# CHECK-NEXT: 1 3 0.50 srshr v0.8h, v0.8h, #3
-# CHECK-NEXT: 1 7 1.00 srsra d15, d11, #19
-# CHECK-NEXT: 1 7 1.00 srsra v0.16b, v0.16b, #3
-# CHECK-NEXT: 1 7 1.00 srsra v0.2d, v0.2d, #3
-# CHECK-NEXT: 1 7 1.00 srsra v0.2s, v0.2s, #3
-# CHECK-NEXT: 1 7 1.00 srsra v0.4h, v0.4h, #3
-# CHECK-NEXT: 1 7 1.00 srsra v0.4s, v0.4s, #3
-# CHECK-NEXT: 1 7 1.00 srsra v0.8b, v0.8b, #3
-# CHECK-NEXT: 1 7 1.00 srsra v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 5 1.50 srsra d15, d11, #19
+# CHECK-NEXT: 1 5 1.50 srsra v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 5 1.50 srsra v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 5 1.50 srsra v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 5 1.50 srsra v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 5 1.50 srsra v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 5 1.50 srsra v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 5 1.50 srsra v0.8h, v0.8h, #3
# CHECK-NEXT: 1 3 0.50 sshl d31, d31, d31
# CHECK-NEXT: 1 3 0.50 sshl v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 3 0.50 sshl v0.2s, v0.2s, v0.2s
@@ -1885,13 +1885,13 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 trn2 v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 4 0.50 trn2 v0.8b, v0.8b, v0.8b
# CHECK-NEXT: 1 4 0.50 trn2 v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: 1 6 0.50 uaba v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: 1 6 0.50 uabal v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: 1 6 0.50 uabal v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: 1 6 0.50 uabal v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: 1 6 0.50 uabal2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: 1 6 0.50 uabal2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: 1 6 0.50 uabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 5 1.50 uaba v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 5 1.50 uabal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 5 1.50 uabal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 5 1.50 uabal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 5 1.50 uabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 5 1.50 uabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 5 1.50 uabal2 v0.8h, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 uabd v0.4h, v0.4h, v0.4h
# CHECK-NEXT: 1 3 0.50 uabdl v0.2d, v0.2s, v0.2s
# CHECK-NEXT: 1 3 0.50 uabdl v0.4s, v0.4h, v0.4h
@@ -1899,12 +1899,12 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 uabdl2 v0.2d, v0.4s, v0.4s
# CHECK-NEXT: 1 3 0.50 uabdl2 v0.4s, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 uabdl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: 1 7 1.00 uadalp v0.1d, v0.2s
-# CHECK-NEXT: 1 7 1.00 uadalp v0.2d, v0.4s
-# CHECK-NEXT: 1 7 1.00 uadalp v0.2s, v0.4h
-# CHECK-NEXT: 1 7 1.00 uadalp v0.4h, v0.8b
-# CHECK-NEXT: 1 7 1.00 uadalp v0.4s, v0.8h
-# CHECK-NEXT: 1 7 1.00 uadalp v0.8h, v0.16b
+# CHECK-NEXT: 1 5 1.50 uadalp v0.1d, v0.2s
+# CHECK-NEXT: 1 5 1.50 uadalp v0.2d, v0.4s
+# CHECK-NEXT: 1 5 1.50 uadalp v0.2s, v0.4h
+# CHECK-NEXT: 1 5 1.50 uadalp v0.4h, v0.8b
+# CHECK-NEXT: 1 5 1.50 uadalp v0.4s, v0.8h
+# CHECK-NEXT: 1 5 1.50 uadalp v0.8h, v0.16b
# CHECK-NEXT: 1 3 0.50 uaddl v0.2d, v0.2s, v0.2s
# CHECK-NEXT: 1 3 0.50 uaddl v0.4s, v0.4h, v0.4h
# CHECK-NEXT: 1 3 0.50 uaddl v0.8h, v0.8b, v0.8b
@@ -2024,9 +2024,9 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 uqxtn2 v0.8h, v0.4s
# CHECK-NEXT: 1 4 0.50 urecpe v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 urecpe v0.4s, v0.4s
-# CHECK-NEXT: 1 3 0.50 urhadd v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: 1 3 0.50 urhadd v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: 1 3 0.50 urhadd v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.50 urhadd v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.50 urhadd v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.50 urhadd v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 urshl d8, d7, d4
# CHECK-NEXT: 1 3 0.50 urshl v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 urshl v0.2d, v0.2d, v0.2d
@@ -2042,14 +2042,14 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 urshr v0.8h, v0.8h, #3
# CHECK-NEXT: 1 12 9.00 ursqrte v0.2s, v0.2s
# CHECK-NEXT: 1 12 9.00 ursqrte v0.4s, v0.4s
-# CHECK-NEXT: 1 7 1.00 ursra d18, d10, #13
-# CHECK-NEXT: 1 7 1.00 ursra v0.16b, v0.16b, #3
-# CHECK-NEXT: 1 7 1.00 ursra v0.2d, v0.2d, #3
-# CHECK-NEXT: 1 7 1.00 ursra v0.2s, v0.2s, #3
-# CHECK-NEXT: 1 7 1.00 ursra v0.4h, v0.4h, #3
-# CHECK-NEXT: 1 7 1.00 ursra v0.4s, v0.4s, #3
-# CHECK-NEXT: 1 7 1.00 ursra v0.8b, v0.8b, #3
-# CHECK-NEXT: 1 7 1.00 ursra v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 5 1.50 ursra d18, d10, #13
+# CHECK-NEXT: 1 5 1.50 ursra v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 5 1.50 ursra v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 5 1.50 ursra v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 5 1.50 ursra v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 5 1.50 ursra v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 5 1.50 ursra v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 5 1.50 ursra v0.8h, v0.8h, #3
# CHECK-NEXT: 1 3 0.50 ushl d0, d0, d0
# CHECK-NEXT: 1 3 0.50 ushl v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 ushl v0.4s, v0.4s, v0.4s
@@ -2147,7 +2147,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11]
-# CHECK-NEXT: - - - - - 145.00 - - 501.00 501.00 3.00 3.00 197.00
+# CHECK-NEXT: - - - - - 145.00 - - 541.00 541.00 3.00 3.00 197.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11] Instructions:
@@ -2538,12 +2538,12 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmul v0.8b, v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmull v0.8h, v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmull2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhn v0.2s, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhn v0.4h, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhn v0.8b, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhn2 v0.16b, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhn2 v0.4s, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - raddhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - raddhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - raddhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - raddhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - raddhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - raddhn2 v0.8h, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev16 v21.8b, v1.8b
@@ -2564,19 +2564,19 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrn2 v0.16b, v0.8h, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrn2 v0.4s, v0.2d, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrn2 v0.8h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhn v0.2s, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhn v0.4h, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhn v0.8b, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhn2 v0.16b, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhn2 v0.4s, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhn2 v0.8h, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saba v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabal v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabal v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabal v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabal2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabal2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - rsubhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - rsubhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - rsubhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - rsubhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - rsubhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - rsubhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - saba v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabal2 v0.8h, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd v0.4h, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl v0.2d, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl v0.4s, v0.4h, v0.4h
@@ -2584,12 +2584,12 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl2 v0.2d, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl2 v0.4s, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sadalp v0.1d, v0.2s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sadalp v0.2d, v0.4s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sadalp v0.2s, v0.4h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sadalp v0.4h, v0.8b
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sadalp v0.4s, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sadalp v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sadalp v0.1d, v0.2s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sadalp v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sadalp v0.2s, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sadalp v0.4h, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sadalp v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sadalp v0.8h, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddl v0.2d, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddl v0.4s, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddl v0.8h, v0.8b, v0.8b
@@ -2858,14 +2858,14 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr v0.4s, v0.4s, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr v0.8b, v0.8b, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr v0.8h, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - srsra d15, d11, #19
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - srsra v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - srsra v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - srsra v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - srsra v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - srsra v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - srsra v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - srsra v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra d15, d11, #19
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra v0.8h, v0.8h, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshl d31, d31, d31
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshl v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshl v0.2s, v0.2s, v0.2s
@@ -2966,13 +2966,13 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 v0.8b, v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaba v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabal v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabal v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabal v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabal2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabal2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uaba v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabal2 v0.8h, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd v0.4h, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl v0.2d, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl v0.4s, v0.4h, v0.4h
@@ -2980,12 +2980,12 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl2 v0.2d, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl2 v0.4s, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uadalp v0.1d, v0.2s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uadalp v0.2d, v0.4s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uadalp v0.2s, v0.4h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uadalp v0.4h, v0.8b
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uadalp v0.4s, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uadalp v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uadalp v0.1d, v0.2s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uadalp v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uadalp v0.2s, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uadalp v0.4h, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uadalp v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uadalp v0.8h, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddl v0.2d, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddl v0.4s, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddl v0.8h, v0.8b, v0.8b
@@ -3123,14 +3123,14 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr v0.8h, v0.8h, #3
# CHECK-NEXT: - - - - - - - - - - - - 9.00 ursqrte v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - - - - - 9.00 ursqrte v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - ursra d18, d10, #13
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - ursra v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - ursra v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - ursra v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - ursra v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - ursra v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - ursra v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - ursra v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra d18, d10, #13
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra v0.8h, v0.8h, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushl d0, d0, d0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushl v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushl v0.4s, v0.4s, v0.4s
diff --git a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s
index 91480597331f7..483f4910abe8f 100644
--- a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s
@@ -3420,72 +3420,72 @@ zip2 z31.s, z31.s, z31.s
# 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 3 0.50 adclb z0.d, z1.d, z31.d
-# CHECK-NEXT: 1 3 0.50 adclb z0.s, z1.s, z31.s
-# CHECK-NEXT: 1 3 0.50 adclt z0.d, z1.d, z31.d
-# CHECK-NEXT: 1 3 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 8 0.50 addhnb z0.b, z1.h, z31.h
-# CHECK-NEXT: 1 8 0.50 addhnb z0.h, z1.s, z31.s
-# CHECK-NEXT: 1 8 0.50 addhnb z0.s, z1.d, z31.d
-# CHECK-NEXT: 1 8 0.50 addhnt z0.b, z1.h, z31.h
-# CHECK-NEXT: 1 8 0.50 addhnt z0.h, z1.s, z31.s
-# CHECK-NEXT: 1 8 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 3 0.50 abs z0.b, p0/m, z0.b
+# CHECK-NEXT: 1 3 0.50 abs z0.d, p0/m, z0.d
+# CHECK-NEXT: 1 3 0.50 abs z0.h, p0/m, z0.h
+# CHECK-NEXT: 1 3 0.50 abs z0.s, p0/m, z0.s
+# CHECK-NEXT: 1 3 0.50 abs z31.b, p7/m, z31.b
+# CHECK-NEXT: 1 3 0.50 abs z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 3 0.50 abs z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 3 0.50 abs z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 4 0.50 adclb z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 adclb z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 adclt z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 adclt z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 3 0.50 add z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 add z0.b, z0.b, #0
+# CHECK-NEXT: 1 3 0.50 add z0.b, z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 add z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 add z0.d, z0.d, #0
+# CHECK-NEXT: 1 3 0.50 add z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 add z0.d, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 add z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 3 0.50 add z0.h, z0.h, #0
+# CHECK-NEXT: 1 3 0.50 add z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 add z0.h, z0.h, z0.h
+# CHECK-NEXT: 1 3 0.50 add z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 3 0.50 add z0.s, z0.s, #0
+# CHECK-NEXT: 1 3 0.50 add z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 add z0.s, z0.s, z0.s
+# CHECK-NEXT: 1 3 0.50 add z0.s, z1.s, z2.s
+# CHECK-NEXT: 1 3 0.50 add z21.b, p5/m, z21.b, z10.b
+# CHECK-NEXT: 1 3 0.50 add z21.b, z10.b, z21.b
+# CHECK-NEXT: 1 3 0.50 add z21.d, p5/m, z21.d, z10.d
+# CHECK-NEXT: 1 3 0.50 add z21.d, z10.d, z21.d
+# CHECK-NEXT: 1 3 0.50 add z21.h, p5/m, z21.h, z10.h
+# CHECK-NEXT: 1 3 0.50 add z21.h, z10.h, z21.h
+# CHECK-NEXT: 1 3 0.50 add z21.s, p5/m, z21.s, z10.s
+# CHECK-NEXT: 1 3 0.50 add z21.s, z10.s, z21.s
+# CHECK-NEXT: 1 3 0.50 add z23.b, p3/m, z23.b, z13.b
+# CHECK-NEXT: 1 3 0.50 add z23.b, z13.b, z8.b
+# CHECK-NEXT: 1 3 0.50 add z23.d, p3/m, z23.d, z13.d
+# CHECK-NEXT: 1 3 0.50 add z23.d, z13.d, z8.d
+# CHECK-NEXT: 1 3 0.50 add z23.h, p3/m, z23.h, z13.h
+# CHECK-NEXT: 1 3 0.50 add z23.h, z13.h, z8.h
+# CHECK-NEXT: 1 3 0.50 add z23.s, p3/m, z23.s, z13.s
+# CHECK-NEXT: 1 3 0.50 add z23.s, z13.s, z8.s
+# CHECK-NEXT: 1 3 0.50 add z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 add z31.b, z31.b, #255
+# CHECK-NEXT: 1 3 0.50 add z31.b, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 add z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 add z31.d, z31.d, #65280
+# CHECK-NEXT: 1 3 0.50 add z31.d, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 add z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 add z31.h, z31.h, #65280
+# CHECK-NEXT: 1 3 0.50 add z31.h, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 add z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 add z31.s, z31.s, #65280
+# CHECK-NEXT: 1 3 0.50 add z31.s, z31.s, z31.s
+# CHECK-NEXT: 1 6 0.50 addhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 6 0.50 addhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 6 0.50 addhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 6 0.50 addhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 6 0.50 addhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 6 0.50 addhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 3 0.50 addp z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 addp z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 addp z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 addp z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 1 0.50 addpl sp, sp, #31
# CHECK-NEXT: 1 1 0.50 addpl x0, x0, #-32
# CHECK-NEXT: 1 1 0.50 addpl x21, x21, #0
@@ -3494,22 +3494,22 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 1 0.50 addvl x0, x0, #-32
# CHECK-NEXT: 1 1 0.50 addvl x21, x21, #0
# CHECK-NEXT: 1 1 0.50 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 3 0.50 adr z0.d, [z0.d, z0.d, lsl #1]
+# CHECK-NEXT: 1 3 0.50 adr z0.d, [z0.d, z0.d, lsl #2]
+# CHECK-NEXT: 1 3 0.50 adr z0.d, [z0.d, z0.d, lsl #3]
+# CHECK-NEXT: 1 3 0.50 adr z0.d, [z0.d, z0.d, sxtw #1]
+# CHECK-NEXT: 1 3 0.50 adr z0.d, [z0.d, z0.d, sxtw #2]
+# CHECK-NEXT: 1 3 0.50 adr z0.d, [z0.d, z0.d, sxtw #3]
+# CHECK-NEXT: 1 3 0.50 adr z0.d, [z0.d, z0.d, sxtw]
+# CHECK-NEXT: 1 3 0.50 adr z0.d, [z0.d, z0.d, uxtw #1]
+# CHECK-NEXT: 1 3 0.50 adr z0.d, [z0.d, z0.d, uxtw #2]
+# CHECK-NEXT: 1 3 0.50 adr z0.d, [z0.d, z0.d, uxtw #3]
+# CHECK-NEXT: 1 3 0.50 adr z0.d, [z0.d, z0.d, uxtw]
+# CHECK-NEXT: 1 3 0.50 adr z0.d, [z0.d, z0.d]
+# CHECK-NEXT: 1 3 0.50 adr z0.s, [z0.s, z0.s, lsl #1]
+# CHECK-NEXT: 1 3 0.50 adr z0.s, [z0.s, z0.s, lsl #2]
+# CHECK-NEXT: 1 3 0.50 adr z0.s, [z0.s, z0.s, lsl #3]
+# CHECK-NEXT: 1 3 0.50 adr z0.s, [z0.s, z0.s]
# CHECK-NEXT: 1 3 0.50 aesd z0.b, z0.b, z31.b
# CHECK-NEXT: 1 3 0.50 aese z0.b, z0.b, z31.b
# CHECK-NEXT: 1 3 0.50 aesimc z0.b, z0.b
@@ -3536,32 +3536,32 @@ zip2 z31.s, z31.s, z31.s
# 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 3 0.50 asr z0.b, p0/m, z0.b, #1
+# CHECK-NEXT: 1 3 0.50 asr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 asr z0.b, p0/m, z0.b, z1.d
+# CHECK-NEXT: 1 3 0.50 asr z0.b, z0.b, #1
+# CHECK-NEXT: 1 3 0.50 asr z0.b, z1.b, z2.d
+# CHECK-NEXT: 1 3 0.50 asr z0.d, p0/m, z0.d, #1
+# CHECK-NEXT: 1 3 0.50 asr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 asr z0.d, z0.d, #1
+# CHECK-NEXT: 1 3 0.50 asr z0.h, p0/m, z0.h, #1
+# CHECK-NEXT: 1 3 0.50 asr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 3 0.50 asr z0.h, p0/m, z0.h, z1.d
+# CHECK-NEXT: 1 3 0.50 asr z0.h, z0.h, #1
+# CHECK-NEXT: 1 3 0.50 asr z0.h, z1.h, z2.d
+# CHECK-NEXT: 1 3 0.50 asr z0.s, p0/m, z0.s, #1
+# CHECK-NEXT: 1 3 0.50 asr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 3 0.50 asr z0.s, p0/m, z0.s, z1.d
+# CHECK-NEXT: 1 3 0.50 asr z0.s, z0.s, #1
+# CHECK-NEXT: 1 3 0.50 asr z0.s, z1.s, z2.d
+# CHECK-NEXT: 1 3 0.50 asr z31.b, p0/m, z31.b, #8
+# CHECK-NEXT: 1 3 0.50 asr z31.b, z31.b, #8
+# CHECK-NEXT: 1 3 0.50 asr z31.d, p0/m, z31.d, #64
+# CHECK-NEXT: 1 3 0.50 asr z31.d, z31.d, #64
+# CHECK-NEXT: 1 3 0.50 asr z31.h, p0/m, z31.h, #16
+# CHECK-NEXT: 1 3 0.50 asr z31.h, z31.h, #16
+# CHECK-NEXT: 1 3 0.50 asr z31.s, p0/m, z31.s, #32
+# CHECK-NEXT: 1 3 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
@@ -3570,10 +3570,10 @@ zip2 z31.s, z31.s, z31.s
# 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 3 0.50 asrr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 asrr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 asrr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 3 0.50 asrr z0.s, p0/m, z0.s, z0.s
# CHECK-NEXT: 1 3 0.50 bcax z29.d, z29.d, z30.d, z31.d
# CHECK-NEXT: 1 13 11.00 bdep z0.b, z1.b, z31.b
# CHECK-NEXT: 1 68 66.00 bdep z0.d, z1.d, z31.d
@@ -3625,12 +3625,12 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 2 1.00 brkns p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 2 1.00 brkpa p0.b, p15/z, p1.b, p2.b
# CHECK-NEXT: 1 2 1.00 brkpa p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: 1 4 1.00 brkpas p0.b, p15/z, p1.b, p2.b
-# CHECK-NEXT: 1 4 1.00 brkpas p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 brkpas p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: 1 2 1.00 brkpas p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 2 1.00 brkpb p0.b, p15/z, p1.b, p2.b
# CHECK-NEXT: 1 2 1.00 brkpb p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: 1 4 1.00 brkpbs p0.b, p15/z, p1.b, p2.b
-# CHECK-NEXT: 1 4 1.00 brkpbs p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 2 1.00 brkpbs p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: 1 2 1.00 brkpbs p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 3 0.50 bsl z0.d, z0.d, z1.d, z2.d
# CHECK-NEXT: 1 3 0.50 bsl1n z0.d, z0.d, z1.d, z2.d
# CHECK-NEXT: 1 3 0.50 bsl2n z0.d, z0.d, z1.d, z2.d
@@ -3656,10 +3656,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 clasta d0, p7, d0, z31.d
# CHECK-NEXT: 1 4 0.50 clasta h0, p7, h0, z31.h
# CHECK-NEXT: 1 4 0.50 clasta s0, p7, s0, z31.s
-# CHECK-NEXT: 1 4 0.50 clasta w0, p7, w0, z31.b
-# CHECK-NEXT: 1 4 0.50 clasta w0, p7, w0, z31.h
-# CHECK-NEXT: 1 4 0.50 clasta w0, p7, w0, z31.s
-# CHECK-NEXT: 1 4 0.50 clasta x0, p7, x0, z31.d
+# CHECK-NEXT: 1 4 2.00 clasta w0, p7, w0, z31.b
+# CHECK-NEXT: 1 4 2.00 clasta w0, p7, w0, z31.h
+# CHECK-NEXT: 1 4 2.00 clasta w0, p7, w0, z31.s
+# CHECK-NEXT: 1 4 2.00 clasta x0, p7, x0, z31.d
# CHECK-NEXT: 1 4 0.50 clasta z0.b, p7, z0.b, z31.b
# CHECK-NEXT: 1 4 0.50 clasta z0.d, p7, z0.d, z31.d
# CHECK-NEXT: 1 4 0.50 clasta z0.h, p7, z0.h, z31.h
@@ -3668,10 +3668,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 clastb d0, p7, d0, z31.d
# CHECK-NEXT: 1 4 0.50 clastb h0, p7, h0, z31.h
# CHECK-NEXT: 1 4 0.50 clastb s0, p7, s0, z31.s
-# CHECK-NEXT: 1 4 0.50 clastb w0, p7, w0, z31.b
-# CHECK-NEXT: 1 4 0.50 clastb w0, p7, w0, z31.h
-# CHECK-NEXT: 1 4 0.50 clastb w0, p7, w0, z31.s
-# CHECK-NEXT: 1 4 0.50 clastb x0, p7, x0, z31.d
+# CHECK-NEXT: 1 4 2.00 clastb w0, p7, w0, z31.b
+# CHECK-NEXT: 1 4 2.00 clastb w0, p7, w0, z31.h
+# CHECK-NEXT: 1 4 2.00 clastb w0, p7, w0, z31.s
+# CHECK-NEXT: 1 4 2.00 clastb x0, p7, x0, z31.d
# CHECK-NEXT: 1 4 0.50 clastb z0.b, p7, z0.b, z31.b
# CHECK-NEXT: 1 4 0.50 clastb z0.d, p7, z0.d, z31.d
# CHECK-NEXT: 1 4 0.50 clastb z0.h, p7, z0.h, z31.h
@@ -3854,14 +3854,14 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 5 0.50 cmpne p0.s, p0/z, z0.s, #15
# CHECK-NEXT: 1 5 0.50 cmpne p0.s, p0/z, z0.s, z0.d
# CHECK-NEXT: 1 5 0.50 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 3 0.50 cnot z31.b, p7/m, z31.b
+# CHECK-NEXT: 1 3 0.50 cnot z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 3 0.50 cnot z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 3 0.50 cnot z31.s, p7/m, z31.s
# CHECK-NEXT: 1 3 0.50 cnt z31.b, p7/m, z31.b
-# CHECK-NEXT: 1 9 0.50 cnt z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 9 3.50 cnt z31.d, p7/m, z31.d
# CHECK-NEXT: 1 3 0.50 cnt z31.h, p7/m, z31.h
-# CHECK-NEXT: 1 6 0.50 cnt z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 6 2.00 cnt z31.s, p7/m, z31.s
# CHECK-NEXT: 1 1 0.50 cntb x0
# CHECK-NEXT: 1 1 0.50 cntb x0, #28
# CHECK-NEXT: 1 1 0.50 cntb x0, all, mul #16
@@ -3874,10 +3874,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 1 0.50 cnth x0, #28
# CHECK-NEXT: 1 1 0.50 cnth x0, all, mul #16
# CHECK-NEXT: 1 1 0.50 cnth x0, pow2
-# CHECK-NEXT: 1 4 1.00 cntp x0, p15, p0.b
-# CHECK-NEXT: 1 4 1.00 cntp x0, p15, p0.d
-# CHECK-NEXT: 1 4 1.00 cntp x0, p15, p0.h
-# CHECK-NEXT: 1 4 1.00 cntp x0, p15, p0.s
+# CHECK-NEXT: 1 1 1.00 cntp x0, p15, p0.b
+# CHECK-NEXT: 1 1 1.00 cntp x0, p15, p0.d
+# CHECK-NEXT: 1 1 1.00 cntp x0, p15, p0.h
+# CHECK-NEXT: 1 1 1.00 cntp x0, p15, p0.s
# CHECK-NEXT: 1 1 0.50 cntw x0
# CHECK-NEXT: 1 1 0.50 cntw x0, #28
# CHECK-NEXT: 1 1 0.50 cntw x0, all, mul #16
@@ -3907,17 +3907,17 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 dech x0, all, mul #16
# CHECK-NEXT: 1 3 0.50 dech x0, pow2
# CHECK-NEXT: 1 3 0.50 dech x0, vl1
-# CHECK-NEXT: 1 4 1.00 decp x0, p0.b
-# CHECK-NEXT: 1 4 1.00 decp x0, p0.d
-# CHECK-NEXT: 1 4 1.00 decp x0, p0.h
-# CHECK-NEXT: 1 4 1.00 decp x0, p0.s
-# CHECK-NEXT: 1 4 1.00 decp xzr, p15.b
-# CHECK-NEXT: 1 4 1.00 decp xzr, p15.d
-# CHECK-NEXT: 1 4 1.00 decp xzr, p15.h
-# CHECK-NEXT: 1 4 1.00 decp xzr, p15.s
-# CHECK-NEXT: 1 4 0.50 decp z31.d, p15.d
-# CHECK-NEXT: 1 4 0.50 decp z31.h, p15.h
-# CHECK-NEXT: 1 4 0.50 decp z31.s, p15.s
+# CHECK-NEXT: 1 1 1.00 decp x0, p0.b
+# CHECK-NEXT: 1 1 1.00 decp x0, p0.d
+# CHECK-NEXT: 1 1 1.00 decp x0, p0.h
+# CHECK-NEXT: 1 1 1.00 decp x0, p0.s
+# CHECK-NEXT: 1 1 1.00 decp xzr, p15.b
+# CHECK-NEXT: 1 1 1.00 decp xzr, p15.d
+# CHECK-NEXT: 1 1 1.00 decp xzr, p15.h
+# CHECK-NEXT: 1 1 1.00 decp xzr, p15.s
+# CHECK-NEXT: 1 3 1.00 decp z31.d, p15.d
+# CHECK-NEXT: 1 3 1.00 decp z31.h, p15.h
+# CHECK-NEXT: 1 3 1.00 decp z31.s, p15.s
# CHECK-NEXT: 1 3 0.50 decw x0
# CHECK-NEXT: 1 3 0.50 decw x0, #14
# CHECK-NEXT: 1 3 0.50 decw x0, all, mul #16
@@ -3966,18 +3966,18 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 fabs z31.d, p7/m, z31.d
# CHECK-NEXT: 1 4 0.50 fabs z31.h, p7/m, z31.h
# CHECK-NEXT: 1 4 0.50 fabs z31.s, p7/m, z31.s
-# CHECK-NEXT: 1 4 1.00 facge p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: 1 4 1.00 facge p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: 1 4 1.00 facge p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: 1 4 1.00 facge p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: 1 4 1.00 facge p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: 1 4 1.00 facge p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: 1 4 1.00 facgt p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: 1 4 1.00 facgt p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: 1 4 1.00 facgt p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: 1 4 1.00 facgt p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: 1 4 1.00 facgt p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: 1 4 1.00 facgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 4 0.50 facge p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 0.50 facge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 4 0.50 facge p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 facge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 4 0.50 facge p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 0.50 facge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 4 0.50 facgt p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 0.50 facgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 4 0.50 facgt p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 facgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 4 0.50 facgt p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 0.50 facgt p0.s, p0/z, z1.s, z0.s
# CHECK-NEXT: 1 4 0.50 fadd z0.d, p0/m, z0.d, #0.5
# CHECK-NEXT: 1 4 0.50 fadd z0.d, p7/m, z0.d, z31.d
# CHECK-NEXT: 1 4 0.50 fadd z0.d, z1.d, z31.d
@@ -3990,45 +3990,45 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 fadd z31.d, p7/m, z31.d, #1.0
# CHECK-NEXT: 1 4 0.50 fadd z31.h, p7/m, z31.h, #1.0
# CHECK-NEXT: 1 4 0.50 fadd z31.s, p7/m, z31.s, #1.0
-# CHECK-NEXT: 1 8 2.50 fadda d0, p7, d0, z31.d
-# CHECK-NEXT: 1 32 14.50 fadda h0, p7, h0, z31.h
-# CHECK-NEXT: 1 16 6.50 fadda s0, p7, s0, z31.s
+# CHECK-NEXT: 1 8 1.50 fadda d0, p7, d0, z31.d
+# CHECK-NEXT: 1 32 12.50 fadda h0, p7, h0, z31.h
+# CHECK-NEXT: 1 16 4.50 fadda s0, p7, s0, z31.s
# CHECK-NEXT: 1 4 0.50 faddp z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: 1 4 0.50 faddp z29.s, p3/m, z29.s, z30.s
# CHECK-NEXT: 1 4 0.50 faddp z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 4 1.00 faddv d0, p7, z31.d
-# CHECK-NEXT: 1 12 11.00 faddv h0, p7, z31.h
-# CHECK-NEXT: 1 8 5.00 faddv s0, p7, z31.s
+# CHECK-NEXT: 1 12 5.00 faddv h0, p7, z31.h
+# CHECK-NEXT: 1 8 3.00 faddv s0, p7, z31.s
# CHECK-NEXT: 1 4 0.50 fcadd z0.d, p0/m, z0.d, z0.d, #90
# CHECK-NEXT: 1 4 0.50 fcadd z0.h, p0/m, z0.h, z0.h, #90
# CHECK-NEXT: 1 4 0.50 fcadd z0.s, p0/m, z0.s, z0.s, #90
# CHECK-NEXT: 1 4 0.50 fcadd z31.d, p7/m, z31.d, z31.d, #270
# CHECK-NEXT: 1 4 0.50 fcadd z31.h, p7/m, z31.h, z31.h, #270
# CHECK-NEXT: 1 4 0.50 fcadd z31.s, p7/m, z31.s, z31.s, #270
-# CHECK-NEXT: 1 4 1.00 fcmeq p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: 1 4 1.00 fcmeq p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: 1 4 1.00 fcmeq p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: 1 4 1.00 fcmeq p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: 1 4 1.00 fcmeq p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: 1 4 1.00 fcmeq p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: 1 4 1.00 fcmge p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: 1 4 1.00 fcmge p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: 1 4 1.00 fcmge p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: 1 4 1.00 fcmge p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: 1 4 1.00 fcmge p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: 1 4 1.00 fcmge p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: 1 4 1.00 fcmge p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: 1 4 1.00 fcmge p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: 1 4 1.00 fcmge p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: 1 4 1.00 fcmgt p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: 1 4 1.00 fcmgt p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: 1 4 1.00 fcmgt p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: 1 4 1.00 fcmgt p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: 1 4 1.00 fcmgt p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: 1 4 1.00 fcmgt p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: 1 4 1.00 fcmgt p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: 1 4 1.00 fcmgt p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: 1 4 1.00 fcmgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 4 0.50 fcmeq p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmeq p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 0.50 fcmeq p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmeq p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 fcmeq p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmeq p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 0.50 fcmge p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmge p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 0.50 fcmge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 4 0.50 fcmge p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmge p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 fcmge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 4 0.50 fcmge p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmge p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 0.50 fcmge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 4 0.50 fcmgt p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmgt p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 0.50 fcmgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 4 0.50 fcmgt p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmgt p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 fcmgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 4 0.50 fcmgt p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmgt p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 0.50 fcmgt p0.s, p0/z, z1.s, z0.s
# CHECK-NEXT: 1 4 0.50 fcmla z0.d, p0/m, z0.d, z0.d, #0
# CHECK-NEXT: 1 4 0.50 fcmla z0.d, p0/m, z1.d, z2.d, #90
# CHECK-NEXT: 1 4 0.50 fcmla z0.h, p0/m, z0.h, z0.h, #0
@@ -4045,21 +4045,21 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 fcmla z31.h, p7/m, z31.h, z31.h, #270
# CHECK-NEXT: 1 4 0.50 fcmla z31.h, z31.h, z7.h[3], #270
# CHECK-NEXT: 1 4 0.50 fcmla z31.s, p7/m, z31.s, z31.s, #270
-# CHECK-NEXT: 1 4 1.00 fcmle p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: 1 4 1.00 fcmle p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: 1 4 1.00 fcmle p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: 1 4 1.00 fcmlt p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: 1 4 1.00 fcmlt p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: 1 4 1.00 fcmlt p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: 1 4 1.00 fcmne p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: 1 4 1.00 fcmne p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: 1 4 1.00 fcmne p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: 1 4 1.00 fcmne p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: 1 4 1.00 fcmne p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: 1 4 1.00 fcmne p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: 1 4 1.00 fcmuo p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: 1 4 1.00 fcmuo p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: 1 4 1.00 fcmuo p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 0.50 fcmle p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmle p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmle p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmlt p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmlt p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmlt p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmne p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmne p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 0.50 fcmne p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmne p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 fcmne p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: 1 4 0.50 fcmne p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 0.50 fcmuo p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 0.50 fcmuo p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 fcmuo p0.s, p0/z, z0.s, z1.s
# CHECK-NEXT: 1 4 0.50 fcvt z0.d, p0/m, z0.h
# CHECK-NEXT: 1 4 0.50 fcvt z0.d, p0/m, z0.s
# CHECK-NEXT: 1 4 0.50 fcvt z0.h, p0/m, z0.d
@@ -4306,9 +4306,9 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 ftssel z0.d, z1.d, z31.d
# CHECK-NEXT: 1 3 0.50 ftssel z0.h, z1.h, z31.h
# CHECK-NEXT: 1 3 0.50 ftssel z0.s, z1.s, z31.s
-# CHECK-NEXT: 1 6 2.00 histcnt z0.s, p0/z, z1.s, z2.s
-# CHECK-NEXT: 1 6 2.00 histcnt z29.d, p7/z, z30.d, z31.d
-# CHECK-NEXT: 1 6 2.00 histseg z0.b, z1.b, z31.b
+# CHECK-NEXT: 1 6 4.00 histcnt z0.s, p0/z, z1.s, z2.s
+# CHECK-NEXT: 1 6 4.00 histcnt z29.d, p7/z, z30.d, z31.d
+# CHECK-NEXT: 1 6 4.00 histseg z0.b, z1.b, z31.b
# CHECK-NEXT: 1 3 0.50 incb x0
# CHECK-NEXT: 1 3 0.50 incb x0, #14
# CHECK-NEXT: 1 3 0.50 incb x0, all, mul #16
@@ -4328,17 +4328,17 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 inch x0, vl1
# CHECK-NEXT: 1 4 0.50 inch z0.h
# CHECK-NEXT: 1 4 0.50 inch z0.h, all, mul #16
-# CHECK-NEXT: 1 4 1.00 incp x0, p0.b
-# CHECK-NEXT: 1 4 1.00 incp x0, p0.d
-# CHECK-NEXT: 1 4 1.00 incp x0, p0.h
-# CHECK-NEXT: 1 4 1.00 incp x0, p0.s
-# CHECK-NEXT: 1 4 1.00 incp xzr, p15.b
-# CHECK-NEXT: 1 4 1.00 incp xzr, p15.d
-# CHECK-NEXT: 1 4 1.00 incp xzr, p15.h
-# CHECK-NEXT: 1 4 1.00 incp xzr, p15.s
-# CHECK-NEXT: 1 4 0.50 incp z31.d, p15.d
-# CHECK-NEXT: 1 4 0.50 incp z31.h, p15.h
-# CHECK-NEXT: 1 4 0.50 incp z31.s, p15.s
+# CHECK-NEXT: 1 1 1.00 incp x0, p0.b
+# CHECK-NEXT: 1 1 1.00 incp x0, p0.d
+# CHECK-NEXT: 1 1 1.00 incp x0, p0.h
+# CHECK-NEXT: 1 1 1.00 incp x0, p0.s
+# CHECK-NEXT: 1 1 1.00 incp xzr, p15.b
+# CHECK-NEXT: 1 1 1.00 incp xzr, p15.d
+# CHECK-NEXT: 1 1 1.00 incp xzr, p15.h
+# CHECK-NEXT: 1 1 1.00 incp xzr, p15.s
+# CHECK-NEXT: 1 3 1.00 incp z31.d, p15.d
+# CHECK-NEXT: 1 3 1.00 incp z31.h, p15.h
+# CHECK-NEXT: 1 3 1.00 incp z31.s, p15.s
# CHECK-NEXT: 1 3 0.50 incw x0
# CHECK-NEXT: 1 3 0.50 incw x0, #14
# CHECK-NEXT: 1 3 0.50 incw x0, all, mul #16
@@ -4378,18 +4378,18 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 index z31.s, #-1, wzr
# CHECK-NEXT: 1 4 0.50 index z31.s, wzr, #-1
# CHECK-NEXT: 1 4 0.50 index z31.s, wzr, wzr
-# CHECK-NEXT: 1 8 2.00 insr z0.b, w0
-# CHECK-NEXT: 1 8 2.00 insr z0.d, x0
-# CHECK-NEXT: 1 8 2.00 insr z0.h, w0
-# CHECK-NEXT: 1 8 2.00 insr z0.s, w0
+# CHECK-NEXT: 1 4 0.50 insr z0.b, w0
+# CHECK-NEXT: 1 4 0.50 insr z0.d, x0
+# CHECK-NEXT: 1 4 0.50 insr z0.h, w0
+# CHECK-NEXT: 1 4 0.50 insr z0.s, w0
# CHECK-NEXT: 1 4 0.50 insr z31.b, b31
-# CHECK-NEXT: 1 8 2.00 insr z31.b, wzr
+# CHECK-NEXT: 1 4 0.50 insr z31.b, wzr
# CHECK-NEXT: 1 4 0.50 insr z31.d, d31
-# CHECK-NEXT: 1 8 2.00 insr z31.d, xzr
+# CHECK-NEXT: 1 4 0.50 insr z31.d, xzr
# CHECK-NEXT: 1 4 0.50 insr z31.h, h31
-# CHECK-NEXT: 1 8 2.00 insr z31.h, wzr
+# CHECK-NEXT: 1 4 0.50 insr z31.h, wzr
# CHECK-NEXT: 1 4 0.50 insr z31.s, s31
-# CHECK-NEXT: 1 8 2.00 insr z31.s, wzr
+# CHECK-NEXT: 1 4 0.50 insr z31.s, wzr
# CHECK-NEXT: 1 4 0.50 lasta b0, p7, z31.b
# CHECK-NEXT: 1 4 0.50 lasta d0, p7, z31.d
# CHECK-NEXT: 1 4 0.50 lasta h0, p7, z31.h
@@ -4410,66 +4410,66 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 * ld1b { z0.b }, p0/z, [x0, x0]
# CHECK-NEXT: 1 3 0.50 * ld1b { z0.b }, p0/z, [x0]
# CHECK-NEXT: 1 3 0.50 * ld1b { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 7 7.00 * ld1b { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 7 6.00 * ld1b { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: 1 3 0.50 * ld1b { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 1 7 3.50 * ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 7 3.50 * ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 7 3.00 * ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.00 * ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: 1 3 0.50 * ld1b { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 9 9.00 * ld1b { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 9 7.00 * ld1b { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: 1 3 0.50 * ld1b { z21.b }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 3 0.50 * ld1b { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 7 7.00 * ld1b { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 7 7.00 * ld1b { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1b { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1b { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 3 0.50 * ld1b { z21.h }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 3 0.50 * ld1b { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 3 0.50 * ld1b { z21.s }, p5/z, [x10, x21]
# CHECK-NEXT: 1 3 0.50 * ld1b { z23.d }, p3/z, [x13, x8]
# CHECK-NEXT: 1 3 0.50 * ld1b { z31.b }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: 1 3 0.50 * ld1b { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 7 7.00 * ld1b { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 7 7.00 * ld1b { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: 1 7 6.00 * ld1b { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 6.00 * ld1b { z31.d }, p7/z, [z31.d, #31]
# CHECK-NEXT: 1 3 0.50 * ld1b { z31.h }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: 1 3 0.50 * ld1b { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 9 9.00 * ld1b { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: 1 9 7.00 * ld1b { z31.s }, p7/z, [z31.s, #31]
# CHECK-NEXT: 1 3 0.50 * ld1b { z5.h }, p3/z, [x17, x16]
-# CHECK-NEXT: 1 7 7.00 * ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
-# CHECK-NEXT: 1 7 7.00 * ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+# CHECK-NEXT: 1 7 6.00 * ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+# CHECK-NEXT: 1 7 6.00 * ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
# CHECK-NEXT: 1 3 0.50 * ld1d { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 7 7.00 * ld1d { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 7 6.00 * ld1d { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: 1 3 0.50 * ld1d { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 7 7.00 * ld1d { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 7 7.00 * ld1d { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1d { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1d { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 3 0.50 * ld1d { z23.d }, p3/z, [sp, x8, lsl #3]
# CHECK-NEXT: 1 3 0.50 * ld1d { z23.d }, p3/z, [x13, x8, lsl #3]
-# CHECK-NEXT: 1 7 7.00 * ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
+# CHECK-NEXT: 1 7 6.00 * ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
# CHECK-NEXT: 1 3 0.50 * ld1d { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 7 7.00 * ld1d { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 7 7.00 * ld1d { z31.d }, p7/z, [z31.d, #248]
-# CHECK-NEXT: 1 7 7.00 * ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-# CHECK-NEXT: 1 7 7.00 * ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: 1 7 6.00 * ld1d { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 6.00 * ld1d { z31.d }, p7/z, [z31.d, #248]
+# CHECK-NEXT: 1 7 6.00 * ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: 1 7 6.00 * ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
# CHECK-NEXT: 1 3 0.50 * ld1h { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 7 7.00 * ld1h { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 7 6.00 * ld1h { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: 1 3 0.50 * ld1h { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 1 7 3.50 * ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 7 3.50 * ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 7 3.00 * ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.00 * ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: 1 3 0.50 * ld1h { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 9 9.00 * ld1h { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 9 7.00 * ld1h { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: 1 3 0.50 * ld1h { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 7 7.00 * ld1h { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 7 7.00 * ld1h { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1h { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1h { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 3 0.50 * ld1h { z21.h }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 3 0.50 * ld1h { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 3 0.50 * ld1h { z21.s }, p5/z, [x10, x21, lsl #1]
# CHECK-NEXT: 1 3 0.50 * ld1h { z23.d }, p3/z, [x13, x8, lsl #1]
-# CHECK-NEXT: 1 7 7.00 * ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: 1 7 6.00 * ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
# CHECK-NEXT: 1 3 0.50 * ld1h { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 7 7.00 * ld1h { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 7 7.00 * ld1h { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: 1 7 6.00 * ld1h { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 6.00 * ld1h { z31.d }, p7/z, [z31.d, #62]
# CHECK-NEXT: 1 3 0.50 * ld1h { z31.h }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: 1 3 0.50 * ld1h { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: 1 7 3.50 * ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
# CHECK-NEXT: 1 7 3.50 * ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-# CHECK-NEXT: 1 9 9.00 * ld1h { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: 1 9 7.00 * ld1h { z31.s }, p7/z, [z31.s, #62]
# CHECK-NEXT: 1 3 0.50 * ld1h { z5.h }, p3/z, [sp, x16, lsl #1]
# CHECK-NEXT: 1 3 0.50 * ld1h { z5.h }, p3/z, [x17, x16, lsl #1]
# CHECK-NEXT: 1 3 0.50 * ld1rb { z0.b }, p0/z, [x0]
@@ -4525,85 +4525,85 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 * ld1rw { z31.d }, p7/z, [sp, #252]
# CHECK-NEXT: 1 3 0.50 * ld1rw { z31.s }, p7/z, [sp, #252]
# CHECK-NEXT: 1 3 0.50 * ld1sb { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 7 7.00 * ld1sb { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 7 6.00 * ld1sb { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: 1 3 0.50 * ld1sb { z0.h }, p0/z, [sp, x0]
# CHECK-NEXT: 1 3 0.50 * ld1sb { z0.h }, p0/z, [x0, x0]
# CHECK-NEXT: 1 3 0.50 * ld1sb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 1 7 3.50 * ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.00 * ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
# CHECK-NEXT: 1 3 0.50 * ld1sb { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 9 9.00 * ld1sb { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 9 7.00 * ld1sb { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: 1 3 0.50 * ld1sb { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 7 7.00 * ld1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 7 7.00 * ld1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 3 0.50 * ld1sb { z21.h }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 3 0.50 * ld1sb { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 3 0.50 * ld1sb { z21.s }, p5/z, [x10, x21]
# CHECK-NEXT: 1 3 0.50 * ld1sb { z23.d }, p3/z, [x13, x8]
# CHECK-NEXT: 1 3 0.50 * ld1sb { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 7 7.00 * ld1sb { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 7 7.00 * ld1sb { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: 1 7 6.00 * ld1sb { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 6.00 * ld1sb { z31.d }, p7/z, [z31.d, #31]
# CHECK-NEXT: 1 3 0.50 * ld1sb { z31.h }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: 1 3 0.50 * ld1sb { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 9 9.00 * ld1sb { z31.s }, p7/z, [z31.s, #31]
-# CHECK-NEXT: 1 7 7.00 * ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-# CHECK-NEXT: 1 7 7.00 * ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: 1 9 7.00 * ld1sb { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: 1 7 6.00 * ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: 1 7 6.00 * ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
# CHECK-NEXT: 1 3 0.50 * ld1sh { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 7 7.00 * ld1sh { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 7 3.50 * ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 7 3.50 * ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1sh { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 7 3.00 * ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.00 * ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: 1 3 0.50 * ld1sh { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 9 9.00 * ld1sh { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 9 7.00 * ld1sh { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: 1 3 0.50 * ld1sh { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 7 7.00 * ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 7 7.00 * ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 3 0.50 * ld1sh { z21.s }, p5/z, [sp, x21, lsl #1]
# CHECK-NEXT: 1 3 0.50 * ld1sh { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 3 0.50 * ld1sh { z21.s }, p5/z, [x10, x21, lsl #1]
# CHECK-NEXT: 1 3 0.50 * ld1sh { z23.d }, p3/z, [x13, x8, lsl #1]
-# CHECK-NEXT: 1 7 7.00 * ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: 1 7 6.00 * ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
# CHECK-NEXT: 1 3 0.50 * ld1sh { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 7 7.00 * ld1sh { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 7 7.00 * ld1sh { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: 1 7 6.00 * ld1sh { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 6.00 * ld1sh { z31.d }, p7/z, [z31.d, #62]
# CHECK-NEXT: 1 3 0.50 * ld1sh { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: 1 7 3.50 * ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
# CHECK-NEXT: 1 7 3.50 * ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-# CHECK-NEXT: 1 9 9.00 * ld1sh { z31.s }, p7/z, [z31.s, #62]
-# CHECK-NEXT: 1 7 7.00 * ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-# CHECK-NEXT: 1 7 7.00 * ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: 1 9 7.00 * ld1sh { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: 1 7 6.00 * ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: 1 7 6.00 * ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
# CHECK-NEXT: 1 3 0.50 * ld1sw { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 7 7.00 * ld1sw { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 7 6.00 * ld1sw { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: 1 3 0.50 * ld1sw { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 7 7.00 * ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 7 7.00 * ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 3 0.50 * ld1sw { z23.d }, p3/z, [sp, x8, lsl #2]
# CHECK-NEXT: 1 3 0.50 * ld1sw { z23.d }, p3/z, [x13, x8, lsl #2]
-# CHECK-NEXT: 1 7 7.00 * ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: 1 7 6.00 * ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
# CHECK-NEXT: 1 3 0.50 * ld1sw { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 7 7.00 * ld1sw { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 7 7.00 * ld1sw { z31.d }, p7/z, [z31.d, #124]
-# CHECK-NEXT: 1 7 7.00 * ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-# CHECK-NEXT: 1 7 7.00 * ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: 1 7 6.00 * ld1sw { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 6.00 * ld1sw { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: 1 7 6.00 * ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: 1 7 6.00 * ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
# CHECK-NEXT: 1 3 0.50 * ld1w { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 7 7.00 * ld1w { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 7 3.50 * ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 7 3.50 * ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1w { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 7 3.00 * ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.00 * ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: 1 3 0.50 * ld1w { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 9 9.00 * ld1w { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 9 7.00 * ld1w { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: 1 3 0.50 * ld1w { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 7 7.00 * ld1w { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 7 7.00 * ld1w { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1w { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1w { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 3 0.50 * ld1w { z21.s }, p5/z, [sp, x21, lsl #2]
# CHECK-NEXT: 1 3 0.50 * ld1w { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 3 0.50 * ld1w { z21.s }, p5/z, [x10, x21, lsl #2]
# CHECK-NEXT: 1 3 0.50 * ld1w { z23.d }, p3/z, [x13, x8, lsl #2]
-# CHECK-NEXT: 1 7 7.00 * ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: 1 7 6.00 * ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
# CHECK-NEXT: 1 3 0.50 * ld1w { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 7 7.00 * ld1w { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 7 7.00 * ld1w { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: 1 7 6.00 * ld1w { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 6.00 * ld1w { z31.d }, p7/z, [z31.d, #124]
# CHECK-NEXT: 1 3 0.50 * ld1w { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: 1 7 3.50 * ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
# CHECK-NEXT: 1 7 3.50 * ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
-# CHECK-NEXT: 1 9 9.00 * ld1w { z31.s }, p7/z, [z31.s, #124]
+# CHECK-NEXT: 1 9 7.00 * ld1w { z31.s }, p7/z, [z31.s, #124]
# CHECK-NEXT: 1 3 2.00 * ld2b { z0.b, z1.b }, p0/z, [x0, x0]
# CHECK-NEXT: 1 3 1.00 * ld2b { z0.b, z1.b }, p0/z, [x0]
# CHECK-NEXT: 1 3 1.00 * ld2b { z21.b, z22.b }, p5/z, [x10, #10, mul vl]
@@ -4624,153 +4624,153 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 1.00 * ld2w { z21.s, z22.s }, p5/z, [x10, #10, mul vl]
# CHECK-NEXT: 1 3 1.00 * ld2w { z23.s, z24.s }, p3/z, [x13, #-16, mul vl]
# CHECK-NEXT: 1 3 2.00 * ld2w { z5.s, z6.s }, p3/z, [x17, x16, lsl #2]
-# CHECK-NEXT: 1 5 3.00 * ld3b { z0.b - z2.b }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 5 4.00 * ld3b { z0.b - z2.b }, p0/z, [x0, x0]
# CHECK-NEXT: 1 5 3.00 * ld3b { z0.b - z2.b }, p0/z, [x0]
# CHECK-NEXT: 1 5 3.00 * ld3b { z21.b - z23.b }, p5/z, [x10, #15, mul vl]
# CHECK-NEXT: 1 5 3.00 * ld3b { z23.b - z25.b }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: 1 5 3.00 * ld3b { z5.b - z7.b }, p3/z, [x17, x16]
-# CHECK-NEXT: 1 5 3.00 * ld3d { z0.d - z2.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: 1 5 4.00 * ld3b { z5.b - z7.b }, p3/z, [x17, x16]
+# CHECK-NEXT: 1 5 4.00 * ld3d { z0.d - z2.d }, p0/z, [x0, x0, lsl #3]
# CHECK-NEXT: 1 5 3.00 * ld3d { z0.d - z2.d }, p0/z, [x0]
# CHECK-NEXT: 1 5 3.00 * ld3d { z21.d - z23.d }, p5/z, [x10, #15, mul vl]
# CHECK-NEXT: 1 5 3.00 * ld3d { z23.d - z25.d }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: 1 5 3.00 * ld3d { z5.d - z7.d }, p3/z, [x17, x16, lsl #3]
-# CHECK-NEXT: 1 5 3.00 * ld3h { z0.h - z2.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 5 4.00 * ld3d { z5.d - z7.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: 1 5 4.00 * ld3h { z0.h - z2.h }, p0/z, [x0, x0, lsl #1]
# CHECK-NEXT: 1 5 3.00 * ld3h { z0.h - z2.h }, p0/z, [x0]
# CHECK-NEXT: 1 5 3.00 * ld3h { z21.h - z23.h }, p5/z, [x10, #15, mul vl]
# CHECK-NEXT: 1 5 3.00 * ld3h { z23.h - z25.h }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: 1 5 3.00 * ld3h { z5.h - z7.h }, p3/z, [x17, x16, lsl #1]
-# CHECK-NEXT: 1 5 3.00 * ld3w { z0.s - z2.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 5 4.00 * ld3h { z5.h - z7.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: 1 5 4.00 * ld3w { z0.s - z2.s }, p0/z, [x0, x0, lsl #2]
# CHECK-NEXT: 1 5 3.00 * ld3w { z0.s - z2.s }, p0/z, [x0]
# CHECK-NEXT: 1 5 3.00 * ld3w { z21.s - z23.s }, p5/z, [x10, #15, mul vl]
# CHECK-NEXT: 1 5 3.00 * ld3w { z23.s - z25.s }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: 1 5 3.00 * ld3w { z5.s - z7.s }, p3/z, [x17, x16, lsl #2]
-# CHECK-NEXT: 1 5 3.00 * ld4b { z0.b - z3.b }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 5 4.00 * ld3w { z5.s - z7.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: 1 5 4.00 * ld4b { z0.b - z3.b }, p0/z, [x0, x0]
# CHECK-NEXT: 1 5 3.00 * ld4b { z0.b - z3.b }, p0/z, [x0]
# CHECK-NEXT: 1 5 3.00 * ld4b { z21.b - z24.b }, p5/z, [x10, #20, mul vl]
# CHECK-NEXT: 1 5 3.00 * ld4b { z23.b - z26.b }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: 1 5 3.00 * ld4b { z5.b - z8.b }, p3/z, [x17, x16]
-# CHECK-NEXT: 1 5 3.00 * ld4d { z0.d - z3.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: 1 5 4.00 * ld4b { z5.b - z8.b }, p3/z, [x17, x16]
+# CHECK-NEXT: 1 5 4.00 * ld4d { z0.d - z3.d }, p0/z, [x0, x0, lsl #3]
# CHECK-NEXT: 1 5 3.00 * ld4d { z0.d - z3.d }, p0/z, [x0]
# CHECK-NEXT: 1 5 3.00 * ld4d { z21.d - z24.d }, p5/z, [x10, #20, mul vl]
# CHECK-NEXT: 1 5 3.00 * ld4d { z23.d - z26.d }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: 1 5 3.00 * ld4d { z5.d - z8.d }, p3/z, [x17, x16, lsl #3]
-# CHECK-NEXT: 1 5 3.00 * ld4h { z0.h - z3.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 5 4.00 * ld4d { z5.d - z8.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: 1 5 4.00 * ld4h { z0.h - z3.h }, p0/z, [x0, x0, lsl #1]
# CHECK-NEXT: 1 5 3.00 * ld4h { z0.h - z3.h }, p0/z, [x0]
# CHECK-NEXT: 1 5 3.00 * ld4h { z21.h - z24.h }, p5/z, [x10, #20, mul vl]
# CHECK-NEXT: 1 5 3.00 * ld4h { z23.h - z26.h }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: 1 5 3.00 * ld4h { z5.h - z8.h }, p3/z, [x17, x16, lsl #1]
-# CHECK-NEXT: 1 5 3.00 * ld4w { z0.s - z3.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 5 4.00 * ld4h { z5.h - z8.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: 1 5 4.00 * ld4w { z0.s - z3.s }, p0/z, [x0, x0, lsl #2]
# CHECK-NEXT: 1 5 3.00 * ld4w { z0.s - z3.s }, p0/z, [x0]
# CHECK-NEXT: 1 5 3.00 * ld4w { z21.s - z24.s }, p5/z, [x10, #20, mul vl]
# CHECK-NEXT: 1 5 3.00 * ld4w { z23.s - z26.s }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: 1 5 3.00 * ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: 1 5 4.00 * ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2]
# CHECK-NEXT: 1 3 0.50 * U ldff1b { z0.d }, p0/z, [x0, x0]
-# CHECK-NEXT: 1 7 7.00 * U ldff1b { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 7 6.00 * U ldff1b { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: 1 3 0.50 * U ldff1b { z0.h }, p0/z, [x0, x0]
# CHECK-NEXT: 1 3 0.50 * U ldff1b { z0.s }, p0/z, [x0, x0]
-# CHECK-NEXT: 1 7 3.50 * U ldff1b { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 7 3.50 * U ldff1b { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: 1 9 9.00 * U ldff1b { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 7 7.00 * U ldff1b { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 7 7.00 * U ldff1b { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 3.00 * U ldff1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.00 * U ldff1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 9 7.00 * U ldff1b { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 7 6.00 * U ldff1b { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 6.00 * U ldff1b { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 3 0.50 * U ldff1b { z31.b }, p7/z, [sp]
-# CHECK-NEXT: 1 7 7.00 * U ldff1b { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 6.00 * U ldff1b { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: 1 3 0.50 * U ldff1b { z31.d }, p7/z, [sp]
-# CHECK-NEXT: 1 7 7.00 * U ldff1b { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: 1 7 6.00 * U ldff1b { z31.d }, p7/z, [z31.d, #31]
# CHECK-NEXT: 1 3 0.50 * U ldff1b { z31.h }, p7/z, [sp]
# CHECK-NEXT: 1 3 0.50 * U ldff1b { z31.s }, p7/z, [sp]
-# CHECK-NEXT: 1 9 9.00 * U ldff1b { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: 1 9 7.00 * U ldff1b { z31.s }, p7/z, [z31.s, #31]
# CHECK-NEXT: 1 3 0.50 * U ldff1d { z0.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: 1 7 7.00 * U ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
-# CHECK-NEXT: 1 7 7.00 * U ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
-# CHECK-NEXT: 1 7 7.00 * U ldff1d { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 7 7.00 * U ldff1d { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 7 7.00 * U ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 7 7.00 * U ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
-# CHECK-NEXT: 1 7 7.00 * U ldff1d { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 6.00 * U ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+# CHECK-NEXT: 1 7 6.00 * U ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+# CHECK-NEXT: 1 7 6.00 * U ldff1d { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 7 6.00 * U ldff1d { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 6.00 * U ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 6.00 * U ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
+# CHECK-NEXT: 1 7 6.00 * U ldff1d { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: 1 3 0.50 * U ldff1d { z31.d }, p7/z, [sp]
-# CHECK-NEXT: 1 7 7.00 * U ldff1d { z31.d }, p7/z, [z31.d, #248]
+# CHECK-NEXT: 1 7 6.00 * U ldff1d { z31.d }, p7/z, [z31.d, #248]
# CHECK-NEXT: 1 3 0.50 * U ldff1h { z0.d }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: 1 7 7.00 * U ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-# CHECK-NEXT: 1 7 7.00 * U ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: 1 7 7.00 * U ldff1h { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 7 6.00 * U ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: 1 7 6.00 * U ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: 1 7 6.00 * U ldff1h { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: 1 3 0.50 * U ldff1h { z0.h }, p0/z, [x0, x0, lsl #1]
# CHECK-NEXT: 1 3 0.50 * U ldff1h { z0.s }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: 1 7 3.50 * U ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 7 3.50 * U ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: 1 9 9.00 * U ldff1h { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 7 7.00 * U ldff1h { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 7 7.00 * U ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 7 7.00 * U ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
-# CHECK-NEXT: 1 7 7.00 * U ldff1h { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 3.00 * U ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.00 * U ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 9 7.00 * U ldff1h { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 7 6.00 * U ldff1h { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 6.00 * U ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 6.00 * U ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: 1 7 6.00 * U ldff1h { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: 1 3 0.50 * U ldff1h { z31.d }, p7/z, [sp]
-# CHECK-NEXT: 1 7 7.00 * U ldff1h { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: 1 7 6.00 * U ldff1h { z31.d }, p7/z, [z31.d, #62]
# CHECK-NEXT: 1 3 0.50 * U ldff1h { z31.h }, p7/z, [sp]
# CHECK-NEXT: 1 7 3.50 * U ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
# CHECK-NEXT: 1 7 3.50 * U ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
# CHECK-NEXT: 1 3 0.50 * U ldff1h { z31.s }, p7/z, [sp]
-# CHECK-NEXT: 1 9 9.00 * U ldff1h { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: 1 9 7.00 * U ldff1h { z31.s }, p7/z, [z31.s, #62]
# CHECK-NEXT: 1 3 0.50 * U ldff1sb { z0.d }, p0/z, [x0, x0]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sb { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sb { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: 1 3 0.50 * U ldff1sb { z0.h }, p0/z, [x0, x0]
# CHECK-NEXT: 1 3 0.50 * U ldff1sb { z0.s }, p0/z, [x0, x0]
-# CHECK-NEXT: 1 7 3.50 * U ldff1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 7 3.50 * U ldff1sb { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: 1 9 9.00 * U ldff1sb { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sb { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 3.00 * U ldff1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.00 * U ldff1sb { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 9 7.00 * U ldff1sb { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sb { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: 1 3 0.50 * U ldff1sb { z31.d }, p7/z, [sp]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sb { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sb { z31.d }, p7/z, [z31.d, #31]
# CHECK-NEXT: 1 3 0.50 * U ldff1sb { z31.h }, p7/z, [sp]
# CHECK-NEXT: 1 3 0.50 * U ldff1sb { z31.s }, p7/z, [sp]
-# CHECK-NEXT: 1 9 9.00 * U ldff1sb { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: 1 9 7.00 * U ldff1sb { z31.s }, p7/z, [z31.s, #31]
# CHECK-NEXT: 1 3 0.50 * U ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sh { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sh { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: 1 3 0.50 * U ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: 1 7 3.50 * U ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 7 3.50 * U ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: 1 9 9.00 * U ldff1sh { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sh { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 3.00 * U ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.00 * U ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 9 7.00 * U ldff1sh { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sh { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: 1 3 0.50 * U ldff1sh { z31.d }, p7/z, [sp]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sh { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sh { z31.d }, p7/z, [z31.d, #62]
# CHECK-NEXT: 1 7 3.50 * U ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
# CHECK-NEXT: 1 7 3.50 * U ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
# CHECK-NEXT: 1 3 0.50 * U ldff1sh { z31.s }, p7/z, [sp]
-# CHECK-NEXT: 1 9 9.00 * U ldff1sh { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: 1 9 7.00 * U ldff1sh { z31.s }, p7/z, [z31.s, #62]
# CHECK-NEXT: 1 3 0.50 * U ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sw { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sw { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sw { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sw { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: 1 3 0.50 * U ldff1sw { z31.d }, p7/z, [sp]
-# CHECK-NEXT: 1 7 7.00 * U ldff1sw { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sw { z31.d }, p7/z, [z31.d, #124]
# CHECK-NEXT: 1 3 0.50 * U ldff1w { z0.d }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: 1 7 7.00 * U ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-# CHECK-NEXT: 1 7 7.00 * U ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: 1 7 7.00 * U ldff1w { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 7 6.00 * U ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: 1 7 6.00 * U ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: 1 7 6.00 * U ldff1w { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: 1 3 0.50 * U ldff1w { z0.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: 1 7 3.50 * U ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 7 3.50 * U ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: 1 9 9.00 * U ldff1w { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 7 7.00 * U ldff1w { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 7 7.00 * U ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 7 7.00 * U ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
-# CHECK-NEXT: 1 7 7.00 * U ldff1w { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 7 3.00 * U ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 3.00 * U ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 9 7.00 * U ldff1w { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 7 6.00 * U ldff1w { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 7 6.00 * U ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 7 6.00 * U ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: 1 7 6.00 * U ldff1w { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: 1 3 0.50 * U ldff1w { z31.d }, p7/z, [sp]
-# CHECK-NEXT: 1 7 7.00 * U ldff1w { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: 1 7 6.00 * U ldff1w { z31.d }, p7/z, [z31.d, #124]
# CHECK-NEXT: 1 7 3.50 * U ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
# CHECK-NEXT: 1 7 3.50 * U ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
# CHECK-NEXT: 1 3 0.50 * U ldff1w { z31.s }, p7/z, [sp]
-# CHECK-NEXT: 1 9 9.00 * U ldff1w { z31.s }, p7/z, [z31.s, #124]
+# CHECK-NEXT: 1 9 7.00 * U ldff1w { z31.s }, p7/z, [z31.s, #124]
# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z0.b }, p0/z, [x0]
# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z0.d }, p0/z, [x0]
# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z0.h }, p0/z, [x0]
@@ -4821,130 +4821,130 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 * U ldnf1w { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: 1 3 1.00 * ldnt1b { z0.b }, p0/z, [x0, x0]
# CHECK-NEXT: 1 3 1.00 * ldnt1b { z0.b }, p0/z, [x0]
-# CHECK-NEXT: 1 7 7.00 * ldnt1b { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: 1 9 9.00 * ldnt1b { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: 1 7 6.00 * ldnt1b { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: 1 9 7.00 * ldnt1b { z0.s }, p0/z, [z1.s]
# CHECK-NEXT: 1 3 1.00 * ldnt1b { z21.b }, p5/z, [x10, #7, mul vl]
# CHECK-NEXT: 1 3 1.00 * ldnt1b { z23.b }, p3/z, [x13, #-8, mul vl]
-# CHECK-NEXT: 1 7 7.00 * ldnt1b { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: 1 7 7.00 * ldnt1b { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: 1 9 9.00 * ldnt1b { z31.s }, p7/z, [z31.s, x0]
-# CHECK-NEXT: 1 9 9.00 * ldnt1b { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: 1 7 6.00 * ldnt1b { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: 1 7 6.00 * ldnt1b { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: 1 9 7.00 * ldnt1b { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: 1 9 7.00 * ldnt1b { z31.s }, p7/z, [z31.s]
# CHECK-NEXT: 1 3 1.00 * ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3]
# CHECK-NEXT: 1 3 1.00 * ldnt1d { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 7 7.00 * ldnt1d { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: 1 7 6.00 * ldnt1d { z0.d }, p0/z, [z1.d]
# CHECK-NEXT: 1 3 1.00 * ldnt1d { z21.d }, p5/z, [x10, #7, mul vl]
# CHECK-NEXT: 1 3 1.00 * ldnt1d { z23.d }, p3/z, [x13, #-8, mul vl]
-# CHECK-NEXT: 1 7 7.00 * ldnt1d { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: 1 7 7.00 * ldnt1d { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: 1 7 7.00 * ldnt1h { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: 1 7 6.00 * ldnt1d { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: 1 7 6.00 * ldnt1d { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: 1 7 6.00 * ldnt1h { z0.d }, p0/z, [z1.d]
# CHECK-NEXT: 1 3 1.00 * ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1]
# CHECK-NEXT: 1 3 1.00 * ldnt1h { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 1 9 9.00 * ldnt1h { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: 1 9 7.00 * ldnt1h { z0.s }, p0/z, [z1.s]
# CHECK-NEXT: 1 3 1.00 * ldnt1h { z21.h }, p5/z, [x10, #7, mul vl]
# CHECK-NEXT: 1 3 1.00 * ldnt1h { z23.h }, p3/z, [x13, #-8, mul vl]
-# CHECK-NEXT: 1 7 7.00 * ldnt1h { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: 1 7 7.00 * ldnt1h { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: 1 9 9.00 * ldnt1h { z31.s }, p7/z, [z31.s, x0]
-# CHECK-NEXT: 1 9 9.00 * ldnt1h { z31.s }, p7/z, [z31.s]
-# CHECK-NEXT: 1 7 7.00 * ldnt1sb { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: 1 9 9.00 * ldnt1sb { z0.s }, p0/z, [z1.s]
-# CHECK-NEXT: 1 7 7.00 * ldnt1sb { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: 1 7 7.00 * ldnt1sb { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: 1 9 9.00 * ldnt1sb { z31.s }, p7/z, [z31.s, x0]
-# CHECK-NEXT: 1 9 9.00 * ldnt1sb { z31.s }, p7/z, [z31.s]
-# CHECK-NEXT: 1 7 7.00 * ldnt1sh { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: 1 9 9.00 * ldnt1sh { z0.s }, p0/z, [z1.s]
-# CHECK-NEXT: 1 7 7.00 * ldnt1sh { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: 1 7 7.00 * ldnt1sh { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: 1 9 9.00 * ldnt1sh { z31.s }, p7/z, [z31.s, x0]
-# CHECK-NEXT: 1 9 9.00 * ldnt1sh { z31.s }, p7/z, [z31.s]
-# CHECK-NEXT: 1 7 7.00 * ldnt1sw { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: 1 7 7.00 * ldnt1sw { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: 1 7 7.00 * ldnt1sw { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: 1 7 7.00 * ldnt1w { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: 1 7 6.00 * ldnt1h { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: 1 7 6.00 * ldnt1h { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: 1 9 7.00 * ldnt1h { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: 1 9 7.00 * ldnt1h { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: 1 7 6.00 * ldnt1sb { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: 1 9 7.00 * ldnt1sb { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: 1 7 6.00 * ldnt1sb { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: 1 7 6.00 * ldnt1sb { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: 1 9 7.00 * ldnt1sb { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: 1 9 7.00 * ldnt1sb { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: 1 7 6.00 * ldnt1sh { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: 1 9 7.00 * ldnt1sh { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: 1 7 6.00 * ldnt1sh { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: 1 7 6.00 * ldnt1sh { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: 1 9 7.00 * ldnt1sh { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: 1 9 7.00 * ldnt1sh { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: 1 7 6.00 * ldnt1sw { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: 1 7 6.00 * ldnt1sw { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: 1 7 6.00 * ldnt1sw { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: 1 7 6.00 * ldnt1w { z0.d }, p0/z, [z1.d]
# CHECK-NEXT: 1 3 1.00 * ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2]
# CHECK-NEXT: 1 3 1.00 * ldnt1w { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 9 9.00 * ldnt1w { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: 1 9 7.00 * ldnt1w { z0.s }, p0/z, [z1.s]
# CHECK-NEXT: 1 3 1.00 * ldnt1w { z21.s }, p5/z, [x10, #7, mul vl]
# CHECK-NEXT: 1 3 1.00 * ldnt1w { z23.s }, p3/z, [x13, #-8, mul vl]
-# CHECK-NEXT: 1 7 7.00 * ldnt1w { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: 1 7 7.00 * ldnt1w { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: 1 9 9.00 * ldnt1w { z31.s }, p7/z, [z31.s, x0]
-# CHECK-NEXT: 1 9 9.00 * ldnt1w { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: 1 7 6.00 * ldnt1w { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: 1 7 6.00 * ldnt1w { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: 1 9 7.00 * ldnt1w { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: 1 9 7.00 * ldnt1w { z31.s }, p7/z, [z31.s]
# CHECK-NEXT: 1 3 1.00 * ldr p0, [x0]
# CHECK-NEXT: 1 3 1.00 * ldr p5, [x10, #255, mul vl]
# CHECK-NEXT: 1 3 1.00 * ldr p7, [x13, #-256, mul vl]
# CHECK-NEXT: 1 3 0.50 * ldr z0, [x0]
# CHECK-NEXT: 1 3 0.50 * ldr z23, [x13, #255, mul vl]
# CHECK-NEXT: 1 3 0.50 * ldr z31, [sp, #-256, mul vl]
-# CHECK-NEXT: 1 2 0.50 lsl z0.b, p0/m, z0.b, #0
-# CHECK-NEXT: 1 2 0.50 lsl z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: 1 2 0.50 lsl z0.b, p0/m, z0.b, z1.d
-# CHECK-NEXT: 1 2 0.50 lsl z0.b, z0.b, #0
-# CHECK-NEXT: 1 2 0.50 lsl z0.b, z1.b, z2.d
-# CHECK-NEXT: 1 2 0.50 lsl z0.d, p0/m, z0.d, #0
-# CHECK-NEXT: 1 2 0.50 lsl z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: 1 2 0.50 lsl z0.d, z0.d, #0
-# CHECK-NEXT: 1 2 0.50 lsl z0.h, p0/m, z0.h, #0
-# CHECK-NEXT: 1 2 0.50 lsl z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: 1 2 0.50 lsl z0.h, p0/m, z0.h, z1.d
-# CHECK-NEXT: 1 2 0.50 lsl z0.h, z0.h, #0
-# CHECK-NEXT: 1 2 0.50 lsl z0.h, z1.h, z2.d
-# CHECK-NEXT: 1 2 0.50 lsl z0.s, p0/m, z0.s, #0
-# CHECK-NEXT: 1 2 0.50 lsl z0.s, p0/m, z0.s, z0.s
-# CHECK-NEXT: 1 2 0.50 lsl z0.s, p0/m, z0.s, z1.d
-# CHECK-NEXT: 1 2 0.50 lsl z0.s, z0.s, #0
-# CHECK-NEXT: 1 2 0.50 lsl z0.s, z1.s, z2.d
-# CHECK-NEXT: 1 2 0.50 lsl z31.b, p0/m, z31.b, #7
-# CHECK-NEXT: 1 2 0.50 lsl z31.b, z31.b, #7
-# CHECK-NEXT: 1 2 0.50 lsl z31.d, p0/m, z31.d, #63
-# CHECK-NEXT: 1 2 0.50 lsl z31.d, z31.d, #63
-# CHECK-NEXT: 1 2 0.50 lsl z31.h, p0/m, z31.h, #15
-# CHECK-NEXT: 1 2 0.50 lsl z31.h, z31.h, #15
-# CHECK-NEXT: 1 2 0.50 lsl z31.s, p0/m, z31.s, #31
-# CHECK-NEXT: 1 2 0.50 lsl z31.s, z31.s, #31
-# CHECK-NEXT: 1 2 0.50 lslr z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: 1 2 0.50 lslr z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: 1 2 0.50 lslr z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: 1 2 0.50 lslr z0.s, p0/m, z0.s, z0.s
-# CHECK-NEXT: 1 2 0.50 lsr z0.b, p0/m, z0.b, #1
-# CHECK-NEXT: 1 2 0.50 lsr z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: 1 2 0.50 lsr z0.b, p0/m, z0.b, z1.d
-# CHECK-NEXT: 1 2 0.50 lsr z0.b, z0.b, #1
-# CHECK-NEXT: 1 2 0.50 lsr z0.b, z1.b, z2.d
-# CHECK-NEXT: 1 2 0.50 lsr z0.d, p0/m, z0.d, #1
-# CHECK-NEXT: 1 2 0.50 lsr z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: 1 2 0.50 lsr z0.d, z0.d, #1
-# CHECK-NEXT: 1 2 0.50 lsr z0.h, p0/m, z0.h, #1
-# CHECK-NEXT: 1 2 0.50 lsr z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: 1 2 0.50 lsr z0.h, p0/m, z0.h, z1.d
-# CHECK-NEXT: 1 2 0.50 lsr z0.h, z0.h, #1
-# CHECK-NEXT: 1 2 0.50 lsr z0.h, z1.h, z2.d
-# CHECK-NEXT: 1 2 0.50 lsr z0.s, p0/m, z0.s, #1
-# CHECK-NEXT: 1 2 0.50 lsr z0.s, p0/m, z0.s, z0.s
-# CHECK-NEXT: 1 2 0.50 lsr z0.s, p0/m, z0.s, z1.d
-# CHECK-NEXT: 1 2 0.50 lsr z0.s, z0.s, #1
-# CHECK-NEXT: 1 2 0.50 lsr z0.s, z1.s, z2.d
-# CHECK-NEXT: 1 2 0.50 lsr z31.b, p0/m, z31.b, #8
-# CHECK-NEXT: 1 2 0.50 lsr z31.b, z31.b, #8
-# CHECK-NEXT: 1 2 0.50 lsr z31.d, p0/m, z31.d, #64
-# CHECK-NEXT: 1 2 0.50 lsr z31.d, z31.d, #64
-# CHECK-NEXT: 1 2 0.50 lsr z31.h, p0/m, z31.h, #16
-# CHECK-NEXT: 1 2 0.50 lsr z31.h, z31.h, #16
-# CHECK-NEXT: 1 2 0.50 lsr z31.s, p0/m, z31.s, #32
-# CHECK-NEXT: 1 2 0.50 lsr z31.s, z31.s, #32
-# CHECK-NEXT: 1 2 0.50 lsrr z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: 1 2 0.50 lsrr z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: 1 2 0.50 lsrr z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: 1 2 0.50 lsrr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 3 0.50 lsl z0.b, p0/m, z0.b, #0
+# CHECK-NEXT: 1 3 0.50 lsl z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 lsl z0.b, p0/m, z0.b, z1.d
+# CHECK-NEXT: 1 3 0.50 lsl z0.b, z0.b, #0
+# CHECK-NEXT: 1 3 0.50 lsl z0.b, z1.b, z2.d
+# CHECK-NEXT: 1 3 0.50 lsl z0.d, p0/m, z0.d, #0
+# CHECK-NEXT: 1 3 0.50 lsl z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 lsl z0.d, z0.d, #0
+# CHECK-NEXT: 1 3 0.50 lsl z0.h, p0/m, z0.h, #0
+# CHECK-NEXT: 1 3 0.50 lsl z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 3 0.50 lsl z0.h, p0/m, z0.h, z1.d
+# CHECK-NEXT: 1 3 0.50 lsl z0.h, z0.h, #0
+# CHECK-NEXT: 1 3 0.50 lsl z0.h, z1.h, z2.d
+# CHECK-NEXT: 1 3 0.50 lsl z0.s, p0/m, z0.s, #0
+# CHECK-NEXT: 1 3 0.50 lsl z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 3 0.50 lsl z0.s, p0/m, z0.s, z1.d
+# CHECK-NEXT: 1 3 0.50 lsl z0.s, z0.s, #0
+# CHECK-NEXT: 1 3 0.50 lsl z0.s, z1.s, z2.d
+# CHECK-NEXT: 1 3 0.50 lsl z31.b, p0/m, z31.b, #7
+# CHECK-NEXT: 1 3 0.50 lsl z31.b, z31.b, #7
+# CHECK-NEXT: 1 3 0.50 lsl z31.d, p0/m, z31.d, #63
+# CHECK-NEXT: 1 3 0.50 lsl z31.d, z31.d, #63
+# CHECK-NEXT: 1 3 0.50 lsl z31.h, p0/m, z31.h, #15
+# CHECK-NEXT: 1 3 0.50 lsl z31.h, z31.h, #15
+# CHECK-NEXT: 1 3 0.50 lsl z31.s, p0/m, z31.s, #31
+# CHECK-NEXT: 1 3 0.50 lsl z31.s, z31.s, #31
+# CHECK-NEXT: 1 3 0.50 lslr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 lslr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 lslr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 3 0.50 lslr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 3 0.50 lsr z0.b, p0/m, z0.b, #1
+# CHECK-NEXT: 1 3 0.50 lsr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 lsr z0.b, p0/m, z0.b, z1.d
+# CHECK-NEXT: 1 3 0.50 lsr z0.b, z0.b, #1
+# CHECK-NEXT: 1 3 0.50 lsr z0.b, z1.b, z2.d
+# CHECK-NEXT: 1 3 0.50 lsr z0.d, p0/m, z0.d, #1
+# CHECK-NEXT: 1 3 0.50 lsr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 lsr z0.d, z0.d, #1
+# CHECK-NEXT: 1 3 0.50 lsr z0.h, p0/m, z0.h, #1
+# CHECK-NEXT: 1 3 0.50 lsr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 3 0.50 lsr z0.h, p0/m, z0.h, z1.d
+# CHECK-NEXT: 1 3 0.50 lsr z0.h, z0.h, #1
+# CHECK-NEXT: 1 3 0.50 lsr z0.h, z1.h, z2.d
+# CHECK-NEXT: 1 3 0.50 lsr z0.s, p0/m, z0.s, #1
+# CHECK-NEXT: 1 3 0.50 lsr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 3 0.50 lsr z0.s, p0/m, z0.s, z1.d
+# CHECK-NEXT: 1 3 0.50 lsr z0.s, z0.s, #1
+# CHECK-NEXT: 1 3 0.50 lsr z0.s, z1.s, z2.d
+# CHECK-NEXT: 1 3 0.50 lsr z31.b, p0/m, z31.b, #8
+# CHECK-NEXT: 1 3 0.50 lsr z31.b, z31.b, #8
+# CHECK-NEXT: 1 3 0.50 lsr z31.d, p0/m, z31.d, #64
+# CHECK-NEXT: 1 3 0.50 lsr z31.d, z31.d, #64
+# CHECK-NEXT: 1 3 0.50 lsr z31.h, p0/m, z31.h, #16
+# CHECK-NEXT: 1 3 0.50 lsr z31.h, z31.h, #16
+# CHECK-NEXT: 1 3 0.50 lsr z31.s, p0/m, z31.s, #32
+# CHECK-NEXT: 1 3 0.50 lsr z31.s, z31.s, #32
+# CHECK-NEXT: 1 3 0.50 lsrr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 lsrr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 lsrr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 3 0.50 lsrr z0.s, p0/m, z0.s, z0.s
# CHECK-NEXT: 1 4 0.50 mad z0.b, p7/m, z1.b, z31.b
# CHECK-NEXT: 1 4 0.50 mad z0.d, p7/m, z1.d, z31.d
# CHECK-NEXT: 1 4 0.50 mad z0.h, p7/m, z1.h, z31.h
# CHECK-NEXT: 1 4 0.50 mad z0.s, p7/m, z1.s, z31.s
-# CHECK-NEXT: 1 8 1.00 match p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: 1 8 1.00 match p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: 1 8 1.00 match p15.b, p7/z, z30.b, z31.b
-# CHECK-NEXT: 1 8 1.00 match p15.h, p7/z, z30.h, z31.h
+# CHECK-NEXT: 1 8 2.00 match p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: 1 8 2.00 match p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: 1 8 2.00 match p15.b, p7/z, z30.b, z31.b
+# CHECK-NEXT: 1 8 2.00 match p15.h, p7/z, z30.h, z31.h
# CHECK-NEXT: 1 4 0.50 mla z0.b, p7/m, z1.b, z31.b
# CHECK-NEXT: 1 4 0.50 mla z0.d, p7/m, z1.d, z31.d
# CHECK-NEXT: 1 4 0.50 mla z0.d, z1.d, z7.d[1]
@@ -4968,7 +4968,7 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 mov z0.b, #127
# CHECK-NEXT: 1 3 0.50 mov z0.b, b0
# CHECK-NEXT: 1 3 0.50 mov z0.b, p0/m, b0
-# CHECK-NEXT: 1 3 1.00 mov z0.b, p0/m, w0
+# CHECK-NEXT: 1 3 0.50 mov z0.b, p0/m, w0
# CHECK-NEXT: 1 3 0.50 mov z0.b, p0/z, #127
# CHECK-NEXT: 1 3 0.50 mov z0.b, w0
# CHECK-NEXT: 1 3 0.50 mov z0.d, #0
@@ -4977,7 +4977,7 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 mov z0.d, #32768
# CHECK-NEXT: 1 3 0.50 mov z0.d, d0
# CHECK-NEXT: 1 3 0.50 mov z0.d, p0/m, d0
-# CHECK-NEXT: 1 3 1.00 mov z0.d, p0/m, x0
+# CHECK-NEXT: 1 3 0.50 mov z0.d, p0/m, x0
# CHECK-NEXT: 1 3 0.50 mov z0.d, x0
# CHECK-NEXT: 1 3 0.50 mov z0.d, z0.d
# CHECK-NEXT: 1 3 0.50 mov z0.h, #-256
@@ -4987,7 +4987,7 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 mov z0.h, #32767
# CHECK-NEXT: 1 3 0.50 mov z0.h, h0
# CHECK-NEXT: 1 3 0.50 mov z0.h, p0/m, h0
-# CHECK-NEXT: 1 3 1.00 mov z0.h, p0/m, w0
+# CHECK-NEXT: 1 3 0.50 mov z0.h, p0/m, w0
# CHECK-NEXT: 1 3 0.50 mov z0.h, p0/z, #32512
# CHECK-NEXT: 1 3 0.50 mov z0.h, w0
# CHECK-NEXT: 1 3 0.50 mov z0.q, q0
@@ -4995,7 +4995,7 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 mov z0.s, #0xffff7fff
# CHECK-NEXT: 1 4 0.50 mov z0.s, #32768
# CHECK-NEXT: 1 3 0.50 mov z0.s, p0/m, s0
-# CHECK-NEXT: 1 3 1.00 mov z0.s, p0/m, w0
+# CHECK-NEXT: 1 3 0.50 mov z0.s, p0/m, w0
# CHECK-NEXT: 1 3 0.50 mov z0.s, s0
# CHECK-NEXT: 1 3 0.50 mov z0.s, w0
# CHECK-NEXT: 1 3 0.50 mov z21.d, #-128
@@ -5031,24 +5031,24 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 2 0.50 mov z31.b, p15/m, z31.b
# CHECK-NEXT: 1 3 0.50 mov z31.b, p7/m, b31
# CHECK-NEXT: 1 3 0.50 movprfx z31, z6
-# CHECK-NEXT: 1 3 1.00 mov z31.b, p7/m, wsp
+# CHECK-NEXT: 1 3 0.50 mov z31.b, p7/m, wsp
# CHECK-NEXT: 1 3 0.50 mov z31.b, wsp
# CHECK-NEXT: 1 3 0.50 mov z31.b, z31.b[63]
# CHECK-NEXT: 1 2 0.50 mov z31.d, p15/m, z31.d
# CHECK-NEXT: 1 3 0.50 mov z31.d, p7/m, d31
# CHECK-NEXT: 1 3 0.50 movprfx z31.d, p7/z, z6.d
-# CHECK-NEXT: 1 3 1.00 mov z31.d, p7/m, sp
+# CHECK-NEXT: 1 3 0.50 mov z31.d, p7/m, sp
# CHECK-NEXT: 1 3 0.50 mov z31.d, sp
# CHECK-NEXT: 1 3 0.50 mov z31.d, z0.d
# CHECK-NEXT: 1 3 0.50 mov z31.d, z31.d[7]
# CHECK-NEXT: 1 2 0.50 mov z31.h, p15/m, z31.h
# CHECK-NEXT: 1 3 0.50 mov z31.h, p7/m, h31
-# CHECK-NEXT: 1 3 1.00 mov z31.h, p7/m, wsp
+# CHECK-NEXT: 1 3 0.50 mov z31.h, p7/m, wsp
# CHECK-NEXT: 1 3 0.50 mov z31.h, wsp
# CHECK-NEXT: 1 3 0.50 mov z31.h, z31.h[31]
# CHECK-NEXT: 1 2 0.50 mov z31.s, p15/m, z31.s
# CHECK-NEXT: 1 3 0.50 mov z31.s, p7/m, s31
-# CHECK-NEXT: 1 3 1.00 mov z31.s, p7/m, wsp
+# CHECK-NEXT: 1 3 0.50 mov z31.s, p7/m, wsp
# CHECK-NEXT: 1 3 0.50 mov z31.s, wsp
# CHECK-NEXT: 1 3 0.50 mov z31.s, z31.s[15]
# CHECK-NEXT: 1 3 0.50 mov z5.b, #-1
@@ -5103,18 +5103,18 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 2 1.00 nands p0.b, p0/z, p0.b, p0.b
# CHECK-NEXT: 1 2 1.00 nands p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 3 0.50 nbsl z0.d, z0.d, z1.d, z2.d
-# CHECK-NEXT: 1 2 0.50 neg z0.b, p0/m, z0.b
-# CHECK-NEXT: 1 2 0.50 neg z0.d, p0/m, z0.d
-# CHECK-NEXT: 1 2 0.50 neg z0.h, p0/m, z0.h
-# CHECK-NEXT: 1 2 0.50 neg z0.s, p0/m, z0.s
-# CHECK-NEXT: 1 2 0.50 neg z31.b, p7/m, z31.b
-# CHECK-NEXT: 1 2 0.50 neg z31.d, p7/m, z31.d
-# CHECK-NEXT: 1 2 0.50 neg z31.h, p7/m, z31.h
-# CHECK-NEXT: 1 2 0.50 neg z31.s, p7/m, z31.s
-# CHECK-NEXT: 1 8 1.00 nmatch p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: 1 8 1.00 nmatch p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: 1 8 1.00 nmatch p15.b, p7/z, z30.b, z31.b
-# CHECK-NEXT: 1 8 1.00 nmatch p15.h, p7/z, z30.h, z31.h
+# CHECK-NEXT: 1 3 0.50 neg z0.b, p0/m, z0.b
+# CHECK-NEXT: 1 3 0.50 neg z0.d, p0/m, z0.d
+# CHECK-NEXT: 1 3 0.50 neg z0.h, p0/m, z0.h
+# CHECK-NEXT: 1 3 0.50 neg z0.s, p0/m, z0.s
+# CHECK-NEXT: 1 3 0.50 neg z31.b, p7/m, z31.b
+# CHECK-NEXT: 1 3 0.50 neg z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 3 0.50 neg z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 3 0.50 neg z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 8 2.00 nmatch p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: 1 8 2.00 nmatch p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: 1 8 2.00 nmatch p15.b, p7/z, z30.b, z31.b
+# CHECK-NEXT: 1 8 2.00 nmatch p15.h, p7/z, z30.h, z31.h
# CHECK-NEXT: 1 2 1.00 nor p0.b, p0/z, p0.b, p0.b
# CHECK-NEXT: 1 2 1.00 nor p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 2 1.00 nors p0.b, p0/z, p0.b, p0.b
@@ -5150,11 +5150,11 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 1.00 orv d0, p7, z31.d
# CHECK-NEXT: 1 4 1.00 orv h0, p7, z31.h
# CHECK-NEXT: 1 4 1.00 orv s0, p7, z31.s
-# CHECK-NEXT: 1 2 1.00 pfalse p15.b
+# CHECK-NEXT: 1 1 1.00 pfalse p15.b
# CHECK-NEXT: 1 2 1.00 pfirst p0.b, p15, p0.b
# CHECK-NEXT: 1 2 1.00 pfirst p15.b, p15, p15.b
-# CHECK-NEXT: 1 4 0.50 pmul z0.b, z1.b, z2.b
-# CHECK-NEXT: 1 4 0.50 pmul z29.b, z30.b, z31.b
+# CHECK-NEXT: 1 3 0.50 pmul z0.b, z1.b, z2.b
+# CHECK-NEXT: 1 3 0.50 pmul z29.b, z30.b, z31.b
# CHECK-NEXT: 1 9 1.00 pmullb z0.h, z1.b, z2.b
# CHECK-NEXT: 1 9 1.00 pmullb z29.q, z30.d, z31.d
# CHECK-NEXT: 1 9 1.00 pmullb z31.d, z31.s, z31.s
@@ -5274,47 +5274,47 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 0 0.50 * * U prfw pstl2strm, p0, [x0]
# CHECK-NEXT: 1 0 0.50 * * U prfw pstl3keep, p0, [x0]
# CHECK-NEXT: 1 0 0.50 * * U prfw pstl3strm, p0, [x0]
-# CHECK-NEXT: 1 2 1.00 ptest p15, p0.b
-# CHECK-NEXT: 1 2 1.00 ptest p15, p15.b
-# CHECK-NEXT: 1 2 1.00 ptrue p0.b, pow2
-# CHECK-NEXT: 1 2 1.00 ptrue p0.d, pow2
-# CHECK-NEXT: 1 2 1.00 ptrue p0.h, pow2
-# CHECK-NEXT: 1 2 1.00 ptrue p0.s, pow2
-# CHECK-NEXT: 1 2 1.00 ptrue p15.b
-# CHECK-NEXT: 1 2 1.00 ptrue p15.d
-# CHECK-NEXT: 1 2 1.00 ptrue p15.h
-# CHECK-NEXT: 1 2 1.00 ptrue p15.s
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #14
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #15
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #16
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #17
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #18
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #19
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #20
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #21
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #22
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #23
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #24
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #25
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #26
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #27
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, #28
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, mul3
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, mul4
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl1
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl128
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl16
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl2
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl256
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl3
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl32
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl4
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl5
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl6
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl64
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl7
-# CHECK-NEXT: 1 2 1.00 ptrue p7.s, vl8
+# CHECK-NEXT: 1 1 1.00 ptest p15, p0.b
+# CHECK-NEXT: 1 1 1.00 ptest p15, p15.b
+# CHECK-NEXT: 1 1 1.00 ptrue p0.b, pow2
+# CHECK-NEXT: 1 1 1.00 ptrue p0.d, pow2
+# CHECK-NEXT: 1 1 1.00 ptrue p0.h, pow2
+# CHECK-NEXT: 1 1 1.00 ptrue p0.s, pow2
+# CHECK-NEXT: 1 1 1.00 ptrue p15.b
+# CHECK-NEXT: 1 1 1.00 ptrue p15.d
+# CHECK-NEXT: 1 1 1.00 ptrue p15.h
+# CHECK-NEXT: 1 1 1.00 ptrue p15.s
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, #14
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, #15
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, #16
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, #17
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, #18
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, #19
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, #20
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, #21
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, #22
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, #23
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, #24
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, #25
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, #26
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, #27
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, #28
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, mul3
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, mul4
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, vl1
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, vl128
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, vl16
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, vl2
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, vl256
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, vl3
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, vl32
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, vl4
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, vl5
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, vl6
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, vl64
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, vl7
+# CHECK-NEXT: 1 1 1.00 ptrue p7.s, vl8
# CHECK-NEXT: 1 2 1.00 ptrues p0.b, pow2
# CHECK-NEXT: 1 2 1.00 ptrues p0.d, pow2
# CHECK-NEXT: 1 2 1.00 ptrues p0.h, pow2
@@ -5354,17 +5354,17 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 2 1.00 ptrues p7.s, vl64
# CHECK-NEXT: 1 2 1.00 ptrues p7.s, vl7
# CHECK-NEXT: 1 2 1.00 ptrues p7.s, vl8
-# CHECK-NEXT: 1 2 1.00 punpkhi p0.h, p0.b
-# CHECK-NEXT: 1 2 1.00 punpkhi p15.h, p15.b
-# CHECK-NEXT: 1 2 1.00 punpklo p0.h, p0.b
-# CHECK-NEXT: 1 2 1.00 punpklo p15.h, p15.b
-# CHECK-NEXT: 1 8 0.50 raddhnb z0.b, z1.h, z31.h
-# CHECK-NEXT: 1 8 0.50 raddhnb z0.h, z1.s, z31.s
-# CHECK-NEXT: 1 8 0.50 raddhnb z0.s, z1.d, z31.d
-# CHECK-NEXT: 1 8 0.50 raddhnt z0.b, z1.h, z31.h
-# CHECK-NEXT: 1 8 0.50 raddhnt z0.h, z1.s, z31.s
-# CHECK-NEXT: 1 8 0.50 raddhnt z0.s, z1.d, z31.d
-# CHECK-NEXT: 1 3 1.00 rax1 z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 1 1.00 punpkhi p0.h, p0.b
+# CHECK-NEXT: 1 1 1.00 punpkhi p15.h, p15.b
+# CHECK-NEXT: 1 1 1.00 punpklo p0.h, p0.b
+# CHECK-NEXT: 1 1 1.00 punpklo p15.h, p15.b
+# CHECK-NEXT: 1 6 0.50 raddhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 6 0.50 raddhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 6 0.50 raddhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 6 0.50 raddhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 6 0.50 raddhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 6 0.50 raddhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 3 0.50 rax1 z0.d, z1.d, z31.d
# CHECK-NEXT: 1 3 0.50 rbit z0.b, p7/m, z31.b
# CHECK-NEXT: 1 3 0.50 rbit z0.d, p7/m, z31.d
# CHECK-NEXT: 1 3 0.50 rbit z0.h, p7/m, z31.h
@@ -5401,22 +5401,22 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 rshrnt z31.b, z31.h, #8
# CHECK-NEXT: 1 4 0.50 rshrnt z31.h, z31.s, #16
# CHECK-NEXT: 1 4 0.50 rshrnt z31.s, z31.d, #32
-# CHECK-NEXT: 1 8 0.50 rsubhnb z0.b, z1.h, z31.h
-# CHECK-NEXT: 1 8 0.50 rsubhnb z0.h, z1.s, z31.s
-# CHECK-NEXT: 1 8 0.50 rsubhnb z0.s, z1.d, z31.d
-# CHECK-NEXT: 1 8 0.50 rsubhnt z0.b, z1.h, z31.h
-# CHECK-NEXT: 1 8 0.50 rsubhnt z0.h, z1.s, z31.s
-# CHECK-NEXT: 1 8 0.50 rsubhnt z0.s, z1.d, z31.d
-# CHECK-NEXT: 1 6 1.00 saba z0.b, z1.b, z31.b
-# CHECK-NEXT: 1 6 1.00 saba z0.d, z1.d, z31.d
-# CHECK-NEXT: 1 6 1.00 saba z0.h, z1.h, z31.h
-# CHECK-NEXT: 1 6 1.00 saba z0.s, z1.s, z31.s
-# CHECK-NEXT: 1 6 1.00 sabalb z0.d, z1.s, z31.s
-# CHECK-NEXT: 1 6 1.00 sabalb z0.h, z1.b, z31.b
-# CHECK-NEXT: 1 6 1.00 sabalb z0.s, z1.h, z31.h
-# CHECK-NEXT: 1 6 1.00 sabalt z0.d, z1.s, z31.s
-# CHECK-NEXT: 1 6 1.00 sabalt z0.h, z1.b, z31.b
-# CHECK-NEXT: 1 6 1.00 sabalt z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 6 0.50 rsubhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 6 0.50 rsubhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 6 0.50 rsubhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 6 0.50 rsubhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 6 0.50 rsubhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 6 0.50 rsubhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 5 1.50 saba z0.b, z1.b, z31.b
+# CHECK-NEXT: 1 5 1.50 saba z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 5 1.50 saba z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 5 1.50 saba z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 5 1.50 sabalb z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 5 1.50 sabalb z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 5 1.50 sabalb z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 5 1.50 sabalt z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 5 1.50 sabalt z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 5 1.50 sabalt z0.s, z1.h, z31.h
# CHECK-NEXT: 1 3 0.50 sabd z31.b, p7/m, z31.b, z31.b
# CHECK-NEXT: 1 3 0.50 sabd z31.d, p7/m, z31.d, z31.d
# CHECK-NEXT: 1 3 0.50 sabd z31.h, p7/m, z31.h, z31.h
@@ -5427,31 +5427,31 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 sabdlt z0.h, z1.b, z2.b
# CHECK-NEXT: 1 3 0.50 sabdlt z29.s, z30.h, z31.h
# CHECK-NEXT: 1 3 0.50 sabdlt z31.d, z31.s, z31.s
-# CHECK-NEXT: 1 7 1.00 sadalp z0.h, p0/m, z1.b
-# CHECK-NEXT: 1 7 1.00 sadalp z29.s, p0/m, z30.h
-# CHECK-NEXT: 1 7 1.00 sadalp z30.d, p7/m, z31.s
-# CHECK-NEXT: 1 3 0.50 saddlb z0.h, z1.b, z2.b
-# CHECK-NEXT: 1 3 0.50 saddlb z29.s, z30.h, z31.h
-# CHECK-NEXT: 1 3 0.50 saddlb z31.d, z31.s, z31.s
-# CHECK-NEXT: 1 3 0.50 saddlbt z0.d, z1.s, z31.s
-# CHECK-NEXT: 1 3 0.50 saddlbt z0.h, z1.b, z31.b
-# CHECK-NEXT: 1 3 0.50 saddlbt z0.s, z1.h, z31.h
-# CHECK-NEXT: 1 3 0.50 saddlt z0.h, z1.b, z2.b
-# CHECK-NEXT: 1 3 0.50 saddlt z29.s, z30.h, z31.h
-# CHECK-NEXT: 1 3 0.50 saddlt z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 6 2.00 sadalp z0.h, p0/m, z1.b
+# CHECK-NEXT: 1 6 2.00 sadalp z29.s, p0/m, z30.h
+# CHECK-NEXT: 1 6 2.00 sadalp z30.d, p7/m, z31.s
+# CHECK-NEXT: 1 4 0.50 saddlb z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 saddlb z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 saddlb z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 4 0.50 saddlbt z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 saddlbt z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 saddlbt z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 saddlt z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 saddlt z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 saddlt z31.d, z31.s, z31.s
# CHECK-NEXT: 1 4 1.00 saddv d0, p7, z31.b
# CHECK-NEXT: 1 4 1.00 saddv d0, p7, z31.h
# CHECK-NEXT: 1 4 1.00 saddv d0, p7, z31.s
-# CHECK-NEXT: 1 3 0.50 saddwb z0.h, z1.h, z2.b
-# CHECK-NEXT: 1 3 0.50 saddwb z29.s, z30.s, z31.h
-# CHECK-NEXT: 1 3 0.50 saddwb z31.d, z31.d, z31.s
-# CHECK-NEXT: 1 3 0.50 saddwt z0.h, z1.h, z2.b
-# CHECK-NEXT: 1 3 0.50 saddwt z29.s, z30.s, z31.h
-# CHECK-NEXT: 1 3 0.50 saddwt z31.d, z31.d, z31.s
-# CHECK-NEXT: 1 3 0.50 sbclb z0.d, z1.d, z31.d
-# CHECK-NEXT: 1 3 0.50 sbclb z0.s, z1.s, z31.s
-# CHECK-NEXT: 1 3 0.50 sbclt z0.d, z1.d, z31.d
-# CHECK-NEXT: 1 3 0.50 sbclt z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 saddwb z0.h, z1.h, z2.b
+# CHECK-NEXT: 1 4 0.50 saddwb z29.s, z30.s, z31.h
+# CHECK-NEXT: 1 4 0.50 saddwb z31.d, z31.d, z31.s
+# CHECK-NEXT: 1 4 0.50 saddwt z0.h, z1.h, z2.b
+# CHECK-NEXT: 1 4 0.50 saddwt z29.s, z30.s, z31.h
+# CHECK-NEXT: 1 4 0.50 saddwt z31.d, z31.d, z31.s
+# CHECK-NEXT: 1 4 0.50 sbclb z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 sbclb z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 sbclt z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 sbclt z0.s, z1.s, z31.s
# CHECK-NEXT: 1 4 0.50 scvtf z0.d, p0/m, z0.d
# CHECK-NEXT: 1 4 0.50 scvtf z0.d, p0/m, z0.s
# CHECK-NEXT: 1 4 0.50 scvtf z0.h, p0/m, z0.d
@@ -5472,10 +5472,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 2 0.50 sel z23.h, p11, z13.h, z8.h
# CHECK-NEXT: 1 2 0.50 sel z23.s, p11, z13.s, z8.s
# CHECK-NEXT: 1 1 0.50 * U setffr
-# CHECK-NEXT: 1 2 0.50 shadd z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 2 0.50 shadd z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 2 0.50 shadd z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 2 0.50 shadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 3 0.50 shadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 shadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 shadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 shadd z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 3 0.50 shrnb z0.b, z0.h, #1
# CHECK-NEXT: 1 3 0.50 shrnb z0.h, z0.s, #1
# CHECK-NEXT: 1 3 0.50 shrnb z0.s, z0.d, #1
@@ -5488,14 +5488,14 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 shrnt z31.b, z31.h, #8
# CHECK-NEXT: 1 3 0.50 shrnt z31.h, z31.s, #16
# CHECK-NEXT: 1 3 0.50 shrnt z31.s, z31.d, #32
-# CHECK-NEXT: 1 2 0.50 shsub z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 2 0.50 shsub z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 2 0.50 shsub z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 2 0.50 shsub z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: 1 2 0.50 shsubr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 2 0.50 shsubr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 2 0.50 shsubr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 2 0.50 shsubr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 3 0.50 shsub z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 shsub z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 shsub z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 shsub z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 3 0.50 shsubr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 shsubr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 shsubr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 shsubr z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 3 0.50 sli z0.b, z0.b, #0
# CHECK-NEXT: 1 3 0.50 sli z0.d, z0.d, #0
# CHECK-NEXT: 1 3 0.50 sli z0.h, z0.h, #0
@@ -5593,29 +5593,29 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 splice z31.d, p7, z31.d, z31.d
# CHECK-NEXT: 1 4 0.50 splice z31.h, p7, z31.h, z31.h
# CHECK-NEXT: 1 4 0.50 splice z31.s, p7, z31.s, z31.s
-# CHECK-NEXT: 1 3 0.50 sqabs z31.b, p7/m, z31.b
-# CHECK-NEXT: 1 3 0.50 sqabs z31.d, p7/m, z31.d
-# CHECK-NEXT: 1 3 0.50 sqabs z31.h, p7/m, z31.h
-# CHECK-NEXT: 1 3 0.50 sqabs z31.s, p7/m, z31.s
-# CHECK-NEXT: 1 3 0.50 sqadd z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 3 0.50 sqadd z0.b, z0.b, #0
-# CHECK-NEXT: 1 3 0.50 sqadd z0.b, z0.b, z0.b
-# CHECK-NEXT: 1 3 0.50 sqadd z0.d, z0.d, #0
-# CHECK-NEXT: 1 3 0.50 sqadd z0.d, z0.d, #0, lsl #8
-# CHECK-NEXT: 1 3 0.50 sqadd z0.d, z0.d, z0.d
-# CHECK-NEXT: 1 3 0.50 sqadd z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 3 0.50 sqadd z0.h, z0.h, #0
-# CHECK-NEXT: 1 3 0.50 sqadd z0.h, z0.h, #0, lsl #8
-# CHECK-NEXT: 1 3 0.50 sqadd z0.h, z0.h, z0.h
-# CHECK-NEXT: 1 3 0.50 sqadd z0.s, z0.s, #0
-# CHECK-NEXT: 1 3 0.50 sqadd z0.s, z0.s, #0, lsl #8
-# CHECK-NEXT: 1 3 0.50 sqadd z0.s, z0.s, z0.s
-# CHECK-NEXT: 1 3 0.50 sqadd z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 3 0.50 sqadd z31.b, z31.b, #255
-# CHECK-NEXT: 1 3 0.50 sqadd z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: 1 3 0.50 sqadd z31.d, z31.d, #65280
-# CHECK-NEXT: 1 3 0.50 sqadd z31.h, z31.h, #65280
-# CHECK-NEXT: 1 3 0.50 sqadd z31.s, z31.s, #65280
+# CHECK-NEXT: 1 4 0.50 sqabs z31.b, p7/m, z31.b
+# CHECK-NEXT: 1 4 0.50 sqabs z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 4 0.50 sqabs z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 4 0.50 sqabs z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 4 0.50 sqadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 sqadd z0.b, z0.b, #0
+# CHECK-NEXT: 1 4 0.50 sqadd z0.b, z0.b, z0.b
+# CHECK-NEXT: 1 4 0.50 sqadd z0.d, z0.d, #0
+# CHECK-NEXT: 1 4 0.50 sqadd z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: 1 4 0.50 sqadd z0.d, z0.d, z0.d
+# CHECK-NEXT: 1 4 0.50 sqadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 sqadd z0.h, z0.h, #0
+# CHECK-NEXT: 1 4 0.50 sqadd z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: 1 4 0.50 sqadd z0.h, z0.h, z0.h
+# CHECK-NEXT: 1 4 0.50 sqadd z0.s, z0.s, #0
+# CHECK-NEXT: 1 4 0.50 sqadd z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: 1 4 0.50 sqadd z0.s, z0.s, z0.s
+# CHECK-NEXT: 1 4 0.50 sqadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 sqadd z31.b, z31.b, #255
+# CHECK-NEXT: 1 4 0.50 sqadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 sqadd z31.d, z31.d, #65280
+# CHECK-NEXT: 1 4 0.50 sqadd z31.h, z31.h, #65280
+# CHECK-NEXT: 1 4 0.50 sqadd z31.s, z31.s, #65280
# CHECK-NEXT: 1 4 0.50 sqcadd z0.b, z0.b, z0.b, #90
# CHECK-NEXT: 1 4 0.50 sqcadd z0.d, z0.d, z0.d, #90
# CHECK-NEXT: 1 4 0.50 sqcadd z0.h, z0.h, z0.h, #90
@@ -5624,61 +5624,61 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 sqcadd z31.d, z31.d, z31.d, #270
# CHECK-NEXT: 1 4 0.50 sqcadd z31.h, z31.h, z31.h, #270
# CHECK-NEXT: 1 4 0.50 sqcadd z31.s, z31.s, z31.s, #270
-# CHECK-NEXT: 1 4 0.50 sqdecb x0
-# CHECK-NEXT: 1 4 0.50 sqdecb x0, #14
-# CHECK-NEXT: 1 4 0.50 sqdecb x0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 sqdecb x0, pow2
-# CHECK-NEXT: 1 4 0.50 sqdecb x0, vl1
-# CHECK-NEXT: 1 4 0.50 sqdecb x0, w0
-# CHECK-NEXT: 1 4 0.50 sqdecb x0, w0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 sqdecb x0, w0, pow2
-# CHECK-NEXT: 1 4 0.50 sqdecb x0, w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.50 sqdecd x0
-# CHECK-NEXT: 1 4 0.50 sqdecd x0, #14
-# CHECK-NEXT: 1 4 0.50 sqdecd x0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 sqdecd x0, pow2
-# CHECK-NEXT: 1 4 0.50 sqdecd x0, vl1
-# CHECK-NEXT: 1 4 0.50 sqdecd x0, w0
-# CHECK-NEXT: 1 4 0.50 sqdecd x0, w0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 sqdecd x0, w0, pow2
-# CHECK-NEXT: 1 4 0.50 sqdecd x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 5 0.50 sqdecb x0
+# CHECK-NEXT: 1 5 0.50 sqdecb x0, #14
+# CHECK-NEXT: 1 5 0.50 sqdecb x0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 sqdecb x0, pow2
+# CHECK-NEXT: 1 5 0.50 sqdecb x0, vl1
+# CHECK-NEXT: 1 5 0.50 sqdecb x0, w0
+# CHECK-NEXT: 1 5 0.50 sqdecb x0, w0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 sqdecb x0, w0, pow2
+# CHECK-NEXT: 1 5 0.50 sqdecb x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 5 0.50 sqdecd x0
+# CHECK-NEXT: 1 5 0.50 sqdecd x0, #14
+# CHECK-NEXT: 1 5 0.50 sqdecd x0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 sqdecd x0, pow2
+# CHECK-NEXT: 1 5 0.50 sqdecd x0, vl1
+# CHECK-NEXT: 1 5 0.50 sqdecd x0, w0
+# CHECK-NEXT: 1 5 0.50 sqdecd x0, w0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 sqdecd x0, w0, pow2
+# CHECK-NEXT: 1 5 0.50 sqdecd x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqdecd z0.d
# CHECK-NEXT: 1 4 0.50 sqdecd z0.d, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqdecd z0.d, pow2
# CHECK-NEXT: 1 4 0.50 sqdecd z0.d, pow2, mul #16
-# CHECK-NEXT: 1 4 0.50 sqdech x0
-# CHECK-NEXT: 1 4 0.50 sqdech x0, #14
-# CHECK-NEXT: 1 4 0.50 sqdech x0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 sqdech x0, pow2
-# CHECK-NEXT: 1 4 0.50 sqdech x0, vl1
-# CHECK-NEXT: 1 4 0.50 sqdech x0, w0
-# CHECK-NEXT: 1 4 0.50 sqdech x0, w0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 sqdech x0, w0, pow2
-# CHECK-NEXT: 1 4 0.50 sqdech x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 5 0.50 sqdech x0
+# CHECK-NEXT: 1 5 0.50 sqdech x0, #14
+# CHECK-NEXT: 1 5 0.50 sqdech x0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 sqdech x0, pow2
+# CHECK-NEXT: 1 5 0.50 sqdech x0, vl1
+# CHECK-NEXT: 1 5 0.50 sqdech x0, w0
+# CHECK-NEXT: 1 5 0.50 sqdech x0, w0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 sqdech x0, w0, pow2
+# CHECK-NEXT: 1 5 0.50 sqdech x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqdech z0.h
# CHECK-NEXT: 1 4 0.50 sqdech z0.h, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqdech z0.h, pow2
# CHECK-NEXT: 1 4 0.50 sqdech z0.h, pow2, mul #16
-# CHECK-NEXT: 1 9 1.00 sqdecp x0, p0.b
-# CHECK-NEXT: 1 9 1.00 sqdecp x0, p0.d
-# CHECK-NEXT: 1 9 1.00 sqdecp x0, p0.h
-# CHECK-NEXT: 1 9 1.00 sqdecp x0, p0.s
-# CHECK-NEXT: 1 9 1.00 sqdecp xzr, p15.b, wzr
-# CHECK-NEXT: 1 9 1.00 sqdecp xzr, p15.d, wzr
-# CHECK-NEXT: 1 9 1.00 sqdecp xzr, p15.h, wzr
-# CHECK-NEXT: 1 9 1.00 sqdecp xzr, p15.s, wzr
-# CHECK-NEXT: 1 4 0.50 sqdecp z0.d, p0.d
-# CHECK-NEXT: 1 4 0.50 sqdecp z0.h, p0.h
-# CHECK-NEXT: 1 4 0.50 sqdecp z0.s, p0.s
-# CHECK-NEXT: 1 4 0.50 sqdecw x0
-# CHECK-NEXT: 1 4 0.50 sqdecw x0, #14
-# CHECK-NEXT: 1 4 0.50 sqdecw x0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 sqdecw x0, pow2
-# CHECK-NEXT: 1 4 0.50 sqdecw x0, vl1
-# CHECK-NEXT: 1 4 0.50 sqdecw x0, w0
-# CHECK-NEXT: 1 4 0.50 sqdecw x0, w0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 sqdecw x0, w0, pow2
-# CHECK-NEXT: 1 4 0.50 sqdecw x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 2 1.00 sqdecp x0, p0.b
+# CHECK-NEXT: 1 2 1.00 sqdecp x0, p0.d
+# CHECK-NEXT: 1 2 1.00 sqdecp x0, p0.h
+# CHECK-NEXT: 1 2 1.00 sqdecp x0, p0.s
+# CHECK-NEXT: 1 2 1.00 sqdecp xzr, p15.b, wzr
+# CHECK-NEXT: 1 2 1.00 sqdecp xzr, p15.d, wzr
+# CHECK-NEXT: 1 2 1.00 sqdecp xzr, p15.h, wzr
+# CHECK-NEXT: 1 2 1.00 sqdecp xzr, p15.s, wzr
+# CHECK-NEXT: 1 3 1.00 sqdecp z0.d, p0.d
+# CHECK-NEXT: 1 3 1.00 sqdecp z0.h, p0.h
+# CHECK-NEXT: 1 3 1.00 sqdecp z0.s, p0.s
+# CHECK-NEXT: 1 5 0.50 sqdecw x0
+# CHECK-NEXT: 1 5 0.50 sqdecw x0, #14
+# CHECK-NEXT: 1 5 0.50 sqdecw x0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 sqdecw x0, pow2
+# CHECK-NEXT: 1 5 0.50 sqdecw x0, vl1
+# CHECK-NEXT: 1 5 0.50 sqdecw x0, w0
+# CHECK-NEXT: 1 5 0.50 sqdecw x0, w0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 sqdecw x0, w0, pow2
+# CHECK-NEXT: 1 5 0.50 sqdecw x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqdecw z0.s
# CHECK-NEXT: 1 4 0.50 sqdecw z0.s, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqdecw z0.s, pow2
@@ -5726,69 +5726,69 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 sqdmullt z0.s, z1.h, z7.h[7]
# CHECK-NEXT: 1 4 0.50 sqdmullt z29.s, z30.h, z31.h
# CHECK-NEXT: 1 4 0.50 sqdmullt z31.d, z31.s, z31.s
-# CHECK-NEXT: 1 4 0.50 sqincb x0
-# CHECK-NEXT: 1 4 0.50 sqincb x0, #14
-# CHECK-NEXT: 1 4 0.50 sqincb x0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 sqincb x0, pow2
-# CHECK-NEXT: 1 4 0.50 sqincb x0, vl1
-# CHECK-NEXT: 1 4 0.50 sqincb x0, w0
-# CHECK-NEXT: 1 4 0.50 sqincb x0, w0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 sqincb x0, w0, pow2
-# CHECK-NEXT: 1 4 0.50 sqincb x0, w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.50 sqincd x0
-# CHECK-NEXT: 1 4 0.50 sqincd x0, #14
-# CHECK-NEXT: 1 4 0.50 sqincd x0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 sqincd x0, pow2
-# CHECK-NEXT: 1 4 0.50 sqincd x0, vl1
-# CHECK-NEXT: 1 4 0.50 sqincd x0, w0
-# CHECK-NEXT: 1 4 0.50 sqincd x0, w0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 sqincd x0, w0, pow2
-# CHECK-NEXT: 1 4 0.50 sqincd x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 5 0.50 sqincb x0
+# CHECK-NEXT: 1 5 0.50 sqincb x0, #14
+# CHECK-NEXT: 1 5 0.50 sqincb x0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 sqincb x0, pow2
+# CHECK-NEXT: 1 5 0.50 sqincb x0, vl1
+# CHECK-NEXT: 1 5 0.50 sqincb x0, w0
+# CHECK-NEXT: 1 5 0.50 sqincb x0, w0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 sqincb x0, w0, pow2
+# CHECK-NEXT: 1 5 0.50 sqincb x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 5 0.50 sqincd x0
+# CHECK-NEXT: 1 5 0.50 sqincd x0, #14
+# CHECK-NEXT: 1 5 0.50 sqincd x0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 sqincd x0, pow2
+# CHECK-NEXT: 1 5 0.50 sqincd x0, vl1
+# CHECK-NEXT: 1 5 0.50 sqincd x0, w0
+# CHECK-NEXT: 1 5 0.50 sqincd x0, w0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 sqincd x0, w0, pow2
+# CHECK-NEXT: 1 5 0.50 sqincd x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqincd z0.d
# CHECK-NEXT: 1 4 0.50 sqincd z0.d, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqincd z0.d, pow2
# CHECK-NEXT: 1 4 0.50 sqincd z0.d, pow2, mul #16
-# CHECK-NEXT: 1 4 0.50 sqinch x0
-# CHECK-NEXT: 1 4 0.50 sqinch x0, #14
-# CHECK-NEXT: 1 4 0.50 sqinch x0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 sqinch x0, pow2
-# CHECK-NEXT: 1 4 0.50 sqinch x0, vl1
-# CHECK-NEXT: 1 4 0.50 sqinch x0, w0
-# CHECK-NEXT: 1 4 0.50 sqinch x0, w0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 sqinch x0, w0, pow2
-# CHECK-NEXT: 1 4 0.50 sqinch x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 5 0.50 sqinch x0
+# CHECK-NEXT: 1 5 0.50 sqinch x0, #14
+# CHECK-NEXT: 1 5 0.50 sqinch x0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 sqinch x0, pow2
+# CHECK-NEXT: 1 5 0.50 sqinch x0, vl1
+# CHECK-NEXT: 1 5 0.50 sqinch x0, w0
+# CHECK-NEXT: 1 5 0.50 sqinch x0, w0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 sqinch x0, w0, pow2
+# CHECK-NEXT: 1 5 0.50 sqinch x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqinch z0.h
# CHECK-NEXT: 1 4 0.50 sqinch z0.h, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqinch z0.h, pow2
# CHECK-NEXT: 1 4 0.50 sqinch z0.h, pow2, mul #16
-# CHECK-NEXT: 1 9 1.00 sqincp x0, p0.b
-# CHECK-NEXT: 1 9 1.00 sqincp x0, p0.d
-# CHECK-NEXT: 1 9 1.00 sqincp x0, p0.h
-# CHECK-NEXT: 1 9 1.00 sqincp x0, p0.s
-# CHECK-NEXT: 1 9 1.00 sqincp xzr, p15.b, wzr
-# CHECK-NEXT: 1 9 1.00 sqincp xzr, p15.d, wzr
-# CHECK-NEXT: 1 9 1.00 sqincp xzr, p15.h, wzr
-# CHECK-NEXT: 1 9 1.00 sqincp xzr, p15.s, wzr
-# CHECK-NEXT: 1 4 0.50 sqincp z0.d, p0.d
-# CHECK-NEXT: 1 4 0.50 sqincp z0.h, p0.h
-# CHECK-NEXT: 1 4 0.50 sqincp z0.s, p0.s
-# CHECK-NEXT: 1 4 0.50 sqincw x0
-# CHECK-NEXT: 1 4 0.50 sqincw x0, #14
-# CHECK-NEXT: 1 4 0.50 sqincw x0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 sqincw x0, pow2
-# CHECK-NEXT: 1 4 0.50 sqincw x0, vl1
-# CHECK-NEXT: 1 4 0.50 sqincw x0, w0
-# CHECK-NEXT: 1 4 0.50 sqincw x0, w0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 sqincw x0, w0, pow2
-# CHECK-NEXT: 1 4 0.50 sqincw x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 2 1.00 sqincp x0, p0.b
+# CHECK-NEXT: 1 2 1.00 sqincp x0, p0.d
+# CHECK-NEXT: 1 2 1.00 sqincp x0, p0.h
+# CHECK-NEXT: 1 2 1.00 sqincp x0, p0.s
+# CHECK-NEXT: 1 2 1.00 sqincp xzr, p15.b, wzr
+# CHECK-NEXT: 1 2 1.00 sqincp xzr, p15.d, wzr
+# CHECK-NEXT: 1 2 1.00 sqincp xzr, p15.h, wzr
+# CHECK-NEXT: 1 2 1.00 sqincp xzr, p15.s, wzr
+# CHECK-NEXT: 1 3 1.00 sqincp z0.d, p0.d
+# CHECK-NEXT: 1 3 1.00 sqincp z0.h, p0.h
+# CHECK-NEXT: 1 3 1.00 sqincp z0.s, p0.s
+# CHECK-NEXT: 1 5 0.50 sqincw x0
+# CHECK-NEXT: 1 5 0.50 sqincw x0, #14
+# CHECK-NEXT: 1 5 0.50 sqincw x0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 sqincw x0, pow2
+# CHECK-NEXT: 1 5 0.50 sqincw x0, vl1
+# CHECK-NEXT: 1 5 0.50 sqincw x0, w0
+# CHECK-NEXT: 1 5 0.50 sqincw x0, w0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 sqincw x0, w0, pow2
+# CHECK-NEXT: 1 5 0.50 sqincw x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqincw z0.s
# CHECK-NEXT: 1 4 0.50 sqincw z0.s, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqincw z0.s, pow2
# CHECK-NEXT: 1 4 0.50 sqincw z0.s, pow2, mul #16
-# CHECK-NEXT: 1 3 0.50 sqneg z31.b, p7/m, z31.b
-# CHECK-NEXT: 1 3 0.50 sqneg z31.d, p7/m, z31.d
-# CHECK-NEXT: 1 3 0.50 sqneg z31.h, p7/m, z31.h
-# CHECK-NEXT: 1 3 0.50 sqneg z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 4 0.50 sqneg z31.b, p7/m, z31.b
+# CHECK-NEXT: 1 4 0.50 sqneg z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 4 0.50 sqneg z31.h, p7/m, z31.h
+# CHECK-NEXT: 1 4 0.50 sqneg z31.s, p7/m, z31.s
# CHECK-NEXT: 1 4 0.50 sqrdcmlah z0.b, z1.b, z2.b, #0
# CHECK-NEXT: 1 4 0.50 sqrdcmlah z0.d, z1.d, z2.d, #0
# CHECK-NEXT: 1 4 0.50 sqrdcmlah z0.h, z1.h, z2.h, #0
@@ -5910,29 +5910,29 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 sqshrunt z31.b, z31.h, #8
# CHECK-NEXT: 1 4 0.50 sqshrunt z31.h, z31.s, #16
# CHECK-NEXT: 1 4 0.50 sqshrunt z31.s, z31.d, #32
-# CHECK-NEXT: 1 3 0.50 sqsub z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 3 0.50 sqsub z0.b, z0.b, #0
-# CHECK-NEXT: 1 3 0.50 sqsub z0.b, z0.b, z0.b
-# CHECK-NEXT: 1 3 0.50 sqsub z0.d, z0.d, #0
-# CHECK-NEXT: 1 3 0.50 sqsub z0.d, z0.d, #0, lsl #8
-# CHECK-NEXT: 1 3 0.50 sqsub z0.d, z0.d, z0.d
-# CHECK-NEXT: 1 3 0.50 sqsub z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 3 0.50 sqsub z0.h, z0.h, #0
-# CHECK-NEXT: 1 3 0.50 sqsub z0.h, z0.h, #0, lsl #8
-# CHECK-NEXT: 1 3 0.50 sqsub z0.h, z0.h, z0.h
-# CHECK-NEXT: 1 3 0.50 sqsub z0.s, z0.s, #0
-# CHECK-NEXT: 1 3 0.50 sqsub z0.s, z0.s, #0, lsl #8
-# CHECK-NEXT: 1 3 0.50 sqsub z0.s, z0.s, z0.s
-# CHECK-NEXT: 1 3 0.50 sqsub z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 3 0.50 sqsub z31.b, z31.b, #255
-# CHECK-NEXT: 1 3 0.50 sqsub z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: 1 3 0.50 sqsub z31.d, z31.d, #65280
-# CHECK-NEXT: 1 3 0.50 sqsub z31.h, z31.h, #65280
-# CHECK-NEXT: 1 3 0.50 sqsub z31.s, z31.s, #65280
-# CHECK-NEXT: 1 3 0.50 sqsubr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 3 0.50 sqsubr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 3 0.50 sqsubr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 3 0.50 sqsubr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 sqsub z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 sqsub z0.b, z0.b, #0
+# CHECK-NEXT: 1 4 0.50 sqsub z0.b, z0.b, z0.b
+# CHECK-NEXT: 1 4 0.50 sqsub z0.d, z0.d, #0
+# CHECK-NEXT: 1 4 0.50 sqsub z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: 1 4 0.50 sqsub z0.d, z0.d, z0.d
+# CHECK-NEXT: 1 4 0.50 sqsub z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 sqsub z0.h, z0.h, #0
+# CHECK-NEXT: 1 4 0.50 sqsub z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: 1 4 0.50 sqsub z0.h, z0.h, z0.h
+# CHECK-NEXT: 1 4 0.50 sqsub z0.s, z0.s, #0
+# CHECK-NEXT: 1 4 0.50 sqsub z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: 1 4 0.50 sqsub z0.s, z0.s, z0.s
+# CHECK-NEXT: 1 4 0.50 sqsub z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 sqsub z31.b, z31.b, #255
+# CHECK-NEXT: 1 4 0.50 sqsub z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 sqsub z31.d, z31.d, #65280
+# CHECK-NEXT: 1 4 0.50 sqsub z31.h, z31.h, #65280
+# CHECK-NEXT: 1 4 0.50 sqsub z31.s, z31.s, #65280
+# CHECK-NEXT: 1 4 0.50 sqsubr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 sqsubr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 sqsubr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 sqsubr z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 4 0.50 sqxtnb z0.b, z31.h
# CHECK-NEXT: 1 4 0.50 sqxtnb z0.h, z31.s
# CHECK-NEXT: 1 4 0.50 sqxtnb z0.s, z31.d
@@ -5945,10 +5945,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 sqxtunt z0.b, z31.h
# CHECK-NEXT: 1 4 0.50 sqxtunt z0.h, z31.s
# CHECK-NEXT: 1 4 0.50 sqxtunt z0.s, z31.d
-# CHECK-NEXT: 1 3 0.50 srhadd z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 3 0.50 srhadd z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 3 0.50 srhadd z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 3 0.50 srhadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 srhadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 srhadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 srhadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 srhadd z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 3 0.50 sri z0.b, z0.b, #1
# CHECK-NEXT: 1 3 0.50 sri z0.d, z0.d, #1
# CHECK-NEXT: 1 3 0.50 sri z0.h, z0.h, #1
@@ -5973,14 +5973,14 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 srshr z31.d, p0/m, z31.d, #64
# CHECK-NEXT: 1 4 0.50 srshr z31.h, p0/m, z31.h, #16
# CHECK-NEXT: 1 4 0.50 srshr z31.s, p0/m, z31.s, #32
-# CHECK-NEXT: 1 5 0.50 srsra z0.b, z0.b, #1
-# CHECK-NEXT: 1 5 0.50 srsra z0.d, z0.d, #1
-# CHECK-NEXT: 1 5 0.50 srsra z0.h, z0.h, #1
-# CHECK-NEXT: 1 5 0.50 srsra z0.s, z0.s, #1
-# CHECK-NEXT: 1 5 0.50 srsra z31.b, z31.b, #8
-# CHECK-NEXT: 1 5 0.50 srsra z31.d, z31.d, #64
-# CHECK-NEXT: 1 5 0.50 srsra z31.h, z31.h, #16
-# CHECK-NEXT: 1 5 0.50 srsra z31.s, z31.s, #32
+# CHECK-NEXT: 1 5 1.50 srsra z0.b, z0.b, #1
+# CHECK-NEXT: 1 5 1.50 srsra z0.d, z0.d, #1
+# CHECK-NEXT: 1 5 1.50 srsra z0.h, z0.h, #1
+# CHECK-NEXT: 1 5 1.50 srsra z0.s, z0.s, #1
+# CHECK-NEXT: 1 5 1.50 srsra z31.b, z31.b, #8
+# CHECK-NEXT: 1 5 1.50 srsra z31.d, z31.d, #64
+# CHECK-NEXT: 1 5 1.50 srsra z31.h, z31.h, #16
+# CHECK-NEXT: 1 5 1.50 srsra z31.s, z31.s, #32
# CHECK-NEXT: 1 3 0.50 sshllb z0.d, z0.s, #0
# CHECK-NEXT: 1 3 0.50 sshllb z0.h, z0.b, #0
# CHECK-NEXT: 1 3 0.50 sshllb z0.s, z0.h, #0
@@ -5993,32 +5993,32 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 sshllt z31.d, z31.s, #31
# CHECK-NEXT: 1 3 0.50 sshllt z31.h, z31.b, #7
# CHECK-NEXT: 1 3 0.50 sshllt z31.s, z31.h, #15
-# CHECK-NEXT: 1 4 0.50 ssra z0.b, z0.b, #1
-# CHECK-NEXT: 1 4 0.50 ssra z0.d, z0.d, #1
-# CHECK-NEXT: 1 4 0.50 ssra z0.h, z0.h, #1
-# CHECK-NEXT: 1 4 0.50 ssra z0.s, z0.s, #1
-# CHECK-NEXT: 1 4 0.50 ssra z31.b, z31.b, #8
-# CHECK-NEXT: 1 4 0.50 ssra z31.d, z31.d, #64
-# CHECK-NEXT: 1 4 0.50 ssra z31.h, z31.h, #16
-# CHECK-NEXT: 1 4 0.50 ssra z31.s, z31.s, #32
-# CHECK-NEXT: 1 3 0.50 ssublb z0.h, z1.b, z2.b
-# CHECK-NEXT: 1 3 0.50 ssublb z29.s, z30.h, z31.h
-# CHECK-NEXT: 1 3 0.50 ssublb z31.d, z31.s, z31.s
-# CHECK-NEXT: 1 3 0.50 ssublbt z0.d, z1.s, z31.s
-# CHECK-NEXT: 1 3 0.50 ssublbt z0.h, z1.b, z31.b
-# CHECK-NEXT: 1 3 0.50 ssublbt z0.s, z1.h, z31.h
-# CHECK-NEXT: 1 3 0.50 ssublt z0.h, z1.b, z2.b
-# CHECK-NEXT: 1 3 0.50 ssublt z29.s, z30.h, z31.h
-# CHECK-NEXT: 1 3 0.50 ssublt z31.d, z31.s, z31.s
-# CHECK-NEXT: 1 3 0.50 ssubltb z0.d, z1.s, z31.s
-# CHECK-NEXT: 1 3 0.50 ssubltb z0.h, z1.b, z31.b
-# CHECK-NEXT: 1 3 0.50 ssubltb z0.s, z1.h, z31.h
-# CHECK-NEXT: 1 3 0.50 ssubwb z0.h, z1.h, z2.b
-# CHECK-NEXT: 1 3 0.50 ssubwb z29.s, z30.s, z31.h
-# CHECK-NEXT: 1 3 0.50 ssubwb z31.d, z31.d, z31.s
-# CHECK-NEXT: 1 3 0.50 ssubwt z0.h, z1.h, z2.b
-# CHECK-NEXT: 1 3 0.50 ssubwt z29.s, z30.s, z31.h
-# CHECK-NEXT: 1 3 0.50 ssubwt z31.d, z31.d, z31.s
+# CHECK-NEXT: 1 3 0.50 ssra z0.b, z0.b, #1
+# CHECK-NEXT: 1 3 0.50 ssra z0.d, z0.d, #1
+# CHECK-NEXT: 1 3 0.50 ssra z0.h, z0.h, #1
+# CHECK-NEXT: 1 3 0.50 ssra z0.s, z0.s, #1
+# CHECK-NEXT: 1 3 0.50 ssra z31.b, z31.b, #8
+# CHECK-NEXT: 1 3 0.50 ssra z31.d, z31.d, #64
+# CHECK-NEXT: 1 3 0.50 ssra z31.h, z31.h, #16
+# CHECK-NEXT: 1 3 0.50 ssra z31.s, z31.s, #32
+# CHECK-NEXT: 1 4 0.50 ssublb z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 ssublb z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 ssublb z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 4 0.50 ssublbt z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 ssublbt z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 ssublbt z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 ssublt z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 ssublt z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 ssublt z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 4 0.50 ssubltb z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 ssubltb z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 4 0.50 ssubltb z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 ssubwb z0.h, z1.h, z2.b
+# CHECK-NEXT: 1 4 0.50 ssubwb z29.s, z30.s, z31.h
+# CHECK-NEXT: 1 4 0.50 ssubwb z31.d, z31.d, z31.s
+# CHECK-NEXT: 1 4 0.50 ssubwt z0.h, z1.h, z2.b
+# CHECK-NEXT: 1 4 0.50 ssubwt z29.s, z30.s, z31.h
+# CHECK-NEXT: 1 4 0.50 ssubwt z31.d, z31.d, z31.s
# CHECK-NEXT: 1 1 1.00 * st1b { z0.b }, p0, [x0, x0]
# CHECK-NEXT: 1 1 1.00 * st1b { z0.b }, p0, [x0]
# CHECK-NEXT: 1 1 1.00 * st1b { z0.d }, p0, [x0, x0]
@@ -6207,80 +6207,80 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 1 1.00 * str z0, [x0]
# CHECK-NEXT: 1 1 1.00 * str z21, [x10, #-256, mul vl]
# CHECK-NEXT: 1 1 1.00 * str z31, [sp, #255, mul vl]
-# CHECK-NEXT: 1 2 0.50 sub z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: 1 2 0.50 sub z0.b, z0.b, #0
-# CHECK-NEXT: 1 2 0.50 sub z0.b, z0.b, z0.b
-# CHECK-NEXT: 1 2 0.50 sub z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: 1 2 0.50 sub z0.d, z0.d, #0
-# CHECK-NEXT: 1 2 0.50 sub z0.d, z0.d, #0, lsl #8
-# CHECK-NEXT: 1 2 0.50 sub z0.d, z0.d, z0.d
-# CHECK-NEXT: 1 2 0.50 sub z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: 1 2 0.50 sub z0.h, z0.h, #0
-# CHECK-NEXT: 1 2 0.50 sub z0.h, z0.h, #0, lsl #8
-# CHECK-NEXT: 1 2 0.50 sub z0.h, z0.h, z0.h
-# CHECK-NEXT: 1 2 0.50 sub z0.s, p0/m, z0.s, z0.s
-# CHECK-NEXT: 1 2 0.50 sub z0.s, z0.s, #0
-# CHECK-NEXT: 1 2 0.50 sub z0.s, z0.s, #0, lsl #8
-# CHECK-NEXT: 1 2 0.50 sub z0.s, z0.s, z0.s
-# CHECK-NEXT: 1 2 0.50 sub z21.b, p5/m, z21.b, z10.b
-# CHECK-NEXT: 1 2 0.50 sub z21.b, z10.b, z21.b
-# CHECK-NEXT: 1 2 0.50 sub z21.d, p5/m, z21.d, z10.d
-# CHECK-NEXT: 1 2 0.50 sub z21.d, z10.d, z21.d
-# CHECK-NEXT: 1 2 0.50 sub z21.h, p5/m, z21.h, z10.h
-# CHECK-NEXT: 1 2 0.50 sub z21.h, z10.h, z21.h
-# CHECK-NEXT: 1 2 0.50 sub z21.s, p5/m, z21.s, z10.s
-# CHECK-NEXT: 1 2 0.50 sub z21.s, z10.s, z21.s
-# CHECK-NEXT: 1 2 0.50 sub z23.b, p3/m, z23.b, z13.b
-# CHECK-NEXT: 1 2 0.50 sub z23.b, z13.b, z8.b
-# CHECK-NEXT: 1 2 0.50 sub z23.d, p3/m, z23.d, z13.d
-# CHECK-NEXT: 1 2 0.50 sub z23.d, z13.d, z8.d
-# CHECK-NEXT: 1 2 0.50 sub z23.h, p3/m, z23.h, z13.h
-# CHECK-NEXT: 1 2 0.50 sub z23.h, z13.h, z8.h
-# CHECK-NEXT: 1 2 0.50 sub z23.s, p3/m, z23.s, z13.s
-# CHECK-NEXT: 1 2 0.50 sub z23.s, z13.s, z8.s
-# CHECK-NEXT: 1 2 0.50 sub z31.b, p7/m, z31.b, z31.b
-# CHECK-NEXT: 1 2 0.50 sub z31.b, z31.b, #255
-# CHECK-NEXT: 1 2 0.50 sub z31.b, z31.b, z31.b
-# CHECK-NEXT: 1 2 0.50 sub z31.d, p7/m, z31.d, z31.d
-# CHECK-NEXT: 1 2 0.50 sub z31.d, z31.d, #65280
-# CHECK-NEXT: 1 2 0.50 sub z31.d, z31.d, z31.d
-# CHECK-NEXT: 1 2 0.50 sub z31.h, p7/m, z31.h, z31.h
-# CHECK-NEXT: 1 2 0.50 sub z31.h, z31.h, #65280
-# CHECK-NEXT: 1 2 0.50 sub z31.h, z31.h, z31.h
-# CHECK-NEXT: 1 2 0.50 sub z31.s, p7/m, z31.s, z31.s
-# CHECK-NEXT: 1 2 0.50 sub z31.s, z31.s, #65280
-# CHECK-NEXT: 1 2 0.50 sub z31.s, z31.s, z31.s
-# CHECK-NEXT: 1 8 0.50 subhnb z0.b, z1.h, z31.h
-# CHECK-NEXT: 1 8 0.50 subhnb z0.h, z1.s, z31.s
-# CHECK-NEXT: 1 8 0.50 subhnb z0.s, z1.d, z31.d
-# CHECK-NEXT: 1 8 0.50 subhnt z0.b, z1.h, z31.h
-# CHECK-NEXT: 1 8 0.50 subhnt z0.h, z1.s, z31.s
-# CHECK-NEXT: 1 8 0.50 subhnt z0.s, z1.d, z31.d
-# CHECK-NEXT: 1 2 0.50 subr z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: 1 2 0.50 subr z0.b, z0.b, #0
-# CHECK-NEXT: 1 2 0.50 subr z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: 1 2 0.50 subr z0.d, z0.d, #0
-# CHECK-NEXT: 1 2 0.50 subr z0.d, z0.d, #0, lsl #8
-# CHECK-NEXT: 1 2 0.50 subr z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: 1 2 0.50 subr z0.h, z0.h, #0
-# CHECK-NEXT: 1 2 0.50 subr z0.h, z0.h, #0, lsl #8
-# CHECK-NEXT: 1 2 0.50 subr z0.s, p0/m, z0.s, z0.s
-# CHECK-NEXT: 1 2 0.50 subr z0.s, z0.s, #0
-# CHECK-NEXT: 1 2 0.50 subr z0.s, z0.s, #0, lsl #8
-# CHECK-NEXT: 1 2 0.50 subr z31.b, z31.b, #255
-# CHECK-NEXT: 1 2 0.50 subr z31.d, z31.d, #65280
-# CHECK-NEXT: 1 2 0.50 subr z31.h, z31.h, #65280
-# CHECK-NEXT: 1 2 0.50 subr z31.s, z31.s, #65280
+# CHECK-NEXT: 1 3 0.50 sub z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 sub z0.b, z0.b, #0
+# CHECK-NEXT: 1 3 0.50 sub z0.b, z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 sub z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 sub z0.d, z0.d, #0
+# CHECK-NEXT: 1 3 0.50 sub z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 sub z0.d, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 sub z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 3 0.50 sub z0.h, z0.h, #0
+# CHECK-NEXT: 1 3 0.50 sub z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 sub z0.h, z0.h, z0.h
+# CHECK-NEXT: 1 3 0.50 sub z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 3 0.50 sub z0.s, z0.s, #0
+# CHECK-NEXT: 1 3 0.50 sub z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 sub z0.s, z0.s, z0.s
+# CHECK-NEXT: 1 3 0.50 sub z21.b, p5/m, z21.b, z10.b
+# CHECK-NEXT: 1 3 0.50 sub z21.b, z10.b, z21.b
+# CHECK-NEXT: 1 3 0.50 sub z21.d, p5/m, z21.d, z10.d
+# CHECK-NEXT: 1 3 0.50 sub z21.d, z10.d, z21.d
+# CHECK-NEXT: 1 3 0.50 sub z21.h, p5/m, z21.h, z10.h
+# CHECK-NEXT: 1 3 0.50 sub z21.h, z10.h, z21.h
+# CHECK-NEXT: 1 3 0.50 sub z21.s, p5/m, z21.s, z10.s
+# CHECK-NEXT: 1 3 0.50 sub z21.s, z10.s, z21.s
+# CHECK-NEXT: 1 3 0.50 sub z23.b, p3/m, z23.b, z13.b
+# CHECK-NEXT: 1 3 0.50 sub z23.b, z13.b, z8.b
+# CHECK-NEXT: 1 3 0.50 sub z23.d, p3/m, z23.d, z13.d
+# CHECK-NEXT: 1 3 0.50 sub z23.d, z13.d, z8.d
+# CHECK-NEXT: 1 3 0.50 sub z23.h, p3/m, z23.h, z13.h
+# CHECK-NEXT: 1 3 0.50 sub z23.h, z13.h, z8.h
+# CHECK-NEXT: 1 3 0.50 sub z23.s, p3/m, z23.s, z13.s
+# CHECK-NEXT: 1 3 0.50 sub z23.s, z13.s, z8.s
+# CHECK-NEXT: 1 3 0.50 sub z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 sub z31.b, z31.b, #255
+# CHECK-NEXT: 1 3 0.50 sub z31.b, z31.b, z31.b
+# CHECK-NEXT: 1 3 0.50 sub z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 sub z31.d, z31.d, #65280
+# CHECK-NEXT: 1 3 0.50 sub z31.d, z31.d, z31.d
+# CHECK-NEXT: 1 3 0.50 sub z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 sub z31.h, z31.h, #65280
+# CHECK-NEXT: 1 3 0.50 sub z31.h, z31.h, z31.h
+# CHECK-NEXT: 1 3 0.50 sub z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT: 1 3 0.50 sub z31.s, z31.s, #65280
+# CHECK-NEXT: 1 3 0.50 sub z31.s, z31.s, z31.s
+# CHECK-NEXT: 1 6 0.50 subhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 6 0.50 subhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 6 0.50 subhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 6 0.50 subhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 6 0.50 subhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 6 0.50 subhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 3 0.50 subr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 subr z0.b, z0.b, #0
+# CHECK-NEXT: 1 3 0.50 subr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 3 0.50 subr z0.d, z0.d, #0
+# CHECK-NEXT: 1 3 0.50 subr z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 subr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 3 0.50 subr z0.h, z0.h, #0
+# CHECK-NEXT: 1 3 0.50 subr z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 subr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 3 0.50 subr z0.s, z0.s, #0
+# CHECK-NEXT: 1 3 0.50 subr z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: 1 3 0.50 subr z31.b, z31.b, #255
+# CHECK-NEXT: 1 3 0.50 subr z31.d, z31.d, #65280
+# CHECK-NEXT: 1 3 0.50 subr z31.h, z31.h, #65280
+# CHECK-NEXT: 1 3 0.50 subr z31.s, z31.s, #65280
# CHECK-NEXT: 1 4 0.50 sunpkhi z31.d, z31.s
# CHECK-NEXT: 1 4 0.50 sunpkhi z31.h, z31.b
# CHECK-NEXT: 1 4 0.50 sunpkhi z31.s, z31.h
# CHECK-NEXT: 1 4 0.50 sunpklo z31.d, z31.s
# CHECK-NEXT: 1 4 0.50 sunpklo z31.h, z31.b
# CHECK-NEXT: 1 4 0.50 sunpklo z31.s, z31.h
-# CHECK-NEXT: 1 3 0.50 suqadd z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 3 0.50 suqadd z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 3 0.50 suqadd z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 3 0.50 suqadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 suqadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 suqadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 suqadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 suqadd z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 3 0.50 sxtb z0.d, p0/m, z0.d
# CHECK-NEXT: 1 3 0.50 sxtb z0.h, p0/m, z0.h
# CHECK-NEXT: 1 3 0.50 sxtb z0.s, p0/m, z0.s
@@ -6305,32 +6305,32 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 tbx z31.d, z31.d, z31.d
# CHECK-NEXT: 1 4 0.50 tbx z31.h, z31.h, z31.h
# CHECK-NEXT: 1 4 0.50 tbx z31.s, z31.s, z31.s
-# CHECK-NEXT: 1 2 1.00 trn1 p15.b, p15.b, p15.b
-# CHECK-NEXT: 1 2 1.00 trn1 p15.d, p15.d, p15.d
-# CHECK-NEXT: 1 2 1.00 trn1 p15.h, p15.h, p15.h
-# CHECK-NEXT: 1 2 1.00 trn1 p15.s, p15.s, p15.s
+# CHECK-NEXT: 1 1 1.00 trn1 p15.b, p15.b, p15.b
+# CHECK-NEXT: 1 1 1.00 trn1 p15.d, p15.d, p15.d
+# CHECK-NEXT: 1 1 1.00 trn1 p15.h, p15.h, p15.h
+# CHECK-NEXT: 1 1 1.00 trn1 p15.s, p15.s, p15.s
# CHECK-NEXT: 1 3 0.50 trn1 z31.b, z31.b, z31.b
# CHECK-NEXT: 1 3 0.50 trn1 z31.d, z31.d, z31.d
# CHECK-NEXT: 1 3 0.50 trn1 z31.h, z31.h, z31.h
# CHECK-NEXT: 1 3 0.50 trn1 z31.s, z31.s, z31.s
-# CHECK-NEXT: 1 2 1.00 trn2 p15.b, p15.b, p15.b
-# CHECK-NEXT: 1 2 1.00 trn2 p15.d, p15.d, p15.d
-# CHECK-NEXT: 1 2 1.00 trn2 p15.h, p15.h, p15.h
-# CHECK-NEXT: 1 2 1.00 trn2 p15.s, p15.s, p15.s
+# CHECK-NEXT: 1 1 1.00 trn2 p15.b, p15.b, p15.b
+# CHECK-NEXT: 1 1 1.00 trn2 p15.d, p15.d, p15.d
+# CHECK-NEXT: 1 1 1.00 trn2 p15.h, p15.h, p15.h
+# CHECK-NEXT: 1 1 1.00 trn2 p15.s, p15.s, p15.s
# CHECK-NEXT: 1 3 0.50 trn2 z31.b, z31.b, z31.b
# CHECK-NEXT: 1 3 0.50 trn2 z31.d, z31.d, z31.d
# CHECK-NEXT: 1 3 0.50 trn2 z31.h, z31.h, z31.h
# CHECK-NEXT: 1 3 0.50 trn2 z31.s, z31.s, z31.s
-# CHECK-NEXT: 1 6 1.00 uaba z0.b, z1.b, z31.b
-# CHECK-NEXT: 1 6 1.00 uaba z0.d, z1.d, z31.d
-# CHECK-NEXT: 1 6 1.00 uaba z0.h, z1.h, z31.h
-# CHECK-NEXT: 1 6 1.00 uaba z0.s, z1.s, z31.s
-# CHECK-NEXT: 1 6 1.00 uabalb z0.d, z1.s, z31.s
-# CHECK-NEXT: 1 6 1.00 uabalb z0.h, z1.b, z31.b
-# CHECK-NEXT: 1 6 1.00 uabalb z0.s, z1.h, z31.h
-# CHECK-NEXT: 1 6 1.00 uabalt z0.d, z1.s, z31.s
-# CHECK-NEXT: 1 6 1.00 uabalt z0.h, z1.b, z31.b
-# CHECK-NEXT: 1 6 1.00 uabalt z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 5 1.50 uaba z0.b, z1.b, z31.b
+# CHECK-NEXT: 1 5 1.50 uaba z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 5 1.50 uaba z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 5 1.50 uaba z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 5 1.50 uabalb z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 5 1.50 uabalb z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 5 1.50 uabalb z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 5 1.50 uabalt z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 5 1.50 uabalt z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 5 1.50 uabalt z0.s, z1.h, z31.h
# CHECK-NEXT: 1 3 0.50 uabd z31.b, p7/m, z31.b, z31.b
# CHECK-NEXT: 1 3 0.50 uabd z31.d, p7/m, z31.d, z31.d
# CHECK-NEXT: 1 3 0.50 uabd z31.h, p7/m, z31.h, z31.h
@@ -6341,25 +6341,25 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 uabdlt z0.h, z1.b, z2.b
# CHECK-NEXT: 1 3 0.50 uabdlt z29.s, z30.h, z31.h
# CHECK-NEXT: 1 3 0.50 uabdlt z31.d, z31.s, z31.s
-# CHECK-NEXT: 1 7 1.00 uadalp z0.h, p0/m, z1.b
-# CHECK-NEXT: 1 7 1.00 uadalp z29.s, p0/m, z30.h
-# CHECK-NEXT: 1 7 1.00 uadalp z30.d, p7/m, z31.s
-# CHECK-NEXT: 1 3 0.50 uaddlb z0.h, z1.b, z2.b
-# CHECK-NEXT: 1 3 0.50 uaddlb z29.s, z30.h, z31.h
-# CHECK-NEXT: 1 3 0.50 uaddlb z31.d, z31.s, z31.s
-# CHECK-NEXT: 1 3 0.50 uaddlt z0.h, z1.b, z2.b
-# CHECK-NEXT: 1 3 0.50 uaddlt z29.s, z30.h, z31.h
-# CHECK-NEXT: 1 3 0.50 uaddlt z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 6 2.00 uadalp z0.h, p0/m, z1.b
+# CHECK-NEXT: 1 6 2.00 uadalp z29.s, p0/m, z30.h
+# CHECK-NEXT: 1 6 2.00 uadalp z30.d, p7/m, z31.s
+# CHECK-NEXT: 1 4 0.50 uaddlb z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 uaddlb z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 uaddlb z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 4 0.50 uaddlt z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 uaddlt z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 uaddlt z31.d, z31.s, z31.s
# CHECK-NEXT: 1 4 1.00 uaddv d0, p7, z31.b
# CHECK-NEXT: 1 4 1.00 uaddv d0, p7, z31.d
# CHECK-NEXT: 1 4 1.00 uaddv d0, p7, z31.h
# CHECK-NEXT: 1 4 1.00 uaddv d0, p7, z31.s
-# CHECK-NEXT: 1 3 0.50 uaddwb z0.h, z1.h, z2.b
-# CHECK-NEXT: 1 3 0.50 uaddwb z29.s, z30.s, z31.h
-# CHECK-NEXT: 1 3 0.50 uaddwb z31.d, z31.d, z31.s
-# CHECK-NEXT: 1 3 0.50 uaddwt z0.h, z1.h, z2.b
-# CHECK-NEXT: 1 3 0.50 uaddwt z29.s, z30.s, z31.h
-# CHECK-NEXT: 1 3 0.50 uaddwt z31.d, z31.d, z31.s
+# CHECK-NEXT: 1 4 0.50 uaddwb z0.h, z1.h, z2.b
+# CHECK-NEXT: 1 4 0.50 uaddwb z29.s, z30.s, z31.h
+# CHECK-NEXT: 1 4 0.50 uaddwb z31.d, z31.d, z31.s
+# CHECK-NEXT: 1 4 0.50 uaddwt z0.h, z1.h, z2.b
+# CHECK-NEXT: 1 4 0.50 uaddwt z29.s, z30.s, z31.h
+# CHECK-NEXT: 1 4 0.50 uaddwt z31.d, z31.d, z31.s
# CHECK-NEXT: 1 4 0.50 ucvtf z0.d, p0/m, z0.d
# CHECK-NEXT: 1 4 0.50 ucvtf z0.d, p0/m, z0.s
# CHECK-NEXT: 1 4 0.50 ucvtf z0.h, p0/m, z0.d
@@ -6375,18 +6375,18 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 udot z0.d, z1.h, z31.h
# CHECK-NEXT: 1 4 0.50 udot z0.s, z1.b, z31.b
# CHECK-NEXT: 1 4 0.50 udot z0.s, z1.b, z7.b[3]
-# CHECK-NEXT: 1 2 0.50 uhadd z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 2 0.50 uhadd z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 2 0.50 uhadd z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 2 0.50 uhadd z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: 1 2 0.50 uhsub z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 2 0.50 uhsub z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 2 0.50 uhsub z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 2 0.50 uhsub z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: 1 2 0.50 uhsubr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 2 0.50 uhsubr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 2 0.50 uhsubr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 2 0.50 uhsubr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 3 0.50 uhadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 uhadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 uhadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 uhadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 3 0.50 uhsub z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 uhsub z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 uhsub z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 uhsub z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 3 0.50 uhsubr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 uhsubr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 uhsubr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 uhsubr z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 3 0.50 umax z0.b, z0.b, #0
# CHECK-NEXT: 1 3 0.50 umax z31.b, p7/m, z31.b, z31.b
# CHECK-NEXT: 1 3 0.50 umax z31.b, z31.b, #255
@@ -6454,139 +6454,139 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 umullt z0.s, z1.h, z7.h[7]
# CHECK-NEXT: 1 4 0.50 umullt z29.s, z30.h, z31.h
# CHECK-NEXT: 1 4 0.50 umullt z31.d, z31.s, z31.s
-# CHECK-NEXT: 1 3 0.50 uqadd z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 3 0.50 uqadd z0.b, z0.b, #0
-# CHECK-NEXT: 1 3 0.50 uqadd z0.b, z0.b, z0.b
-# CHECK-NEXT: 1 3 0.50 uqadd z0.d, z0.d, #0
-# CHECK-NEXT: 1 3 0.50 uqadd z0.d, z0.d, #0, lsl #8
-# CHECK-NEXT: 1 3 0.50 uqadd z0.d, z0.d, z0.d
-# CHECK-NEXT: 1 3 0.50 uqadd z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 3 0.50 uqadd z0.h, z0.h, #0
-# CHECK-NEXT: 1 3 0.50 uqadd z0.h, z0.h, #0, lsl #8
-# CHECK-NEXT: 1 3 0.50 uqadd z0.h, z0.h, z0.h
-# CHECK-NEXT: 1 3 0.50 uqadd z0.s, z0.s, #0
-# CHECK-NEXT: 1 3 0.50 uqadd z0.s, z0.s, #0, lsl #8
-# CHECK-NEXT: 1 3 0.50 uqadd z0.s, z0.s, z0.s
-# CHECK-NEXT: 1 3 0.50 uqadd z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 3 0.50 uqadd z31.b, z31.b, #255
-# CHECK-NEXT: 1 3 0.50 uqadd z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: 1 3 0.50 uqadd z31.d, z31.d, #65280
-# CHECK-NEXT: 1 3 0.50 uqadd z31.h, z31.h, #65280
-# CHECK-NEXT: 1 3 0.50 uqadd z31.s, z31.s, #65280
-# CHECK-NEXT: 1 4 0.50 uqdecb w0
-# CHECK-NEXT: 1 4 0.50 uqdecb w0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 uqdecb w0, pow2
-# CHECK-NEXT: 1 4 0.50 uqdecb w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.50 uqdecb x0
-# CHECK-NEXT: 1 4 0.50 uqdecb x0, #14
-# CHECK-NEXT: 1 4 0.50 uqdecb x0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 uqdecb x0, pow2
-# CHECK-NEXT: 1 4 0.50 uqdecb x0, vl1
-# CHECK-NEXT: 1 4 0.50 uqdecd w0
-# CHECK-NEXT: 1 4 0.50 uqdecd w0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 uqdecd w0, pow2
-# CHECK-NEXT: 1 4 0.50 uqdecd w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.50 uqdecd x0
-# CHECK-NEXT: 1 4 0.50 uqdecd x0, #14
-# CHECK-NEXT: 1 4 0.50 uqdecd x0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 uqdecd x0, pow2
-# CHECK-NEXT: 1 4 0.50 uqdecd x0, vl1
+# CHECK-NEXT: 1 4 0.50 uqadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 uqadd z0.b, z0.b, #0
+# CHECK-NEXT: 1 4 0.50 uqadd z0.b, z0.b, z0.b
+# CHECK-NEXT: 1 4 0.50 uqadd z0.d, z0.d, #0
+# CHECK-NEXT: 1 4 0.50 uqadd z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: 1 4 0.50 uqadd z0.d, z0.d, z0.d
+# CHECK-NEXT: 1 4 0.50 uqadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 uqadd z0.h, z0.h, #0
+# CHECK-NEXT: 1 4 0.50 uqadd z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: 1 4 0.50 uqadd z0.h, z0.h, z0.h
+# CHECK-NEXT: 1 4 0.50 uqadd z0.s, z0.s, #0
+# CHECK-NEXT: 1 4 0.50 uqadd z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: 1 4 0.50 uqadd z0.s, z0.s, z0.s
+# CHECK-NEXT: 1 4 0.50 uqadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 uqadd z31.b, z31.b, #255
+# CHECK-NEXT: 1 4 0.50 uqadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 uqadd z31.d, z31.d, #65280
+# CHECK-NEXT: 1 4 0.50 uqadd z31.h, z31.h, #65280
+# CHECK-NEXT: 1 4 0.50 uqadd z31.s, z31.s, #65280
+# CHECK-NEXT: 1 5 0.50 uqdecb w0
+# CHECK-NEXT: 1 5 0.50 uqdecb w0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 uqdecb w0, pow2
+# CHECK-NEXT: 1 5 0.50 uqdecb w0, pow2, mul #16
+# CHECK-NEXT: 1 5 0.50 uqdecb x0
+# CHECK-NEXT: 1 5 0.50 uqdecb x0, #14
+# CHECK-NEXT: 1 5 0.50 uqdecb x0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 uqdecb x0, pow2
+# CHECK-NEXT: 1 5 0.50 uqdecb x0, vl1
+# CHECK-NEXT: 1 5 0.50 uqdecd w0
+# CHECK-NEXT: 1 5 0.50 uqdecd w0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 uqdecd w0, pow2
+# CHECK-NEXT: 1 5 0.50 uqdecd w0, pow2, mul #16
+# CHECK-NEXT: 1 5 0.50 uqdecd x0
+# CHECK-NEXT: 1 5 0.50 uqdecd x0, #14
+# CHECK-NEXT: 1 5 0.50 uqdecd x0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 uqdecd x0, pow2
+# CHECK-NEXT: 1 5 0.50 uqdecd x0, vl1
# CHECK-NEXT: 1 4 0.50 uqdecd z0.d
# CHECK-NEXT: 1 4 0.50 uqdecd z0.d, all, mul #16
# CHECK-NEXT: 1 4 0.50 uqdecd z0.d, pow2
# CHECK-NEXT: 1 4 0.50 uqdecd z0.d, pow2, mul #16
-# CHECK-NEXT: 1 4 0.50 uqdech w0
-# CHECK-NEXT: 1 4 0.50 uqdech w0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 uqdech w0, pow2
-# CHECK-NEXT: 1 4 0.50 uqdech w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.50 uqdech x0
-# CHECK-NEXT: 1 4 0.50 uqdech x0, #14
-# CHECK-NEXT: 1 4 0.50 uqdech x0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 uqdech x0, pow2
-# CHECK-NEXT: 1 4 0.50 uqdech x0, vl1
+# CHECK-NEXT: 1 5 0.50 uqdech w0
+# CHECK-NEXT: 1 5 0.50 uqdech w0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 uqdech w0, pow2
+# CHECK-NEXT: 1 5 0.50 uqdech w0, pow2, mul #16
+# CHECK-NEXT: 1 5 0.50 uqdech x0
+# CHECK-NEXT: 1 5 0.50 uqdech x0, #14
+# CHECK-NEXT: 1 5 0.50 uqdech x0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 uqdech x0, pow2
+# CHECK-NEXT: 1 5 0.50 uqdech x0, vl1
# CHECK-NEXT: 1 4 0.50 uqdech z0.h
# CHECK-NEXT: 1 4 0.50 uqdech z0.h, all, mul #16
# CHECK-NEXT: 1 4 0.50 uqdech z0.h, pow2
# CHECK-NEXT: 1 4 0.50 uqdech z0.h, pow2, mul #16
-# CHECK-NEXT: 1 9 1.00 uqdecp wzr, p15.b
-# CHECK-NEXT: 1 9 1.00 uqdecp wzr, p15.d
-# CHECK-NEXT: 1 9 1.00 uqdecp wzr, p15.h
-# CHECK-NEXT: 1 9 1.00 uqdecp wzr, p15.s
-# CHECK-NEXT: 1 9 1.00 uqdecp x0, p0.b
-# CHECK-NEXT: 1 9 1.00 uqdecp x0, p0.d
-# CHECK-NEXT: 1 9 1.00 uqdecp x0, p0.h
-# CHECK-NEXT: 1 9 1.00 uqdecp x0, p0.s
-# CHECK-NEXT: 1 4 0.50 uqdecp z0.d, p0.d
-# CHECK-NEXT: 1 4 0.50 uqdecp z0.h, p0.h
-# CHECK-NEXT: 1 4 0.50 uqdecp z0.s, p0.s
-# CHECK-NEXT: 1 4 0.50 uqdecw w0
-# CHECK-NEXT: 1 4 0.50 uqdecw w0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 uqdecw w0, pow2
-# CHECK-NEXT: 1 4 0.50 uqdecw w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.50 uqdecw x0
-# CHECK-NEXT: 1 4 0.50 uqdecw x0, #14
-# CHECK-NEXT: 1 4 0.50 uqdecw x0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 uqdecw x0, pow2
-# CHECK-NEXT: 1 4 0.50 uqdecw x0, vl1
+# CHECK-NEXT: 1 2 1.00 uqdecp wzr, p15.b
+# CHECK-NEXT: 1 2 1.00 uqdecp wzr, p15.d
+# CHECK-NEXT: 1 2 1.00 uqdecp wzr, p15.h
+# CHECK-NEXT: 1 2 1.00 uqdecp wzr, p15.s
+# CHECK-NEXT: 1 2 1.00 uqdecp x0, p0.b
+# CHECK-NEXT: 1 2 1.00 uqdecp x0, p0.d
+# CHECK-NEXT: 1 2 1.00 uqdecp x0, p0.h
+# CHECK-NEXT: 1 2 1.00 uqdecp x0, p0.s
+# CHECK-NEXT: 1 3 1.00 uqdecp z0.d, p0.d
+# CHECK-NEXT: 1 3 1.00 uqdecp z0.h, p0.h
+# CHECK-NEXT: 1 3 1.00 uqdecp z0.s, p0.s
+# CHECK-NEXT: 1 5 0.50 uqdecw w0
+# CHECK-NEXT: 1 5 0.50 uqdecw w0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 uqdecw w0, pow2
+# CHECK-NEXT: 1 5 0.50 uqdecw w0, pow2, mul #16
+# CHECK-NEXT: 1 5 0.50 uqdecw x0
+# CHECK-NEXT: 1 5 0.50 uqdecw x0, #14
+# CHECK-NEXT: 1 5 0.50 uqdecw x0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 uqdecw x0, pow2
+# CHECK-NEXT: 1 5 0.50 uqdecw x0, vl1
# CHECK-NEXT: 1 4 0.50 uqdecw z0.s
# CHECK-NEXT: 1 4 0.50 uqdecw z0.s, all, mul #16
# CHECK-NEXT: 1 4 0.50 uqdecw z0.s, pow2
# CHECK-NEXT: 1 4 0.50 uqdecw z0.s, pow2, mul #16
-# CHECK-NEXT: 1 4 0.50 uqincb w0
-# CHECK-NEXT: 1 4 0.50 uqincb w0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 uqincb w0, pow2
-# CHECK-NEXT: 1 4 0.50 uqincb w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.50 uqincb x0
-# CHECK-NEXT: 1 4 0.50 uqincb x0, #14
-# CHECK-NEXT: 1 4 0.50 uqincb x0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 uqincb x0, pow2
-# CHECK-NEXT: 1 4 0.50 uqincb x0, vl1
-# CHECK-NEXT: 1 4 0.50 uqincd w0
-# CHECK-NEXT: 1 4 0.50 uqincd w0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 uqincd w0, pow2
-# CHECK-NEXT: 1 4 0.50 uqincd w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.50 uqincd x0
-# CHECK-NEXT: 1 4 0.50 uqincd x0, #14
-# CHECK-NEXT: 1 4 0.50 uqincd x0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 uqincd x0, pow2
-# CHECK-NEXT: 1 4 0.50 uqincd x0, vl1
+# CHECK-NEXT: 1 5 0.50 uqincb w0
+# CHECK-NEXT: 1 5 0.50 uqincb w0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 uqincb w0, pow2
+# CHECK-NEXT: 1 5 0.50 uqincb w0, pow2, mul #16
+# CHECK-NEXT: 1 5 0.50 uqincb x0
+# CHECK-NEXT: 1 5 0.50 uqincb x0, #14
+# CHECK-NEXT: 1 5 0.50 uqincb x0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 uqincb x0, pow2
+# CHECK-NEXT: 1 5 0.50 uqincb x0, vl1
+# CHECK-NEXT: 1 5 0.50 uqincd w0
+# CHECK-NEXT: 1 5 0.50 uqincd w0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 uqincd w0, pow2
+# CHECK-NEXT: 1 5 0.50 uqincd w0, pow2, mul #16
+# CHECK-NEXT: 1 5 0.50 uqincd x0
+# CHECK-NEXT: 1 5 0.50 uqincd x0, #14
+# CHECK-NEXT: 1 5 0.50 uqincd x0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 uqincd x0, pow2
+# CHECK-NEXT: 1 5 0.50 uqincd x0, vl1
# CHECK-NEXT: 1 4 0.50 uqincd z0.d
# CHECK-NEXT: 1 4 0.50 uqincd z0.d, all, mul #16
# CHECK-NEXT: 1 4 0.50 uqincd z0.d, pow2
# CHECK-NEXT: 1 4 0.50 uqincd z0.d, pow2, mul #16
-# CHECK-NEXT: 1 4 0.50 uqinch w0
-# CHECK-NEXT: 1 4 0.50 uqinch w0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 uqinch w0, pow2
-# CHECK-NEXT: 1 4 0.50 uqinch w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.50 uqinch x0
-# CHECK-NEXT: 1 4 0.50 uqinch x0, #14
-# CHECK-NEXT: 1 4 0.50 uqinch x0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 uqinch x0, pow2
-# CHECK-NEXT: 1 4 0.50 uqinch x0, vl1
+# CHECK-NEXT: 1 5 0.50 uqinch w0
+# CHECK-NEXT: 1 5 0.50 uqinch w0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 uqinch w0, pow2
+# CHECK-NEXT: 1 5 0.50 uqinch w0, pow2, mul #16
+# CHECK-NEXT: 1 5 0.50 uqinch x0
+# CHECK-NEXT: 1 5 0.50 uqinch x0, #14
+# CHECK-NEXT: 1 5 0.50 uqinch x0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 uqinch x0, pow2
+# CHECK-NEXT: 1 5 0.50 uqinch x0, vl1
# CHECK-NEXT: 1 4 0.50 uqinch z0.h
# CHECK-NEXT: 1 4 0.50 uqinch z0.h, all, mul #16
# CHECK-NEXT: 1 4 0.50 uqinch z0.h, pow2
# CHECK-NEXT: 1 4 0.50 uqinch z0.h, pow2, mul #16
-# CHECK-NEXT: 1 9 1.00 uqincp wzr, p15.b
-# CHECK-NEXT: 1 9 1.00 uqincp wzr, p15.d
-# CHECK-NEXT: 1 9 1.00 uqincp wzr, p15.h
-# CHECK-NEXT: 1 9 1.00 uqincp wzr, p15.s
-# CHECK-NEXT: 1 9 1.00 uqincp x0, p0.b
-# CHECK-NEXT: 1 9 1.00 uqincp x0, p0.d
-# CHECK-NEXT: 1 9 1.00 uqincp x0, p0.h
-# CHECK-NEXT: 1 9 1.00 uqincp x0, p0.s
-# CHECK-NEXT: 1 4 0.50 uqincp z0.d, p0.d
-# CHECK-NEXT: 1 4 0.50 uqincp z0.h, p0.h
-# CHECK-NEXT: 1 4 0.50 uqincp z0.s, p0.s
-# CHECK-NEXT: 1 4 0.50 uqincw w0
-# CHECK-NEXT: 1 4 0.50 uqincw w0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 uqincw w0, pow2
-# CHECK-NEXT: 1 4 0.50 uqincw w0, pow2, mul #16
-# CHECK-NEXT: 1 4 0.50 uqincw x0
-# CHECK-NEXT: 1 4 0.50 uqincw x0, #14
-# CHECK-NEXT: 1 4 0.50 uqincw x0, all, mul #16
-# CHECK-NEXT: 1 4 0.50 uqincw x0, pow2
-# CHECK-NEXT: 1 4 0.50 uqincw x0, vl1
+# CHECK-NEXT: 1 2 1.00 uqincp wzr, p15.b
+# CHECK-NEXT: 1 2 1.00 uqincp wzr, p15.d
+# CHECK-NEXT: 1 2 1.00 uqincp wzr, p15.h
+# CHECK-NEXT: 1 2 1.00 uqincp wzr, p15.s
+# CHECK-NEXT: 1 2 1.00 uqincp x0, p0.b
+# CHECK-NEXT: 1 2 1.00 uqincp x0, p0.d
+# CHECK-NEXT: 1 2 1.00 uqincp x0, p0.h
+# CHECK-NEXT: 1 2 1.00 uqincp x0, p0.s
+# CHECK-NEXT: 1 3 1.00 uqincp z0.d, p0.d
+# CHECK-NEXT: 1 3 1.00 uqincp z0.h, p0.h
+# CHECK-NEXT: 1 3 1.00 uqincp z0.s, p0.s
+# CHECK-NEXT: 1 5 0.50 uqincw w0
+# CHECK-NEXT: 1 5 0.50 uqincw w0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 uqincw w0, pow2
+# CHECK-NEXT: 1 5 0.50 uqincw w0, pow2, mul #16
+# CHECK-NEXT: 1 5 0.50 uqincw x0
+# CHECK-NEXT: 1 5 0.50 uqincw x0, #14
+# CHECK-NEXT: 1 5 0.50 uqincw x0, all, mul #16
+# CHECK-NEXT: 1 5 0.50 uqincw x0, pow2
+# CHECK-NEXT: 1 5 0.50 uqincw x0, vl1
# CHECK-NEXT: 1 4 0.50 uqincw z0.s
# CHECK-NEXT: 1 4 0.50 uqincw z0.s, all, mul #16
# CHECK-NEXT: 1 4 0.50 uqincw z0.s, pow2
@@ -6639,29 +6639,29 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 uqshrnt z31.b, z31.h, #8
# CHECK-NEXT: 1 4 0.50 uqshrnt z31.h, z31.s, #16
# CHECK-NEXT: 1 4 0.50 uqshrnt z31.s, z31.d, #32
-# CHECK-NEXT: 1 3 0.50 uqsub z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 3 0.50 uqsub z0.b, z0.b, #0
-# CHECK-NEXT: 1 3 0.50 uqsub z0.b, z0.b, z0.b
-# CHECK-NEXT: 1 3 0.50 uqsub z0.d, z0.d, #0
-# CHECK-NEXT: 1 3 0.50 uqsub z0.d, z0.d, #0, lsl #8
-# CHECK-NEXT: 1 3 0.50 uqsub z0.d, z0.d, z0.d
-# CHECK-NEXT: 1 3 0.50 uqsub z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 3 0.50 uqsub z0.h, z0.h, #0
-# CHECK-NEXT: 1 3 0.50 uqsub z0.h, z0.h, #0, lsl #8
-# CHECK-NEXT: 1 3 0.50 uqsub z0.h, z0.h, z0.h
-# CHECK-NEXT: 1 3 0.50 uqsub z0.s, z0.s, #0
-# CHECK-NEXT: 1 3 0.50 uqsub z0.s, z0.s, #0, lsl #8
-# CHECK-NEXT: 1 3 0.50 uqsub z0.s, z0.s, z0.s
-# CHECK-NEXT: 1 3 0.50 uqsub z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 3 0.50 uqsub z31.b, z31.b, #255
-# CHECK-NEXT: 1 3 0.50 uqsub z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: 1 3 0.50 uqsub z31.d, z31.d, #65280
-# CHECK-NEXT: 1 3 0.50 uqsub z31.h, z31.h, #65280
-# CHECK-NEXT: 1 3 0.50 uqsub z31.s, z31.s, #65280
-# CHECK-NEXT: 1 3 0.50 uqsubr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 3 0.50 uqsubr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 3 0.50 uqsubr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 3 0.50 uqsubr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 uqsub z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 uqsub z0.b, z0.b, #0
+# CHECK-NEXT: 1 4 0.50 uqsub z0.b, z0.b, z0.b
+# CHECK-NEXT: 1 4 0.50 uqsub z0.d, z0.d, #0
+# CHECK-NEXT: 1 4 0.50 uqsub z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: 1 4 0.50 uqsub z0.d, z0.d, z0.d
+# CHECK-NEXT: 1 4 0.50 uqsub z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 uqsub z0.h, z0.h, #0
+# CHECK-NEXT: 1 4 0.50 uqsub z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: 1 4 0.50 uqsub z0.h, z0.h, z0.h
+# CHECK-NEXT: 1 4 0.50 uqsub z0.s, z0.s, #0
+# CHECK-NEXT: 1 4 0.50 uqsub z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: 1 4 0.50 uqsub z0.s, z0.s, z0.s
+# CHECK-NEXT: 1 4 0.50 uqsub z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 uqsub z31.b, z31.b, #255
+# CHECK-NEXT: 1 4 0.50 uqsub z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 uqsub z31.d, z31.d, #65280
+# CHECK-NEXT: 1 4 0.50 uqsub z31.h, z31.h, #65280
+# CHECK-NEXT: 1 4 0.50 uqsub z31.s, z31.s, #65280
+# CHECK-NEXT: 1 4 0.50 uqsubr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 uqsubr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 uqsubr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 uqsubr z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 4 0.50 uqxtnb z0.b, z31.h
# CHECK-NEXT: 1 4 0.50 uqxtnb z0.h, z31.s
# CHECK-NEXT: 1 4 0.50 uqxtnb z0.s, z31.d
@@ -6669,10 +6669,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 uqxtnt z0.h, z31.s
# CHECK-NEXT: 1 4 0.50 uqxtnt z0.s, z31.d
# CHECK-NEXT: 1 4 0.50 urecpe z31.s, p7/m, z31.s
-# CHECK-NEXT: 1 3 0.50 urhadd z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 3 0.50 urhadd z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 3 0.50 urhadd z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 3 0.50 urhadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 0.50 urhadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 urhadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 urhadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 urhadd z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 4 0.50 urshl z0.b, p0/m, z0.b, z1.b
# CHECK-NEXT: 1 4 0.50 urshl z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: 1 4 0.50 urshl z29.s, p7/m, z29.s, z30.s
@@ -6690,14 +6690,14 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 urshr z31.h, p0/m, z31.h, #16
# CHECK-NEXT: 1 4 0.50 urshr z31.s, p0/m, z31.s, #32
# CHECK-NEXT: 1 4 0.50 ursqrte z31.s, p7/m, z31.s
-# CHECK-NEXT: 1 5 0.50 ursra z0.b, z0.b, #1
-# CHECK-NEXT: 1 5 0.50 ursra z0.d, z0.d, #1
-# CHECK-NEXT: 1 5 0.50 ursra z0.h, z0.h, #1
-# CHECK-NEXT: 1 5 0.50 ursra z0.s, z0.s, #1
-# CHECK-NEXT: 1 5 0.50 ursra z31.b, z31.b, #8
-# CHECK-NEXT: 1 5 0.50 ursra z31.d, z31.d, #64
-# CHECK-NEXT: 1 5 0.50 ursra z31.h, z31.h, #16
-# CHECK-NEXT: 1 5 0.50 ursra z31.s, z31.s, #32
+# CHECK-NEXT: 1 5 1.50 ursra z0.b, z0.b, #1
+# CHECK-NEXT: 1 5 1.50 ursra z0.d, z0.d, #1
+# CHECK-NEXT: 1 5 1.50 ursra z0.h, z0.h, #1
+# CHECK-NEXT: 1 5 1.50 ursra z0.s, z0.s, #1
+# CHECK-NEXT: 1 5 1.50 ursra z31.b, z31.b, #8
+# CHECK-NEXT: 1 5 1.50 ursra z31.d, z31.d, #64
+# CHECK-NEXT: 1 5 1.50 ursra z31.h, z31.h, #16
+# CHECK-NEXT: 1 5 1.50 ursra z31.s, z31.s, #32
# CHECK-NEXT: 1 3 0.50 ushllb z0.d, z0.s, #0
# CHECK-NEXT: 1 3 0.50 ushllb z0.h, z0.b, #0
# CHECK-NEXT: 1 3 0.50 ushllb z0.s, z0.h, #0
@@ -6711,30 +6711,30 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 ushllt z31.h, z31.b, #7
# CHECK-NEXT: 1 3 0.50 ushllt z31.s, z31.h, #15
# CHECK-NEXT: 1 4 0.50 usmmla z0.s, z1.b, z2.b
-# CHECK-NEXT: 1 3 0.50 usqadd z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 3 0.50 usqadd z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 3 0.50 usqadd z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 3 0.50 usqadd z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: 1 4 0.50 usra z0.b, z0.b, #1
-# CHECK-NEXT: 1 4 0.50 usra z0.d, z0.d, #1
-# CHECK-NEXT: 1 4 0.50 usra z0.h, z0.h, #1
-# CHECK-NEXT: 1 4 0.50 usra z0.s, z0.s, #1
-# CHECK-NEXT: 1 4 0.50 usra z31.b, z31.b, #8
-# CHECK-NEXT: 1 4 0.50 usra z31.d, z31.d, #64
-# CHECK-NEXT: 1 4 0.50 usra z31.h, z31.h, #16
-# CHECK-NEXT: 1 4 0.50 usra z31.s, z31.s, #32
-# CHECK-NEXT: 1 3 0.50 usublb z0.h, z1.b, z2.b
-# CHECK-NEXT: 1 3 0.50 usublb z29.s, z30.h, z31.h
-# CHECK-NEXT: 1 3 0.50 usublb z31.d, z31.s, z31.s
-# CHECK-NEXT: 1 3 0.50 usublt z0.h, z1.b, z2.b
-# CHECK-NEXT: 1 3 0.50 usublt z29.s, z30.h, z31.h
-# CHECK-NEXT: 1 3 0.50 usublt z31.d, z31.s, z31.s
-# CHECK-NEXT: 1 3 0.50 usubwb z0.h, z1.h, z2.b
-# CHECK-NEXT: 1 3 0.50 usubwb z29.s, z30.s, z31.h
-# CHECK-NEXT: 1 3 0.50 usubwb z31.d, z31.d, z31.s
-# CHECK-NEXT: 1 3 0.50 usubwt z0.h, z1.h, z2.b
-# CHECK-NEXT: 1 3 0.50 usubwt z29.s, z30.s, z31.h
-# CHECK-NEXT: 1 3 0.50 usubwt z31.d, z31.d, z31.s
+# CHECK-NEXT: 1 4 0.50 usqadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 0.50 usqadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 0.50 usqadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 0.50 usqadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 3 0.50 usra z0.b, z0.b, #1
+# CHECK-NEXT: 1 3 0.50 usra z0.d, z0.d, #1
+# CHECK-NEXT: 1 3 0.50 usra z0.h, z0.h, #1
+# CHECK-NEXT: 1 3 0.50 usra z0.s, z0.s, #1
+# CHECK-NEXT: 1 3 0.50 usra z31.b, z31.b, #8
+# CHECK-NEXT: 1 3 0.50 usra z31.d, z31.d, #64
+# CHECK-NEXT: 1 3 0.50 usra z31.h, z31.h, #16
+# CHECK-NEXT: 1 3 0.50 usra z31.s, z31.s, #32
+# CHECK-NEXT: 1 4 0.50 usublb z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 usublb z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 usublb z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 4 0.50 usublt z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 4 0.50 usublt z29.s, z30.h, z31.h
+# CHECK-NEXT: 1 4 0.50 usublt z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 4 0.50 usubwb z0.h, z1.h, z2.b
+# CHECK-NEXT: 1 4 0.50 usubwb z29.s, z30.s, z31.h
+# CHECK-NEXT: 1 4 0.50 usubwb z31.d, z31.d, z31.s
+# CHECK-NEXT: 1 4 0.50 usubwt z0.h, z1.h, z2.b
+# CHECK-NEXT: 1 4 0.50 usubwt z29.s, z30.s, z31.h
+# CHECK-NEXT: 1 4 0.50 usubwt z31.d, z31.d, z31.s
# CHECK-NEXT: 1 4 0.50 uunpkhi z31.d, z31.s
# CHECK-NEXT: 1 4 0.50 uunpkhi z31.h, z31.b
# CHECK-NEXT: 1 4 0.50 uunpkhi z31.s, z31.h
@@ -6753,18 +6753,18 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 uxth z31.s, p7/m, z31.s
# CHECK-NEXT: 1 3 0.50 uxtw z0.d, p0/m, z0.d
# CHECK-NEXT: 1 3 0.50 uxtw z31.d, p7/m, z31.d
-# CHECK-NEXT: 1 2 1.00 uzp1 p15.b, p15.b, p15.b
-# CHECK-NEXT: 1 2 1.00 uzp1 p15.d, p15.d, p15.d
-# CHECK-NEXT: 1 2 1.00 uzp1 p15.h, p15.h, p15.h
-# CHECK-NEXT: 1 2 1.00 uzp1 p15.s, p15.s, p15.s
+# CHECK-NEXT: 1 1 1.00 uzp1 p15.b, p15.b, p15.b
+# CHECK-NEXT: 1 1 1.00 uzp1 p15.d, p15.d, p15.d
+# CHECK-NEXT: 1 1 1.00 uzp1 p15.h, p15.h, p15.h
+# CHECK-NEXT: 1 1 1.00 uzp1 p15.s, p15.s, p15.s
# CHECK-NEXT: 1 3 0.50 uzp1 z31.b, z31.b, z31.b
# CHECK-NEXT: 1 3 0.50 uzp1 z31.d, z31.d, z31.d
# CHECK-NEXT: 1 3 0.50 uzp1 z31.h, z31.h, z31.h
# CHECK-NEXT: 1 3 0.50 uzp1 z31.s, z31.s, z31.s
-# CHECK-NEXT: 1 2 1.00 uzp2 p15.b, p15.b, p15.b
-# CHECK-NEXT: 1 2 1.00 uzp2 p15.d, p15.d, p15.d
-# CHECK-NEXT: 1 2 1.00 uzp2 p15.h, p15.h, p15.h
-# CHECK-NEXT: 1 2 1.00 uzp2 p15.s, p15.s, p15.s
+# CHECK-NEXT: 1 1 1.00 uzp2 p15.b, p15.b, p15.b
+# CHECK-NEXT: 1 1 1.00 uzp2 p15.d, p15.d, p15.d
+# CHECK-NEXT: 1 1 1.00 uzp2 p15.h, p15.h, p15.h
+# CHECK-NEXT: 1 1 1.00 uzp2 p15.s, p15.s, p15.s
# CHECK-NEXT: 1 3 0.50 uzp2 z31.b, z31.b, z31.b
# CHECK-NEXT: 1 3 0.50 uzp2 z31.d, z31.d, z31.d
# CHECK-NEXT: 1 3 0.50 uzp2 z31.h, z31.h, z31.h
@@ -6797,14 +6797,14 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 xar z31.d, z31.d, z30.d, #64
# CHECK-NEXT: 1 4 0.50 xar z31.h, z31.h, z30.h, #16
# CHECK-NEXT: 1 4 0.50 xar z31.s, z31.s, z30.s, #32
-# CHECK-NEXT: 1 2 1.00 zip1 p0.b, p0.b, p0.b
-# CHECK-NEXT: 1 2 1.00 zip1 p0.d, p0.d, p0.d
-# CHECK-NEXT: 1 2 1.00 zip1 p0.h, p0.h, p0.h
-# CHECK-NEXT: 1 2 1.00 zip1 p0.s, p0.s, p0.s
-# CHECK-NEXT: 1 2 1.00 zip1 p15.b, p15.b, p15.b
-# CHECK-NEXT: 1 2 1.00 zip1 p15.d, p15.d, p15.d
-# CHECK-NEXT: 1 2 1.00 zip1 p15.h, p15.h, p15.h
-# CHECK-NEXT: 1 2 1.00 zip1 p15.s, p15.s, p15.s
+# CHECK-NEXT: 1 1 1.00 zip1 p0.b, p0.b, p0.b
+# CHECK-NEXT: 1 1 1.00 zip1 p0.d, p0.d, p0.d
+# CHECK-NEXT: 1 1 1.00 zip1 p0.h, p0.h, p0.h
+# CHECK-NEXT: 1 1 1.00 zip1 p0.s, p0.s, p0.s
+# CHECK-NEXT: 1 1 1.00 zip1 p15.b, p15.b, p15.b
+# CHECK-NEXT: 1 1 1.00 zip1 p15.d, p15.d, p15.d
+# CHECK-NEXT: 1 1 1.00 zip1 p15.h, p15.h, p15.h
+# CHECK-NEXT: 1 1 1.00 zip1 p15.s, p15.s, p15.s
# CHECK-NEXT: 1 3 0.50 zip1 z0.b, z0.b, z0.b
# CHECK-NEXT: 1 3 0.50 zip1 z0.d, z0.d, z0.d
# CHECK-NEXT: 1 3 0.50 zip1 z0.h, z0.h, z0.h
@@ -6813,14 +6813,14 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 zip1 z31.d, z31.d, z31.d
# CHECK-NEXT: 1 3 0.50 zip1 z31.h, z31.h, z31.h
# CHECK-NEXT: 1 3 0.50 zip1 z31.s, z31.s, z31.s
-# CHECK-NEXT: 1 2 1.00 zip2 p0.b, p0.b, p0.b
-# CHECK-NEXT: 1 2 1.00 zip2 p0.d, p0.d, p0.d
-# CHECK-NEXT: 1 2 1.00 zip2 p0.h, p0.h, p0.h
-# CHECK-NEXT: 1 2 1.00 zip2 p0.s, p0.s, p0.s
-# CHECK-NEXT: 1 2 1.00 zip2 p15.b, p15.b, p15.b
-# CHECK-NEXT: 1 2 1.00 zip2 p15.d, p15.d, p15.d
-# CHECK-NEXT: 1 2 1.00 zip2 p15.h, p15.h, p15.h
-# CHECK-NEXT: 1 2 1.00 zip2 p15.s, p15.s, p15.s
+# CHECK-NEXT: 1 1 1.00 zip2 p0.b, p0.b, p0.b
+# CHECK-NEXT: 1 1 1.00 zip2 p0.d, p0.d, p0.d
+# CHECK-NEXT: 1 1 1.00 zip2 p0.h, p0.h, p0.h
+# CHECK-NEXT: 1 1 1.00 zip2 p0.s, p0.s, p0.s
+# CHECK-NEXT: 1 1 1.00 zip2 p15.b, p15.b, p15.b
+# CHECK-NEXT: 1 1 1.00 zip2 p15.d, p15.d, p15.d
+# CHECK-NEXT: 1 1 1.00 zip2 p15.h, p15.h, p15.h
+# CHECK-NEXT: 1 1 1.00 zip2 p15.s, p15.s, p15.s
# CHECK-NEXT: 1 3 0.50 zip2 z0.b, z0.b, z0.b
# CHECK-NEXT: 1 3 0.50 zip2 z0.d, z0.d, z0.d
# CHECK-NEXT: 1 3 0.50 zip2 z0.h, z0.h, z0.h
@@ -6847,7 +6847,7 @@ zip2 z31.s, z31.s, z31.s
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11]
-# CHECK-NEXT: 116.50 112.50 9.00 - 209.00 2401.00 - - 1303.50 937.50 199.50 199.50 643.00
+# CHECK-NEXT: 382.50 112.50 9.00 - 199.50 2216.50 - - 1055.00 979.00 199.50 199.50 642.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11] Instructions:
@@ -6947,7 +6947,7 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aesimc z31.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aesmc z0.b, z0.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aesmc z31.b, z31.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - and p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - and p0.b, p0/z, p0.b, p1.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z0.d, z0.d, #0x6
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z0.d, z0.d, #0xfffffffffffffff9
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z0.d, z0.d, z0.d
@@ -6962,7 +6962,7 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z31.s, p7/m, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z5.b, z5.b, #0x6
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and z5.b, z5.b, #0xf9
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ands p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ands p0.b, p0/z, p0.b, p1.b
# CHECK-NEXT: - - - - - - - - 1.00 - - - - andv b0, p7, z31.b
# CHECK-NEXT: - - - - - - - - 1.00 - - - - andv d0, p7, z31.d
# CHECK-NEXT: - - - - - - - - 1.00 - - - - andv h0, p7, z31.h
@@ -7034,34 +7034,34 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - - - - - 66.00 bgrp z0.d, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - - - - - 19.00 bgrp z0.h, z1.h, z31.h
# CHECK-NEXT: - - - - - - - - - - - - 35.00 bgrp z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - bic p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - bic p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - bic p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - bic p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic z0.d, z0.d, z0.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic z23.d, z13.d, z8.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic z31.b, p7/m, z31.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic z31.d, p7/m, z31.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic z31.h, p7/m, z31.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic z31.s, p7/m, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - bics p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - bics p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - brka p0.b, p15/m, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - brka p0.b, p15/z, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkas p0.b, p15/z, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkb p0.b, p15/m, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkb p0.b, p15/z, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkbs p0.b, p15/z, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkn p0.b, p15/z, p1.b, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkn p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkns p0.b, p15/z, p1.b, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkns p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkpa p0.b, p15/z, p1.b, p2.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkpa p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkpas p0.b, p15/z, p1.b, p2.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkpas p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkpb p0.b, p15/z, p1.b, p2.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkpb p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkpbs p0.b, p15/z, p1.b, p2.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - brkpbs p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - bics p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - bics p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - brka p0.b, p15/m, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - brka p0.b, p15/z, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - brkas p0.b, p15/z, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - brkb p0.b, p15/m, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - brkb p0.b, p15/z, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - brkbs p0.b, p15/z, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - brkn p0.b, p15/z, p1.b, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - brkn p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - brkns p0.b, p15/z, p1.b, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - brkns p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - brkpa p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - brkpa p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - brkpas p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - brkpas p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - brkpb p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - brkpb p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - brkpbs p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - brkpbs p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bsl z0.d, z0.d, z1.d, z2.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bsl1n z0.d, z0.d, z1.d, z2.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bsl2n z0.d, z0.d, z1.d, z2.d
@@ -7087,10 +7087,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta d0, p7, d0, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta h0, p7, h0, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta s0, p7, s0, z31.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta w0, p7, w0, z31.b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta w0, p7, w0, z31.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta w0, p7, w0, z31.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta x0, p7, x0, z31.d
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - clasta w0, p7, w0, z31.b
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - clasta w0, p7, w0, z31.h
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - clasta w0, p7, w0, z31.s
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - clasta x0, p7, x0, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta z0.b, p7, z0.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta z0.d, p7, z0.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta z0.h, p7, z0.h, z31.h
@@ -7099,10 +7099,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb d0, p7, d0, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb h0, p7, h0, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb s0, p7, s0, z31.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb w0, p7, w0, z31.b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb w0, p7, w0, z31.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb w0, p7, w0, z31.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb x0, p7, x0, z31.d
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - clastb w0, p7, w0, z31.b
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - clastb w0, p7, w0, z31.h
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - clastb w0, p7, w0, z31.s
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - clastb x0, p7, x0, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb z0.b, p7, z0.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb z0.d, p7, z0.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb z0.h, p7, z0.h, z31.h
@@ -7290,9 +7290,9 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnot z31.h, p7/m, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnot z31.s, p7/m, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnt z31.b, p7/m, z31.b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnt z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 3.50 3.50 - - - cnt z31.d, p7/m, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnt z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnt z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - cnt z31.s, p7/m, z31.s
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntb x0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntb x0, #28
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntb x0, all, mul #16
@@ -7305,10 +7305,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cnth x0, #28
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cnth x0, all, mul #16
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cnth x0, pow2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - cntp x0, p15, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - cntp x0, p15, p0.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - cntp x0, p15, p0.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - cntp x0, p15, p0.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntp x0, p15, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntp x0, p15, p0.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntp x0, p15, p0.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntp x0, p15, p0.s
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntw x0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntw x0, #28
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntw x0, all, mul #16
@@ -7338,17 +7338,17 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - dech x0, all, mul #16
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - dech x0, pow2
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - dech x0, vl1
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - decp x0, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - decp x0, p0.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - decp x0, p0.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - decp x0, p0.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - decp xzr, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - decp xzr, p15.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - decp xzr, p15.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - decp xzr, p15.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - decp z31.d, p15.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - decp z31.h, p15.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - decp z31.s, p15.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - decp x0, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - decp x0, p0.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - decp x0, p0.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - decp x0, p0.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - decp xzr, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - decp xzr, p15.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - decp xzr, p15.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - decp xzr, p15.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - decp z31.d, p15.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - decp z31.h, p15.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - decp z31.s, p15.s
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decw x0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decw x0, #14
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decw x0, all, mul #16
@@ -7358,7 +7358,7 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dupm z0.s, #0xfffffff9
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dupm z23.h, #0xfff9
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dupm z5.b, #0xf9
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - eor p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - eor p0.b, p0/z, p0.b, p1.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor z0.d, z0.d, #0x6
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor z0.d, z0.d, #0xfffffffffffffff9
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor z0.d, z0.d, z0.d
@@ -7378,7 +7378,7 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eorbt z0.d, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eorbt z0.h, z1.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eorbt z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - eors p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - eors p0.b, p0/z, p0.b, p1.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eortb z0.b, z1.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eortb z0.d, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eortb z0.h, z1.h, z31.h
@@ -7397,18 +7397,18 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs z31.d, p7/m, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs z31.h, p7/m, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facge p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facge p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facge p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facge p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facge p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facge p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facgt p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facgt p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facgt p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facgt p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facgt p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt p0.s, p0/z, z1.s, z0.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z0.d, p0/m, z0.d, #0.5
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z0.d, p7/m, z0.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z0.d, z1.d, z31.d
@@ -7421,45 +7421,45 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z31.d, p7/m, z31.d, #1.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z31.h, p7/m, z31.h, #1.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z31.s, p7/m, z31.s, #1.0
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fadda d0, p7, d0, z31.d
-# CHECK-NEXT: - - - - - - - - 14.50 14.50 - - - fadda h0, p7, h0, z31.h
-# CHECK-NEXT: - - - - - - - - 6.50 6.50 - - - fadda s0, p7, s0, z31.s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - fadda d0, p7, d0, z31.d
+# CHECK-NEXT: - - - - - - - - 12.50 12.50 - - - fadda h0, p7, h0, z31.h
+# CHECK-NEXT: - - - - - - - - 4.50 4.50 - - - fadda s0, p7, s0, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z29.s, p3/m, z29.s, z30.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: - - - - - - - - 1.00 - - - - faddv d0, p7, z31.d
-# CHECK-NEXT: - - - - - - - - 11.00 - - - - faddv h0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - 5.00 - - - - faddv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 5.00 - - - - faddv h0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - faddv s0, p7, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcadd z0.d, p0/m, z0.d, z0.d, #90
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcadd z0.h, p0/m, z0.h, z0.h, #90
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcadd z0.s, p0/m, z0.s, z0.s, #90
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcadd z31.d, p7/m, z31.d, z31.d, #270
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcadd z31.h, p7/m, z31.h, z31.h, #270
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcadd z31.s, p7/m, z31.s, z31.s, #270
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmeq p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmeq p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmeq p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmeq p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmeq p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmeq p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt p0.s, p0/z, z1.s, z0.s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z0.d, p0/m, z0.d, z0.d, #0
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z0.d, p0/m, z1.d, z2.d, #90
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z0.h, p0/m, z0.h, z0.h, #0
@@ -7476,21 +7476,21 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z31.h, p7/m, z31.h, z31.h, #270
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z31.h, z31.h, z7.h[3], #270
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z31.s, p7/m, z31.s, z31.s, #270
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmle p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmle p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmle p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmlt p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmlt p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmlt p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmne p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmne p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmne p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmne p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmne p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmne p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmuo p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmuo p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmuo p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmle p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmle p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmle p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmlt p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmlt p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmlt p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmne p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmne p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmne p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmne p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmne p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmne p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmuo p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmuo p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmuo p0.s, p0/z, z0.s, z1.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt z0.d, p0/m, z0.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt z0.d, p0/m, z0.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt z0.h, p0/m, z0.d
@@ -7737,9 +7737,9 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ftssel z0.d, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ftssel z0.h, z1.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ftssel z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - histcnt z0.s, p0/z, z1.s, z2.s
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - histcnt z29.d, p7/z, z30.d, z31.d
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - histseg z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - histcnt z0.s, p0/z, z1.s, z2.s
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - histcnt z29.d, p7/z, z30.d, z31.d
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - histseg z0.b, z1.b, z31.b
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incb x0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incb x0, #14
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incb x0, all, mul #16
@@ -7759,17 +7759,17 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - inch x0, vl1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - inch z0.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - inch z0.h, all, mul #16
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - incp x0, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - incp x0, p0.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - incp x0, p0.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - incp x0, p0.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - incp xzr, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - incp xzr, p15.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - incp xzr, p15.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - incp xzr, p15.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - incp z31.d, p15.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - incp z31.h, p15.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - incp z31.s, p15.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - incp x0, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - incp x0, p0.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - incp x0, p0.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - incp x0, p0.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - incp xzr, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - incp xzr, p15.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - incp xzr, p15.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - incp xzr, p15.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - incp z31.d, p15.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - incp z31.h, p15.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - incp z31.s, p15.s
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incw x0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incw x0, #14
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incw x0, all, mul #16
@@ -7809,98 +7809,98 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.s, #-1, wzr
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.s, wzr, #-1
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.s, wzr, wzr
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - insr z0.b, w0
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - insr z0.d, x0
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - insr z0.h, w0
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - insr z0.s, w0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z0.b, w0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z0.d, x0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z0.h, w0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z0.s, w0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z31.b, b31
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - insr z31.b, wzr
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z31.b, wzr
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z31.d, d31
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - insr z31.d, xzr
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z31.d, xzr
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z31.h, h31
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - insr z31.h, wzr
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z31.h, wzr
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z31.s, s31
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - insr z31.s, wzr
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z31.s, wzr
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lasta b0, p7, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lasta d0, p7, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lasta h0, p7, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lasta s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - lasta w0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - lasta w0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - lasta w0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - lasta x0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - lasta w0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - lasta w0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - lasta w0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - lasta x0, p7, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lastb b0, p7, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lastb d0, p7, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lastb h0, p7, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lastb s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - lastb w0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - lastb w0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - lastb w0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - lastb x0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - lastb w0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - lastb w0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - lastb w0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - lastb x0, p7, z31.d
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z0.b }, p0/z, [sp, x0]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z0.b }, p0/z, [x0, x0]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z0.b }, p0/z, [x0]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1b { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1b { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1b { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z21.b }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1b { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1b { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z21.h }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z21.s }, p5/z, [x10, x21]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z23.d }, p3/z, [x13, x8]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z31.b }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1b { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1b { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z31.d }, p7/z, [z31.d, #31]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z31.h }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1b { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1b { z31.s }, p7/z, [z31.s, #31]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z5.h }, p3/z, [x17, x16]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1d { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1d { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1d { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1d { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1d { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1d { z23.d }, p3/z, [sp, x8, lsl #3]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1d { z23.d }, p3/z, [x13, x8, lsl #3]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1d { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1d { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1d { z31.d }, p7/z, [z31.d, #248]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z31.d }, p7/z, [z31.d, #248]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1h { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z21.h }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z21.s }, p5/z, [x10, x21, lsl #1]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z23.d }, p3/z, [x13, x8, lsl #1]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z31.d }, p7/z, [z31.d, #62]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z31.h }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1h { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z31.s }, p7/z, [z31.s, #62]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z5.h }, p3/z, [sp, x16, lsl #1]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z5.h }, p3/z, [x17, x16, lsl #1]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rb { z0.b }, p0/z, [x0]
@@ -7956,85 +7956,85 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rw { z31.d }, p7/z, [sp, #252]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rw { z31.s }, p7/z, [sp, #252]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sb { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sb { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z0.h }, p0/z, [sp, x0]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z0.h }, p0/z, [x0, x0]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1sb { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sb { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z21.h }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z21.s }, p5/z, [x10, x21]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z23.d }, p3/z, [x13, x8]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sb { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sb { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sb { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sb { z31.d }, p7/z, [z31.d, #31]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z31.h }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1sb { z31.s }, p7/z, [z31.s, #31]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sb { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1sh { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z21.s }, p5/z, [sp, x21, lsl #1]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z21.s }, p5/z, [x10, x21, lsl #1]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z23.d }, p3/z, [x13, x8, lsl #1]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z31.d }, p7/z, [z31.d, #62]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1sh { z31.s }, p7/z, [z31.s, #62]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sw { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sw { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sw { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sw { z23.d }, p3/z, [sp, x8, lsl #2]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sw { z23.d }, p3/z, [x13, x8, lsl #2]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sw { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sw { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sw { z31.d }, p7/z, [z31.d, #124]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1w { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z21.s }, p5/z, [sp, x21, lsl #2]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z21.s }, p5/z, [x10, x21, lsl #2]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z23.d }, p3/z, [x13, x8, lsl #2]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z31.d }, p7/z, [z31.d, #124]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ld1w { z31.s }, p7/z, [z31.s, #124]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z31.s }, p7/z, [z31.s, #124]
# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2b { z0.b, z1.b }, p0/z, [x0, x0]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2b { z0.b, z1.b }, p0/z, [x0]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2b { z21.b, z22.b }, p5/z, [x10, #10, mul vl]
@@ -8055,153 +8055,153 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2w { z21.s, z22.s }, p5/z, [x10, #10, mul vl]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2w { z23.s, z24.s }, p3/z, [x13, #-16, mul vl]
# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2w { z5.s, z6.s }, p3/z, [x17, x16, lsl #2]
-# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3b { z0.b - z2.b }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld3b { z0.b - z2.b }, p0/z, [x0, x0]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3b { z0.b - z2.b }, p0/z, [x0]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3b { z21.b - z23.b }, p5/z, [x10, #15, mul vl]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3b { z23.b - z25.b }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3b { z5.b - z7.b }, p3/z, [x17, x16]
-# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3d { z0.d - z2.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld3b { z5.b - z7.b }, p3/z, [x17, x16]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld3d { z0.d - z2.d }, p0/z, [x0, x0, lsl #3]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3d { z0.d - z2.d }, p0/z, [x0]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3d { z21.d - z23.d }, p5/z, [x10, #15, mul vl]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3d { z23.d - z25.d }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3d { z5.d - z7.d }, p3/z, [x17, x16, lsl #3]
-# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3h { z0.h - z2.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld3d { z5.d - z7.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld3h { z0.h - z2.h }, p0/z, [x0, x0, lsl #1]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3h { z0.h - z2.h }, p0/z, [x0]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3h { z21.h - z23.h }, p5/z, [x10, #15, mul vl]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3h { z23.h - z25.h }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3h { z5.h - z7.h }, p3/z, [x17, x16, lsl #1]
-# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3w { z0.s - z2.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld3h { z5.h - z7.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld3w { z0.s - z2.s }, p0/z, [x0, x0, lsl #2]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3w { z0.s - z2.s }, p0/z, [x0]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3w { z21.s - z23.s }, p5/z, [x10, #15, mul vl]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3w { z23.s - z25.s }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3w { z5.s - z7.s }, p3/z, [x17, x16, lsl #2]
-# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4b { z0.b - z3.b }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld3w { z5.s - z7.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld4b { z0.b - z3.b }, p0/z, [x0, x0]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4b { z0.b - z3.b }, p0/z, [x0]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4b { z21.b - z24.b }, p5/z, [x10, #20, mul vl]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4b { z23.b - z26.b }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4b { z5.b - z8.b }, p3/z, [x17, x16]
-# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4d { z0.d - z3.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld4b { z5.b - z8.b }, p3/z, [x17, x16]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld4d { z0.d - z3.d }, p0/z, [x0, x0, lsl #3]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4d { z0.d - z3.d }, p0/z, [x0]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4d { z21.d - z24.d }, p5/z, [x10, #20, mul vl]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4d { z23.d - z26.d }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4d { z5.d - z8.d }, p3/z, [x17, x16, lsl #3]
-# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4h { z0.h - z3.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld4d { z5.d - z8.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld4h { z0.h - z3.h }, p0/z, [x0, x0, lsl #1]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4h { z0.h - z3.h }, p0/z, [x0]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4h { z21.h - z24.h }, p5/z, [x10, #20, mul vl]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4h { z23.h - z26.h }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4h { z5.h - z8.h }, p3/z, [x17, x16, lsl #1]
-# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4w { z0.s - z3.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld4h { z5.h - z8.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld4w { z0.s - z3.s }, p0/z, [x0, x0, lsl #2]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4w { z0.s - z3.s }, p0/z, [x0]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4w { z21.s - z24.s }, p5/z, [x10, #20, mul vl]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4w { z23.s - z26.s }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z0.d }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1b { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z0.h }, p0/z, [x0, x0]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z0.s }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1b { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1b { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1b { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1b { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1b { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1b { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z31.b }, p7/z, [sp]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1b { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z31.d }, p7/z, [sp]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1b { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z31.d }, p7/z, [z31.d, #31]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z31.h }, p7/z, [sp]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z31.s }, p7/z, [sp]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1b { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1b { z31.s }, p7/z, [z31.s, #31]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1d { z0.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1d { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1d { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1d { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1d { z31.d }, p7/z, [sp]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1d { z31.d }, p7/z, [z31.d, #248]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z31.d }, p7/z, [z31.d, #248]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1h { z0.d }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1h { z0.h }, p0/z, [x0, x0, lsl #1]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1h { z0.s }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1h { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1h { z31.d }, p7/z, [sp]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z31.d }, p7/z, [z31.d, #62]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1h { z31.h }, p7/z, [sp]
# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1h { z31.s }, p7/z, [sp]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1h { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z31.s }, p7/z, [z31.s, #62]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sb { z0.d }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sb { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sb { z0.h }, p0/z, [x0, x0]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1sb { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sb { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sb { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sb { z31.d }, p7/z, [sp]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sb { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z31.d }, p7/z, [z31.d, #31]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sb { z31.h }, p7/z, [sp]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sb { z31.s }, p7/z, [sp]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1sb { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sb { z31.s }, p7/z, [z31.s, #31]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1sh { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sh { z31.d }, p7/z, [sp]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z31.d }, p7/z, [z31.d, #62]
# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sh { z31.s }, p7/z, [sp]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1sh { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z31.s }, p7/z, [z31.s, #62]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sw { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sw { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sw { z31.d }, p7/z, [sp]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sw { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z31.d }, p7/z, [z31.d, #124]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1w { z0.d }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1w { z0.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1w { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1w { z31.d }, p7/z, [sp]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z31.d }, p7/z, [z31.d, #124]
# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1w { z31.s }, p7/z, [sp]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldff1w { z31.s }, p7/z, [z31.s, #124]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z31.s }, p7/z, [z31.s, #124]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.b }, p0/z, [x0]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.d }, p0/z, [x0]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.h }, p0/z, [x0]
@@ -8252,56 +8252,56 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1w { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1b { z0.b }, p0/z, [x0, x0]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1b { z0.b }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1b { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1b { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1b { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1b { z0.s }, p0/z, [z1.s]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1b { z21.b }, p5/z, [x10, #7, mul vl]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1b { z23.b }, p3/z, [x13, #-8, mul vl]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1b { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1b { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1b { z31.s }, p7/z, [z31.s, x0]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1b { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1b { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1b { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1b { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1b { z31.s }, p7/z, [z31.s]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1d { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1d { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1d { z0.d }, p0/z, [z1.d]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1d { z21.d }, p5/z, [x10, #7, mul vl]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1d { z23.d }, p3/z, [x13, #-8, mul vl]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1d { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1d { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1h { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1d { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1d { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1h { z0.d }, p0/z, [z1.d]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1h { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1h { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1h { z0.s }, p0/z, [z1.s]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1h { z21.h }, p5/z, [x10, #7, mul vl]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1h { z23.h }, p3/z, [x13, #-8, mul vl]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1h { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1h { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1h { z31.s }, p7/z, [z31.s, x0]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1h { z31.s }, p7/z, [z31.s]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sb { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1sb { z0.s }, p0/z, [z1.s]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sb { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sb { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1sb { z31.s }, p7/z, [z31.s, x0]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1sb { z31.s }, p7/z, [z31.s]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sh { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1sh { z0.s }, p0/z, [z1.s]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sh { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sh { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1sh { z31.s }, p7/z, [z31.s, x0]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1sh { z31.s }, p7/z, [z31.s]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sw { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sw { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sw { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1w { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1h { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1h { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1h { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1h { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1sb { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sb { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1sb { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1sb { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sb { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sb { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1sh { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sh { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1sh { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1sh { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sh { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1sh { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1sw { z0.d }, p0/z, [z1.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1sw { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1sw { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1w { z0.d }, p0/z, [z1.d]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1w { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1w { z0.s }, p0/z, [z1.s]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1w { z0.s }, p0/z, [z1.s]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1w { z21.s }, p5/z, [x10, #7, mul vl]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1w { z23.s }, p3/z, [x13, #-8, mul vl]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1w { z31.d }, p7/z, [z31.d, x0]
-# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1w { z31.d }, p7/z, [z31.d]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1w { z31.s }, p7/z, [z31.s, x0]
-# CHECK-NEXT: - - - - - 9.00 - - - - - - - ldnt1w { z31.s }, p7/z, [z31.s]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1w { z31.d }, p7/z, [z31.d, x0]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1w { z31.d }, p7/z, [z31.d]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1w { z31.s }, p7/z, [z31.s, x0]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1w { z31.s }, p7/z, [z31.s]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldr p0, [x0]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldr p5, [x10, #255, mul vl]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldr p7, [x13, #-256, mul vl]
@@ -8372,10 +8372,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mad z0.d, p7/m, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mad z0.h, p7/m, z1.h, z31.h
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mad z0.s, p7/m, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - match p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - match p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - match p15.b, p7/z, z30.b, z31.b
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - match p15.h, p7/z, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - match p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - match p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - match p15.b, p7/z, z30.b, z31.b
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - match p15.h, p7/z, z30.h, z31.h
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla z0.b, p7/m, z1.b, z31.b
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla z0.d, p7/m, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla z0.d, z1.d, z7.d[1]
@@ -8390,16 +8390,16 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mls z0.h, z1.h, z7.h[7]
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mls z0.s, p7/m, z1.s, z31.s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mls z0.s, z1.s, z7.s[3]
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov p0.b, p0/m, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov p0.b, p0/z, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov p15.b, p15/m, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov p15.b, p15/z, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - mov p0.b, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - mov p0.b, p0/m, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - mov p0.b, p0/z, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - mov p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - mov p15.b, p15/m, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - mov p15.b, p15/z, p15.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.b, #127
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.b, b0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.b, p0/m, b0
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov z0.b, p0/m, w0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.b, p0/m, w0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.b, p0/z, #127
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.b, w0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.d, #0
@@ -8408,7 +8408,7 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.d, #32768
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.d, d0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.d, p0/m, d0
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov z0.d, p0/m, x0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.d, p0/m, x0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.d, x0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.d, z0.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.h, #-256
@@ -8418,7 +8418,7 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.h, #32767
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.h, h0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.h, p0/m, h0
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov z0.h, p0/m, w0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.h, p0/m, w0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.h, p0/z, #32512
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.h, w0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.q, q0
@@ -8426,7 +8426,7 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.s, #0xffff7fff
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.s, #32768
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.s, p0/m, s0
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov z0.s, p0/m, w0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.s, p0/m, w0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.s, s0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z0.s, w0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z21.d, #-128
@@ -8462,24 +8462,24 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.b, p15/m, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.b, p7/m, b31
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movprfx z31, z6
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov z31.b, p7/m, wsp
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.b, p7/m, wsp
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.b, wsp
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.b, z31.b[63]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.d, p15/m, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.d, p7/m, d31
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movprfx z31.d, p7/z, z6.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov z31.d, p7/m, sp
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.d, p7/m, sp
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.d, sp
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.d, z0.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.d, z31.d[7]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.h, p15/m, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.h, p7/m, h31
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov z31.h, p7/m, wsp
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.h, p7/m, wsp
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.h, wsp
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.h, z31.h[31]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.s, p15/m, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.s, p7/m, s31
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - mov z31.s, p7/m, wsp
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.s, p7/m, wsp
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.s, wsp
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z31.s, z31.s[15]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z5.b, #-1
@@ -8493,10 +8493,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z5.h, #-6
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z5.q, z17.q[3]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov z5.s, #-6
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - movs p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - movs p0.b, p0/z, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - movs p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - movs p15.b, p15/z, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - movs p0.b, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - movs p0.b, p0/z, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - movs p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - movs p15.b, p15/z, p15.b
# CHECK-NEXT: - - 1.00 - - - - - - - - - - mrs x3, ID_AA64ZFR0_EL1
# CHECK-NEXT: - - 1.00 - - - - - - - - - - mrs x3, ZCR_EL1
# CHECK-NEXT: - - 1.00 - - - - - - - - - - mrs x3, ZCR_EL12
@@ -8529,10 +8529,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z31.h, z31.h, #127
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z31.s, z31.s, #-128
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul z31.s, z31.s, #127
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - nand p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - nand p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - nands p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - nands p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - nand p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - nand p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - nands p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - nands p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - nbsl z0.d, z0.d, z1.d, z2.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z0.b, p0/m, z0.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z0.d, p0/m, z0.d
@@ -8542,27 +8542,27 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z31.d, p7/m, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z31.h, p7/m, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - nmatch p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - nmatch p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - nmatch p15.b, p7/z, z30.b, z31.b
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - nmatch p15.h, p7/z, z30.h, z31.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - nor p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - nor p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - nors p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - nors p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - not p0.b, p0/z, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - not p15.b, p15/z, p15.b
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - nmatch p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - nmatch p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - nmatch p15.b, p7/z, z30.b, z31.b
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - nmatch p15.h, p7/z, z30.h, z31.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - nor p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - nor p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - nors p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - nors p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - not p0.b, p0/z, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - not p15.b, p15/z, p15.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - not z31.b, p7/m, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - not z31.d, p7/m, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - not z31.h, p7/m, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - not z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - nots p0.b, p0/z, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - nots p15.b, p15/z, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - orn p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - orn p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - orns p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - orns p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - orr p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - nots p0.b, p0/z, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - nots p15.b, p15/z, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - orn p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - orn p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - orns p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - orns p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - orr p0.b, p0/z, p0.b, p1.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z0.d, z0.d, #0x6
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z0.d, z0.d, #0xfffffffffffffff9
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z0.s, z0.s, #0x6
@@ -8576,14 +8576,14 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z31.s, p7/m, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z5.b, z5.b, #0x6
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr z5.b, z5.b, #0xf9
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - orrs p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - orrs p0.b, p0/z, p0.b, p1.b
# CHECK-NEXT: - - - - - - - - 1.00 - - - - orv b0, p7, z31.b
# CHECK-NEXT: - - - - - - - - 1.00 - - - - orv d0, p7, z31.d
# CHECK-NEXT: - - - - - - - - 1.00 - - - - orv h0, p7, z31.h
# CHECK-NEXT: - - - - - - - - 1.00 - - - - orv s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - pfalse p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - pfirst p0.b, p15, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - pfirst p15.b, p15, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - pfalse p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - pfirst p0.b, p15, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - pfirst p15.b, p15, p15.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmul z0.b, z1.b, z2.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmul z29.b, z30.b, z31.b
# CHECK-NEXT: - - - - - - - - - - - - 1.00 pmullb z0.h, z1.b, z2.b
@@ -8592,11 +8592,11 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - - - - - 1.00 pmullt z0.h, z1.b, z2.b
# CHECK-NEXT: - - - - - - - - - - - - 1.00 pmullt z29.q, z30.d, z31.d
# CHECK-NEXT: - - - - - - - - - - - - 1.00 pmullt z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - pnext p0.b, p15, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - pnext p0.d, p15, p0.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - pnext p0.h, p15, p0.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - pnext p0.s, p15, p0.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - pnext p15.b, p15, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - pnext p0.b, p15, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - pnext p0.d, p15, p0.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - pnext p0.h, p15, p0.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - pnext p0.s, p15, p0.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - pnext p15.b, p15, p15.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb #14, p0, [x0]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb #15, p0, [x0]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfb #6, p0, [x0]
@@ -8705,97 +8705,97 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pstl2strm, p0, [x0]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pstl3keep, p0, [x0]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - prfw pstl3strm, p0, [x0]
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptest p15, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptest p15, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p0.b, pow2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p0.d, pow2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p0.h, pow2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p0.s, pow2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p15.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p15.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p15.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #14
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #15
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #16
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #17
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #18
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #19
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #20
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #21
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #22
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #23
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #24
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #25
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #26
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #27
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, #28
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, mul3
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, mul4
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl1
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl128
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl16
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl256
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl3
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl32
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl4
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl5
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl6
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl64
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl7
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrue p7.s, vl8
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p0.b, pow2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p0.d, pow2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p0.h, pow2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p0.s, pow2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p15.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p15.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p15.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #14
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #15
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #16
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #17
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #18
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #19
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #20
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #21
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #22
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #23
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #24
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #25
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #26
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #27
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, #28
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, mul3
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, mul4
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl1
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl128
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl16
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl2
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl256
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl3
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl32
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl4
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl5
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl6
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl64
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl7
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - ptrues p7.s, vl8
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - punpkhi p0.h, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - punpkhi p15.h, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - punpklo p0.h, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - punpklo p15.h, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptest p15, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptest p15, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p0.b, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p0.d, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p0.h, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p0.s, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p15.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p15.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p15.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, #14
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, #15
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, #17
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, #18
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, #19
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, #20
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, #21
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, #22
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, #23
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, #24
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, #25
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, #26
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, #27
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, #28
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, mul3
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, mul4
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, vl1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, vl128
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, vl16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, vl2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, vl256
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, vl3
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, vl32
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, vl4
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, vl5
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, vl6
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, vl64
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, vl7
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrue p7.s, vl8
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p0.b, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p0.d, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p0.h, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p0.s, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p15.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p15.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p15.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, #14
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, #15
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, #17
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, #18
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, #19
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, #20
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, #21
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, #22
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, #23
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, #24
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, #25
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, #26
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, #27
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, #28
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, mul3
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, mul4
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, vl1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, vl128
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, vl16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, vl2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, vl256
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, vl3
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, vl32
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, vl4
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, vl5
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, vl6
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, vl64
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, vl7
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ptrues p7.s, vl8
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - punpkhi p0.h, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - punpkhi p15.h, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - punpklo p0.h, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - punpklo p15.h, p15.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhnb z0.b, z1.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhnb z0.h, z1.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhnb z0.s, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhnt z0.b, z1.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhnt z0.h, z1.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhnt z0.s, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 rax1 z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rax1 z0.d, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit z0.b, p7/m, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit z0.d, p7/m, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit z0.h, p7/m, z31.h
@@ -8838,16 +8838,16 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhnt z0.b, z1.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhnt z0.h, z1.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhnt z0.s, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - saba z0.b, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - saba z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - saba z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - saba z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sabalb z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sabalb z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sabalb z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sabalt z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sabalt z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sabalt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - saba z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - saba z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - saba z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - saba z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabalb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabalb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabalb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabalt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabalt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabalt z0.s, z1.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd z31.b, p7/m, z31.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd z31.d, p7/m, z31.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd z31.h, p7/m, z31.h, z31.h
@@ -8858,9 +8858,9 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdlt z0.h, z1.b, z2.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdlt z29.s, z30.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdlt z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sadalp z0.h, p0/m, z1.b
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sadalp z29.s, p0/m, z30.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sadalp z30.d, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - sadalp z0.h, p0/m, z1.b
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - sadalp z29.s, p0/m, z30.h
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - sadalp z30.d, p7/m, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlb z0.h, z1.b, z2.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlb z29.s, z30.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlb z31.d, z31.s, z31.s
@@ -9090,17 +9090,17 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdech z0.h, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdech z0.h, pow2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdech z0.h, pow2, mul #16
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqdecp x0, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqdecp x0, p0.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqdecp x0, p0.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqdecp x0, p0.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqdecp xzr, p15.b, wzr
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqdecp xzr, p15.d, wzr
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqdecp xzr, p15.h, wzr
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqdecp xzr, p15.s, wzr
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecp z0.d, p0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecp z0.h, p0.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecp z0.s, p0.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp x0, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp x0, p0.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp x0, p0.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp x0, p0.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp xzr, p15.b, wzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp xzr, p15.d, wzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp xzr, p15.h, wzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp xzr, p15.s, wzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp z0.d, p0.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp z0.h, p0.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp z0.s, p0.s
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0, #14
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0, all, mul #16
@@ -9192,17 +9192,17 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqinch z0.h, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqinch z0.h, pow2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqinch z0.h, pow2, mul #16
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqincp x0, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqincp x0, p0.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqincp x0, p0.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqincp x0, p0.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqincp xzr, p15.b, wzr
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqincp xzr, p15.d, wzr
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqincp xzr, p15.h, wzr
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sqincp xzr, p15.s, wzr
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincp z0.d, p0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincp z0.h, p0.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincp z0.s, p0.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp x0, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp x0, p0.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp x0, p0.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp x0, p0.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp xzr, p15.b, wzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp xzr, p15.d, wzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp xzr, p15.h, wzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp xzr, p15.s, wzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp z0.d, p0.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp z0.h, p0.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp z0.s, p0.s
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0, #14
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0, all, mul #16
@@ -9404,14 +9404,14 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr z31.d, p0/m, z31.d, #64
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr z31.h, p0/m, z31.h, #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr z31.s, p0/m, z31.s, #32
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srsra z0.b, z0.b, #1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srsra z0.d, z0.d, #1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srsra z0.h, z0.h, #1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srsra z0.s, z0.s, #1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srsra z31.b, z31.b, #8
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srsra z31.d, z31.d, #64
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srsra z31.h, z31.h, #16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srsra z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra z31.s, z31.s, #32
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllb z0.d, z0.s, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllb z0.h, z0.b, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllb z0.s, z0.h, #0
@@ -9736,32 +9736,32 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx z31.d, z31.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx z31.h, z31.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx z31.s, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - trn1 p15.b, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - trn1 p15.d, p15.d, p15.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - trn1 p15.h, p15.h, p15.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - trn1 p15.s, p15.s, p15.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - trn1 p15.b, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - trn1 p15.d, p15.d, p15.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - trn1 p15.h, p15.h, p15.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - trn1 p15.s, p15.s, p15.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 z31.b, z31.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 z31.d, z31.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 z31.h, z31.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 z31.s, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - trn2 p15.b, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - trn2 p15.d, p15.d, p15.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - trn2 p15.h, p15.h, p15.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - trn2 p15.s, p15.s, p15.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - trn2 p15.b, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - trn2 p15.d, p15.d, p15.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - trn2 p15.h, p15.h, p15.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - trn2 p15.s, p15.s, p15.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 z31.b, z31.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 z31.d, z31.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 z31.h, z31.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 z31.s, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uaba z0.b, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uaba z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uaba z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uaba z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uabalb z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uabalb z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uabalb z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uabalt z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uabalt z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uabalt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uaba z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uaba z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uaba z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uaba z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabalb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabalb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabalb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabalt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabalt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabalt z0.s, z1.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd z31.b, p7/m, z31.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd z31.d, p7/m, z31.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd z31.h, p7/m, z31.h, z31.h
@@ -9772,9 +9772,9 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdlt z0.h, z1.b, z2.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdlt z29.s, z30.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdlt z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uadalp z0.h, p0/m, z1.b
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uadalp z29.s, p0/m, z30.h
-# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uadalp z30.d, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - uadalp z0.h, p0/m, z1.b
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - uadalp z29.s, p0/m, z30.h
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - uadalp z30.d, p7/m, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlb z0.h, z1.b, z2.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlb z29.s, z30.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlb z31.d, z31.s, z31.s
@@ -9939,17 +9939,17 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdech z0.h, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdech z0.h, pow2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdech z0.h, pow2, mul #16
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqdecp wzr, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqdecp wzr, p15.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqdecp wzr, p15.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqdecp wzr, p15.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqdecp x0, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqdecp x0, p0.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqdecp x0, p0.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqdecp x0, p0.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecp z0.d, p0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecp z0.h, p0.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecp z0.s, p0.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp wzr, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp wzr, p15.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp wzr, p15.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp wzr, p15.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp x0, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp x0, p0.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp x0, p0.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp x0, p0.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp z0.d, p0.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp z0.h, p0.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp z0.s, p0.s
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw w0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw w0, all, mul #16
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw w0, pow2
@@ -9998,17 +9998,17 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqinch z0.h, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqinch z0.h, pow2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqinch z0.h, pow2, mul #16
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqincp wzr, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqincp wzr, p15.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqincp wzr, p15.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqincp wzr, p15.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqincp x0, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqincp x0, p0.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqincp x0, p0.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uqincp x0, p0.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincp z0.d, p0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincp z0.h, p0.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincp z0.s, p0.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp wzr, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp wzr, p15.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp wzr, p15.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp wzr, p15.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp x0, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp x0, p0.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp x0, p0.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp x0, p0.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp z0.d, p0.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp z0.h, p0.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp z0.s, p0.s
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw w0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw w0, all, mul #16
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw w0, pow2
@@ -10121,14 +10121,14 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr z31.h, p0/m, z31.h, #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr z31.s, p0/m, z31.s, #32
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - ursqrte z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursra z0.b, z0.b, #1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursra z0.d, z0.d, #1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursra z0.h, z0.h, #1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursra z0.s, z0.s, #1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursra z31.b, z31.b, #8
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursra z31.d, z31.d, #64
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursra z31.h, z31.h, #16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursra z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra z31.s, z31.s, #32
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllb z0.d, z0.s, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllb z0.h, z0.b, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllb z0.s, z0.h, #0
@@ -10184,40 +10184,40 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uxth z31.s, p7/m, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uxtw z0.d, p0/m, z0.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uxtw z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uzp1 p15.b, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uzp1 p15.d, p15.d, p15.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uzp1 p15.h, p15.h, p15.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uzp1 p15.s, p15.s, p15.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uzp1 p15.b, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uzp1 p15.d, p15.d, p15.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uzp1 p15.h, p15.h, p15.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uzp1 p15.s, p15.s, p15.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp1 z31.b, z31.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp1 z31.d, z31.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp1 z31.h, z31.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp1 z31.s, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uzp2 p15.b, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uzp2 p15.d, p15.d, p15.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uzp2 p15.h, p15.h, p15.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uzp2 p15.s, p15.s, p15.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uzp2 p15.b, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uzp2 p15.d, p15.d, p15.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uzp2 p15.h, p15.h, p15.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uzp2 p15.s, p15.s, p15.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp2 z31.b, z31.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp2 z31.d, z31.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp2 z31.h, z31.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uzp2 z31.s, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.b, w0, wzr
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.b, wzr, w0
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.b, x0, xzr
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.b, xzr, x0
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.d, w0, wzr
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.d, x0, xzr
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.h, w0, wzr
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.h, x0, xzr
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.s, w0, wzr
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilege p15.s, x0, xzr
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilerw p15.b, x30, x30
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilerw p15.d, x30, x30
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilerw p15.h, x30, x30
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilerw p15.s, x30, x30
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilewr p15.b, x30, x30
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilewr p15.d, x30, x30
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilewr p15.h, x30, x30
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - whilewr p15.s, x30, x30
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilege p15.b, w0, wzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilege p15.b, wzr, w0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilege p15.b, x0, xzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilege p15.b, xzr, x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilege p15.d, w0, wzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilege p15.d, x0, xzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilege p15.h, w0, wzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilege p15.h, x0, xzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilege p15.s, w0, wzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilege p15.s, x0, xzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilerw p15.b, x30, x30
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilerw p15.d, x30, x30
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilerw p15.h, x30, x30
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilerw p15.s, x30, x30
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilewr p15.b, x30, x30
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilewr p15.d, x30, x30
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilewr p15.h, x30, x30
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilewr p15.s, x30, x30
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - wrffr p0.b
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - wrffr p15.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xar z0.b, z0.b, z1.b, #1
@@ -10228,14 +10228,14 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xar z31.d, z31.d, z30.d, #64
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xar z31.h, z31.h, z30.h, #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xar z31.s, z31.s, z30.s, #32
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip1 p0.b, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip1 p0.d, p0.d, p0.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip1 p0.h, p0.h, p0.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip1 p0.s, p0.s, p0.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip1 p15.b, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip1 p15.d, p15.d, p15.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip1 p15.h, p15.h, p15.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip1 p15.s, p15.s, p15.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - zip1 p0.b, p0.b, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - zip1 p0.d, p0.d, p0.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - zip1 p0.h, p0.h, p0.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - zip1 p0.s, p0.s, p0.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - zip1 p15.b, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - zip1 p15.d, p15.d, p15.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - zip1 p15.h, p15.h, p15.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - zip1 p15.s, p15.s, p15.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 z0.b, z0.b, z0.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 z0.d, z0.d, z0.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 z0.h, z0.h, z0.h
@@ -10244,14 +10244,14 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 z31.d, z31.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 z31.h, z31.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip1 z31.s, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip2 p0.b, p0.b, p0.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip2 p0.d, p0.d, p0.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip2 p0.h, p0.h, p0.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip2 p0.s, p0.s, p0.s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip2 p15.b, p15.b, p15.b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip2 p15.d, p15.d, p15.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip2 p15.h, p15.h, p15.h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - zip2 p15.s, p15.s, p15.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - zip2 p0.b, p0.b, p0.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - zip2 p0.d, p0.d, p0.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - zip2 p0.h, p0.h, p0.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - zip2 p0.s, p0.s, p0.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - zip2 p15.b, p15.b, p15.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - zip2 p15.d, p15.d, p15.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - zip2 p15.h, p15.h, p15.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - zip2 p15.s, p15.s, p15.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip2 z0.b, z0.b, z0.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip2 z0.d, z0.d, z0.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - zip2 z0.h, z0.h, z0.h
>From 67d0581162740e150d6bb92bad2ce8e84a7025d4 Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Mon, 9 Mar 2026 10:22:43 +0000
Subject: [PATCH 06/22] [Thumb2] Updated C1-Nano instruction timings
Instruction latencies (and a few throughputs) affecting the
following instructions have been updated:
ADDHNB / ADDHNT / SUBHNB / SUBHNT
BIF / BIT / BSL
CLS / CLZ / CNT
CMP / CMN
DUP 64-bit forms
EXT
FCCMP
FCM*
FCMP
FMOV
FRSQRTS
FSQRT (scalar)
INC/DEC
LDPSW
LDR pre/post
LDUR
MOVI / MVNI
PMULL / PMULL2
RBIT
REV16 / REV32 / REV64
ROR
SDIV / UDIV
SHRN2
SLI / SRI
SMULH / UMULH
SQDEC / SQINC / UQDEC/ UQINC
SRHADD
SSMADDL / SMSUBL / USMADDL / UMSUBL
SSUBLBT / SSUBLTB / SUBR
TBL
UADDWB / UADDWT / URHADD
A new predicate IsReg0ZeroPred is added to detect specific
variants of the CMP / CMN instructions
---
llvm/lib/Target/AArch64/AArch64SchedC1Nano.td | 120 +++++-
.../Target/AArch64/AArch64SchedPredicates.td | 6 +
.../AArch64/C1/Nano-basic-instructions.s | 342 +++++++++---------
.../AArch64/C1/Nano-neon-instructions.s | 266 +++++++-------
.../AArch64/C1/Nano-sve-instructions.s | 202 +++++------
5 files changed, 511 insertions(+), 425 deletions(-)
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
index ec9edfde81205..7d90a412d7df1 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
@@ -79,10 +79,10 @@ def : WriteRes<WriteIM64, [C1NanoUnitMAC]> { let Latency = 4; let ReleaseAtCycle
// Div
def : WriteRes<WriteID32, [C1NanoUnitDiv]> {
- let Latency = 8; let ReleaseAtCycles = [8];
+ let Latency = 12; let ReleaseAtCycles = [12];
}
def : WriteRes<WriteID64, [C1NanoUnitDiv]> {
- let Latency = 16; let ReleaseAtCycles = [16];
+ let Latency = 20; let ReleaseAtCycles = [20];
}
//===----------------------------------------------------------------------===//
@@ -153,7 +153,7 @@ def : WriteRes<WriteHint, [C1NanoUnitB]>;
// As WriteF result is produced in F5 and it can be mostly forwarded
// to consumer at F1, the effectively Latency is set as 4.
def : WriteRes<WriteF, [C1NanoUnitVALU]> { let Latency = 4; }
-def : WriteRes<WriteFCmp, [C1NanoUnitVALU]> { let Latency = 3; }
+def : WriteRes<WriteFCmp, [C1NanoUnitVALU]> { let Latency = 1; }
def : WriteRes<WriteFCvt, [C1NanoUnitVALU]> { let Latency = 4; }
def : WriteRes<WriteFCopy, [C1NanoUnitVALU]> { let Latency = 3; }
def : WriteRes<WriteFImm, [C1NanoUnitVALU]> { let Latency = 3; }
@@ -171,6 +171,7 @@ def : SchedAlias<WriteVd, C1NanoWrite<4, C1NanoUnitVALU>>;
def : SchedAlias<WriteVq, C1NanoWrite<4, C1NanoUnitVALU>>;
// FP ALU specific new schedwrite definitions
+def C1NanoWriteFPALU_F2 : SchedWriteRes<[C1NanoUnitVALU]> { let Latency = 2;}
def C1NanoWriteFPALU_F3 : SchedWriteRes<[C1NanoUnitVALU]> { let Latency = 3;}
def C1NanoWriteFPALU_F4 : SchedWriteRes<[C1NanoUnitVALU]> { let Latency = 4;}
@@ -193,6 +194,12 @@ def C1NanoWriteFSqrtSP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 12;
let ReleaseAtCycles = [9]; }
def C1NanoWriteFSqrtDP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 22;
let ReleaseAtCycles = [19]; }
+def C1NanoWriteFSqrtScalarHP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 11;
+ let ReleaseAtCycles = [5]; }
+def C1NanoWriteFSqrtScalarSP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 14;
+ let ReleaseAtCycles = [9]; }
+def C1NanoWriteFSqrtScalarDP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 25;
+ let ReleaseAtCycles = [19]; }
}
//===----------------------------------------------------------------------===//
// Subtarget-specific SchedRead types.
@@ -217,11 +224,43 @@ def : ReadAdvance<ReadID, 0>;
//===----------------------------------------------------------------------===//
// Subtarget-specific InstRWs.
+// CMP/CMN are implemented via ADDS/SUBS with Rd = ZR.
+def C1NanoWriteISRegCmp : SchedWriteVariant<[
+ SchedVar<IsReg0ZeroPred, [WriteI]>,
+ SchedVar<RegShiftedPred, [WriteISReg]>,
+ SchedVar<NoSchedPred, [WriteI]>]>;
+def : InstRW<[C1NanoWriteISRegCmp], (instregex "(ADD|SUB)S[WX]rs")>;
+
+def : InstRW<[WriteI], (instrs RORVWr, RORVXr)>;
+// ROR (immediate) is implemented as an EXTR (EXTR Rd, Rs, Rs, #Imm).
+// Keep EXTR's base latency, but model the ROR (immediate) as 1-cycle.
+def C1NanoWriteExtrRORImm : SchedWriteVariant<[
+ SchedVar<IsRORImmIdiomPred, [WriteI]>,
+ SchedVar<NoSchedPred, [WriteExtr]>]>;
+def : InstRW<[C1NanoWriteExtrRORImm], (instrs EXTRWrri, EXTRXrri)>;
+
+def : InstRW<[C1NanoMCWrite<5, 5, C1NanoUnitVALU>], (instregex "FCCMP")>;
+
+// ASIMD FP compare
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
+ (instregex "^(FACGE|FACGT|FCMEQ|FCMGE|FCMGT|FCMLE|FCMLT)(v|32|64)")>;
+
+// ASIMD reverse bits.
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "RBITv")>;
+
+// ASIMD count
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(CLS|CLZ|CNT)v")>;
+
+// FP/ASIMD loads (unscaled immediate).
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "LDUR[BHSDQ]i")>;
+
def C1NanoWriteISReg : SchedWriteVariant<[
SchedVar<RegShiftedPred, [WriteISReg]>,
SchedVar<NoSchedPred, [WriteI]>]>;
def : InstRW<[C1NanoWriteISReg], (instregex ".*rs$")>;
-def : InstRW<[WriteIS], (instrs RBITWr, RBITXr)>;
+def : InstRW<[WriteI], (instrs RBITWr, RBITXr)>;
+def : InstRW<[C1NanoWrite<2, C1NanoUnitMAC>], (instregex "[SU]M(ADD|SUB)L")>;
+def : InstRW<[C1NanoMCWrite<6, 4, C1NanoUnitMAC>], (instregex "[SU]MULHr")>;
// Pointer Authentication Instructions (v8.3 PAC)
// -----------------------------------------------------------------------------
@@ -256,6 +295,12 @@ def C1NanoWriteLDP1 : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 2; }
def C1NanoWriteLDP2 : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 2; }
def C1NanoWriteLDP4 : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 2; }
+def : InstRW<[WriteAdr, C1NanoWrite<3, C1NanoUnitLd>], (instregex "LDR[BHSDQ](pre|post)")>;
+
+def : InstRW<[C1NanoWriteLDP1, C1NanoWriteLDP1], (instregex "LDPSWi")>;
+def : InstRW<[WriteAdr, C1NanoWriteLDP1, C1NanoWriteLDP1],
+ (instregex "LDPSW(pre|post)")>;
+
def : InstRW<[C1NanoWriteVLD1SI, C1NanoWriteLDP1], (instregex "LDPS?Wi")>;
def : InstRW<[C1NanoWriteVLD1, C1NanoWriteLDP1], (instregex "LDPSi")>;
def : InstRW<[C1NanoWriteVLD1, C1NanoWriteLDP2], (instregex "LDP(X|D)i")>;
@@ -382,7 +427,7 @@ def : InstRW<[WriteAdr, C1NanoWriteVST4], (instregex "ST4Fourv(8b|4h|2s|1d|16b|8
//---
// Floating Point Conversions, MAC, DIV, SQRT
//---
-def : InstRW<[C1NanoWriteFPALU_F3], (instregex "^DUP(v2i64|v4i32|v8i16|v16i8)")>;
+def : InstRW<[C1NanoWriteFPALU_F3], (instregex "^DUP(v2i64|v2i32|v4i32|v4i16|v8i16|v8i8|v16i8)")>;
def : InstRW<[C1NanoWriteFPALU_F4], (instregex "^XTN")>;
def : InstRW<[C1NanoWriteFPALU_F4], (instregex "^FCVT[ALMNPZ][SU](S|U)?(W|X)")>;
def : InstRW<[C1NanoWriteFPALU_F4], (instregex "^FCVT(X)?[ALMNPXZ](S|U|N)?v")>;
@@ -396,12 +441,18 @@ def : InstRW<[C1NanoWriteVMAC], (instregex "^FML(A|S)v.*")>;
def : InstRW<[C1NanoWriteFDivHP], (instrs FDIVHrr)>;
def : InstRW<[C1NanoWriteFDivSP], (instrs FDIVSrr)>;
def : InstRW<[C1NanoWriteFDivDP], (instrs FDIVDrr)>;
+def : InstRW<[C1NanoWriteFPALU_F2], (instrs FMOVSr, FMOVDr)>;
+def : InstRW<[C1NanoWriteFPALU_F3], (instrs FMOVv2f32_ns, FMOVv4f32_ns, FMOVv2f64_ns, FMOVv4f16_ns, FMOVv8f16_ns)>;
+def : InstRW<[C1NanoWriteFSqrtScalarHP], (instrs FSQRTHr)>;
+def : InstRW<[C1NanoWriteFSqrtScalarSP], (instrs FSQRTSr)>;
+def : InstRW<[C1NanoWriteFSqrtScalarDP], (instrs FSQRTDr)>;
def : InstRW<[C1NanoWriteFDivHP], (instregex "^FDIVv.*16$")>;
def : InstRW<[C1NanoWriteFDivSP], (instregex "^FDIVv.*32$")>;
def : InstRW<[C1NanoWriteFDivDP], (instregex "^FDIVv.*64$")>;
-def : InstRW<[C1NanoWriteFSqrtHP], (instregex "^.*SQRT.*16$")>;
-def : InstRW<[C1NanoWriteFSqrtSP], (instregex "^.*SQRT.*32$")>;
-def : InstRW<[C1NanoWriteFSqrtDP], (instregex "^.*SQRT.*64$")>;
+def : InstRW<[C1NanoWriteFSqrtHP], (instregex "^FSQRT.*16$")>;
+def : InstRW<[C1NanoWriteFSqrtSP], (instregex "^FSQRT.*32$")>;
+def : InstRW<[C1NanoWriteFSqrtDP], (instregex "^FSQRT.*64$")>;
+def : InstRW<[C1NanoWriteVMAC], (instregex "^FRSQRTS(v|32|64)")>;
def : InstRW<[C1NanoWriteFPALU_F3], (instrs FCSELHrrr, FCSELSrrr, FCSELDrrr)>;
@@ -409,6 +460,10 @@ def : InstRW<[C1NanoWriteFPALU_F3], (instrs FCSELHrrr, FCSELSrrr, FCSELDrrr)>;
// ASIMD absolute diff
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]ABDv(2i32|4i16|8i8)")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]ABDv(16i8|4i32|8i16)")>;
+// ASIMD move, integer immediate
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^MOVI(v|D)", "^MVNIv")>;
+// ASIMD reverse
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^REV(16|32|64)v")>;
// ASIMD absolute diff accum
def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU>], (instregex "[SU]ABAL?v")>;
// ASIMD absolute diff long
@@ -442,11 +497,23 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "CM(EQ|GE|GT|HI|HS|LE|
// ASIMD compare test
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "CMTSTv(1i64|2i32|4i16|8i8)")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "CMTSTv(2i64|4i32|8i16|16i8)")>;
+// ASIMD extract
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^EXTv")>;
+// ASIMD table lookup / table lookup extension
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs TBLv8i8One, TBLv16i8One)>;
+def : InstRW<[C1NanoWrite<5, C1NanoUnitVALU>], (instrs TBLv8i8Two, TBLv16i8Two)>;
+def : InstRW<[C1NanoWrite<6, C1NanoUnitVALU>], (instrs TBLv8i8Three, TBLv16i8Three)>;
+def : InstRW<[C1NanoWrite<7, C1NanoUnitVALU>], (instrs TBLv8i8Four, TBLv16i8Four)>;
+def : InstRW<[C1NanoWrite<5, C1NanoUnitVALU>], (instrs TBXv8i8One, TBXv16i8One)>;
+def : InstRW<[C1NanoWrite<6, C1NanoUnitVALU>], (instrs TBXv8i8Two, TBXv16i8Two)>;
+def : InstRW<[C1NanoWrite<7, C1NanoUnitVALU>], (instrs TBXv8i8Three, TBXv16i8Three)>;
+def : InstRW<[C1NanoWrite<8, C1NanoUnitVALU>], (instrs TBXv8i8Four, TBXv16i8Four)>;
// ASIMD logical
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "(AND|EOR|NOT|ORN)v8i8",
"(ORR|BIC)v(2i32|4i16|8i8)$", "MVNIv(2i|2s|4i16)")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "(AND|EOR|NOT|ORN)v16i8",
"(ORR|BIC)v(16i8|4i32|8i16)$", "MVNIv(4i32|4s|8i16)")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(BIF|BIT|BSL)v")>;
// ASIMD max/min, basic
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU](MIN|MAX)P?v(2i32|4i16|8i8)")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU](MIN|MAX)P?v(16i8|4i32|8i16)")>;
@@ -476,7 +543,7 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]DOTlanev")>;
// ASIMD multiply long
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]MULLv", "SQDMULL[iv]")>;
// ASIMD polynomial (8x8) multiply long
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs PMULLv8i8, PMULLv16i8)>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instrs PMULLv8i8, PMULLv16i8)>;
// ASIMD pairwise add and accumulate
def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU>], (instregex "[SU]ADALPv")>;
// ASIMD shift accumulate
@@ -486,7 +553,10 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]SRAv(16i8|2i64|4i
def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU>], (instregex "[SU]RSRA[vd]")>;
// ASIMD shift by immed
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "SHLd$", "SHLv",
- "SLId$", "SRId$", "[SU]SHR[vd]", "SHRNv")>;
+ "SLId$", "SRId$", "[SU]SHR[vd]", "SHRNv(8i8|4i16|2i32)")>;
+// ASIMD shift by immediate and insert, basic
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^SLIv.*_shift", "^SRIv.*_shift")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "SHRNv(16i8|8i16|4i32)")>;
// ASIMD shift by immed
// SXTL and UXTL are aliases for SHLL
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[US]?SHLLv")>;
@@ -585,7 +655,7 @@ def : InstRW<[C1NanoWrite<1, C1NanoUnitALU>], (instrs ADDPL_XXI, ADDVL_XXI, RDVL
def : InstRW<[C1NanoWrite<1, C1NanoUnitALU>],
(instregex "^CNT[BHWD]_XPiI")>;
-def : InstRW<[C1NanoWrite<3, C1NanoUnitALU>],
+def : InstRW<[C1NanoWrite<1, C1NanoUnitALU>],
(instregex "^(INC|DEC)[BHWD]_XPiI")>;
def : InstRW<[C1NanoWrite<5, C1NanoUnitALU>],
@@ -600,12 +670,18 @@ def : InstRW<[C1NanoWrite<1, C1NanoUnitALU0>],
def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>],
(instregex "^(SQDEC|SQINC|UQDEC|UQINC)P_XP_[BHSD]",
- "^(UQDEC|UQINC)P_WP_[BHSD]",
- "^(SQDEC|SQINC|UQDEC|UQINC)P_XPWd_[BHSD]")>;
+ "^(UQDEC|UQINC)P_WP_[BHSD]")>;
+
+// Predicate counting scalar, active predicate, saturating, 32-bit.
+def : InstRW<[C1NanoWrite<1, C1NanoUnitALU0>],
+ (instregex "^(SQDEC|SQINC)P_XPWd_[BHSD]")>;
// Predicate counting vector, active predicate
def : InstRW<[C1NanoWrite<3, C1NanoUnitALU0>],
- (instregex "^(DEC|INC|SQDEC|SQINC|UQDEC|UQINC)P_ZP_[HSD]")>;
+ (instregex "^(DEC|INC)P_ZP_[HSD]")>;
+
+def : InstRW<[C1NanoWrite<4, C1NanoUnitALU0>],
+ (instregex "^(SQDEC|SQINC|UQDEC|UQINC)P_ZP_[HSD]")>;
// Predicate logical
def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>],
@@ -660,17 +736,20 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^[SU]ABDL[TB]_ZZZ_[HS
// Arithmetic, basic
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
(instregex "^(ABS|CNOT|NEG)_ZPmZ_[BHSD]",
- "^(ADD|SUB|SUBR)_ZPmZ_[BHSD]",
- "^(ADD|SUB|SUBR)_ZPZZ_[BHSD]",
+ "^(ADD|SUB)_ZPmZ_[BHSD]",
+ "^(ADD|SUB)_ZPZZ_[BHSD]",
"^(ADD|SUB)_ZZZ_[BHSD]",
- "^(ADD|SUB|SUBR)_ZI_[BHSD]",
+ "^(ADD|SUB)_ZI_[BHSD]",
"^ADR_[SU]XTW_ZZZ_D_[0123]",
"^ADR_LSL_ZZZ_[SD]_[0123]",
- "^[SU]H(ADD|SUB|SUBR)_(ZPmZ|ZPZZ)_[BHSD]")>;
+ "^[SU]H(ADD|SUB|SUBR)_(ZPmZ|ZPZZ)_[BHSD]",
+ "^UADDW[BT]_ZZZ_[HSD]",
+ "^[SU]RHADD_ZPmZ_[BHSD]")>;
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
(instregex "^[SU](ADD|SUB)[LW][BT]_ZZZ_[HSD]",
"^SADDLBT_ZZZ_[HSD]",
- "^SSUBL(BT|TB)_ZZZ_[HSD]")>;
+ "^SSUBL(BT|TB)_ZZZ_[HSD]",
+ "^SUBR_(ZPmZ|ZPZZ|ZI)_[BHSD]")>;
// Arithmetic, complex
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
@@ -678,7 +757,8 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
"^SQ(ADD|SUB|SUBR)_ZPmZ_?[BHSD]",
"^[SU]Q(ADD|SUB)_ZZZ_[BHSD]",
"^[SU]Q(ADD|SUB)_ZI_[BHSD]",
- "^(SRH|SUQ|UQ|USQ|URH)ADD_ZPmZ_[BHSD]",
+ "^(ADD|SUB)HN[BT]_ZZZ_[BHS]",
+ "^(SUQ|UQ|USQ)ADD_ZPmZ_[BHSD]",
"^(UQSUB|UQSUBR)_ZPmZ_[BHSD]")>;
def : InstRW<[C1NanoWrite<6, C1NanoUnitVALU>],
(instregex "^R?(ADD|SUB)HN[BT]_ZZZ_[BHS]")>;
diff --git a/llvm/lib/Target/AArch64/AArch64SchedPredicates.td b/llvm/lib/Target/AArch64/AArch64SchedPredicates.td
index 854d3ce564831..2707fc80b79e3 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedPredicates.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedPredicates.td
@@ -61,6 +61,11 @@ let FunctionMapper = "AArch64_AM::getShiftType" in {
// Generic predicates.
// Check for ZR in a register operand.
+def CheckIsReg0Zero : CheckAll<
+ [CheckIsRegOperand<0>,
+ CheckAny<
+ [CheckRegOperand<0, WZR>,
+ CheckRegOperand<0, XZR>]>]>;
foreach I = {1-3} in {
def CheckIsReg#I#Zero : CheckAll<
[CheckIsRegOperand<I>,
@@ -68,6 +73,7 @@ foreach I = {1-3} in {
[CheckRegOperand<I, WZR>,
CheckRegOperand<I, XZR>]>]>;
}
+def IsReg0ZeroPred : MCSchedPredicate<CheckIsReg0Zero>;
def IsReg1ZeroPred : MCSchedPredicate<CheckIsReg1Zero>;
def IsReg2ZeroPred : MCSchedPredicate<CheckIsReg2Zero>;
def IsReg3ZeroPred : MCSchedPredicate<CheckIsReg3Zero>;
diff --git a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s
index 3559c4aa3a5e5..16aafd1949ef6 100644
--- a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s
@@ -1562,49 +1562,49 @@ xpaclri
# 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 2 0.50 cmn w8, w9, lsl #15
-# CHECK-NEXT: 1 2 0.50 cmn w10, w11, lsl #31
-# CHECK-NEXT: 1 2 0.50 cmn w12, w13, lsr #0
-# CHECK-NEXT: 1 2 0.50 cmn w14, w15, lsr #21
-# CHECK-NEXT: 1 2 0.50 cmn w16, w17, lsr #31
-# CHECK-NEXT: 1 2 0.50 cmn w18, w19, asr #0
-# CHECK-NEXT: 1 2 0.50 cmn w20, w21, asr #22
-# CHECK-NEXT: 1 2 0.50 cmn w22, w23, asr #31
+# CHECK-NEXT: 1 1 0.50 cmn w8, w9, lsl #15
+# 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 2 0.50 cmn x8, x9, lsl #15
-# CHECK-NEXT: 1 2 0.50 cmn x10, x11, lsl #63
-# CHECK-NEXT: 1 2 0.50 cmn x12, x13, lsr #0
-# CHECK-NEXT: 1 2 0.50 cmn x14, x15, lsr #41
-# CHECK-NEXT: 1 2 0.50 cmn x16, x17, lsr #63
-# CHECK-NEXT: 1 2 0.50 cmn x18, x19, asr #0
-# CHECK-NEXT: 1 2 0.50 cmn x20, x21, asr #55
-# CHECK-NEXT: 1 2 0.50 cmn x22, x23, asr #63
+# CHECK-NEXT: 1 1 0.50 cmn x8, x9, lsl #15
+# CHECK-NEXT: 1 1 0.50 cmn x10, x11, lsl #63
+# 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 2 0.50 cmp w8, w9, lsl #15
-# CHECK-NEXT: 1 2 0.50 cmp w10, w11, lsl #31
-# CHECK-NEXT: 1 2 0.50 cmp w12, w13, lsr #0
-# CHECK-NEXT: 1 2 0.50 cmp w14, w15, lsr #21
-# CHECK-NEXT: 1 2 0.50 cmp w18, w19, asr #0
-# CHECK-NEXT: 1 2 0.50 cmp w20, w21, asr #22
-# CHECK-NEXT: 1 2 0.50 cmp w22, w23, asr #31
+# CHECK-NEXT: 1 1 0.50 cmp w8, w9, lsl #15
+# 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 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 2 0.50 cmp x8, x9, lsl #15
-# CHECK-NEXT: 1 2 0.50 cmp x10, x11, lsl #63
-# CHECK-NEXT: 1 2 0.50 cmp x12, x13, lsr #0
-# CHECK-NEXT: 1 2 0.50 cmp x14, x15, lsr #41
-# CHECK-NEXT: 1 2 0.50 cmp x16, x17, lsr #63
-# CHECK-NEXT: 1 2 0.50 cmp x18, x19, asr #0
-# CHECK-NEXT: 1 2 0.50 cmp x20, x21, asr #55
-# CHECK-NEXT: 1 2 0.50 cmp x22, x23, asr #63
+# CHECK-NEXT: 1 1 0.50 cmp x8, x9, lsl #15
+# CHECK-NEXT: 1 1 0.50 cmp x10, x11, lsl #63
+# 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 adc w29, w27, w25
@@ -1826,8 +1826,8 @@ xpaclri
# 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 csinv w9, w8, w8, nv
-# CHECK-NEXT: 1 2 0.50 rbit w0, w7
-# CHECK-NEXT: 1 2 0.50 rbit x18, x3
+# 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
@@ -1837,30 +1837,30 @@ xpaclri
# 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 8 8.00 udiv w0, w7, w10
-# CHECK-NEXT: 1 16 16.00 udiv x9, x22, x4
-# CHECK-NEXT: 1 8 8.00 sdiv w12, w21, w0
-# CHECK-NEXT: 1 16 16.00 sdiv x13, x2, x1
+# 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 2 0.50 lsl w11, w12, w13
# CHECK-NEXT: 1 2 0.50 lsl x14, x15, x16
# CHECK-NEXT: 1 2 0.50 lsr w17, w18, w19
# CHECK-NEXT: 1 2 0.50 lsr x20, x21, x22
# CHECK-NEXT: 1 2 0.50 asr w23, w24, w25
# CHECK-NEXT: 1 2 0.50 asr x26, x27, x28
-# CHECK-NEXT: 1 2 0.50 ror w0, w1, w2
-# CHECK-NEXT: 1 2 0.50 ror x3, x4, x5
+# CHECK-NEXT: 1 1 0.50 ror w0, w1, w2
+# CHECK-NEXT: 1 1 0.50 ror x3, x4, x5
# CHECK-NEXT: 1 2 0.50 lsl w6, w7, w8
# CHECK-NEXT: 1 2 0.50 lsl x9, x10, x11
# CHECK-NEXT: 1 2 0.50 lsr w12, w13, w14
# CHECK-NEXT: 1 2 0.50 lsr x15, x16, x17
# CHECK-NEXT: 1 2 0.50 asr w18, w19, w20
# CHECK-NEXT: 1 2 0.50 asr x21, x22, x23
-# CHECK-NEXT: 1 2 0.50 ror w24, w25, w26
-# CHECK-NEXT: 1 2 0.50 ror x27, x28, x29
-# CHECK-NEXT: 1 4 2.00 smulh x30, x29, x28
-# CHECK-NEXT: 1 4 2.00 smulh xzr, x27, x26
-# CHECK-NEXT: 1 4 2.00 umulh x30, x29, x28
-# CHECK-NEXT: 1 4 2.00 umulh x23, x30, xzr
+# CHECK-NEXT: 1 1 0.50 ror w24, w25, w26
+# CHECK-NEXT: 1 1 0.50 ror x27, x28, x29
+# 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
@@ -1881,70 +1881,70 @@ xpaclri
# 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 3 1.00 smaddl x3, w5, w2, x9
-# CHECK-NEXT: 1 3 1.00 smaddl xzr, w10, w11, x12
-# CHECK-NEXT: 1 3 1.00 smaddl x13, wzr, w14, x15
-# CHECK-NEXT: 1 3 1.00 smaddl x16, w17, wzr, x18
-# CHECK-NEXT: 1 3 1.00 smull x19, w20, w21
-# CHECK-NEXT: 1 3 1.00 smsubl x3, w5, w2, x9
-# CHECK-NEXT: 1 3 1.00 smsubl xzr, w10, w11, x12
-# CHECK-NEXT: 1 3 1.00 smsubl x13, wzr, w14, x15
-# CHECK-NEXT: 1 3 1.00 smsubl x16, w17, wzr, x18
-# CHECK-NEXT: 1 3 1.00 smnegl x19, w20, w21
-# CHECK-NEXT: 1 3 1.00 umaddl x3, w5, w2, x9
-# CHECK-NEXT: 1 3 1.00 umaddl xzr, w10, w11, x12
-# CHECK-NEXT: 1 3 1.00 umaddl x13, wzr, w14, x15
-# CHECK-NEXT: 1 3 1.00 umaddl x16, w17, wzr, x18
-# CHECK-NEXT: 1 3 1.00 umull x19, w20, w21
-# CHECK-NEXT: 1 3 1.00 umsubl x3, w5, w2, x9
-# CHECK-NEXT: 1 3 1.00 umsubl x16, w17, wzr, x18
-# CHECK-NEXT: 1 3 1.00 umnegl x19, w20, w21
-# CHECK-NEXT: 1 4 2.00 smulh x30, x29, x28
-# CHECK-NEXT: 1 4 2.00 smulh x23, x22, xzr
-# CHECK-NEXT: 1 4 2.00 umulh x23, x22, xzr
+# 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 x30, x29, x28
+# 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 3 1.00 smull x11, w13, w17
-# CHECK-NEXT: 1 3 1.00 umull x11, w13, w17
-# CHECK-NEXT: 1 3 1.00 smnegl x11, w13, w17
-# CHECK-NEXT: 1 3 1.00 umnegl x11, w13, w17
+# 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 2 0.50 ror x19, x23, #24
-# CHECK-NEXT: 1 2 0.50 ror x29, xzr, #63
-# CHECK-NEXT: 1 2 0.50 ror w9, w13, #31
-# CHECK-NEXT: 1 3 0.50 fcmp s3, s5
-# CHECK-NEXT: 1 3 0.50 fcmp s31, #0.0
-# CHECK-NEXT: 1 3 0.50 fcmp s31, #0.0
-# CHECK-NEXT: 1 3 0.50 fcmpe s29, s30
-# CHECK-NEXT: 1 3 0.50 fcmpe s15, #0.0
-# CHECK-NEXT: 1 3 0.50 fcmpe s15, #0.0
-# CHECK-NEXT: 1 3 0.50 fcmp d4, d12
-# CHECK-NEXT: 1 3 0.50 fcmp d23, #0.0
-# CHECK-NEXT: 1 3 0.50 fcmp d23, #0.0
-# CHECK-NEXT: 1 3 0.50 fcmpe d26, d22
-# CHECK-NEXT: 1 3 0.50 fcmpe d29, #0.0
-# CHECK-NEXT: 1 3 0.50 fcmpe d29, #0.0
-# CHECK-NEXT: 1 3 0.50 fccmp s1, s31, #0, eq
-# CHECK-NEXT: 1 3 0.50 fccmp s3, s0, #15, hs
-# CHECK-NEXT: 1 3 0.50 fccmp s31, s15, #13, hs
-# CHECK-NEXT: 1 3 0.50 fccmp d9, d31, #0, le
-# CHECK-NEXT: 1 3 0.50 fccmp d3, d0, #15, gt
-# CHECK-NEXT: 1 3 0.50 fccmp d31, d5, #7, ne
-# CHECK-NEXT: 1 3 0.50 fccmpe s1, s31, #0, eq
-# CHECK-NEXT: 1 3 0.50 fccmpe s3, s0, #15, hs
-# CHECK-NEXT: 1 3 0.50 fccmpe s31, s15, #13, hs
-# CHECK-NEXT: 1 3 0.50 fccmpe d9, d31, #0, le
-# CHECK-NEXT: 1 3 0.50 fccmpe d3, d0, #15, gt
-# CHECK-NEXT: 1 3 0.50 fccmpe d31, d5, #7, ne
+# 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 0.50 fcmp s3, s5
+# CHECK-NEXT: 1 1 0.50 fcmp s31, #0.0
+# CHECK-NEXT: 1 1 0.50 fcmp s31, #0.0
+# CHECK-NEXT: 1 1 0.50 fcmpe s29, s30
+# CHECK-NEXT: 1 1 0.50 fcmpe s15, #0.0
+# CHECK-NEXT: 1 1 0.50 fcmpe s15, #0.0
+# CHECK-NEXT: 1 1 0.50 fcmp d4, d12
+# CHECK-NEXT: 1 1 0.50 fcmp d23, #0.0
+# CHECK-NEXT: 1 1 0.50 fcmp d23, #0.0
+# CHECK-NEXT: 1 1 0.50 fcmpe d26, d22
+# CHECK-NEXT: 1 1 0.50 fcmpe d29, #0.0
+# CHECK-NEXT: 1 1 0.50 fcmpe d29, #0.0
+# CHECK-NEXT: 1 5 2.50 fccmp s1, s31, #0, eq
+# CHECK-NEXT: 1 5 2.50 fccmp s3, s0, #15, hs
+# CHECK-NEXT: 1 5 2.50 fccmp s31, s15, #13, hs
+# CHECK-NEXT: 1 5 2.50 fccmp d9, d31, #0, le
+# CHECK-NEXT: 1 5 2.50 fccmp d3, d0, #15, gt
+# CHECK-NEXT: 1 5 2.50 fccmp d31, d5, #7, ne
+# CHECK-NEXT: 1 5 2.50 fccmpe s1, s31, #0, eq
+# CHECK-NEXT: 1 5 2.50 fccmpe s3, s0, #15, hs
+# CHECK-NEXT: 1 5 2.50 fccmpe s31, s15, #13, hs
+# CHECK-NEXT: 1 5 2.50 fccmpe d9, d31, #0, le
+# CHECK-NEXT: 1 5 2.50 fccmpe d3, d0, #15, gt
+# CHECK-NEXT: 1 5 2.50 fccmpe d31, d5, #7, ne
# CHECK-NEXT: 1 3 0.50 fcsel s3, s20, s9, pl
# CHECK-NEXT: 1 3 0.50 fcsel d9, d10, d11, mi
-# CHECK-NEXT: 1 4 0.50 fmov s0, s1
+# 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 s4, s5
-# CHECK-NEXT: 1 22 29.00 fsqrt s6, s7
+# 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 s12, s13
@@ -1954,10 +1954,10 @@ xpaclri
# CHECK-NEXT: 1 4 0.50 frinta s20, s21
# CHECK-NEXT: 1 4 0.50 frintx s22, s23
# CHECK-NEXT: 1 4 0.50 frinti s24, s25
-# CHECK-NEXT: 1 4 0.50 fmov d0, d1
+# 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 22 29.00 fsqrt d6, d7
+# CHECK-NEXT: 1 25 19.00 fsqrt d6, d7
# CHECK-NEXT: 1 4 0.50 fcvt s8, d9
# CHECK-NEXT: 1 4 0.50 fcvt h10, d11
# CHECK-NEXT: 1 4 0.50 frintn d12, d13
@@ -2221,11 +2221,11 @@ xpaclri
# CHECK-NEXT: 1 1 1.00 * stur s15, [x0, #255]
# CHECK-NEXT: 1 1 1.00 * stur d31, [x5, #25]
# CHECK-NEXT: 1 1 1.00 * stur q9, [x5]
-# CHECK-NEXT: 1 2 0.50 * ldur b3, [sp]
-# CHECK-NEXT: 1 2 0.50 * ldur h5, [x4, #-256]
-# CHECK-NEXT: 1 2 0.50 * ldur s7, [x12, #-1]
-# CHECK-NEXT: 1 2 0.50 * ldur d11, [x19, #4]
-# CHECK-NEXT: 1 2 0.50 * ldur q13, [x1, #2]
+# CHECK-NEXT: 1 3 0.50 * ldur b3, [sp]
+# CHECK-NEXT: 1 3 0.50 * ldur h5, [x4, #-256]
+# CHECK-NEXT: 1 3 0.50 * ldur s7, [x12, #-1]
+# CHECK-NEXT: 1 3 0.50 * ldur d11, [x19, #4]
+# CHECK-NEXT: 1 3 0.50 * ldur q13, [x1, #2]
# CHECK-NEXT: 2 1 1.00 * strb w9, [x2], #255
# CHECK-NEXT: 2 1 1.00 * strb w10, [x3], #1
# CHECK-NEXT: 2 1 1.00 * strb w10, [x3], #-256
@@ -2277,21 +2277,21 @@ xpaclri
# CHECK-NEXT: 2 1 1.00 * str d20, [x20], #255
# CHECK-NEXT: 2 1 1.00 * str d23, [x23], #1
# CHECK-NEXT: 2 1 1.00 * str d25, [x0], #-256
-# CHECK-NEXT: 2 2 0.50 * ldr b0, [x0], #255
-# CHECK-NEXT: 2 2 0.50 * ldr b3, [x3], #1
-# CHECK-NEXT: 2 2 0.50 * ldr b5, [sp], #-256
-# CHECK-NEXT: 2 2 0.50 * ldr h10, [x10], #255
-# CHECK-NEXT: 2 2 0.50 * ldr h13, [x23], #1
-# CHECK-NEXT: 2 2 0.50 * ldr h15, [sp], #-256
-# CHECK-NEXT: 2 2 0.50 * ldr s20, [x20], #255
-# CHECK-NEXT: 2 2 0.50 * ldr s23, [x23], #1
-# CHECK-NEXT: 2 2 0.50 * ldr s25, [x0], #-256
-# CHECK-NEXT: 2 2 0.50 * ldr d20, [x20], #255
-# CHECK-NEXT: 2 2 0.50 * ldr d23, [x23], #1
-# CHECK-NEXT: 2 2 0.50 * ldr d25, [x0], #-256
-# CHECK-NEXT: 2 2 0.50 * ldr q20, [x1], #255
-# CHECK-NEXT: 2 2 0.50 * ldr q23, [x9], #1
-# CHECK-NEXT: 2 2 0.50 * ldr q25, [x20], #-256
+# CHECK-NEXT: 2 3 0.50 * ldr b0, [x0], #255
+# CHECK-NEXT: 2 3 0.50 * ldr b3, [x3], #1
+# CHECK-NEXT: 2 3 0.50 * ldr b5, [sp], #-256
+# CHECK-NEXT: 2 3 0.50 * ldr h10, [x10], #255
+# CHECK-NEXT: 2 3 0.50 * ldr h13, [x23], #1
+# CHECK-NEXT: 2 3 0.50 * ldr h15, [sp], #-256
+# CHECK-NEXT: 2 3 0.50 * ldr s20, [x20], #255
+# CHECK-NEXT: 2 3 0.50 * ldr s23, [x23], #1
+# CHECK-NEXT: 2 3 0.50 * ldr s25, [x0], #-256
+# CHECK-NEXT: 2 3 0.50 * ldr d20, [x20], #255
+# CHECK-NEXT: 2 3 0.50 * ldr d23, [x23], #1
+# CHECK-NEXT: 2 3 0.50 * ldr d25, [x0], #-256
+# CHECK-NEXT: 2 3 0.50 * ldr q20, [x1], #255
+# CHECK-NEXT: 2 3 0.50 * ldr q23, [x9], #1
+# CHECK-NEXT: 2 3 0.50 * ldr q25, [x20], #-256
# CHECK-NEXT: 2 1 1.00 * str q10, [x1], #255
# CHECK-NEXT: 2 1 1.00 * str q22, [sp], #1
# CHECK-NEXT: 2 1 1.00 * str q21, [x20], #-256
@@ -2347,21 +2347,21 @@ xpaclri
# CHECK-NEXT: 2 1 1.00 * str d20, [x20, #255]!
# CHECK-NEXT: 2 1 1.00 * str d23, [x23, #1]!
# CHECK-NEXT: 2 1 1.00 * str d25, [x0, #-256]!
-# CHECK-NEXT: 2 2 0.50 * ldr b0, [x0, #255]!
-# CHECK-NEXT: 2 2 0.50 * ldr b3, [x3, #1]!
-# CHECK-NEXT: 2 2 0.50 * ldr b5, [sp, #-256]!
-# CHECK-NEXT: 2 2 0.50 * ldr h10, [x10, #255]!
-# CHECK-NEXT: 2 2 0.50 * ldr h13, [x23, #1]!
-# CHECK-NEXT: 2 2 0.50 * ldr h15, [sp, #-256]!
-# CHECK-NEXT: 2 2 0.50 * ldr s20, [x20, #255]!
-# CHECK-NEXT: 2 2 0.50 * ldr s23, [x23, #1]!
-# CHECK-NEXT: 2 2 0.50 * ldr s25, [x0, #-256]!
-# CHECK-NEXT: 2 2 0.50 * ldr d20, [x20, #255]!
-# CHECK-NEXT: 2 2 0.50 * ldr d23, [x23, #1]!
-# CHECK-NEXT: 2 2 0.50 * ldr d25, [x0, #-256]!
-# CHECK-NEXT: 2 2 0.50 * ldr q20, [x1, #255]!
-# CHECK-NEXT: 2 2 0.50 * ldr q23, [x9, #1]!
-# CHECK-NEXT: 2 2 0.50 * ldr q25, [x20, #-256]!
+# CHECK-NEXT: 2 3 0.50 * ldr b0, [x0, #255]!
+# CHECK-NEXT: 2 3 0.50 * ldr b3, [x3, #1]!
+# CHECK-NEXT: 2 3 0.50 * ldr b5, [sp, #-256]!
+# CHECK-NEXT: 2 3 0.50 * ldr h10, [x10, #255]!
+# CHECK-NEXT: 2 3 0.50 * ldr h13, [x23, #1]!
+# CHECK-NEXT: 2 3 0.50 * ldr h15, [sp, #-256]!
+# CHECK-NEXT: 2 3 0.50 * ldr s20, [x20, #255]!
+# CHECK-NEXT: 2 3 0.50 * ldr s23, [x23, #1]!
+# CHECK-NEXT: 2 3 0.50 * ldr s25, [x0, #-256]!
+# CHECK-NEXT: 2 3 0.50 * ldr d20, [x20, #255]!
+# CHECK-NEXT: 2 3 0.50 * ldr d23, [x23, #1]!
+# CHECK-NEXT: 2 3 0.50 * ldr d25, [x0, #-256]!
+# CHECK-NEXT: 2 3 0.50 * ldr q20, [x1, #255]!
+# CHECK-NEXT: 2 3 0.50 * ldr q23, [x9, #1]!
+# CHECK-NEXT: 2 3 0.50 * ldr q25, [x20, #-256]!
# CHECK-NEXT: 2 1 1.00 * str q10, [x1, #255]!
# CHECK-NEXT: 2 1 1.00 * str q22, [sp, #1]!
# CHECK-NEXT: 2 1 1.00 * str q21, [x20, #-256]!
@@ -2466,9 +2466,9 @@ xpaclri
# CHECK-NEXT: 1 1 1.00 * stp wzr, w9, [sp, #252]
# CHECK-NEXT: 2 3 1.00 * ldp w2, wzr, [sp, #-256]
# CHECK-NEXT: 2 3 1.00 * ldp w9, w10, [sp, #4]
-# CHECK-NEXT: 2 3 1.00 * ldpsw x9, x10, [sp, #4]
-# CHECK-NEXT: 2 3 1.00 * ldpsw x9, x10, [x2, #-256]
-# CHECK-NEXT: 2 3 1.00 * ldpsw x20, x30, [sp, #252]
+# CHECK-NEXT: 2 2 1.00 * ldpsw x9, x10, [sp, #4]
+# CHECK-NEXT: 2 2 1.00 * ldpsw x9, x10, [x2, #-256]
+# CHECK-NEXT: 2 2 1.00 * ldpsw x20, x30, [sp, #252]
# CHECK-NEXT: 2 3 1.00 * ldp x21, x29, [x2, #504]
# CHECK-NEXT: 2 3 1.00 * ldp x22, x23, [x3, #-512]
# CHECK-NEXT: 2 3 1.00 * ldp x24, x25, [x4, #8]
@@ -2485,9 +2485,9 @@ xpaclri
# CHECK-NEXT: 2 1 1.00 * stp wzr, w9, [sp], #252
# CHECK-NEXT: 3 3 1.00 * ldp w2, wzr, [sp], #-256
# CHECK-NEXT: 3 3 1.00 * ldp w9, w10, [sp], #4
-# CHECK-NEXT: 3 3 1.00 * ldpsw x9, x10, [sp], #4
-# CHECK-NEXT: 3 3 1.00 * ldpsw x9, x10, [x2], #-256
-# CHECK-NEXT: 3 3 1.00 * ldpsw x20, x30, [sp], #252
+# CHECK-NEXT: 3 2 1.00 * ldpsw x9, x10, [sp], #4
+# CHECK-NEXT: 3 2 1.00 * ldpsw x9, x10, [x2], #-256
+# CHECK-NEXT: 3 2 1.00 * ldpsw x20, x30, [sp], #252
# CHECK-NEXT: 3 3 1.00 * ldp x21, x29, [x2], #504
# CHECK-NEXT: 3 3 1.00 * ldp x22, x23, [x3], #-512
# CHECK-NEXT: 3 3 1.00 * ldp x24, x25, [x4], #8
@@ -2504,9 +2504,9 @@ xpaclri
# CHECK-NEXT: 2 1 1.00 * stp wzr, w9, [sp, #252]!
# CHECK-NEXT: 3 3 1.00 * ldp w2, wzr, [sp, #-256]!
# CHECK-NEXT: 3 3 1.00 * ldp w9, w10, [sp, #4]!
-# CHECK-NEXT: 3 3 1.00 * ldpsw x9, x10, [sp, #4]!
-# CHECK-NEXT: 3 3 1.00 * ldpsw x9, x10, [x2, #-256]!
-# CHECK-NEXT: 3 3 1.00 * ldpsw x20, x30, [sp, #252]!
+# CHECK-NEXT: 3 2 1.00 * ldpsw x9, x10, [sp, #4]!
+# CHECK-NEXT: 3 2 1.00 * ldpsw x9, x10, [x2, #-256]!
+# CHECK-NEXT: 3 2 1.00 * ldpsw x20, x30, [sp, #252]!
# CHECK-NEXT: 3 3 1.00 * ldp x21, x29, [x2, #504]!
# CHECK-NEXT: 3 3 1.00 * ldp x22, x23, [x3, #-512]!
# CHECK-NEXT: 3 3 1.00 * ldp x24, x25, [x4, #8]!
@@ -2658,7 +2658,7 @@ xpaclri
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11]
-# CHECK-NEXT: 232.50 232.50 34.00 48.00 161.00 289.00 69.00 48.00 110.50 110.50 6.00 6.00 87.00
+# CHECK-NEXT: 232.50 232.50 34.00 64.00 161.00 289.00 83.00 48.00 134.50 134.50 6.00 6.00 57.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11] Instructions:
@@ -3069,10 +3069,10 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - clz x26, x4
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cls w3, w5
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cls x20, x5
-# CHECK-NEXT: - - - 8.00 - - - - - - - - - udiv w0, w7, w10
-# CHECK-NEXT: - - - 16.00 - - - - - - - - - udiv x9, x22, x4
-# CHECK-NEXT: - - - 8.00 - - - - - - - - - sdiv w12, w21, w0
-# CHECK-NEXT: - - - 16.00 - - - - - - - - - sdiv x13, x2, x1
+# CHECK-NEXT: - - - 12.00 - - - - - - - - - udiv w0, w7, w10
+# CHECK-NEXT: - - - 20.00 - - - - - - - - - udiv x9, x22, x4
+# CHECK-NEXT: - - - 12.00 - - - - - - - - - sdiv w12, w21, w0
+# CHECK-NEXT: - - - 20.00 - - - - - - - - - sdiv x13, x2, x1
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl w11, w12, w13
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl x14, x15, x16
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr w17, w18, w19
@@ -3089,10 +3089,10 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr x21, x22, x23
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ror w24, w25, w26
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ror x27, x28, x29
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - smulh x30, x29, x28
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - smulh xzr, x27, x26
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - umulh x30, x29, x28
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - umulh x23, x30, xzr
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - smulh x30, x29, x28
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - smulh xzr, x27, x26
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - umulh x30, x29, x28
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - umulh x23, x30, xzr
# CHECK-NEXT: - - - - - - 1.00 - - - - - - madd w1, w3, w7, w4
# CHECK-NEXT: - - - - - - 1.00 - - - - - - madd wzr, w0, w9, w11
# CHECK-NEXT: - - - - - - 1.00 - - - - - - madd w13, wzr, w4, w4
@@ -3131,9 +3131,9 @@ xpaclri
# CHECK-NEXT: - - - - - - 1.00 - - - - - - umsubl x3, w5, w2, x9
# CHECK-NEXT: - - - - - - 1.00 - - - - - - umsubl x16, w17, wzr, x18
# CHECK-NEXT: - - - - - - 1.00 - - - - - - umnegl x19, w20, w21
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - smulh x30, x29, x28
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - smulh x23, x22, xzr
-# CHECK-NEXT: - - - - - - 2.00 - - - - - - umulh x23, x22, xzr
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - smulh x30, x29, x28
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - smulh x23, x22, xzr
+# CHECK-NEXT: - - - - - - 4.00 - - - - - - umulh x23, x22, xzr
# CHECK-NEXT: - - - - - - 2.00 - - - - - - mul x19, x20, xzr
# CHECK-NEXT: - - - - - - 1.00 - - - - - - mneg w21, w22, w23
# CHECK-NEXT: - - - - - - 1.00 - - - - - - smull x11, w13, w17
@@ -3159,24 +3159,24 @@ xpaclri
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmpe d26, d22
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmpe d29, #0.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmpe d29, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmp s1, s31, #0, eq
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmp s3, s0, #15, hs
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmp s31, s15, #13, hs
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmp d9, d31, #0, le
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmp d3, d0, #15, gt
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmp d31, d5, #7, ne
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmpe s1, s31, #0, eq
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmpe s3, s0, #15, hs
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmpe s31, s15, #13, hs
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmpe d9, d31, #0, le
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmpe d3, d0, #15, gt
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fccmpe d31, d5, #7, ne
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmp s1, s31, #0, eq
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmp s3, s0, #15, hs
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmp s31, s15, #13, hs
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmp d9, d31, #0, le
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmp d3, d0, #15, gt
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmp d31, d5, #7, ne
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmpe s1, s31, #0, eq
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmpe s3, s0, #15, hs
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmpe s31, s15, #13, hs
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmpe d9, d31, #0, le
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmpe d3, d0, #15, gt
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmpe d31, d5, #7, ne
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcsel s3, s20, s9, pl
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcsel d9, d10, d11, mi
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov s0, s1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs s2, s3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg s4, s5
-# CHECK-NEXT: - - - - - - - - - - - - 29.00 fsqrt s6, s7
+# CHECK-NEXT: - - - - - - - - - - - - 9.00 fsqrt s6, s7
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt d8, s9
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt h10, s11
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintn s12, s13
@@ -3189,7 +3189,7 @@ xpaclri
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov d0, d1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs d2, d3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg d4, d5
-# CHECK-NEXT: - - - - - - - - - - - - 29.00 fsqrt d6, d7
+# CHECK-NEXT: - - - - - - - - - - - - 19.00 fsqrt d6, d7
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt s8, d9
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt h10, d11
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintn d12, d13
diff --git a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s
index afa9b0da4fdb9..2bc199740e40a 100644
--- a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s
@@ -1091,21 +1091,21 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 and v0.8b, v0.8b, v0.8b
# CHECK-NEXT: 1 3 0.50 bic v0.4h, #15, lsl #8
# CHECK-NEXT: 1 3 0.50 bic v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: 1 4 0.50 bif v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: 1 4 0.50 bit v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: 1 4 0.50 bsl v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: 1 4 0.50 cls v0.16b, v0.16b
-# CHECK-NEXT: 1 4 0.50 cls v0.2s, v0.2s
-# CHECK-NEXT: 1 4 0.50 cls v0.4h, v0.4h
-# CHECK-NEXT: 1 4 0.50 cls v0.4s, v0.4s
-# CHECK-NEXT: 1 4 0.50 cls v0.8b, v0.8b
-# CHECK-NEXT: 1 4 0.50 cls v0.8h, v0.8h
-# CHECK-NEXT: 1 4 0.50 clz v0.16b, v0.16b
-# CHECK-NEXT: 1 4 0.50 clz v0.2s, v0.2s
-# CHECK-NEXT: 1 4 0.50 clz v0.4h, v0.4h
-# CHECK-NEXT: 1 4 0.50 clz v0.4s, v0.4s
-# CHECK-NEXT: 1 4 0.50 clz v0.8b, v0.8b
-# CHECK-NEXT: 1 4 0.50 clz v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 bif v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 bit v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 bsl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 cls v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 cls v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 cls v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 cls v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 cls v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 cls v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 clz v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 clz v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 clz v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 clz v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 clz v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 clz v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 cmeq d20, d21, #0
# CHECK-NEXT: 1 3 0.50 cmeq d20, d21, d22
# CHECK-NEXT: 1 3 0.50 cmeq v0.16b, v0.16b, #0
@@ -1128,18 +1128,18 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 cmlt v0.8h, v0.8h, #0
# CHECK-NEXT: 1 3 0.50 cmtst d20, d21, d22
# CHECK-NEXT: 1 3 0.50 cmtst v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: 1 4 0.50 cnt v0.16b, v0.16b
-# CHECK-NEXT: 1 4 0.50 cnt v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 cnt v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 cnt v0.8b, v0.8b
# CHECK-NEXT: 1 3 0.50 dup v0.16b, w28
# CHECK-NEXT: 1 3 0.50 dup v0.2d, x28
-# CHECK-NEXT: 1 4 0.50 dup v0.2s, w28
-# CHECK-NEXT: 1 4 0.50 dup v0.4h, w28
+# CHECK-NEXT: 1 3 0.50 dup v0.2s, w28
+# CHECK-NEXT: 1 3 0.50 dup v0.4h, w28
# CHECK-NEXT: 1 3 0.50 dup v0.4s, w28
-# CHECK-NEXT: 1 4 0.50 dup v0.8b, w28
+# CHECK-NEXT: 1 3 0.50 dup v0.8b, w28
# CHECK-NEXT: 1 3 0.50 dup v0.8h, w28
# CHECK-NEXT: 1 3 0.50 eor v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: 1 4 0.50 ext v0.16b, v0.16b, v0.16b, #3
-# CHECK-NEXT: 1 4 0.50 ext v0.8b, v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 3 0.50 ext v0.16b, v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 3 0.50 ext v0.8b, v0.8b, v0.8b, #3
# CHECK-NEXT: 1 4 0.50 fabd d29, d24, d20
# CHECK-NEXT: 1 4 0.50 fabd s29, s24, s20
# CHECK-NEXT: 1 4 0.50 fabd v0.4s, v0.4s, v0.4s
@@ -1148,39 +1148,39 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fabs v0.4h, v0.4h
# CHECK-NEXT: 1 4 0.50 fabs v0.4s, v0.4s
# CHECK-NEXT: 1 4 0.50 fabs v0.8h, v0.8h
-# CHECK-NEXT: 1 4 0.50 facge d20, d21, d22
-# CHECK-NEXT: 1 4 0.50 facge s10, s11, s12
-# CHECK-NEXT: 1 4 0.50 facge v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: 1 4 0.50 facgt d20, d21, d22
-# CHECK-NEXT: 1 4 0.50 facgt s10, s11, s12
-# CHECK-NEXT: 1 4 0.50 facgt v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.50 facge d20, d21, d22
+# CHECK-NEXT: 1 3 0.50 facge s10, s11, s12
+# CHECK-NEXT: 1 3 0.50 facge v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 facgt d20, d21, d22
+# CHECK-NEXT: 1 3 0.50 facgt s10, s11, s12
+# CHECK-NEXT: 1 3 0.50 facgt v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fadd v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 4 0.50 faddp v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 faddp v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: 1 4 0.50 fcmeq d20, d21, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmeq d20, d21, d22
-# CHECK-NEXT: 1 4 0.50 fcmeq s10, s11, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmeq s10, s11, s12
-# CHECK-NEXT: 1 4 0.50 fcmeq v0.2s, v0.2s, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmeq v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: 1 4 0.50 fcmge d20, d21, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmge d20, d21, d22
-# CHECK-NEXT: 1 4 0.50 fcmge s10, s11, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmge s10, s11, s12
-# CHECK-NEXT: 1 4 0.50 fcmge v0.2d, v0.2d, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmge v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: 1 4 0.50 fcmgt d20, d21, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmgt d20, d21, d22
-# CHECK-NEXT: 1 4 0.50 fcmgt s10, s11, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmgt s10, s11, s12
-# CHECK-NEXT: 1 4 0.50 fcmgt v0.4s, v0.4s, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmgt v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: 1 4 0.50 fcmle d20, d21, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmle s10, s11, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmle v0.2d, v0.2d, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmlt d20, d21, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmlt s10, s11, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmlt v0.4s, v0.4s, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmeq d20, d21, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmeq d20, d21, d22
+# CHECK-NEXT: 1 3 0.50 fcmeq s10, s11, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmeq s10, s11, s12
+# CHECK-NEXT: 1 3 0.50 fcmeq v0.2s, v0.2s, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmeq v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 fcmge d20, d21, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmge d20, d21, d22
+# CHECK-NEXT: 1 3 0.50 fcmge s10, s11, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmge s10, s11, s12
+# CHECK-NEXT: 1 3 0.50 fcmge v0.2d, v0.2d, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmge v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 fcmgt d20, d21, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmgt d20, d21, d22
+# CHECK-NEXT: 1 3 0.50 fcmgt s10, s11, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmgt s10, s11, s12
+# CHECK-NEXT: 1 3 0.50 fcmgt v0.4s, v0.4s, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmgt v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 fcmle d20, d21, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmle s10, s11, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmle v0.2d, v0.2d, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmlt d20, d21, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmlt s10, s11, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmlt v0.4s, v0.4s, #0.0
# CHECK-NEXT: 1 4 0.50 fcvtas d21, d14
# CHECK-NEXT: 1 4 0.50 fcvtas s12, s13
# CHECK-NEXT: 1 4 0.50 fcvtas v0.2d, v0.2d
@@ -1303,9 +1303,9 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fmls d0, d4, v0.d[1]
# 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 fmov v0.2d, #-1.25000000
-# CHECK-NEXT: 1 4 0.50 fmov v0.2s, #13.00000000
-# CHECK-NEXT: 1 4 0.50 fmov v0.4s, #1.00000000
+# CHECK-NEXT: 1 3 0.50 fmov v0.2d, #-1.25000000
+# CHECK-NEXT: 1 3 0.50 fmov v0.2s, #13.00000000
+# CHECK-NEXT: 1 3 0.50 fmov v0.4s, #1.00000000
# CHECK-NEXT: 1 4 0.50 fmul d0, d1, v0.d[1]
# CHECK-NEXT: 1 4 0.50 fmul s0, s1, v0.s[3]
# CHECK-NEXT: 1 4 0.50 fmul v0.2s, v0.2s, v0.2s
@@ -1368,16 +1368,16 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 frintz v0.4h, v0.4h
# CHECK-NEXT: 1 4 0.50 frintz v0.4s, v0.4s
# CHECK-NEXT: 1 4 0.50 frintz v0.8h, v0.8h
-# CHECK-NEXT: 1 22 19.00 frsqrte d21, d12
-# CHECK-NEXT: 1 12 9.00 frsqrte s22, s13
-# CHECK-NEXT: 1 22 19.00 frsqrte v0.2d, v0.2d
-# CHECK-NEXT: 1 12 9.00 frsqrte v0.2s, v0.2s
-# CHECK-NEXT: 1 8 5.00 frsqrte v0.4h, v0.4h
-# CHECK-NEXT: 1 12 9.00 frsqrte v0.4s, v0.4s
-# CHECK-NEXT: 1 8 5.00 frsqrte v0.8h, v0.8h
-# CHECK-NEXT: 1 22 19.00 frsqrts d8, d22, d18
-# CHECK-NEXT: 1 12 9.00 frsqrts s21, s5, s12
-# CHECK-NEXT: 1 22 19.00 frsqrts v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 frsqrte d21, d12
+# CHECK-NEXT: 1 4 0.50 frsqrte s22, s13
+# CHECK-NEXT: 1 4 0.50 frsqrte v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 frsqrte v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 frsqrte v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 frsqrte v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 frsqrte v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 frsqrts d8, d22, d18
+# CHECK-NEXT: 1 4 0.50 frsqrts s21, s5, s12
+# CHECK-NEXT: 1 4 0.50 frsqrts v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 22 19.00 fsqrt v0.2d, v0.2d
# CHECK-NEXT: 1 12 9.00 fsqrt v0.2s, v0.2s
# CHECK-NEXT: 1 8 5.00 fsqrt v0.4h, v0.4h
@@ -1431,12 +1431,12 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 mov s17, v0.s[2]
# CHECK-NEXT: 1 3 0.50 mov v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 mov v0.8b, v0.8b
-# CHECK-NEXT: 1 4 0.50 movi d15, #0xff00ff00ff00ff
-# CHECK-NEXT: 1 4 0.50 movi v0.16b, #31
-# CHECK-NEXT: 1 4 0.50 movi v0.2d, #0xff0000ff0000ffff
-# CHECK-NEXT: 1 4 0.50 movi v0.2s, #8, msl #8
-# CHECK-NEXT: 1 4 0.50 movi v0.4s, #255, lsl #24
-# CHECK-NEXT: 1 4 0.50 movi v0.8b, #255
+# CHECK-NEXT: 1 3 0.50 movi d15, #0xff00ff00ff00ff
+# CHECK-NEXT: 1 3 0.50 movi v0.16b, #31
+# CHECK-NEXT: 1 3 0.50 movi v0.2d, #0xff0000ff0000ffff
+# CHECK-NEXT: 1 3 0.50 movi v0.2s, #8, msl #8
+# CHECK-NEXT: 1 3 0.50 movi v0.4s, #255, lsl #24
+# CHECK-NEXT: 1 3 0.50 movi v0.8b, #255
# CHECK-NEXT: 1 4 0.50 mul v0.8b, v0.8b, v0.8b
# CHECK-NEXT: 1 3 0.50 mvni v0.2s, #0
# CHECK-NEXT: 1 3 0.50 mvni v0.4s, #16, msl #16
@@ -1455,28 +1455,28 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 orr v0.8h, #31
# CHECK-NEXT: 1 3 0.50 pmul v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 pmul v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: 1 4 0.50 pmull v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: 1 4 0.50 pmull2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 pmull v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 pmull2 v0.8h, v0.16b, v0.16b
# CHECK-NEXT: 1 6 1.50 raddhn v0.2s, v0.2d, v0.2d
# CHECK-NEXT: 1 6 1.50 raddhn v0.4h, v0.4s, v0.4s
# CHECK-NEXT: 1 6 1.50 raddhn v0.8b, v0.8h, v0.8h
# CHECK-NEXT: 1 6 1.50 raddhn2 v0.16b, v0.8h, v0.8h
# CHECK-NEXT: 1 6 1.50 raddhn2 v0.4s, v0.2d, v0.2d
# CHECK-NEXT: 1 6 1.50 raddhn2 v0.8h, v0.4s, v0.4s
-# CHECK-NEXT: 1 4 0.50 rbit v0.16b, v0.16b
-# CHECK-NEXT: 1 4 0.50 rbit v0.8b, v0.8b
-# CHECK-NEXT: 1 4 0.50 rev16 v21.8b, v1.8b
-# CHECK-NEXT: 1 4 0.50 rev16 v30.16b, v31.16b
-# CHECK-NEXT: 1 4 0.50 rev32 v0.4h, v9.4h
-# CHECK-NEXT: 1 4 0.50 rev32 v21.8b, v1.8b
-# CHECK-NEXT: 1 4 0.50 rev32 v30.16b, v31.16b
-# CHECK-NEXT: 1 4 0.50 rev32 v4.8h, v7.8h
-# CHECK-NEXT: 1 4 0.50 rev64 v0.16b, v31.16b
-# CHECK-NEXT: 1 4 0.50 rev64 v1.8b, v9.8b
-# CHECK-NEXT: 1 4 0.50 rev64 v13.4h, v21.4h
-# CHECK-NEXT: 1 4 0.50 rev64 v2.8h, v4.8h
-# CHECK-NEXT: 1 4 0.50 rev64 v4.2s, v0.2s
-# CHECK-NEXT: 1 4 0.50 rev64 v6.4s, v8.4s
+# CHECK-NEXT: 1 3 0.50 rbit v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 rbit v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 rev16 v21.8b, v1.8b
+# CHECK-NEXT: 1 3 0.50 rev16 v30.16b, v31.16b
+# CHECK-NEXT: 1 3 0.50 rev32 v0.4h, v9.4h
+# CHECK-NEXT: 1 3 0.50 rev32 v21.8b, v1.8b
+# CHECK-NEXT: 1 3 0.50 rev32 v30.16b, v31.16b
+# CHECK-NEXT: 1 3 0.50 rev32 v4.8h, v7.8h
+# CHECK-NEXT: 1 3 0.50 rev64 v0.16b, v31.16b
+# CHECK-NEXT: 1 3 0.50 rev64 v1.8b, v9.8b
+# CHECK-NEXT: 1 3 0.50 rev64 v13.4h, v21.4h
+# CHECK-NEXT: 1 3 0.50 rev64 v2.8h, v4.8h
+# CHECK-NEXT: 1 3 0.50 rev64 v4.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 rev64 v6.4s, v8.4s
# CHECK-NEXT: 1 4 0.50 rshrn v0.2s, v0.2d, #3
# CHECK-NEXT: 1 4 0.50 rshrn v0.4h, v0.4s, #3
# CHECK-NEXT: 1 4 0.50 rshrn v0.8b, v0.8h, #3
@@ -1560,19 +1560,19 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 shrn v0.2s, v0.2d, #3
# CHECK-NEXT: 1 3 0.50 shrn v0.4h, v0.4s, #3
# CHECK-NEXT: 1 3 0.50 shrn v0.8b, v0.8h, #3
-# CHECK-NEXT: 1 3 0.50 shrn2 v0.16b, v0.8h, #3
-# CHECK-NEXT: 1 3 0.50 shrn2 v0.4s, v0.2d, #3
-# CHECK-NEXT: 1 3 0.50 shrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 shrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: 1 4 0.50 shrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: 1 4 0.50 shrn2 v0.8h, v0.4s, #3
# CHECK-NEXT: 1 3 0.50 shsub v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 3 0.50 shsub v0.4h, v0.4h, v0.4h
# CHECK-NEXT: 1 3 0.50 sli d10, d14, #12
-# CHECK-NEXT: 1 4 0.50 sli v0.16b, v0.16b, #3
-# CHECK-NEXT: 1 4 0.50 sli v0.2d, v0.2d, #3
-# CHECK-NEXT: 1 4 0.50 sli v0.2s, v0.2s, #3
-# CHECK-NEXT: 1 4 0.50 sli v0.4h, v0.4h, #3
-# CHECK-NEXT: 1 4 0.50 sli v0.4s, v0.4s, #3
-# CHECK-NEXT: 1 4 0.50 sli v0.8b, v0.8b, #3
-# CHECK-NEXT: 1 4 0.50 sli v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 3 0.50 sli v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 3 0.50 sli v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 3 0.50 sli v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 3 0.50 sli v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 3 0.50 sli v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 3 0.50 sli v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 3 0.50 sli v0.8h, v0.8h, #3
# CHECK-NEXT: 1 3 0.50 smax v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 3 0.50 smax v0.4h, v0.4h, v0.4h
# CHECK-NEXT: 1 3 0.50 smax v0.8b, v0.8b, v0.8b
@@ -1758,13 +1758,13 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 2 0.50 srhadd v0.4h, v0.4h, v0.4h
# CHECK-NEXT: 1 2 0.50 srhadd v0.8b, v0.8b, v0.8b
# CHECK-NEXT: 1 3 0.50 sri d10, d12, #14
-# CHECK-NEXT: 1 4 0.50 sri v0.16b, v0.16b, #3
-# CHECK-NEXT: 1 4 0.50 sri v0.2d, v0.2d, #3
-# CHECK-NEXT: 1 4 0.50 sri v0.2s, v0.2s, #3
-# CHECK-NEXT: 1 4 0.50 sri v0.4h, v0.4h, #3
-# CHECK-NEXT: 1 4 0.50 sri v0.4s, v0.4s, #3
-# CHECK-NEXT: 1 4 0.50 sri v0.8b, v0.8b, #3
-# CHECK-NEXT: 1 4 0.50 sri v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 3 0.50 sri v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 3 0.50 sri v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 3 0.50 sri v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 3 0.50 sri v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 3 0.50 sri v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 3 0.50 sri v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 3 0.50 sri v0.8h, v0.8h, #3
# CHECK-NEXT: 1 3 0.50 srshl d16, d16, d16
# CHECK-NEXT: 1 3 0.50 srshl v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 3 0.50 srshl v0.4h, v0.4h, v0.4h
@@ -1856,21 +1856,21 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 suqadd v0.8b, v0.8b
# CHECK-NEXT: 1 4 0.50 suqadd v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 tbl v0.16b, { v0.16b }, v0.16b
-# CHECK-NEXT: 1 4 0.50 tbl v0.16b, { v0.16b, v1.16b }, v0.16b
-# CHECK-NEXT: 1 4 0.50 tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
-# CHECK-NEXT: 1 4 0.50 tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+# CHECK-NEXT: 1 5 0.50 tbl v0.16b, { v0.16b, v1.16b }, v0.16b
+# CHECK-NEXT: 1 6 0.50 tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+# CHECK-NEXT: 1 7 0.50 tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
# CHECK-NEXT: 1 4 0.50 tbl v0.8b, { v0.16b }, v0.8b
-# CHECK-NEXT: 1 4 0.50 tbl v0.8b, { v0.16b, v1.16b }, v0.8b
-# CHECK-NEXT: 1 4 0.50 tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
-# CHECK-NEXT: 1 4 0.50 tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
-# CHECK-NEXT: 1 4 0.50 tbx v0.16b, { v0.16b }, v0.16b
-# CHECK-NEXT: 1 4 0.50 tbx v0.16b, { v0.16b, v1.16b }, v0.16b
-# CHECK-NEXT: 1 4 0.50 tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
-# CHECK-NEXT: 1 4 0.50 tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
-# CHECK-NEXT: 1 4 0.50 tbx v0.8b, { v0.16b }, v0.8b
-# CHECK-NEXT: 1 4 0.50 tbx v0.8b, { v0.16b, v1.16b }, v0.8b
-# CHECK-NEXT: 1 4 0.50 tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
-# CHECK-NEXT: 1 4 0.50 tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+# CHECK-NEXT: 1 5 0.50 tbl v0.8b, { v0.16b, v1.16b }, v0.8b
+# CHECK-NEXT: 1 6 0.50 tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+# CHECK-NEXT: 1 7 0.50 tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+# CHECK-NEXT: 1 5 0.50 tbx v0.16b, { v0.16b }, v0.16b
+# CHECK-NEXT: 1 6 0.50 tbx v0.16b, { v0.16b, v1.16b }, v0.16b
+# CHECK-NEXT: 1 7 0.50 tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+# CHECK-NEXT: 1 8 0.50 tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+# CHECK-NEXT: 1 5 0.50 tbx v0.8b, { v0.16b }, v0.8b
+# CHECK-NEXT: 1 6 0.50 tbx v0.8b, { v0.16b, v1.16b }, v0.8b
+# CHECK-NEXT: 1 7 0.50 tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+# CHECK-NEXT: 1 8 0.50 tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
# CHECK-NEXT: 1 4 0.50 trn1 v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 4 0.50 trn1 v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 trn1 v0.2s, v0.2s, v0.2s
@@ -2040,8 +2040,8 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 urshr v0.4s, v0.4s, #3
# CHECK-NEXT: 1 3 0.50 urshr v0.8b, v0.8b, #3
# CHECK-NEXT: 1 3 0.50 urshr v0.8h, v0.8h, #3
-# CHECK-NEXT: 1 12 9.00 ursqrte v0.2s, v0.2s
-# CHECK-NEXT: 1 12 9.00 ursqrte v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 ursqrte v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 ursqrte v0.4s, v0.4s
# CHECK-NEXT: 1 5 1.50 ursra d18, d10, #13
# CHECK-NEXT: 1 5 1.50 ursra v0.16b, v0.16b, #3
# CHECK-NEXT: 1 5 1.50 ursra v0.2d, v0.2d, #3
@@ -2147,7 +2147,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11]
-# CHECK-NEXT: - - - - - 145.00 - - 541.00 541.00 3.00 3.00 197.00
+# CHECK-NEXT: - - - - - 145.00 - - 545.50 545.50 4.50 4.50 57.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11] Instructions:
@@ -2449,16 +2449,16 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintz v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintz v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintz v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - - - - 19.00 frsqrte d21, d12
-# CHECK-NEXT: - - - - - - - - - - - - 9.00 frsqrte s22, s13
-# CHECK-NEXT: - - - - - - - - - - - - 19.00 frsqrte v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - - - - 9.00 frsqrte v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - - - - 5.00 frsqrte v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - - - - 9.00 frsqrte v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - - - - 5.00 frsqrte v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - - - - 19.00 frsqrts d8, d22, d18
-# CHECK-NEXT: - - - - - - - - - - - - 9.00 frsqrts s21, s5, s12
-# CHECK-NEXT: - - - - - - - - - - - - 19.00 frsqrts v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frsqrte d21, d12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frsqrte s22, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frsqrte v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frsqrte v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frsqrte v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frsqrte v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frsqrte v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrts d8, d22, d18
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrts s21, s5, s12
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrts v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - - - - - 19.00 fsqrt v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - - - - - 9.00 fsqrt v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - - - - - 5.00 fsqrt v0.4h, v0.4h
@@ -3121,8 +3121,8 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr v0.4s, v0.4s, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr v0.8b, v0.8b, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr v0.8h, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - - - - 9.00 ursqrte v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - - - - - 9.00 ursqrte v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursqrte v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursqrte v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra d18, d10, #13
# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra v0.16b, v0.16b, #3
# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra v0.2d, v0.2d, #3
diff --git a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s
index 483f4910abe8f..3a07c75ee664c 100644
--- a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s
@@ -3476,12 +3476,12 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 add z31.s, p7/m, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 add z31.s, z31.s, #65280
# CHECK-NEXT: 1 3 0.50 add z31.s, z31.s, z31.s
-# CHECK-NEXT: 1 6 0.50 addhnb z0.b, z1.h, z31.h
-# CHECK-NEXT: 1 6 0.50 addhnb z0.h, z1.s, z31.s
-# CHECK-NEXT: 1 6 0.50 addhnb z0.s, z1.d, z31.d
-# CHECK-NEXT: 1 6 0.50 addhnt z0.b, z1.h, z31.h
-# CHECK-NEXT: 1 6 0.50 addhnt z0.h, z1.s, z31.s
-# CHECK-NEXT: 1 6 0.50 addhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 addhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 addhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 addhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 addhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 addhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 addhnt z0.s, z1.d, z31.d
# CHECK-NEXT: 1 3 0.50 addp z0.b, p0/m, z0.b, z1.b
# CHECK-NEXT: 1 3 0.50 addp z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: 1 3 0.50 addp z29.s, p7/m, z29.s, z30.s
@@ -3892,21 +3892,21 @@ zip2 z31.s, z31.s, z31.s
# 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 3 0.50 decb x0
-# CHECK-NEXT: 1 3 0.50 decb x0, #14
-# CHECK-NEXT: 1 3 0.50 decb x0, all, mul #16
-# CHECK-NEXT: 1 3 0.50 decb x0, pow2
-# CHECK-NEXT: 1 3 0.50 decb x0, vl1
-# CHECK-NEXT: 1 3 0.50 decd x0
-# CHECK-NEXT: 1 3 0.50 decd x0, #14
-# CHECK-NEXT: 1 3 0.50 decd x0, all, mul #16
-# CHECK-NEXT: 1 3 0.50 decd x0, pow2
-# CHECK-NEXT: 1 3 0.50 decd x0, vl1
-# CHECK-NEXT: 1 3 0.50 dech x0
-# CHECK-NEXT: 1 3 0.50 dech x0, #14
-# CHECK-NEXT: 1 3 0.50 dech x0, all, mul #16
-# CHECK-NEXT: 1 3 0.50 dech x0, pow2
-# CHECK-NEXT: 1 3 0.50 dech x0, vl1
+# CHECK-NEXT: 1 1 0.50 decb x0
+# CHECK-NEXT: 1 1 0.50 decb x0, #14
+# CHECK-NEXT: 1 1 0.50 decb x0, all, mul #16
+# CHECK-NEXT: 1 1 0.50 decb x0, pow2
+# CHECK-NEXT: 1 1 0.50 decb x0, vl1
+# CHECK-NEXT: 1 1 0.50 decd x0
+# CHECK-NEXT: 1 1 0.50 decd x0, #14
+# CHECK-NEXT: 1 1 0.50 decd x0, all, mul #16
+# CHECK-NEXT: 1 1 0.50 decd x0, pow2
+# CHECK-NEXT: 1 1 0.50 decd x0, vl1
+# CHECK-NEXT: 1 1 0.50 dech x0
+# CHECK-NEXT: 1 1 0.50 dech x0, #14
+# CHECK-NEXT: 1 1 0.50 dech x0, all, mul #16
+# CHECK-NEXT: 1 1 0.50 dech x0, pow2
+# CHECK-NEXT: 1 1 0.50 dech x0, vl1
# CHECK-NEXT: 1 1 1.00 decp x0, p0.b
# CHECK-NEXT: 1 1 1.00 decp x0, p0.d
# CHECK-NEXT: 1 1 1.00 decp x0, p0.h
@@ -3918,11 +3918,11 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 1.00 decp z31.d, p15.d
# CHECK-NEXT: 1 3 1.00 decp z31.h, p15.h
# CHECK-NEXT: 1 3 1.00 decp z31.s, p15.s
-# CHECK-NEXT: 1 3 0.50 decw x0
-# CHECK-NEXT: 1 3 0.50 decw x0, #14
-# CHECK-NEXT: 1 3 0.50 decw x0, all, mul #16
-# CHECK-NEXT: 1 3 0.50 decw x0, pow2
-# CHECK-NEXT: 1 3 0.50 decw x0, vl1
+# CHECK-NEXT: 1 1 0.50 decw x0
+# CHECK-NEXT: 1 1 0.50 decw x0, #14
+# CHECK-NEXT: 1 1 0.50 decw x0, all, mul #16
+# CHECK-NEXT: 1 1 0.50 decw x0, pow2
+# CHECK-NEXT: 1 1 0.50 decw x0, vl1
# CHECK-NEXT: 1 4 0.50 dupm z0.d, #0xfffffffffffffff9
# CHECK-NEXT: 1 4 0.50 dupm z0.s, #0xfffffff9
# CHECK-NEXT: 1 4 0.50 dupm z23.h, #0xfff9
@@ -4309,23 +4309,23 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 6 4.00 histcnt z0.s, p0/z, z1.s, z2.s
# CHECK-NEXT: 1 6 4.00 histcnt z29.d, p7/z, z30.d, z31.d
# CHECK-NEXT: 1 6 4.00 histseg z0.b, z1.b, z31.b
-# CHECK-NEXT: 1 3 0.50 incb x0
-# CHECK-NEXT: 1 3 0.50 incb x0, #14
-# CHECK-NEXT: 1 3 0.50 incb x0, all, mul #16
-# CHECK-NEXT: 1 3 0.50 incb x0, pow2
-# CHECK-NEXT: 1 3 0.50 incb x0, vl1
-# CHECK-NEXT: 1 3 0.50 incd x0
-# CHECK-NEXT: 1 3 0.50 incd x0, #14
-# CHECK-NEXT: 1 3 0.50 incd x0, all, mul #16
-# CHECK-NEXT: 1 3 0.50 incd x0, pow2
-# CHECK-NEXT: 1 3 0.50 incd x0, vl1
+# CHECK-NEXT: 1 1 0.50 incb x0
+# CHECK-NEXT: 1 1 0.50 incb x0, #14
+# CHECK-NEXT: 1 1 0.50 incb x0, all, mul #16
+# CHECK-NEXT: 1 1 0.50 incb x0, pow2
+# CHECK-NEXT: 1 1 0.50 incb x0, vl1
+# CHECK-NEXT: 1 1 0.50 incd x0
+# CHECK-NEXT: 1 1 0.50 incd x0, #14
+# CHECK-NEXT: 1 1 0.50 incd x0, all, mul #16
+# CHECK-NEXT: 1 1 0.50 incd x0, pow2
+# CHECK-NEXT: 1 1 0.50 incd x0, vl1
# CHECK-NEXT: 1 4 0.50 incd z0.d
# CHECK-NEXT: 1 4 0.50 incd z0.d, all, mul #16
-# CHECK-NEXT: 1 3 0.50 inch x0
-# CHECK-NEXT: 1 3 0.50 inch x0, #14
-# CHECK-NEXT: 1 3 0.50 inch x0, all, mul #16
-# CHECK-NEXT: 1 3 0.50 inch x0, pow2
-# CHECK-NEXT: 1 3 0.50 inch x0, vl1
+# CHECK-NEXT: 1 1 0.50 inch x0
+# CHECK-NEXT: 1 1 0.50 inch x0, #14
+# CHECK-NEXT: 1 1 0.50 inch x0, all, mul #16
+# CHECK-NEXT: 1 1 0.50 inch x0, pow2
+# CHECK-NEXT: 1 1 0.50 inch x0, vl1
# CHECK-NEXT: 1 4 0.50 inch z0.h
# CHECK-NEXT: 1 4 0.50 inch z0.h, all, mul #16
# CHECK-NEXT: 1 1 1.00 incp x0, p0.b
@@ -4339,11 +4339,11 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 1.00 incp z31.d, p15.d
# CHECK-NEXT: 1 3 1.00 incp z31.h, p15.h
# CHECK-NEXT: 1 3 1.00 incp z31.s, p15.s
-# CHECK-NEXT: 1 3 0.50 incw x0
-# CHECK-NEXT: 1 3 0.50 incw x0, #14
-# CHECK-NEXT: 1 3 0.50 incw x0, all, mul #16
-# CHECK-NEXT: 1 3 0.50 incw x0, pow2
-# CHECK-NEXT: 1 3 0.50 incw x0, vl1
+# CHECK-NEXT: 1 1 0.50 incw x0
+# CHECK-NEXT: 1 1 0.50 incw x0, #14
+# CHECK-NEXT: 1 1 0.50 incw x0, all, mul #16
+# CHECK-NEXT: 1 1 0.50 incw x0, pow2
+# CHECK-NEXT: 1 1 0.50 incw x0, vl1
# CHECK-NEXT: 1 4 0.50 incw z0.s
# CHECK-NEXT: 1 4 0.50 incw z0.s, all, mul #16
# CHECK-NEXT: 1 4 0.50 index z0.b, #0, #0
@@ -5663,13 +5663,13 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 2 1.00 sqdecp x0, p0.d
# CHECK-NEXT: 1 2 1.00 sqdecp x0, p0.h
# CHECK-NEXT: 1 2 1.00 sqdecp x0, p0.s
-# CHECK-NEXT: 1 2 1.00 sqdecp xzr, p15.b, wzr
-# CHECK-NEXT: 1 2 1.00 sqdecp xzr, p15.d, wzr
-# CHECK-NEXT: 1 2 1.00 sqdecp xzr, p15.h, wzr
-# CHECK-NEXT: 1 2 1.00 sqdecp xzr, p15.s, wzr
-# CHECK-NEXT: 1 3 1.00 sqdecp z0.d, p0.d
-# CHECK-NEXT: 1 3 1.00 sqdecp z0.h, p0.h
-# CHECK-NEXT: 1 3 1.00 sqdecp z0.s, p0.s
+# CHECK-NEXT: 1 1 1.00 sqdecp xzr, p15.b, wzr
+# CHECK-NEXT: 1 1 1.00 sqdecp xzr, p15.d, wzr
+# CHECK-NEXT: 1 1 1.00 sqdecp xzr, p15.h, wzr
+# CHECK-NEXT: 1 1 1.00 sqdecp xzr, p15.s, wzr
+# CHECK-NEXT: 1 4 1.00 sqdecp z0.d, p0.d
+# CHECK-NEXT: 1 4 1.00 sqdecp z0.h, p0.h
+# CHECK-NEXT: 1 4 1.00 sqdecp z0.s, p0.s
# CHECK-NEXT: 1 5 0.50 sqdecw x0
# CHECK-NEXT: 1 5 0.50 sqdecw x0, #14
# CHECK-NEXT: 1 5 0.50 sqdecw x0, all, mul #16
@@ -5765,13 +5765,13 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 2 1.00 sqincp x0, p0.d
# CHECK-NEXT: 1 2 1.00 sqincp x0, p0.h
# CHECK-NEXT: 1 2 1.00 sqincp x0, p0.s
-# CHECK-NEXT: 1 2 1.00 sqincp xzr, p15.b, wzr
-# CHECK-NEXT: 1 2 1.00 sqincp xzr, p15.d, wzr
-# CHECK-NEXT: 1 2 1.00 sqincp xzr, p15.h, wzr
-# CHECK-NEXT: 1 2 1.00 sqincp xzr, p15.s, wzr
-# CHECK-NEXT: 1 3 1.00 sqincp z0.d, p0.d
-# CHECK-NEXT: 1 3 1.00 sqincp z0.h, p0.h
-# CHECK-NEXT: 1 3 1.00 sqincp z0.s, p0.s
+# CHECK-NEXT: 1 1 1.00 sqincp xzr, p15.b, wzr
+# CHECK-NEXT: 1 1 1.00 sqincp xzr, p15.d, wzr
+# CHECK-NEXT: 1 1 1.00 sqincp xzr, p15.h, wzr
+# CHECK-NEXT: 1 1 1.00 sqincp xzr, p15.s, wzr
+# CHECK-NEXT: 1 4 1.00 sqincp z0.d, p0.d
+# CHECK-NEXT: 1 4 1.00 sqincp z0.h, p0.h
+# CHECK-NEXT: 1 4 1.00 sqincp z0.s, p0.s
# CHECK-NEXT: 1 5 0.50 sqincw x0
# CHECK-NEXT: 1 5 0.50 sqincw x0, #14
# CHECK-NEXT: 1 5 0.50 sqincw x0, all, mul #16
@@ -5945,10 +5945,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 sqxtunt z0.b, z31.h
# CHECK-NEXT: 1 4 0.50 sqxtunt z0.h, z31.s
# CHECK-NEXT: 1 4 0.50 sqxtunt z0.s, z31.d
-# CHECK-NEXT: 1 4 0.50 srhadd z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 4 0.50 srhadd z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 4 0.50 srhadd z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 4 0.50 srhadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 3 0.50 srhadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 srhadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 srhadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 srhadd z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 3 0.50 sri z0.b, z0.b, #1
# CHECK-NEXT: 1 3 0.50 sri z0.d, z0.d, #1
# CHECK-NEXT: 1 3 0.50 sri z0.h, z0.h, #1
@@ -6250,27 +6250,27 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 sub z31.s, p7/m, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 sub z31.s, z31.s, #65280
# CHECK-NEXT: 1 3 0.50 sub z31.s, z31.s, z31.s
-# CHECK-NEXT: 1 6 0.50 subhnb z0.b, z1.h, z31.h
-# CHECK-NEXT: 1 6 0.50 subhnb z0.h, z1.s, z31.s
-# CHECK-NEXT: 1 6 0.50 subhnb z0.s, z1.d, z31.d
-# CHECK-NEXT: 1 6 0.50 subhnt z0.b, z1.h, z31.h
-# CHECK-NEXT: 1 6 0.50 subhnt z0.h, z1.s, z31.s
-# CHECK-NEXT: 1 6 0.50 subhnt z0.s, z1.d, z31.d
-# CHECK-NEXT: 1 3 0.50 subr z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: 1 3 0.50 subr z0.b, z0.b, #0
-# CHECK-NEXT: 1 3 0.50 subr z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: 1 3 0.50 subr z0.d, z0.d, #0
-# CHECK-NEXT: 1 3 0.50 subr z0.d, z0.d, #0, lsl #8
-# CHECK-NEXT: 1 3 0.50 subr z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: 1 3 0.50 subr z0.h, z0.h, #0
-# CHECK-NEXT: 1 3 0.50 subr z0.h, z0.h, #0, lsl #8
-# CHECK-NEXT: 1 3 0.50 subr z0.s, p0/m, z0.s, z0.s
-# CHECK-NEXT: 1 3 0.50 subr z0.s, z0.s, #0
-# CHECK-NEXT: 1 3 0.50 subr z0.s, z0.s, #0, lsl #8
-# CHECK-NEXT: 1 3 0.50 subr z31.b, z31.b, #255
-# CHECK-NEXT: 1 3 0.50 subr z31.d, z31.d, #65280
-# CHECK-NEXT: 1 3 0.50 subr z31.h, z31.h, #65280
-# CHECK-NEXT: 1 3 0.50 subr z31.s, z31.s, #65280
+# CHECK-NEXT: 1 4 0.50 subhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 subhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 subhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 subhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 4 0.50 subhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 4 0.50 subhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 4 0.50 subr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 4 0.50 subr z0.b, z0.b, #0
+# CHECK-NEXT: 1 4 0.50 subr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 4 0.50 subr z0.d, z0.d, #0
+# CHECK-NEXT: 1 4 0.50 subr z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT: 1 4 0.50 subr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 4 0.50 subr z0.h, z0.h, #0
+# CHECK-NEXT: 1 4 0.50 subr z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT: 1 4 0.50 subr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 4 0.50 subr z0.s, z0.s, #0
+# CHECK-NEXT: 1 4 0.50 subr z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT: 1 4 0.50 subr z31.b, z31.b, #255
+# CHECK-NEXT: 1 4 0.50 subr z31.d, z31.d, #65280
+# CHECK-NEXT: 1 4 0.50 subr z31.h, z31.h, #65280
+# CHECK-NEXT: 1 4 0.50 subr z31.s, z31.s, #65280
# CHECK-NEXT: 1 4 0.50 sunpkhi z31.d, z31.s
# CHECK-NEXT: 1 4 0.50 sunpkhi z31.h, z31.b
# CHECK-NEXT: 1 4 0.50 sunpkhi z31.s, z31.h
@@ -6354,12 +6354,12 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 1.00 uaddv d0, p7, z31.d
# CHECK-NEXT: 1 4 1.00 uaddv d0, p7, z31.h
# CHECK-NEXT: 1 4 1.00 uaddv d0, p7, z31.s
-# CHECK-NEXT: 1 4 0.50 uaddwb z0.h, z1.h, z2.b
-# CHECK-NEXT: 1 4 0.50 uaddwb z29.s, z30.s, z31.h
-# CHECK-NEXT: 1 4 0.50 uaddwb z31.d, z31.d, z31.s
-# CHECK-NEXT: 1 4 0.50 uaddwt z0.h, z1.h, z2.b
-# CHECK-NEXT: 1 4 0.50 uaddwt z29.s, z30.s, z31.h
-# CHECK-NEXT: 1 4 0.50 uaddwt z31.d, z31.d, z31.s
+# CHECK-NEXT: 1 3 0.50 uaddwb z0.h, z1.h, z2.b
+# CHECK-NEXT: 1 3 0.50 uaddwb z29.s, z30.s, z31.h
+# CHECK-NEXT: 1 3 0.50 uaddwb z31.d, z31.d, z31.s
+# CHECK-NEXT: 1 3 0.50 uaddwt z0.h, z1.h, z2.b
+# CHECK-NEXT: 1 3 0.50 uaddwt z29.s, z30.s, z31.h
+# CHECK-NEXT: 1 3 0.50 uaddwt z31.d, z31.d, z31.s
# CHECK-NEXT: 1 4 0.50 ucvtf z0.d, p0/m, z0.d
# CHECK-NEXT: 1 4 0.50 ucvtf z0.d, p0/m, z0.s
# CHECK-NEXT: 1 4 0.50 ucvtf z0.h, p0/m, z0.d
@@ -6516,9 +6516,9 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 2 1.00 uqdecp x0, p0.d
# CHECK-NEXT: 1 2 1.00 uqdecp x0, p0.h
# CHECK-NEXT: 1 2 1.00 uqdecp x0, p0.s
-# CHECK-NEXT: 1 3 1.00 uqdecp z0.d, p0.d
-# CHECK-NEXT: 1 3 1.00 uqdecp z0.h, p0.h
-# CHECK-NEXT: 1 3 1.00 uqdecp z0.s, p0.s
+# CHECK-NEXT: 1 4 1.00 uqdecp z0.d, p0.d
+# CHECK-NEXT: 1 4 1.00 uqdecp z0.h, p0.h
+# CHECK-NEXT: 1 4 1.00 uqdecp z0.s, p0.s
# CHECK-NEXT: 1 5 0.50 uqdecw w0
# CHECK-NEXT: 1 5 0.50 uqdecw w0, all, mul #16
# CHECK-NEXT: 1 5 0.50 uqdecw w0, pow2
@@ -6575,9 +6575,9 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 2 1.00 uqincp x0, p0.d
# CHECK-NEXT: 1 2 1.00 uqincp x0, p0.h
# CHECK-NEXT: 1 2 1.00 uqincp x0, p0.s
-# CHECK-NEXT: 1 3 1.00 uqincp z0.d, p0.d
-# CHECK-NEXT: 1 3 1.00 uqincp z0.h, p0.h
-# CHECK-NEXT: 1 3 1.00 uqincp z0.s, p0.s
+# CHECK-NEXT: 1 4 1.00 uqincp z0.d, p0.d
+# CHECK-NEXT: 1 4 1.00 uqincp z0.h, p0.h
+# CHECK-NEXT: 1 4 1.00 uqincp z0.s, p0.s
# CHECK-NEXT: 1 5 0.50 uqincw w0
# CHECK-NEXT: 1 5 0.50 uqincw w0, all, mul #16
# CHECK-NEXT: 1 5 0.50 uqincw w0, pow2
@@ -6669,10 +6669,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 uqxtnt z0.h, z31.s
# CHECK-NEXT: 1 4 0.50 uqxtnt z0.s, z31.d
# CHECK-NEXT: 1 4 0.50 urecpe z31.s, p7/m, z31.s
-# CHECK-NEXT: 1 4 0.50 urhadd z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 4 0.50 urhadd z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 4 0.50 urhadd z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 4 0.50 urhadd z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 3 0.50 urhadd z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 3 0.50 urhadd z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 3 0.50 urhadd z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 3 0.50 urhadd z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 4 0.50 urshl z0.b, p0/m, z0.b, z1.b
# CHECK-NEXT: 1 4 0.50 urshl z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: 1 4 0.50 urshl z29.s, p7/m, z29.s, z30.s
>From 4aec430bcbadf6da55277a922535af7e52182776 Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Wed, 15 Apr 2026 14:53:42 +0100
Subject: [PATCH 07/22] [AArch64][C1-Nano] Update llvm-mca basic instructions
Rebuilt llvm-mca test Nano-basic-instructions.s with
value from the scheduling model.
---
llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s
index 16aafd1949ef6..a073980da474a 100644
--- a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s
@@ -2159,7 +2159,7 @@ xpaclri
# CHECK-NEXT: 1 2 0.50 * ldr d0, #1048572
# CHECK-NEXT: 1 2 0.50 * ldr q0, #-1048576
# CHECK-NEXT: 1 2 0.50 U prfm pldl1strm, #0
-# CHECK-NEXT: 1 2 0.50 U prfm #22, #0
+# CHECK-NEXT: 1 2 0.50 U prfm pstslckeep, #0
# CHECK-NEXT: 2 3 1.00 * * U stxrb w18, w8, [sp]
# CHECK-NEXT: 2 3 1.00 * * U stxrh w24, w15, [x16]
# CHECK-NEXT: 2 3 1.00 * * U stxr w5, w6, [x17]
@@ -3391,7 +3391,7 @@ xpaclri
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d0, #1048572
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q0, #-1048576
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - prfm pldl1strm, #0
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - prfm #22, #0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - prfm pstslckeep, #0
# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stxrb w18, w8, [sp]
# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stxrh w24, w15, [x16]
# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stxr w5, w6, [x17]
>From b5711acae3a30c719958d874ab3963453994177f Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Fri, 13 Mar 2026 14:42:20 +0000
Subject: [PATCH 08/22] [AArch64]C1-Nano scheduling model update
- Added:
- CRYPTO instructions.
- JS instruction.
- MTE instructions.
- MOPS instructions:.
- Some MOPS instructions latences are dynamic (determined at
runtime due to operand values); we only model the base latency.
- Involved adding hasMOPS to unsupportedFeatures on all current
AArch64 scheduling models.
- PTRAUT instructions.
- Forwarding for ADRP/LDR sequence.
- Corrections to:
- Pipelines used by instructions, especially the VMAC pipeline.
- Lactency values.
- Throughput values.
- This includes handling throughput values of 1; rthroughput was
previously being reported as 0.5.
- CompeleteModel = 1 so any missing entries are flagged.
- Removed FullInstRWOverlapCheck = 0 so overlapping definitions
are reported.
- Updated llvm_mca tests due to new location of the Inputs test
directory.
Not currently handled:
- SIMD MAC forwarding. Still investigating the best way in the
scheduling model to handle the condition that instructions
must be consecutive.
---
llvm/lib/Target/AArch64/AArch64SchedA53.td | 2 +-
llvm/lib/Target/AArch64/AArch64SchedA57.td | 2 +-
llvm/lib/Target/AArch64/AArch64SchedA64FX.td | 2 +-
.../Target/AArch64/AArch64SchedAmpere1B.td | 3 +-
llvm/lib/Target/AArch64/AArch64SchedC1Nano.td | 648 +-
.../lib/Target/AArch64/AArch64SchedC1Ultra.td | 3 +-
.../lib/Target/AArch64/AArch64SchedCyclone.td | 2 +-
.../Target/AArch64/AArch64SchedExynosM3.td | 2 +-
.../Target/AArch64/AArch64SchedExynosM4.td | 2 +-
.../Target/AArch64/AArch64SchedExynosM5.td | 2 +-
llvm/lib/Target/AArch64/AArch64SchedFalkor.td | 2 +-
llvm/lib/Target/AArch64/AArch64SchedKryo.td | 2 +-
.../Target/AArch64/AArch64SchedNeoverseN1.td | 2 +-
.../Target/AArch64/AArch64SchedNeoverseN2.td | 2 +-
.../Target/AArch64/AArch64SchedNeoverseN3.td | 2 +-
.../Target/AArch64/AArch64SchedNeoverseV1.td | 2 +-
.../Target/AArch64/AArch64SchedNeoverseV2.td | 2 +-
.../Target/AArch64/AArch64SchedNeoverseV3.td | 2 +-
.../AArch64/AArch64SchedNeoverseV3AE.td | 2 +-
.../lib/Target/AArch64/AArch64SchedOlympus.td | 2 +-
llvm/lib/Target/AArch64/AArch64SchedOryon.td | 2 +-
llvm/lib/Target/AArch64/AArch64SchedTSV110.td | 2 +-
.../Target/AArch64/AArch64SchedThunderX.td | 2 +-
.../AArch64/AArch64SchedThunderX2T99.td | 3 +-
.../AArch64/AArch64SchedThunderX3T110.td | 2 +-
.../C1Nano-basic-instructions.s} | 2378 ++----
.../AArch64/Cortex/C1Nano-bf16-instructions.s | 56 +
.../Cortex/C1Nano-complxnum-instructions.s | 42 +
.../Cortex/C1Nano-crypto-instructions.s | 96 +
.../C1Nano-flag-manipulation-instructions.s | 53 +
.../AArch64/Cortex/C1Nano-forwarding.s | 38 +
.../Cortex/C1Nano-fp16fml-instructions.s | 67 +
.../Cortex/C1Nano-fptoint-instructions.s | 59 +
.../AArch64/Cortex/C1Nano-i8mm-instructions.s | 53 +
.../AArch64/Cortex/C1Nano-js-instructions.s | 36 +
.../AArch64/Cortex/C1Nano-mops-instructions.s | 323 +
.../AArch64/Cortex/C1Nano-mte-instructions.s | 244 +
.../C1Nano-neon-instructions.s} | 2788 ++++---
.../Cortex/C1Nano-ptraut-instructions.s | 146 +
.../Cortex/C1Nano-rcpc-immo-instructions.s | 61 +
.../C1Nano-sve-instructions.s} | 6462 ++++-------------
.../AArch64/Inputs/crypto-instructions.s | 34 +
.../llvm-mca/AArch64/Inputs/js-instructions.s | 1 +
.../AArch64/Inputs/mops-instructions.s | 138 +
.../AArch64/Inputs/ptraut-instructions.s | 56 +
.../AArch64/Inputs/sve-while-instructions.s | 6 +
mops-instructions.s | 138 +
47 files changed, 5530 insertions(+), 8444 deletions(-)
rename llvm/test/tools/llvm-mca/AArch64/{C1/Nano-basic-instructions.s => Cortex/C1Nano-basic-instructions.s} (76%)
create mode 100644 llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-bf16-instructions.s
create mode 100644 llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-complxnum-instructions.s
create mode 100644 llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-crypto-instructions.s
create mode 100644 llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-flag-manipulation-instructions.s
create mode 100644 llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-forwarding.s
create mode 100644 llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-fp16fml-instructions.s
create mode 100644 llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-fptoint-instructions.s
create mode 100644 llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-i8mm-instructions.s
create mode 100644 llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-js-instructions.s
create mode 100644 llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-mops-instructions.s
create mode 100644 llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-mte-instructions.s
rename llvm/test/tools/llvm-mca/AArch64/{C1/Nano-neon-instructions.s => Cortex/C1Nano-neon-instructions.s} (61%)
create mode 100644 llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-ptraut-instructions.s
create mode 100644 llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-rcpc-immo-instructions.s
rename llvm/test/tools/llvm-mca/AArch64/{C1/Nano-sve-instructions.s => Cortex/C1Nano-sve-instructions.s} (77%)
create mode 100644 llvm/test/tools/llvm-mca/AArch64/Inputs/crypto-instructions.s
create mode 100644 llvm/test/tools/llvm-mca/AArch64/Inputs/js-instructions.s
create mode 100644 llvm/test/tools/llvm-mca/AArch64/Inputs/mops-instructions.s
create mode 100644 llvm/test/tools/llvm-mca/AArch64/Inputs/ptraut-instructions.s
create mode 100644 llvm/test/tools/llvm-mca/AArch64/Inputs/sve-while-instructions.s
create mode 100644 mops-instructions.s
diff --git a/llvm/lib/Target/AArch64/AArch64SchedA53.td b/llvm/lib/Target/AArch64/AArch64SchedA53.td
index 66715b9d1db8b..291f78582d94a 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedA53.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedA53.td
@@ -29,7 +29,7 @@ def CortexA53Model : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SVEUnsupported.F,
PAUnsupported.F,
SMEUnsupported.F,
- [HasMTE, HasCSSC]);
+ [HasMTE, HasCSSC, HasMOPS, HasMOPS_GO]);
}
diff --git a/llvm/lib/Target/AArch64/AArch64SchedA57.td b/llvm/lib/Target/AArch64/AArch64SchedA57.td
index a558022904cf5..9260379fb5b27 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedA57.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedA57.td
@@ -34,7 +34,7 @@ def CortexA57Model : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SVEUnsupported.F,
PAUnsupported.F,
SMEUnsupported.F,
- [HasMTE, HasCSSC]);
+ [HasMTE, HasCSSC, HasMOPS, HasMOPS_GO]);
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/Target/AArch64/AArch64SchedA64FX.td b/llvm/lib/Target/AArch64/AArch64SchedA64FX.td
index d6fe84a2c9c9b..6de7fde1951ab 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedA64FX.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedA64FX.td
@@ -23,7 +23,7 @@ def A64FXModel : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SMEUnsupported.F, SVEUnsupported.F,
[HasMTE, HasMatMulInt8, HasBF16,
HasPAuth, HasPAuthLR, HasCPA,
- HasCSSC]);
+ HasCSSC, HasMOPS, HasMOPS_GO]);
let FullInstRWOverlapCheck = 0;
}
diff --git a/llvm/lib/Target/AArch64/AArch64SchedAmpere1B.td b/llvm/lib/Target/AArch64/AArch64SchedAmpere1B.td
index 67f8593f1577a..d77c48126af39 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedAmpere1B.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedAmpere1B.td
@@ -26,7 +26,8 @@ def Ampere1BModel : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SVEUnsupported.F,
SMEUnsupported.F,
- PAUnsupported.F);
+ PAUnsupported.F,
+ [HasMOPS, HasMOPS_GO]);
}
let SchedModel = Ampere1BModel in {
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
index 7d90a412d7df1..e5c6efa0a172e 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
@@ -22,10 +22,11 @@ def C1NanoModel : SchedMachineModel {
// 2 is best case, 4 is normal case.
// 3 seems to be a good tradeoff
let PostRAScheduler = 1; // Enable PostRA scheduler pass.
- let CompleteModel = 0; // Covers instructions applicable to C1-Nano.
+ let CompleteModel = 1; // Covers instructions applicable to C1-Nano.
- // FIXME: Remove when all errors have been fixed.
- let FullInstRWOverlapCheck = 0;
+ list<Predicate> UnsupportedFeatures = !listconcat(SMEUnsupported.F,
+ [HasSVE2p1, HasSVEB16B16,
+ HasCPA, HasCSSC]);
}
@@ -55,21 +56,40 @@ let BufferSize = 0 in {
// them with 2 resources.
def C1NanoUnitVALU0 : ProcResource<1>; // SIMD/FP/SVE ALU0
def C1NanoUnitVALU1 : ProcResource<1>; // SIMD/FP/SVE ALU1
- def C1NanoUnitVMAC : ProcResource<2>; // SIMD/FP/SVE MAC
+ def C1NanoUnitVMAC0 : ProcResource<1>; // SIMD/FP/SVE MAC0
+ def C1NanoUnitVMAC1 : ProcResource<1>; // SIMD/FP/SVE MAC1
def C1NanoUnitVMC : ProcResource<1>; // SIMD/FP/SVE multicycle instrs (e.g Div, SQRT, cryptography)
}
def C1NanoUnitLd : ProcResGroup<[C1NanoUnitLdSt, C1NanoUnitLd1]>;
def C1NanoUnitVALU : ProcResGroup<[C1NanoUnitVALU0, C1NanoUnitVALU1]>;
def C1NanoUnitALU : ProcResGroup<[C1NanoUnitALU0, C1NanoUnitALU1]>;
+def C1NanoUnitVMAC : ProcResGroup<[C1NanoUnitVMAC0, C1NanoUnitVMAC1]>;
+
+// It is difficult to correctly model the throughput when the throughput
+// is less than 2 and the pipeline used is one of the paired resources above,
+// because the throughput produced is half the expected value.
+// Currently we work around this by only using one pipeline even when the
+// Optimization Guides suggests we can use 2 pipelines at a time.
+// In order to not overwhelm a pipeline by always using the same one,
+// spread the usage be "randomly" using the _A or _B variants.
+
+def C1NanoUnitALU_A : ProcResGroup<[C1NanoUnitALU0]>;
+def C1NanoUnitALU_B : ProcResGroup<[C1NanoUnitALU1]>;
+def C1NanoUnitVALU_A : ProcResGroup<[C1NanoUnitVALU0]>;
+def C1NanoUnitVALU_B : ProcResGroup<[C1NanoUnitVALU1]>;
+def C1NanoUnitVMAC_A : ProcResGroup<[C1NanoUnitVMAC0]>;
+def C1NanoUnitVMAC_B : ProcResGroup<[C1NanoUnitVMAC1]>;
+def C1NanoUnitLd_A : ProcResGroup<[C1NanoUnitLdSt]>;
+def C1NanoUnitLd_B : ProcResGroup<[C1NanoUnitLd1]>;
// These latencies are modeled without taking into account forwarding paths
// (the software optimisation guide lists latencies taking into account
// typical forwarding paths).
def : WriteRes<WriteImm, [C1NanoUnitALU]> { let Latency = 1; } // MOVN, MOVZ
def : WriteRes<WriteI, [C1NanoUnitALU]> { let Latency = 1; } // ALU
-def : WriteRes<WriteISReg, [C1NanoUnitALU]> { let Latency = 2; } // ALU of Shifted-Reg
-def : WriteRes<WriteIEReg, [C1NanoUnitALU]> { let Latency = 2; } // ALU of Extended-Reg
+def : WriteRes<WriteISReg, [C1NanoUnitALU]> { let Latency = 1; } // ALU of Shifted-Reg
+def : WriteRes<WriteIEReg, [C1NanoUnitALU]> { let Latency = 1; } // ALU of Extended-Reg
def : WriteRes<WriteExtr, [C1NanoUnitALU]> { let Latency = 2; } // EXTR from a reg pair
def : WriteRes<WriteIS, [C1NanoUnitALU]> { let Latency = 2; } // Shift/Scale
@@ -111,7 +131,12 @@ def C1NanoWrite_10cyc_1VMAC_1VALU : SchedWriteRes<[C1NanoUnitVALU, C1NanoUnitVMA
let NumMicroOps = 2;
}
-def C1NanoWrite_14cyc_1VMAC_1VALU : SchedWriteRes<[C1NanoUnitVALU, C1NanoUnitVMAC]> {
+def C1NanoWrite_10cyc_1VMAC_1VALU_A : SchedWriteRes<[C1NanoUnitVALU_A, C1NanoUnitVMAC_A]> {
+ let Latency = 10;
+ let NumMicroOps = 2;
+}
+
+def C1NanoWrite_14cyc_1VMAC_1VALU_B : SchedWriteRes<[C1NanoUnitVALU_B, C1NanoUnitVMAC_B]> {
let Latency = 14;
let NumMicroOps = 2;
}
@@ -120,6 +145,20 @@ class C1NanoWrite_PAC_B <int lat> : SchedWriteRes<[C1NanoUnitPAC, C1NanoUnitB]>
let Latency = lat;
let NumMicroOps = 2;
}
+
+// FEAT_MOPS instructions use both ALU and Load/Store pipelines.
+class C1NanoWriteMOPS<int lat, int release> : SchedWriteRes<[C1NanoUnitALU, C1NanoUnitLdSt]> {
+ let Latency = lat;
+ let ReleaseAtCycles = [release, release];
+}
+
+// Note: For some "Main" MOPS instructions, the SWOG latency depends on the runtime
+// value in Xn; we model the base latency here.
+class C1NanoWriteMOPSDynamic<int lat, int release> : SchedWriteRes<[C1NanoUnitALU, C1NanoUnitLdSt]> {
+ let Latency = lat;
+ let ReleaseAtCycles = [release, release];
+}
+
// Load
def : WriteRes<WriteLD, [C1NanoUnitLd]> { let Latency = 2; }
def : WriteRes<WriteLDIdx, [C1NanoUnitLd]> { let Latency = 2; }
@@ -153,7 +192,7 @@ def : WriteRes<WriteHint, [C1NanoUnitB]>;
// As WriteF result is produced in F5 and it can be mostly forwarded
// to consumer at F1, the effectively Latency is set as 4.
def : WriteRes<WriteF, [C1NanoUnitVALU]> { let Latency = 4; }
-def : WriteRes<WriteFCmp, [C1NanoUnitVALU]> { let Latency = 1; }
+def : WriteRes<WriteFCmp, [C1NanoUnitVALU_A]> { let Latency = 1; }
def : WriteRes<WriteFCvt, [C1NanoUnitVALU]> { let Latency = 4; }
def : WriteRes<WriteFCopy, [C1NanoUnitVALU]> { let Latency = 3; }
def : WriteRes<WriteFImm, [C1NanoUnitVALU]> { let Latency = 3; }
@@ -170,10 +209,12 @@ def C1NanoVSt0 : SchedWriteRes<[C1NanoUnitLdSt]> {
def : SchedAlias<WriteVd, C1NanoWrite<4, C1NanoUnitVALU>>;
def : SchedAlias<WriteVq, C1NanoWrite<4, C1NanoUnitVALU>>;
-// FP ALU specific new schedwrite definitions
-def C1NanoWriteFPALU_F2 : SchedWriteRes<[C1NanoUnitVALU]> { let Latency = 2;}
-def C1NanoWriteFPALU_F3 : SchedWriteRes<[C1NanoUnitVALU]> { let Latency = 3;}
-def C1NanoWriteFPALU_F4 : SchedWriteRes<[C1NanoUnitVALU]> { let Latency = 4;}
+// FP VALU specific new schedwrite definitions
+def C1NanoWriteVALU_F2 : SchedWriteRes<[C1NanoUnitVALU]> { let Latency = 2;}
+def C1NanoWriteVALU_F3 : SchedWriteRes<[C1NanoUnitVALU]> { let Latency = 3;}
+def C1NanoWriteVALU_F4 : SchedWriteRes<[C1NanoUnitVALU]> { let Latency = 4;}
+def C1NanoWriteVALU0_F3 : SchedWriteRes<[C1NanoUnitVALU_A]> { let Latency = 3;}
+def C1NanoWriteVALU1_F4 : SchedWriteRes<[C1NanoUnitVALU_B]> { let Latency = 4;}
// FP Mul, Div, Sqrt. Div/Sqrt are not pipelined
def : WriteRes<WriteFMul, [C1NanoUnitVMAC]> { let Latency = 4; }
@@ -221,17 +262,42 @@ def : ReadAdvance<ReadIMA, 2>;
// Div
def : ReadAdvance<ReadID, 0>;
+// Forwarded types
+def C1NanoWr_ADRP : SchedWriteRes<[C1NanoUnitALU]> { let Latency = 1; }
+def C1NanoWr_LDR : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 2; }
+def C1NanoRd_LDR : SchedReadAdvance<2, [C1NanoWr_ADRP, C1NanoWr_LDR]>;
+def : SchedAlias<ReadAdrBase, C1NanoRd_LDR>;
+
//===----------------------------------------------------------------------===//
// Subtarget-specific InstRWs.
+def C1NanoWriteALU0 : SchedWriteRes<[C1NanoUnitALU0]> {
+ let Latency = 1;
+}
+def C1NanoWriteALU1 : SchedWriteRes<[C1NanoUnitALU_A]> {
+ let Latency = 1;
+}
+def C1NanoWriteVALU0 : SchedWriteRes<[C1NanoUnitVALU_A]> {
+ let Latency = 1;
+}
+
+// Address generation
+def : InstRW<[C1NanoWr_ADRP], (instrs ADR, ADRP)>;
+
// CMP/CMN are implemented via ADDS/SUBS with Rd = ZR.
def C1NanoWriteISRegCmp : SchedWriteVariant<[
SchedVar<IsReg0ZeroPred, [WriteI]>,
SchedVar<RegShiftedPred, [WriteISReg]>,
SchedVar<NoSchedPred, [WriteI]>]>;
-def : InstRW<[C1NanoWriteISRegCmp], (instregex "(ADD|SUB)S[WX]rs")>;
-def : InstRW<[WriteI], (instrs RORVWr, RORVXr)>;
+// Arithmetic, basic, flagset
+def : InstRW<[C1NanoWriteALU1], (instregex "^(ADCS|SBCS)(W|X)(r|i)$")>;
+
+// Conditional compare
+def : InstRW<[C1NanoWriteALU0], (instregex "^(CCMN|CCMP)(W|X)(r|i)$")>;
+
+// Variable shift
+def : InstRW<[WriteI], (instregex "(ASR|LSL|LSR|ROR)V[WX]r")>;
// ROR (immediate) is implemented as an EXTR (EXTR Rd, Rs, Rs, #Imm).
// Keep EXTR's base latency, but model the ROR (immediate) as 1-cycle.
def C1NanoWriteExtrRORImm : SchedWriteVariant<[
@@ -239,11 +305,12 @@ def C1NanoWriteExtrRORImm : SchedWriteVariant<[
SchedVar<NoSchedPred, [WriteExtr]>]>;
def : InstRW<[C1NanoWriteExtrRORImm], (instrs EXTRWrri, EXTRXrri)>;
-def : InstRW<[C1NanoMCWrite<5, 5, C1NanoUnitVALU>], (instregex "FCCMP")>;
+// FP conditional compare
+def : InstRW<[C1NanoMCWrite<5, 5, C1NanoUnitVALU_B>], (instregex "FCCMP")>;
// ASIMD FP compare
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
- (instregex "^(FACGE|FACGT|FCMEQ|FCMGE|FCMGT|FCMLE|FCMLT)(v|32|64)")>;
+ (instregex "^(FACGE|FACGT|FCMEQ|FCMGE|FCMGT|FCMLE|FCMLT)(v|16|32|64)")>;
// ASIMD reverse bits.
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "RBITv")>;
@@ -251,17 +318,48 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "RBITv")>;
// ASIMD count
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(CLS|CLZ|CNT)v")>;
-// FP/ASIMD loads (unscaled immediate).
-def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "LDUR[BHSDQ]i")>;
-
def C1NanoWriteISReg : SchedWriteVariant<[
SchedVar<RegShiftedPred, [WriteISReg]>,
SchedVar<NoSchedPred, [WriteI]>]>;
def : InstRW<[C1NanoWriteISReg], (instregex ".*rs$")>;
+
+// Reverse bits
def : InstRW<[WriteI], (instrs RBITWr, RBITXr)>;
+
+// Multiply accumulate long
def : InstRW<[C1NanoWrite<2, C1NanoUnitMAC>], (instregex "[SU]M(ADD|SUB)L")>;
+
+// Multiply high
def : InstRW<[C1NanoMCWrite<6, 4, C1NanoUnitMAC>], (instregex "[SU]MULHr")>;
+// ASIMD scalar DUP (asm mnemonic is "mov", e.g. "mov b0, v0.b[1]").
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "DUPi")>;
+
+// ASIMD transfer, element to gen reg
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]MOVvi")>;
+
+// ASIMD transfer from vector element to GPR with sign-extension.
+// ASIMD move between vector elements (asm mnemonic is "mov", e.g. "mov v2.b[0], v0.b[0]").
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "INSvi(8|16|32|64)lane")>;
+
+// ASIMD transfer, gen reg to element
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "INSvi(8|16|32|64)gpr")>;
+
+// FP scalar load instructions
+// -----------------------------------------------------------------------------
+
+// Load vector reg, literal
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instrs LDRSl, LDRDl, LDRQl)>;
+
+// Load vector reg, unscaled immediate
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "LDUR[BHSDQ]i")>;
+
+// Load vector register, unsigned immediate
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "LDR[BHSDQ]ui")>;
+
+// Load vector register, register offset
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "LDR[BHSDQ]ro[WX]")>;
+
// Pointer Authentication Instructions (v8.3 PAC)
// -----------------------------------------------------------------------------
@@ -271,7 +369,7 @@ def : InstRW<[C1NanoWrite<5, C1NanoUnitPAC>], (instrs PACGA)>;
// Authenticate instruction address
// Compute pointer authentication code for data address
// Compute pointer authentication code for instruction address
-def : InstRW<[C1NanoWrite<4, C1NanoUnitPAC>], (instregex "^AUT", "^PAC")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitPAC>], (instregex "^AUT", "^PAC[DI]")>;
// Branch and link, register, with pointer authentication
// Branch, register, with pointer authentication
@@ -286,14 +384,26 @@ def : InstRW<[C1NanoWrite<2, C1NanoUnitPAC>], (instregex "^LDRA[AB](indexed|writ
// Strip pointer authentication code
def : InstRW<[C1NanoWrite<4, C1NanoUnitPAC>], (instrs XPACD, XPACI, XPACLRI)>;
-//---
+// Miscellaneous data-processing instructions
+// -----------------------------------------------------------------------------
+
+// Flag set instructions
+def : InstRW<[C1NanoMCWrite<2, 2, C1NanoUnitALU_A>], (instregex "^SETF(8|16)")>;
+
+// Flag manipulation instructions, rotate and select
+def : InstRW<[C1NanoMCWrite<1, 1, C1NanoUnitALU_B>], (instregex "^RMIF")>;
+
// Load instructions
-//---
-def C1NanoWriteVLD1 : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 3; }
-def C1NanoWriteVLD1SI : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 3; let SingleIssue = 1; }
+// -----------------------------------------------------------------------------
+def C1NanoWriteVLD1 : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 2; }
+def C1NanoWriteVLD1SI : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 2; let SingleIssue = 1; }
def C1NanoWriteLDP1 : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 2; }
def C1NanoWriteLDP2 : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 2; }
-def C1NanoWriteLDP4 : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 2; }
+def C1NanoWriteLDPFP : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 3; }
+
+// Integer loads, immediate and register offset.
+def : InstRW<[C1NanoWr_LDR, C1NanoRd_LDR], (instregex "^LDR[WX]ui$")>;
+def : InstRW<[C1NanoWr_LDR, C1NanoRd_LDR], (instregex "^LDR[WX]ro[WX]$")>;
def : InstRW<[WriteAdr, C1NanoWrite<3, C1NanoUnitLd>], (instregex "LDR[BHSDQ](pre|post)")>;
@@ -301,51 +411,51 @@ def : InstRW<[C1NanoWriteLDP1, C1NanoWriteLDP1], (instregex "LDPSWi")>;
def : InstRW<[WriteAdr, C1NanoWriteLDP1, C1NanoWriteLDP1],
(instregex "LDPSW(pre|post)")>;
-def : InstRW<[C1NanoWriteVLD1SI, C1NanoWriteLDP1], (instregex "LDPS?Wi")>;
-def : InstRW<[C1NanoWriteVLD1, C1NanoWriteLDP1], (instregex "LDPSi")>;
-def : InstRW<[C1NanoWriteVLD1, C1NanoWriteLDP2], (instregex "LDP(X|D)i")>;
-def : InstRW<[C1NanoWriteVLD1, C1NanoWriteLDP4], (instregex "LDPQi")>;
-def : InstRW<[WriteAdr, C1NanoWriteVLD1SI, C1NanoWriteLDP1], (instregex "LDPS?W(pre|post)")>;
-def : InstRW<[WriteAdr, C1NanoWriteVLD1, C1NanoWriteLDP1], (instregex "LDPS(pre|post)")>;
-def : InstRW<[WriteAdr, C1NanoWriteVLD1, C1NanoWriteLDP2], (instregex "LDP(X|D)(pre|post)")>;
-def : InstRW<[WriteAdr, C1NanoWriteVLD1, C1NanoWriteLDP4], (instregex "LDPQ(pre|post)")>;
+def : InstRW<[C1NanoWriteVLD1SI, C1NanoWriteLDP1], (instregex "LDPWi")>;
+def : InstRW<[C1NanoWriteLDPFP, C1NanoWriteLDP1], (instregex "LDN?P[SDQ]i")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD1SI, C1NanoWriteLDP1], (instregex "LDPW(pre|post)")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD1, C1NanoWriteLDP2], (instregex "LDPX(i|pre|post)")>;
+def : InstRW<[WriteAdr, C1NanoWriteLDPFP, C1NanoWriteLDP1], (instregex "LDP[SDQ](pre|post)")>;
def : InstRW<[WriteI], (instrs COPY)>;
+
//---
// Vector Loads - 128-bit per cycle
//---
// 1-element structures
-def C1NanoWriteVLD1Latency3: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 3; let ReleaseAtCycles = [1]; }
-def C1NanoWriteVLD1Latency4: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 4; let ReleaseAtCycles = [2]; }
-def C1NanoWriteVLD1Latency5: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5; let ReleaseAtCycles = [3]; }
-def C1NanoWriteVLD1Latency6: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 6; let ReleaseAtCycles = [5]; }
+def C1NanoWriteVLD1Latency3Release1: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 3; let ReleaseAtCycles = [1]; }
+def C1NanoWriteVLD1Latency3: SchedWriteRes<[C1NanoUnitLd]> { let Latency = 3; }
+def C1NanoWriteVLD1Latency4Release2: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 4; let ReleaseAtCycles = [2]; }
+def C1NanoWriteVLD1Latency5Release3: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5; let ReleaseAtCycles = [3]; }
+def C1NanoWriteVLD1Latency6Release5: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 6; let ReleaseAtCycles = [5]; }
def : InstRW<[C1NanoWriteVLD1Latency3], (instregex "LD1Onev(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
-def : InstRW<[C1NanoWriteVLD1Latency3], (instregex "LD1Twov(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
-def : InstRW<[C1NanoWriteVLD1Latency4], (instregex "LD1Threev(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
-def : InstRW<[C1NanoWriteVLD1Latency4], (instregex "LD1Fourv(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
+def : InstRW<[C1NanoWriteVLD1Latency3Release1], (instregex "LD1Twov(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
+def : InstRW<[C1NanoWriteVLD1Latency4Release2], (instregex "LD1Threev(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
+def : InstRW<[C1NanoWriteVLD1Latency4Release2], (instregex "LD1Fourv(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
def : InstRW<[C1NanoWriteVLD1Latency3], (instregex "LD1i(8|16|32|64)$")>; // single element
def : InstRW<[C1NanoWriteVLD1Latency3], (instregex "LD1Rv(8b|4h|2s|1d|16b|8h|4s|2d)$")>; // replicate
def : InstRW<[WriteAdr, C1NanoWriteVLD1Latency3], (instregex "LD1Onev(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
-def : InstRW<[WriteAdr, C1NanoWriteVLD1Latency3], (instregex "LD1Twov(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
-def : InstRW<[WriteAdr, C1NanoWriteVLD1Latency4], (instregex "LD1Threev(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
-def : InstRW<[WriteAdr, C1NanoWriteVLD1Latency4], (instregex "LD1Fourv(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD1Latency3Release1], (instregex "LD1Twov(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD1Latency4Release2], (instregex "LD1Threev(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD1Latency4Release2], (instregex "LD1Fourv(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
def : InstRW<[WriteAdr, C1NanoWriteVLD1Latency3], (instregex "LD1i(8|16|32|64)_POST$")>; // single element
def : InstRW<[WriteAdr, C1NanoWriteVLD1Latency3], (instregex "LD1Rv(8b|4h|2s|1d|16b|8h|4s|2d)_POST$")>; // replicate
// 2-element structures
-def C1NanoWriteVLD2Latency3: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 3; let ReleaseAtCycles = [2]; }
+def C1NanoWriteVLD2Latency3Release1: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 3; let ReleaseAtCycles = [1]; }
+def C1NanoWriteVLD2Latency3Release2: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 3; let ReleaseAtCycles = [2]; }
def C1NanoWriteVLD2Latency4Release1: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 4; let ReleaseAtCycles = [1]; }
def C1NanoWriteVLD2Latency4Release2: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 4; let ReleaseAtCycles = [2]; }
def C1NanoWriteVLD2Latency4Release4: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 4; let ReleaseAtCycles = [4]; }
def : InstRW<[C1NanoWriteVLD2Latency4Release1], (instregex "LD2Twov(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
def : InstRW<[C1NanoWriteVLD2Latency4Release4], (instregex "LD2i(8|16|32|64)$")>;
-def : InstRW<[C1NanoWriteVLD2Latency3], (instregex "LD2Rv(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
+def : InstRW<[C1NanoWriteVLD2Latency3Release1], (instregex "LD2Rv(8b|16b|4h|8h|2s|4s|1d|2d)$")>;
def : InstRW<[WriteAdr, C1NanoWriteVLD2Latency4Release1], (instregex "LD2Twov(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
def : InstRW<[WriteAdr, C1NanoWriteVLD2Latency4Release4], (instregex "LD2i(8|16|32|64)_POST$")>;
-def : InstRW<[WriteAdr, C1NanoWriteVLD2Latency3], (instregex "LD2Rv(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD2Latency3Release1], (instregex "LD2Rv(8b|16b|4h|8h|2s|4s|1d|2d)_POST$")>;
// 3-element structures
def C1NanoWriteVLD3Latency4Release2: SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 4; let ReleaseAtCycles = [2]; }
@@ -377,72 +487,144 @@ def : InstRW<[WriteAdr, C1NanoWriteVLD4Latency4Release2], (instregex "LD4Rv(8b|1
// Vector Stores
//---
// 1 Element structures
-def C1NanoWriteVST1 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 4; }
-def C1NanoWriteVST2 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5;
+def C1NanoWriteVST1Release1 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 4;
+ let ReleaseAtCycles = [1]; }
+def C1NanoWriteVST1Release2 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 4;
+ let ReleaseAtCycles = [2]; }
+def C1NanoWriteVST1Release3 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 4;
+ let ReleaseAtCycles = [3]; }
+def C1NanoWriteVST1Release4 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 4;
+ let ReleaseAtCycles = [4]; }
+def C1NanoWriteVST2Release1 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5;
+ let ReleaseAtCycles = [1]; }
+def C1NanoWriteVST2Release2 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5;
let ReleaseAtCycles = [2]; }
-def C1NanoWriteVST3 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5;
- let ReleaseAtCycles = [3]; }
-def C1NanoWriteVST4 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5;
+def C1NanoWriteVST3Release4 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5;
let ReleaseAtCycles = [4]; }
-
-def : InstRW<[C1NanoWriteVST1], (instregex "ST1i(8|16|32|64)$")>;
-def : InstRW<[C1NanoWriteVST1], (instregex "ST1Onev(8b|4h|2s|1d)$")>;
-def : InstRW<[C1NanoWriteVST2], (instregex "ST1Onev(16b|8h|4s|2d)$")>;
-def : InstRW<[C1NanoWriteVST1], (instregex "ST1Twov(8b|4h|2s|1d)$")>;
-def : InstRW<[C1NanoWriteVST2], (instregex "ST1Twov(16b|8h|4s|2d)$")>;
-def : InstRW<[C1NanoWriteVST2], (instregex "ST1Threev(8b|4h|2s|1d|16b|8h|4s|2d)$")>;
-def : InstRW<[C1NanoWriteVST4], (instregex "ST1Fourv(8b|4h|2s|1d|16b|8h|4s|2d)$")>;
-
-def : InstRW<[WriteAdr, C1NanoWriteVST1], (instregex "ST1i(8|16|32|64)_POST$")>;
-def : InstRW<[WriteAdr, C1NanoWriteVST1], (instregex "ST1Onev(8b|4h|2s|1d)_POST$")>;
-def : InstRW<[WriteAdr, C1NanoWriteVST2], (instregex "ST1Onev(16b|8h|4s|2d)_POST$")>;
-def : InstRW<[WriteAdr, C1NanoWriteVST1], (instregex "ST1Twov(8b|4h|2s|1d)_POST$")>;
-def : InstRW<[WriteAdr, C1NanoWriteVST2], (instregex "ST1Twov(16b|8h|4s|2d)_POST$")>;
-def : InstRW<[WriteAdr, C1NanoWriteVST2], (instregex "ST1Threev(8b|4h|2s|1d|16b|8h|4s|2d)_POST$")>;
-def : InstRW<[WriteAdr, C1NanoWriteVST4], (instregex "ST1Fourv(8b|4h|2s|1d|16b|8h|4s|2d)_POST$")>;
+def C1NanoWriteVST3Release6 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5;
+ let ReleaseAtCycles = [6]; }
+def C1NanoWriteVST4Release2 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5;
+ let ReleaseAtCycles = [2]; }
+def C1NanoWriteVST4Release4 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5;
+ let ReleaseAtCycles = [4]; }
+def C1NanoWriteVST4Release8 : SchedWriteRes<[C1NanoUnitLdSt]> { let Latency = 5;
+ let ReleaseAtCycles = [8]; }
+
+def : InstRW<[C1NanoWriteVST1Release1], (instregex "ST1i(8|16|32|64)$")>;
+def : InstRW<[C1NanoWriteVST1Release1], (instregex "ST1Onev(8b|4h|2s|1d)$")>;
+def : InstRW<[C1NanoWriteVST1Release1], (instregex "ST1Onev(16b|8h|4s|2d)$")>;
+def : InstRW<[C1NanoWriteVST1Release1], (instregex "ST1Twov(8b|4h|2s|1d)$")>;
+def : InstRW<[C1NanoWriteVST1Release2], (instregex "ST1Twov(16b|8h|4s|2d)$")>;
+def : InstRW<[C1NanoWriteVST1Release2], (instregex "ST1Threev(8b|4h|2s|1d)$")>;
+def : InstRW<[C1NanoWriteVST1Release3], (instregex "ST1Threev(16b|8h|4s|2d)$")>;
+def : InstRW<[C1NanoWriteVST1Release2], (instregex "ST1Fourv(8b|4h|2s|1d)$")>;
+def : InstRW<[C1NanoWriteVST1Release4], (instregex "ST1Fourv(16b|8h|4s|2d)$")>;
+
+def : InstRW<[WriteAdr, C1NanoWriteVST1Release1], (instregex "ST1i(8|16|32|64)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST1Release1], (instregex "ST1Onev(8b|4h|2s|1d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST1Release1], (instregex "ST1Onev(16b|8h|4s|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST1Release1], (instregex "ST1Twov(8b|4h|2s|1d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST1Release2], (instregex "ST1Twov(16b|8h|4s|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST1Release2], (instregex "ST1Threev(8b|4h|2s|1d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST1Release3], (instregex "ST1Threev(16b|8h|4s|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST1Release2], (instregex "ST1Fourv(8b|4h|2s|1d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST1Release4], (instregex "ST1Fourv(16b|8h|4s|2d)_POST$")>;
// 2 Element structures
-def : InstRW<[C1NanoWriteVST2], (instregex "ST2i(8|16|32|64)$")>;
-def : InstRW<[C1NanoWriteVST2], (instregex "ST2Twov(8b|4h|2s)$")>;
-def : InstRW<[C1NanoWriteVST4], (instregex "ST2Twov(16b|8h|4s|2d)$")>;
+def : InstRW<[C1NanoWriteVST2Release2], (instregex "ST2i(8|16|32|64)$")>;
+def : InstRW<[C1NanoWriteVST2Release1], (instregex "ST2Twov(8b|4h|2s)$")>;
+def : InstRW<[C1NanoWriteVST4Release2], (instregex "ST2Twov(16b|8h|4s|2d)$")>;
-def : InstRW<[WriteAdr, C1NanoWriteVST2], (instregex "ST2i(8|16|32|64)_POST$")>;
-def : InstRW<[WriteAdr, C1NanoWriteVST2], (instregex "ST2Twov(8b|4h|2s)_POST$")>;
-def : InstRW<[WriteAdr, C1NanoWriteVST4], (instregex "ST2Twov(16b|8h|4s|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST2Release2], (instregex "ST2i(8|16|32|64)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST2Release1], (instregex "ST2Twov(8b|4h|2s)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST4Release2], (instregex "ST2Twov(16b|8h|4s|2d)_POST$")>;
// 3 Element structures
-def : InstRW<[C1NanoWriteVST2], (instregex "ST3i(8|16|32|64)$")>;
-def : InstRW<[C1NanoWriteVST4], (instregex "ST3Threev(8b|4h|2s|1d|16b|8h|4s|2d)$")>;
+def : InstRW<[C1NanoWriteVST3Release4], (instregex "ST3i(8|16|32|64)$")>;
+def : InstRW<[C1NanoWriteVST3Release4], (instregex "ST3Threev(8b|4h|2s)$")>;
+def : InstRW<[C1NanoWriteVST3Release6], (instregex "ST3Threev(16b|8h|4s|2d)$")>;
-def : InstRW<[WriteAdr, C1NanoWriteVST2], (instregex "ST3i(8|16|32|64)_POST$")>;
-def : InstRW<[WriteAdr, C1NanoWriteVST4], (instregex "ST3Threev(8b|4h|2s|1d|2d|16b|8h|4s|4d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST3Release4], (instregex "ST3i(8|16|32|64)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST3Release4], (instregex "ST3Threev(8b|4h|2s)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST3Release6], (instregex "ST3Threev(16b|8h|4s|2d)_POST$")>;
// 4 Element structures
-def : InstRW<[C1NanoWriteVST2], (instregex "ST4i(8|16|32|64)$")>;
-def : InstRW<[C1NanoWriteVST4], (instregex "ST4Fourv(8b|4h|2s|1d|16b|8h|4s|2d)$")>;
+def : InstRW<[C1NanoWriteVST4Release8], (instregex "ST4i(8|16|32|64)$")>;
+def : InstRW<[C1NanoWriteVST4Release4], (instregex "ST4Fourv(8b|4h|2s)$")>;
+def : InstRW<[C1NanoWriteVST4Release8], (instregex "ST4Fourv(16b|8h|4s|2d)$")>;
-def : InstRW<[WriteAdr, C1NanoWriteVST2], (instregex "ST4i(8|16|32|64)_POST$")>;
-def : InstRW<[WriteAdr, C1NanoWriteVST4], (instregex "ST4Fourv(8b|4h|2s|1d|16b|8h|4s|2d)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST4Release8], (instregex "ST4i(8|16|32|64)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST4Release4], (instregex "ST4Fourv(8b|4h|2s)_POST$")>;
+def : InstRW<[WriteAdr, C1NanoWriteVST4Release8], (instregex "ST4Fourv(16b|8h|4s|2d)_POST$")>;
//---
// Floating Point Conversions, MAC, DIV, SQRT
//---
-def : InstRW<[C1NanoWriteFPALU_F3], (instregex "^DUP(v2i64|v2i32|v4i32|v4i16|v8i16|v8i8|v16i8)")>;
-def : InstRW<[C1NanoWriteFPALU_F4], (instregex "^XTN")>;
-def : InstRW<[C1NanoWriteFPALU_F4], (instregex "^FCVT[ALMNPZ][SU](S|U)?(W|X)")>;
-def : InstRW<[C1NanoWriteFPALU_F4], (instregex "^FCVT(X)?[ALMNPXZ](S|U|N)?v")>;
+def : InstRW<[C1NanoWriteVALU_F3], (instregex "^DUP(v2i64|v2i32|v4i32|v4i16|v8i16|v8i8|v16i8)")>;
+def : InstRW<[C1NanoWriteVALU_F4], (instregex "^XTN")>;
-def : InstRW<[C1NanoWriteFPALU_F4], (instregex "^(S|U)CVTF(S|U)(W|X)(H|S|D)")>;
-def : InstRW<[C1NanoWriteFPALU_F4], (instregex "^(S|U)CVTF(h|s|d)")>;
-def : InstRW<[C1NanoWriteFPALU_F4], (instregex "^(S|U)CVTFv")>;
+// FP convert, from vec to gen reg
+def : InstRW<[C1NanoWriteVALU_F4], (instregex "^FCVT[ALMNPZ][SU](S|U)?(W|X)")>;
+def : InstRW<[C1NanoWriteVALU_F4], (instregex "^FCVT(X)?[ALMNPXZ](S|U|N)?v")>;
-def : InstRW<[C1NanoWriteVMAC], (instregex "^FN?M(ADD|SUB).*")>;
-def : InstRW<[C1NanoWriteVMAC], (instregex "^FML(A|S)v.*")>;
+// FP convert, Javascript from vec to gen reg
+def : InstRW<[C1NanoWriteVALU1_F4], (instrs FJCVTZS)>;
+
+def : InstRW<[C1NanoWriteVALU_F4], (instregex "^(S|U)CVTF(S|U)(W|X)(H|S|D)")>;
+def : InstRW<[C1NanoWriteVALU_F4], (instregex "^(S|U)CVTF(h|s|d)")>;
+def : InstRW<[C1NanoWriteVALU_F4], (instregex "^(S|U)CVTFv")>;
+
+// MOPS instructions
+// -----------------------------------------------------------------------------
+
+//Memory Copy Forward-only Prologue
+def : InstRW<[C1NanoWriteMOPS<2, 2>], (instregex "^CPYFP")>;
+
+// Memory Copy Forward-only Main
+def : InstRW<[C1NanoWriteMOPSDynamic<1, 1>], (instregex "^CPYFM")>;
+
+// Memory Copy Forward-only Epilogue
+def : InstRW<[C1NanoWriteMOPS<1, 1>], (instregex "^CPYFE")>;
+
+// Memory Copy Prologue
+def : InstRW<[C1NanoWriteMOPS<3, 3>], (instregex "^CPYP")>;
+
+// Memory Copy Main
+def : InstRW<[C1NanoWriteMOPSDynamic<1, 1>], (instregex "^CPYM")>;
+
+// Memory Copy Epilogue
+def : InstRW<[C1NanoWriteMOPS<1, 1>], (instregex "^CPYE")>;
+
+// Memory Set Prologue
+def : InstRW<[C1NanoWriteMOPS<2, 2>], (instregex "^SETP")>;
+
+// Memory Set Main
+def : InstRW<[C1NanoWriteMOPS<1, 1>], (instregex "^SETM")>;
+
+// Memory Set Epilogue
+def : InstRW<[C1NanoWriteMOPS<1, 1>], (instregex "^SETE")>;
+
+// Memory Set with tag setting Prologue
+def : InstRW<[C1NanoWriteMOPS<2, 2>], (instregex "^SETGP")>;
+
+// Memory Set with tag setting Main
+def : InstRW<[C1NanoWriteMOPS<1, 1>], (instregex "^SETGM")>;
+
+// Memory Set with tag setting Epilogue
+def : InstRW<[C1NanoWriteMOPS<1, 1>], (instregex "^MOPSSETGE")>;
+
+// ASIMD FP data processing instructions
+// -----------------------------------------------------------------------------
+
+def : InstRW<[C1NanoWriteVMAC], (instregex "^FN?M(ADD|SUB)")>;
+def : InstRW<[C1NanoWriteVMAC], (instregex "^FCADDv")>;
+def : InstRW<[C1NanoWriteVMAC], (instregex "^FCMLAv")>;
+def : InstRW<[C1NanoWriteVMAC], (instregex "^FML(A|S)v")>;
def : InstRW<[C1NanoWriteFDivHP], (instrs FDIVHrr)>;
def : InstRW<[C1NanoWriteFDivSP], (instrs FDIVSrr)>;
def : InstRW<[C1NanoWriteFDivDP], (instrs FDIVDrr)>;
-def : InstRW<[C1NanoWriteFPALU_F2], (instrs FMOVSr, FMOVDr)>;
-def : InstRW<[C1NanoWriteFPALU_F3], (instrs FMOVv2f32_ns, FMOVv4f32_ns, FMOVv2f64_ns, FMOVv4f16_ns, FMOVv8f16_ns)>;
+def : InstRW<[C1NanoWriteVALU_F2], (instrs FMOVSr, FMOVDr)>;
+def : InstRW<[C1NanoWriteVALU_F3], (instrs FMOVv2f32_ns, FMOVv4f32_ns, FMOVv2f64_ns, FMOVv4f16_ns, FMOVv8f16_ns)>;
def : InstRW<[C1NanoWriteFSqrtScalarHP], (instrs FSQRTHr)>;
def : InstRW<[C1NanoWriteFSqrtScalarSP], (instrs FSQRTSr)>;
def : InstRW<[C1NanoWriteFSqrtScalarDP], (instrs FSQRTDr)>;
@@ -452,24 +634,40 @@ def : InstRW<[C1NanoWriteFDivDP], (instregex "^FDIVv.*64$")>;
def : InstRW<[C1NanoWriteFSqrtHP], (instregex "^FSQRT.*16$")>;
def : InstRW<[C1NanoWriteFSqrtSP], (instregex "^FSQRT.*32$")>;
def : InstRW<[C1NanoWriteFSqrtDP], (instregex "^FSQRT.*64$")>;
-def : InstRW<[C1NanoWriteVMAC], (instregex "^FRSQRTS(v|32|64)")>;
-def : InstRW<[C1NanoWriteFPALU_F3], (instrs FCSELHrrr, FCSELSrrr, FCSELDrrr)>;
+def : InstRW<[C1NanoWriteVALU0_F3], (instrs FCSELHrrr, FCSELSrrr, FCSELDrrr)>;
+
+// ASIMD FP multiply
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "FMULX?(16|32|64|v)")>;
+
+// ASIMD FP multiply accumulate long
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "FML[AS]L2?(v|lane)")>;
+
+// ASIMD miscellaneous instructions
+// -----------------------------------------------------------------------------
+
+// ASIMD reciprocal estimate
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "FRECP[EX]v", "URECPEv", "[FU]RSQRTEv")>;
+
+// ASIMD reciprocal step
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "FR(ECPS|SQRTS)(16|32|64|v)")>;
+
+// ASIMD integer instructions
+// -----------------------------------------------------------------------------
-// 4.15. Advanced SIMD integer instructions
// ASIMD absolute diff
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]ABDv(2i32|4i16|8i8)")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]ABDv(16i8|4i32|8i16)")>;
// ASIMD move, integer immediate
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^MOVI(v|D)", "^MVNIv")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^MOVI(v|D)")>;
// ASIMD reverse
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^REV(16|32|64)v")>;
// ASIMD absolute diff accum
-def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU>], (instregex "[SU]ABAL?v")>;
+def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU_A>], (instregex "[SU]ABAL?v")>;
// ASIMD absolute diff long
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]ABDLv")>;
// ASIMD arith, basic
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "(ADD|SUB|NEG)v",
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "(ABS|ADD|SUB|NEG)v",
"[SU](HADDv|HSUBv)")>;
// ASIMD, arith, basic, long, saturate
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "SADDLv", "UADDLv", "SADDWv",
@@ -478,36 +676,34 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "SADDLv", "UADDLv", "
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "ADDHNv", "SUBHNv")>;
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "([SU]QADD|[SU]QSUB|SQNEG|SUQADD|USQADD)v(16i8|2i64|4i32|8i16)$")>;
// ASIMD, arith, complex, rounding, add and subtract
-def : InstRW<[C1NanoMCWrite<6, 3, C1NanoUnitVALU>], (instregex "RADDHNv", "RSUBHNv")>;
+def : InstRW<[C1NanoMCWrite<6, 3, C1NanoUnitVALU_B>], (instregex "RADDHNv", "RSUBHNv")>;
// ASIMD, arith, complex, rounding halving addition
def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU>], (instregex "[SU]RHADDv")>;
// ASIMD, arith, pair-wise
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "ABSv(1i64|2i32|4i16|8i8)$",
- "[SU]ADDLPv(2i32_v1i64|4i16_v2i32|8i8_v4i16)$",
- "ADDPv(2i32|4i16|8i8)$")>;
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "ABSv(2i64|4i32|8i16|16i8)$",
- "[SU]ADDLPv(16i8_v8i16|4i32_v2i64|8i16_v4i32)$",
- "ADDPv(16i8|2i64|4i32|8i16)$")>;
+//def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]ADDLPv", "ADDPv")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]ADDLPv", "ADDPv")>;
// ASIMD arith, reduce
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "ADDVv")>;
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "SADDLVv", "UADDLVv")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU_A>], (instregex "ADDVv")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU_B>], (instregex "SADDLVv", "UADDLVv")>;
// ASIMD compare
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "CM(EQ|GE|GT|HI|HS|LE|LT)v(1i64|2i32|4i16|8i8)")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "CM(EQ|GE|GT|HI|HS|LE|LT)v(2i64|4i32|8i16|16i8)")>;
// ASIMD compare test
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "CMTSTv(1i64|2i32|4i16|8i8)")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "CMTSTv(2i64|4i32|8i16|16i8)")>;
+// ASIMD unzip/zip/transpose
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(TRN|UZP|ZIP)[12]v")>;
// ASIMD extract
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^EXTv")>;
// ASIMD table lookup / table lookup extension
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs TBLv8i8One, TBLv16i8One)>;
-def : InstRW<[C1NanoWrite<5, C1NanoUnitVALU>], (instrs TBLv8i8Two, TBLv16i8Two)>;
-def : InstRW<[C1NanoWrite<6, C1NanoUnitVALU>], (instrs TBLv8i8Three, TBLv16i8Three)>;
-def : InstRW<[C1NanoWrite<7, C1NanoUnitVALU>], (instrs TBLv8i8Four, TBLv16i8Four)>;
-def : InstRW<[C1NanoWrite<5, C1NanoUnitVALU>], (instrs TBXv8i8One, TBXv16i8One)>;
-def : InstRW<[C1NanoWrite<6, C1NanoUnitVALU>], (instrs TBXv8i8Two, TBXv16i8Two)>;
-def : InstRW<[C1NanoWrite<7, C1NanoUnitVALU>], (instrs TBXv8i8Three, TBXv16i8Three)>;
-def : InstRW<[C1NanoWrite<8, C1NanoUnitVALU>], (instrs TBXv8i8Four, TBXv16i8Four)>;
+def : InstRW<[C1NanoMCWrite<5, 2, C1NanoUnitVALU_A>], (instrs TBLv8i8Two, TBLv16i8Two)>;
+def : InstRW<[C1NanoMCWrite<6, 3, C1NanoUnitVALU_B>], (instrs TBLv8i8Three, TBLv16i8Three)>;
+def : InstRW<[C1NanoMCWrite<7, 4, C1NanoUnitVALU_A>], (instrs TBLv8i8Four, TBLv16i8Four)>;
+def : InstRW<[C1NanoMCWrite<5, 2, C1NanoUnitVALU_B>], (instrs TBXv8i8One, TBXv16i8One)>;
+def : InstRW<[C1NanoMCWrite<6, 3, C1NanoUnitVALU_A>], (instrs TBXv8i8Two, TBXv16i8Two)>;
+def : InstRW<[C1NanoMCWrite<7, 4, C1NanoUnitVALU_B>], (instrs TBXv8i8Three, TBXv16i8Three)>;
+def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnitVALU_A>], (instrs TBXv8i8Four, TBXv16i8Four)>;
// ASIMD logical
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "(AND|EOR|NOT|ORN)v8i8",
"(ORR|BIC)v(2i32|4i16|8i8)$", "MVNIv(2i|2s|4i16)")>;
@@ -517,40 +713,42 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(BIF|BIT|BSL)v")>;
// ASIMD max/min, basic
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU](MIN|MAX)P?v(2i32|4i16|8i8)")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU](MIN|MAX)P?v(16i8|4i32|8i16)")>;
-// SIMD max/min, reduce
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU](MAX|MIN)Vv")>;
+// ASIMD max/min, reduce
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU_A>], (instregex "[SU](MAX|MIN)Vv")>;
+// ASIMD FP max/min, reduce.
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU_A>], (instregex "^F(MAX|MIN)(NM)?Vv")>;
// ASIMD multiply, by element
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "MULv(2i32|4i16|4i32|8i16)_indexed$",
- "SQR?DMULHv(1i16|1i32|2i32|4i16|4i32|8i16)_indexed$")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^MULv(2i32|4i16|4i32|8i16)_indexed$",
+ "SQR?DMULHv(1i16|1i32|2i32|4i16|4i32|8i16)(_indexed)?$")>;
// ASIMD multiply
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instrs PMULv8i8)>;
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instrs PMULv16i8)>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^MULv(2i32|4i16|4i32|8i8|8i16|16i8)$")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^PMULv(8i8|16i8)")>;
// ASIMD multiply accumulate
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "ML[AS]v(2i32|4i16|8i8)$")>;
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "ML[AS]v(16i8|4i32|8i16)$")>;
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "ML[AS]v(2i32|4i16|4i32|8i16)_indexed$")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "ML[AS]v(2i32|4i16|8i8)$")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "ML[AS]v(16i8|4i32|8i16)$")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "ML[AS]v(2i32|4i16|4i32|8i16)_indexed$")>;
// ASIMD multiply accumulate half
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "SQRDML[AS]H[vi]")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "SQRDML[AS]H[vi]")>;
// ASIMD multiply accumulate long
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]ML[AS]Lv")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "[SU]ML[AS]Lv")>;
// ASIMD multiply accumulate long #2
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "SQDML[AS]L[iv]")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "SQDML[AS]L[iv]")>;
// ASIMD dot product
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]DOTv8i8")>;
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]DOTv16i8")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "(S|U|SU|US)DOTv8i8")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "(S|U|SU|US)DOTv16i8")>;
// ASIMD dot product, by scalar
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]DOTlanev")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "(S|U|SU|US)DOTlanev")>;
// ASIMD multiply long
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]MULLv", "SQDMULL[iv]")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "[SU]MULLv", "SQDMULL[iv]")>;
// ASIMD polynomial (8x8) multiply long
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instrs PMULLv8i8, PMULLv16i8)>;
// ASIMD pairwise add and accumulate
-def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU>], (instregex "[SU]ADALPv")>;
+def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU_A>], (instregex "[SU]ADALPv")>;
// ASIMD shift accumulate
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]SRA(d|v2i32|v4i16|v8i8)")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]SRAv(16i8|2i64|4i32|8i16)")>;
// ASIMD shift accumulate #2
-def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU>], (instregex "[SU]RSRA[vd]")>;
+def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU_B>], (instregex "[SU]RSRA[vd]")>;
// ASIMD shift by immed
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "SHLd$", "SHLv",
"SLId$", "SRId$", "[SU]SHR[vd]", "SHRNv(8i8|4i16|2i32)")>;
@@ -578,6 +776,18 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]QSHLv(2i64|4i32|8
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]QRSHLv(1i64|2i32|4i16|8i8)")>;
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]QRSHLv(2i64|4i32|8i16|16i8)")>;
+// ASIMD BFloat16 (BF16) instructions
+// -----------------------------------------------------------------------------
+
+// ASIMD dot product
+def : InstRW<[C1NanoWrite_10cyc_1VMAC_1VALU], (instregex "^BFDOTv", "^BF16DOT")>;
+
+// ASIMD matrix multiply accumulate
+def : InstRW<[C1NanoWrite_14cyc_1VMAC_1VALU_B], (instregex "^BFMMLA$")>;
+
+// ASIMD multiply accumulate long
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^BFMLAL[BT]$", "^BFMLAL[BT]Idx$")>;
+
// Cryptography extensions
// -----------------------------------------------------------------------------
@@ -585,41 +795,44 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "[SU]QRSHLv(2i64|4i32|
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^AES[DE]rr$", "^AESI?MCrr")>;
// Crypto polynomial (64x64) multiply long
-def : InstRW<[C1NanoMCWrite<3, 0, C1NanoUnitVMC>], (instrs PMULLv1i64, PMULLv2i64)>;
+def : InstRW<[C1NanoMCWrite<3, 2, C1NanoUnitVMC>], (instrs PMULLv1i64, PMULLv2i64)>;
// Crypto SHA1 hash acceleration op
+def : InstRW<[C1NanoMCWrite<3, 1, C1NanoUnitVALU_B>], (instregex "^SHA1H")>;
+
// Crypto SHA1 schedule acceleration ops
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^SHA1(H|SU0|SU1)")>;
+def : InstRW<[C1NanoMCWrite<3, 2, C1NanoUnitVMC>], (instregex "^SHA1(SU0|SU1)")>;
// Crypto SHA1 hash acceleration ops
// Crypto SHA256 hash acceleration ops
-def : InstRW<[C1NanoMCWrite<4, 0, C1NanoUnitVMC>], (instregex "^SHA1[CMP]", "^SHA256H2?")>;
+def : InstRW<[C1NanoMCWrite<4, 2, C1NanoUnitVMC>], (instregex "^SHA1[CMP]", "^SHA256H2?")>;
// Crypto SHA256 schedule acceleration ops
-def : InstRW<[C1NanoMCWrite<4, 0, C1NanoUnitVMC>], (instregex "^SHA256SU[01]")>;
+def : InstRW<[C1NanoMCWrite<4, 2, C1NanoUnitVMC>], (instregex "^SHA256SU[01]")>;
// Crypto SHA512 hash acceleration ops
-def : InstRW<[C1NanoMCWrite<9, 0, C1NanoUnitVMC>], (instregex "^SHA512(H|H2|SU0|SU1)")>;
+def : InstRW<[C1NanoMCWrite<9, 7, C1NanoUnitVMC>], (instregex "^SHA512(H|H2|SU0|SU1)")>;
// Crypto SHA3 ops
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instrs BCAX, EOR3)>;
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs XAR)>;
-def : InstRW<[C1NanoMCWrite<9, 0, C1NanoUnitVALU>], (instrs RAX1)>;
+def : InstRW<[C1NanoMCWrite<3, 2, C1NanoUnitVALU_A>], (instrs RAX1)>;
// Crypto SM3 ops
-def : InstRW<[C1NanoMCWrite<9, 0, C1NanoUnitVMC>], (instregex "^SM3PARTW[12]$", "^SM3SS1$",
+def : InstRW<[C1NanoMCWrite<9, 7, C1NanoUnitVMC>], (instregex "^SM3PARTW[12]$", "^SM3SS1$",
"^SM3TT[12][AB]$")>;
// Crypto SM4 ops
-def : InstRW<[C1NanoMCWrite<9, 0, C1NanoUnitVMC>], (instrs SM4E, SM4ENCKEY)>;
+def : InstRW<[C1NanoMCWrite<9, 7, C1NanoUnitVMC>], (instrs SM4E, SM4ENCKEY)>;
// CRC
// -----------------------------------------------------------------------------
-def : InstRW<[C1NanoMCWrite<2, 0, C1NanoUnitMAC>], (instregex "^CRC32")>;
+def : InstRW<[C1NanoWrite<2, C1NanoUnitMAC>], (instregex "^CRC32")>;
// SVE Predicate instructions
+// -----------------------------------------------------------------------------
// Note Correction to what is stated in the Arm C1-Nano Core Software Optimization
// Guide issue 4, section 22.4 SVE Predicate instructions:
@@ -639,7 +852,6 @@ def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>], (instrs BRKN_PPzP, BRKPA_PPzPP, B
// Loop control, propagating and flag setting
def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>], (instrs BRKNS_PPzP, BRKPAS_PPzPP, BRKPBS_PPzPP)>;
-
// Loop control, based on GPR
def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>],
(instregex "^WHILE(GE|GT|HI|HS|LE|LO|LS|LT)_P(WW|XX)_[BHSD]")>;
@@ -647,18 +859,18 @@ def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>],
def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>], (instregex "^WHILE(RW|WR)_PXX_[BHSD]")>;
// Loop terminate
-def : InstRW<[C1NanoWrite<1, C1NanoUnitALU>], (instregex "^CTERM(EQ|NE)_(WW|XX)")>;
+def : InstRW<[C1NanoWrite<1, C1NanoUnitALU1>], (instregex "^CTERM(EQ|NE)_(WW|XX)")>;
// Predicate counting scalar
def : InstRW<[C1NanoWrite<1, C1NanoUnitALU>], (instrs ADDPL_XXI, ADDVL_XXI, RDVLI_XI)>;
-def : InstRW<[C1NanoWrite<1, C1NanoUnitALU>],
+def : InstRW<[C1NanoWrite<1, C1NanoUnitALU0>],
(instregex "^CNT[BHWD]_XPiI")>;
-def : InstRW<[C1NanoWrite<1, C1NanoUnitALU>],
+def : InstRW<[C1NanoWrite<1, C1NanoUnitALU1>],
(instregex "^(INC|DEC)[BHWD]_XPiI")>;
-def : InstRW<[C1NanoWrite<5, C1NanoUnitALU>],
+def : InstRW<[C1NanoWrite<5, C1NanoUnitALU0>],
(instregex "^(SQINC|SQDEC|UQINC|UQDEC)[BHWD]_[XW]Pi(Wd)?I")>;
// Predicate counting scalar, active predicate
@@ -719,16 +931,62 @@ def : InstRW<[C1NanoWrite<1, C1NanoUnitALU0>], (instrs PUNPKHI_PP, PUNPKLO_PP)>;
def : InstRW<[C1NanoWrite<1, C1NanoUnitALU0>], (instregex "^(ZIP|UZP)[12]_PPP_[BHSDQ]")>;
+// Tag Data processing
+// -----------------------------------------------------------------------------
+// Arithmetic, immediate to logical address tag
+def : InstRW<[C1NanoWrite<2, C1NanoUnitALU>], (instrs ADDG, SUBG)>;
+
+// Insert Random Tags
+def : InstRW<[C1NanoMCWrite<4, 3, C1NanoUnitALU_A>], (instrs IRG, IRGstack)>;
+
+// Insert Tag Mask
+// Subtract Pointer
+// Subtract Pointer, flagset
+def : InstRW<[C1NanoWrite<2, C1NanoUnitALU>], (instrs GMI, SUBP, SUBPS)>;
+
+// Tag Load instructions
+// -----------------------------------------------------------------------------
+// Load allocation tag
+def : InstRW<[C1NanoWrite<2, C1NanoUnitLd>], (instrs LDG)>;
+
+// Load multiple allocation tags
+def : InstRW<[C1NanoMCWrite<2, 4, C1NanoUnitLd_A>], (instrs LDGM)>;
+
+// Tag store instructions
+// -----------------------------------------------------------------------------
+// Store allocation tags to one granule, post-index
+// Store allocation tags to one granule, pre-index
+// Store allocation tag to one granule, zeroing, post-index
+// Store Allocation Tag to one granule, zeroing, pre-index
+// Store allocation tags to one granule, signed offset
+// Store allocation tag and reg pair to memory, signed offset
+// Store allocation tag and reg pair to memory, post-Index
+// Store allocation tag and reg pair to memory, pre-Index
+// Store multiple allocation tags
+def : InstRW<[C1NanoWrite<1, C1NanoUnitLdSt>], (instrs STGPreIndex, STGPostIndex,
+ STZGPreIndex, STZGPostIndex,
+ STGPpre, STGPpost,
+ STGi, STZGi,
+ STGPi, STGM, STZGM)>;
+// Store allocation tags to two granules, post-index
+// Store allocation tags to two granules, pre-index
+// Store allocation tag to two granules, zeroing, post-index
+// Store Allocation Tag to two granules, zeroing, pre-index
+// Store allocation tag to two granules, zeroing, signed offset
+def : InstRW<[C1NanoMCWrite<1, 2, C1NanoUnitLdSt>], (instrs ST2GPreIndex, ST2GPostIndex,
+ STZ2GPreIndex, STZ2GPostIndex,
+ ST2Gi, STZ2Gi)>;
+
// SVE integer instructions
// -----------------------------------------------------------------------------
// Arithmetic, absolute diff
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^[SU]ABD_(ZPmZ|ZPZZ)_[BHSD]")>;
// Arithmetic, absolute diff accum
-def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU>], (instregex "^[SU]ABA_ZZZ_[BHSD]")>;
+def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU_A>], (instregex "^[SU]ABA_ZZZ_[BHSD]")>;
// Arithmetic, absolute diff accum long
-def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU>], (instregex "^[SU]ABAL[TB]_ZZZ_[HSD]")>;
+def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU_B>], (instregex "^[SU]ABAL[TB]_ZZZ_[HSD]")>;
// Arithmetic, absolute diff long
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^[SU]ABDL[TB]_ZZZ_[HSD]")>;
@@ -746,7 +1004,9 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
"^UADDW[BT]_ZZZ_[HSD]",
"^[SU]RHADD_ZPmZ_[BHSD]")>;
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
- (instregex "^[SU](ADD|SUB)[LW][BT]_ZZZ_[HSD]",
+ (instregex "^SADDW[BT]_ZZZ_[HSD]",
+ "^[SU]ADDL[BT]_ZZZ_[HSD]",
+ "^[SU]SUB[LW][BT]_ZZZ_[HSD]",
"^SADDLBT_ZZZ_[HSD]",
"^SSUBL(BT|TB)_ZZZ_[HSD]",
"^SUBR_(ZPmZ|ZPZZ|ZI)_[BHSD]")>;
@@ -760,8 +1020,8 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
"^(ADD|SUB)HN[BT]_ZZZ_[BHS]",
"^(SUQ|UQ|USQ)ADD_ZPmZ_[BHSD]",
"^(UQSUB|UQSUBR)_ZPmZ_[BHSD]")>;
-def : InstRW<[C1NanoWrite<6, C1NanoUnitVALU>],
- (instregex "^R?(ADD|SUB)HN[BT]_ZZZ_[BHS]")>;
+def : InstRW<[C1NanoMCWrite<6, 3, C1NanoUnitVALU_B>],
+ (instregex "^R(ADD|SUB)HN[BT]_ZZZ_[BHS]")>;
// Arithmetic, large integer
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^(AD|SB)CL[BT]_ZZZ_[SD]")>;
@@ -770,7 +1030,7 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^(AD|SB)CL[BT]_ZZZ_[S
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^ADDP_ZPmZ_[BHSD]")>;
// Arithmetic, pairwise add and accum long
-def : InstRW<[C1NanoMCWrite<6, 4, C1NanoUnitVALU>], (instregex "^[SU]ADALP_ZPmZ_[HSD]")>;
+def : InstRW<[C1NanoMCWrite<6, 4, C1NanoUnitVALU_B>], (instregex "^[SU]ADALP_ZPmZ_[HSD]")>;
// Arithmetic, shift
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
@@ -791,7 +1051,7 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
(instregex "^(SSRA|USRA)_ZZI_[BHSD]")>;
-def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU>],
+def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU_A>],
(instregex "^(SRSRA|URSRA)_ZZI_[BHSD]")>;
@@ -833,13 +1093,13 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(BSL|BSL1N|BSL2N|NBS
// Count/reverse bits
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(CLS|CLZ|RBIT)_ZPmZ_[BHSD]")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^CNT_ZPmZ_[BH]")>;
-def : InstRW<[C1NanoMCWrite<6, 4, C1NanoUnitVALU>], (instregex "^CNT_ZPmZ_S")>;
-def : InstRW<[C1NanoMCWrite<9, 7, C1NanoUnitVALU>], (instregex "^CNT_ZPmZ_D")>;
-// Broadcast logical bitmask immediate to vector
+def : InstRW<[C1NanoMCWrite<6, 4, C1NanoUnitVALU_A>], (instregex "^CNT_ZPmZ_S")>;
+def : InstRW<[C1NanoMCWrite<9, 7, C1NanoUnitVALU_B>], (instregex "^CNT_ZPmZ_D")>;
+// Broadcast logical bitmask immediate to vector.
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs DUPM_ZI)>;
// Compare and set flags
-def : InstRW<[C1NanoWrite<5, C1NanoUnitVALU>],
+def : InstRW<[C1NanoWrite<5, C1NanoUnitVALU1>],
(instregex "^CMP(EQ|GE|GT|HI|HS|LE|LO|LS|LT|NE)_PPzZ[IZ]_[BHSD]",
"^CMP(EQ|GE|GT|HI|HS|LE|LO|LS|LT|NE)_WIDE_PPzZZ_[BHS]")>;
@@ -862,7 +1122,7 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^CMLA_ZZZ_[BHS]",
def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instrs CMLA_ZZZ_D)>;
// Conditional extract operations, scalar form
-def : InstRW<[C1NanoMCWrite<4, 4, C1NanoUnitVALU>], (instregex "^CLAST[AB]_RPZ_[BHSD]")>;
+def : InstRW<[C1NanoMCWrite<4, 4, C1NanoUnitVALU_B>], (instregex "^CLAST[AB]_RPZ_[BHSD]")>;
// Conditional extract operations, SIMD&FP scalar and vector forms
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^CLAST[AB]_[VZ]PZ_[BHSD]",
@@ -930,7 +1190,7 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^LAST[AB]_VPZ_[BHSD]"
"^INSR_ZV_[BHSD]")>;
// Extract/insert operation, scalar
-def : InstRW<[C1NanoMCWrite<8, 4, C1NanoUnitVALU>], (instregex "^LAST[AB]_RPZ_[BHSD]")>;
+def : InstRW<[C1NanoMCWrite<8, 4, C1NanoUnitVALU_A>], (instregex "^LAST[AB]_RPZ_[BHSD]")>;
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^INSR_ZR_[BHSD]")>;
// Histogram operations
@@ -954,7 +1214,7 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^INDEX_(IR|RI|RR)_D")
// Logical
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
(instregex "^(AND|EOR|ORR)_ZI",
- "^(AND|BIC|EOR|EOR|ORR)_ZZZ",
+ "^(AND|BIC|EOR|EON|ORR|NAND|NOR)_ZZZ",
"^(AND|BIC|EOR|NOT|ORR)_ZPmZ_[BHSD]",
"^(AND|BIC|EOR|NOT|ORR)_ZPZZ_[BHSD]")>;
@@ -966,7 +1226,7 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^[SU](MAX|MIN)_ZI_[BH
"^[SU](MAX|MIN)P?_(ZPmZ|ZPZZ)_[BHSD]")>;
// Matching operations
-def : InstRW<[C1NanoMCWrite<8, 4, C1NanoUnitVALU>], (instregex "^N?MATCH_PPzZZ_[BH]")>;
+def : InstRW<[C1NanoMCWrite<8, 4, C1NanoUnitVALU_A>], (instregex "^N?MATCH_PPzZZ_[BH]")>;
// Matrix multiply-accumulate
def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instrs SMMLA_ZZZ, UMMLA_ZZZ, USMMLA_ZZZ)>;
@@ -1036,7 +1296,7 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^SQRDMULH_ZZZI?_D")>;
// Multiply/multiply long, (8x8) polynomial
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^PMUL_ZZZ_B")>;
-def : InstRW<[C1NanoWrite<9, C1NanoUnitVMC>], (instregex "^PMULL[BT]_ZZZ_[HDQ]")>;
+def : InstRW<[C1NanoMCWrite<9, 7, C1NanoUnitVMC>], (instregex "^PMULL[BT]_ZZZ_[HDQ]")>;
// Predicate counting vector
@@ -1101,22 +1361,23 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^F(ADD|SUB)_(ZPm[IZ]|
"^FSUBR_(ZPm[IZ]|ZPZ[IZ])_[HSD]")>;
// Floating point associative add, F16
-def : InstRW<[C1NanoMCWrite<32, 25, C1NanoUnitVALU>], (instrs FADDA_VPZ_H)>;
+def : InstRW<[C1NanoMCWrite<32, 25, C1NanoUnitVALU_A>], (instrs FADDA_VPZ_H)>;
// Floating point associative add, F32
-def : InstRW<[C1NanoMCWrite<16, 9, C1NanoUnitVALU>], (instrs FADDA_VPZ_S)>;
+def : InstRW<[C1NanoMCWrite<16, 9, C1NanoUnitVALU_B>], (instrs FADDA_VPZ_S)>;
// Floating point associative add, F64
-def : InstRW<[C1NanoMCWrite<8, 3, C1NanoUnitVALU>], (instrs FADDA_VPZ_D)>;
+// RThoughput should be 5/2 but we cannot have fractional values so using 3
+def : InstRW<[C1NanoMCWrite<8, 3, C1NanoUnitVALU_A>], (instrs FADDA_VPZ_D)>;
// Floating point compare
-def : InstRW<[C1NanoMCWrite<4, 1, C1NanoUnitVALU>], (instregex "^FACG[ET]_PPzZZ_[HSD]",
+def : InstRW<[C1NanoMCWrite<4, 1, C1NanoUnitVALU_B>], (instregex "^FACG[ET]_PPzZZ_[HSD]",
"^FCM(EQ|GE|GT|NE)_PPzZ[0Z]_[HSD]",
"^FCM(LE|LT)_PPzZ0_[HSD]",
"^FCMUO_PPzZZ_[HSD]")>;
// Floating point complex add
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^FCADD_ZPmZ_[HSD]")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^FCADD_ZPmZ_[HSD]")>;
// Floating point complex multiply add
def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^FCMLA_ZPmZZ_[HSD]",
@@ -1156,7 +1417,7 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
(instregex "^FCVTZ[SU]_ZPmZ_(HtoD|StoD|DtoS|DtoD)")>;
// Floating point copy
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU0>], (instregex "^FCPY_ZPmI_[HSD]",
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^FCPY_ZPmI_[HSD]",
"^FDUP_ZI_[HSD]")>;
// Floating point divide, F16
@@ -1200,19 +1461,18 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>],(instregex "^FRECPE_ZZ_D", "^FRECP
// Floating point reciprocal step
def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^F(RECPS|RSQRTS)_ZZZ_[HSD]")>;
+// Floating point reduction
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>], (instregex "^F(MAX|MIN)(NM)?V_VPZ_[HSD]")>;
+
// Floating point reduction, F16
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>],
- (instregex "^(FMAXNMV|FMAXV|FMINNMV|FMINV)_VPZ_[HSD]")>;
+def : InstRW<[C1NanoMCWrite<12, 5, C1NanoUnitVALU0>], (instregex "^FADDV_VPZ_H")>;
// Floating point reduction, F32
-def : InstRW<[C1NanoMCWrite<12, 5, C1NanoUnitVALU0>],
- (instregex "^FADDV_VPZ_H")>;
-
-def : InstRW<[C1NanoMCWrite<8, 3, C1NanoUnitVALU0>],
- (instregex "^FADDV_VPZ_S")>;
+// RThoughput should be 5/2 but we cannot have fractional values so using 3
+def : InstRW<[C1NanoMCWrite<8, 3, C1NanoUnitVALU0>], (instregex "^FADDV_VPZ_S")>;
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>],
- (instregex "^FADDV_VPZ_D")>;
+// Floating point reduction, F64
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>], (instregex "^FADDV_VPZ_D")>;
// Floating point round to integral, F16
@@ -1254,7 +1514,7 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs BFCVT_ZPmZ, BFCVTNT_ZPmZ)
def : InstRW<[C1NanoWrite_10cyc_1VMAC_1VALU], (instrs BFDOT_ZZI, BFDOT_ZZZ)>;
// Matrix multiply accumulate
-def : InstRW<[C1NanoWrite_14cyc_1VMAC_1VALU], (instrs BFMMLA_ZZZ_HtoS)>;
+def : InstRW<[C1NanoWrite_14cyc_1VMAC_1VALU_B], (instregex "^BFMMLA_ZZZ")>;
// Multiply accumulate long
def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^BFMLAL[BT]_ZZZ(I)?")>;
@@ -1263,24 +1523,24 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^BFMLAL[BT]_ZZZ(I)?")
// -----------------------------------------------------------------------------
// Load vector
-def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instrs LDR_ZXI)>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLd_A>], (instrs LDR_ZXI)>;
// Load predicate
def : InstRW<[C1NanoWrite<3, C1NanoUnitLdSt>], (instrs LDR_PXI)>;
// Contiguous load, scalar + imm
-def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "^LD1[BHWD]_IMM$",
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLd_B>], (instregex "^LD1[BHWD]_IMM$",
"^LD1S?B_[HSD]_IMM$",
"^LD1S?H_[SD]_IMM$",
"^LD1S?W_D_IMM$" )>;
// Contiguous load, scalar + scalar
-def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "^LD1[BHWD]$",
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLd_A>], (instregex "^LD1[BHWD]$",
"^LD1S?B_[HSD]$",
"^LD1S?H_[SD]$",
"^LD1S?W_D$" )>;
// Contiguous load broadcast, scalar + imm
-def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "^LD1R[BHWD]_IMM$",
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLd_B>], (instregex "^LD1R[BHWD]_IMM$",
"^LD1RSW_IMM$",
"^LD1RS?B_[HSD]_IMM$",
"^LD1RS?H_[SD]_IMM$",
@@ -1288,13 +1548,13 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "^LD1R[BHWD]_IMM$",
"^LD1RQ_[BHWD]_IMM$")>;
// Contiguous load broadcast, scalar + scalar
-def : InstRW<[C1NanoWrite<3, C1NanoUnitLdSt>], (instregex "^LD1RQ_[BHWD]$")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLd_A>], (instregex "^LD1RQ_[BHWD]$")>;
// Non temporal load, scalar + imm
-def : InstRW<[C1NanoWrite<3, C1NanoUnitLdSt>], (instregex "^LDNT1[BHWD]_ZRI$")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLd_B>], (instregex "^LDNT1[BHWD]_ZRI$")>;
// Non temporal load, scalar + scalar
-def : InstRW<[C1NanoWrite<3, C1NanoUnitLdSt>], (instregex "^LDNT1[BHWD]_ZRR$")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitLd_A>], (instregex "^LDNT1[BHWD]_ZRR$")>;
// Non temporal gather load, vector + scalar 32-bit element size
def : InstRW<[C1NanoMCWrite<9, 7, C1NanoUnitLdSt>], (instregex "^LDNT1[BHW]_ZZR_S$",
@@ -1305,13 +1565,13 @@ def : InstRW<[C1NanoMCWrite<7, 6, C1NanoUnitLdSt>], (instregex "^LDNT1S?[BHW]_ZZ
def : InstRW<[C1NanoMCWrite<7, 6, C1NanoUnitLdSt>], (instrs LDNT1D_ZZR_D)>;
// Contiguous first faulting load, scalar + scalar
-def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "^LDFF1[BHWD]$",
+def : InstRW<[C1NanoMCWrite<3, 1, C1NanoUnitLd_A>], (instregex "^LDFF1[BHWD]$",
"^LDFF1S?B_[HSD]$",
"^LDFF1S?H_[SD]$",
"^LDFF1S?W_D$")>;
// Contiguous non faulting load, scalar + imm
-def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "^LDNF1[BHWD]_IMM$",
+def : InstRW<[C1NanoMCWrite<3, 1, C1NanoUnitLd_B>], (instregex "^LDNF1[BHWD]_IMM$",
"^LDNF1S?B_[HSD]_IMM$",
"^LDNF1S?H_[SD]_IMM$",
"^LDNF1S?W_D_IMM$")>;
@@ -1350,12 +1610,12 @@ def : InstRW<[C1NanoMCWrite<7, 6, C1NanoUnitLdSt>],
"^GLD(FF)?1D(_SCALED)?$")>;
// Gather load, 32-bit scaled offset
-def : InstRW<[C1NanoMCWrite<7, 7, C1NanoUnitLd>],
+def : InstRW<[C1NanoMCWrite<7, 7, C1NanoUnitLdSt>],
(instregex "^GLD(FF)?1S?[HW]_S_[SU]XTW_SCALED$",
"^GLD(FF)?1W_[SU]XTW_SCALED")>;
// Gather load, 32-bit unpacked unscaled offset
-def : InstRW<[C1NanoMCWrite<7, 6, C1NanoUnitLd>], (instregex "^GLD(FF)?1S?[BH]_S_[SU]XTW$",
+def : InstRW<[C1NanoMCWrite<7, 6, C1NanoUnitLdSt>], (instregex "^GLD(FF)?1S?[BH]_S_[SU]XTW$",
"^GLD(FF)?1W_[SU]XTW$")>;
def : InstRW<[C1NanoWrite<0, C1NanoUnitVALU>], (instregex "^PRF(B|H|W|D).*")>;
@@ -1456,17 +1716,17 @@ def : InstRW<[C1NanoVSt<7>], (instregex "^SST1[BHW]_D$",
// -----------------------------------------------------------------------------
// Read first fault register, unpredicated
-def : InstRW<[C1NanoWrite<1, C1NanoUnitALU>], (instrs RDFFR_P)>;
+def : InstRW<[C1NanoWrite<1, C1NanoUnitLdSt>], (instrs RDFFR_P)>;
// Read first fault register, predicated
-def : InstRW<[C1NanoWrite<3, C1NanoUnitALU0>], (instrs RDFFR_PPz)>;
+def : InstRW<[C1NanoMCWrite<3, 1, C1NanoUnitLdSt>], (instrs RDFFR_PPz)>;
// Read first fault register and set flags
-def : InstRW<[C1NanoWrite<3, C1NanoUnitALU0>], (instrs RDFFRS_PPz)>;
+def : InstRW<[C1NanoMCWrite<3, 1, C1NanoUnitLdSt>], (instrs RDFFRS_PPz)>;
// Set first fault register
// Write to first fault register
-def : InstRW<[C1NanoWrite<1, C1NanoUnitALU>], (instrs SETFFR, WRFFR)>;
+def : InstRW<[C1NanoWrite<1, C1NanoUnitLdSt>], (instrs SETFFR, WRFFR)>;
// SVE Cryptographic instructions
// -----------------------------------------------------------------------------
@@ -1482,6 +1742,6 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^XAR_ZZZI_[BHSD]$")>;
def : InstRW<[C1NanoMC_RC0Write<3, C1NanoUnitVALU>], (instregex "^RAX1_ZZZ_D$")>;
// Crypto SM4 ops
-def : InstRW<[C1NanoMC_RC0Write<9, C1NanoUnitVMC>], (instregex "^SM4E(KEY)?_ZZZ_S$")>;
+def : InstRW<[C1NanoMCWrite<9, 7, C1NanoUnitVMC>], (instregex "^SM4E(KEY)?_ZZZ_S$")>;
}
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Ultra.td b/llvm/lib/Target/AArch64/AArch64SchedC1Ultra.td
index 1d2f96086b42c..b1e2ea0d3a66e 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Ultra.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Ultra.td
@@ -23,7 +23,8 @@ def C1UltraModel : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SMEUnsupported.F,
[HasSVE2p1, HasSVEB16B16,
- HasCPA, HasCSSC]);
+ HasCPA, HasMTE, HasCSSC,
+ HasMOPS, HasMOPS_GO]);
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/Target/AArch64/AArch64SchedCyclone.td b/llvm/lib/Target/AArch64/AArch64SchedCyclone.td
index 48324654949c0..2340e7dc48771 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedCyclone.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedCyclone.td
@@ -21,7 +21,7 @@ def CycloneModel : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SVEUnsupported.F,
PAUnsupported.F,
SMEUnsupported.F,
- [HasMTE, HasCSSC]);
+ [HasMTE, HasCSSC, HasMOPS, HasMOPS_GO]);
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/Target/AArch64/AArch64SchedExynosM3.td b/llvm/lib/Target/AArch64/AArch64SchedExynosM3.td
index 6fc4ec3ae41b7..3644617928dc2 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedExynosM3.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedExynosM3.td
@@ -27,7 +27,7 @@ def ExynosM3Model : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SVEUnsupported.F,
PAUnsupported.F,
SMEUnsupported.F,
- [HasMTE, HasCSSC]);
+ [HasMTE, HasCSSC, HasMOPS, HasMOPS_GO]);
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/Target/AArch64/AArch64SchedExynosM4.td b/llvm/lib/Target/AArch64/AArch64SchedExynosM4.td
index b75264602dbc1..e72d91101582a 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedExynosM4.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedExynosM4.td
@@ -27,7 +27,7 @@ def ExynosM4Model : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SVEUnsupported.F,
PAUnsupported.F,
SMEUnsupported.F,
- [HasMTE, HasCSSC]);
+ [HasMTE, HasCSSC, HasMOPS, HasMOPS_GO]);
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/Target/AArch64/AArch64SchedExynosM5.td b/llvm/lib/Target/AArch64/AArch64SchedExynosM5.td
index 6b5a6da76b3a8..35a787bdd8fc7 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedExynosM5.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedExynosM5.td
@@ -27,7 +27,7 @@ def ExynosM5Model : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SVEUnsupported.F,
PAUnsupported.F,
SMEUnsupported.F,
- [HasMTE, HasCSSC]);
+ [HasMTE, HasCSSC, HasMOPS, HasMOPS_GO]);
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/Target/AArch64/AArch64SchedFalkor.td b/llvm/lib/Target/AArch64/AArch64SchedFalkor.td
index e9172e82b099d..778a2621618a7 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedFalkor.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedFalkor.td
@@ -26,7 +26,7 @@ def FalkorModel : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SVEUnsupported.F,
PAUnsupported.F,
SMEUnsupported.F,
- [HasMTE, HasCSSC]);
+ [HasMTE, HasCSSC, HasMOPS, HasMOPS_GO]);
// FIXME: Remove when all errors have been fixed.
let FullInstRWOverlapCheck = 0;
}
diff --git a/llvm/lib/Target/AArch64/AArch64SchedKryo.td b/llvm/lib/Target/AArch64/AArch64SchedKryo.td
index 258b34c38898c..eec8f37906fd4 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedKryo.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedKryo.td
@@ -30,7 +30,7 @@ def KryoModel : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SVEUnsupported.F,
PAUnsupported.F,
SMEUnsupported.F,
- [HasMTE, HasCSSC]);
+ [HasMTE, HasCSSC, HasMOPS, HasMOPS_GO]);
// FIXME: Remove when all errors have been fixed.
let FullInstRWOverlapCheck = 0;
}
diff --git a/llvm/lib/Target/AArch64/AArch64SchedNeoverseN1.td b/llvm/lib/Target/AArch64/AArch64SchedNeoverseN1.td
index 3b101e0b7655e..8847f32a9da9a 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedNeoverseN1.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedNeoverseN1.td
@@ -27,7 +27,7 @@ def NeoverseN1Model : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(PAUnsupported.F,
SMEUnsupported.F,
SVEUnsupported.F,
- [HasMTE, HasCSSC]);
+ [HasMTE, HasCSSC, HasMOPS, HasMOPS_GO]);
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td b/llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
index afa4e4744a997..39987b81ee9a4 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
@@ -19,7 +19,7 @@ def NeoverseN2Model : SchedMachineModel {
let CompleteModel = 1;
list<Predicate> UnsupportedFeatures = !listconcat(SMEUnsupported.F,
- [HasSVE2p1, HasSVEB16B16, HasPAuthLR, HasCPA, HasCSSC]);
+ [HasSVE2p1, HasSVEB16B16, HasPAuthLR, HasCPA, HasCSSC, HasMOPS, HasMOPS_GO]);
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td b/llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
index 3759dc99cea9f..ad1f62ad6aa53 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
@@ -19,7 +19,7 @@ def NeoverseN3Model : SchedMachineModel {
let CompleteModel = 1;
list<Predicate> UnsupportedFeatures = !listconcat(SMEUnsupported.F,
- [HasSVE2p1, HasSVEB16B16, HasPAuthLR, HasCPA, HasCSSC]);
+ [HasSVE2p1, HasSVEB16B16, HasPAuthLR, HasCPA, HasCSSC, HasMOPS, HasMOPS_GO]);
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td b/llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
index d333dfcc50d33..909d1dffacac5 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
@@ -31,7 +31,7 @@ def NeoverseV1Model : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SVE2Unsupported.F,
SMEUnsupported.F,
[HasMTE, HasCPA,
- HasCSSC]);
+ HasCSSC, HasMOPS, HasMOPS_GO]);
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td b/llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
index 275bbaf5fba4c..46c41660604f3 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
@@ -25,7 +25,7 @@ def NeoverseV2Model : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SMEUnsupported.F,
[HasSVE2p1, HasSVEB16B16,
- HasCPA, HasCSSC]);
+ HasCPA, HasCSSC, HasMOPS, HasMOPS_GO]);
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/Target/AArch64/AArch64SchedNeoverseV3.td b/llvm/lib/Target/AArch64/AArch64SchedNeoverseV3.td
index 3e210f088c45b..b6e5bc308ceb6 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedNeoverseV3.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedNeoverseV3.td
@@ -23,7 +23,7 @@ def NeoverseV3Model : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SMEUnsupported.F,
[HasSVE2p1, HasSVEB16B16,
- HasCPA, HasCSSC]);
+ HasCPA, HasCSSC, HasMOPS, HasMOPS_GO]);
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/Target/AArch64/AArch64SchedNeoverseV3AE.td b/llvm/lib/Target/AArch64/AArch64SchedNeoverseV3AE.td
index 470385ae23c93..606e2a3fd1c38 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedNeoverseV3AE.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedNeoverseV3AE.td
@@ -23,7 +23,7 @@ def NeoverseV3AEModel : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SMEUnsupported.F,
[HasSVE2p1, HasSVEB16B16,
- HasCPA, HasCSSC]);
+ HasCPA, HasCSSC, HasMOPS, HasMOPS_GO]);
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/Target/AArch64/AArch64SchedOlympus.td b/llvm/lib/Target/AArch64/AArch64SchedOlympus.td
index 7798096c10dc2..67fdec3b7d9d9 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedOlympus.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedOlympus.td
@@ -26,7 +26,7 @@ def OlympusModel : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SMEUnsupported.F,
[HasSVE2p1, HasSVEB16B16,
HasCPA, HasCSSC,
- HasMatMulFP64]);
+ HasMatMulFP64, HasMOPS, HasMOPS_GO]);
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/Target/AArch64/AArch64SchedOryon.td b/llvm/lib/Target/AArch64/AArch64SchedOryon.td
index 435eaf99c6175..e113bf4525274 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedOryon.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedOryon.td
@@ -27,7 +27,7 @@ def OryonModel : SchedMachineModel {
SMEUnsupported.F,
MTEUnsupported.F,
PAUnsupported.F,
- [HasPAuth, HasCSSC]);
+ [HasPAuth, HasCSSC, HasMOPS, HasMOPS_GO]);
}
let SchedModel = OryonModel in {
diff --git a/llvm/lib/Target/AArch64/AArch64SchedTSV110.td b/llvm/lib/Target/AArch64/AArch64SchedTSV110.td
index 1c577a25bf739..160f51f63f197 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedTSV110.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedTSV110.td
@@ -27,7 +27,7 @@ def TSV110Model : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SVEUnsupported.F,
PAUnsupported.F,
SMEUnsupported.F,
- [HasMTE, HasCSSC]);
+ [HasMTE, HasCSSC, HasMOPS, HasMOPS_GO]);
}
// Define each kind of processor resource and number available on the TSV110,
diff --git a/llvm/lib/Target/AArch64/AArch64SchedThunderX.td b/llvm/lib/Target/AArch64/AArch64SchedThunderX.td
index 8df3f56e45738..e9f2d7618e199 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedThunderX.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedThunderX.td
@@ -28,7 +28,7 @@ def ThunderXT8XModel : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SVEUnsupported.F,
PAUnsupported.F,
SMEUnsupported.F,
- [HasMTE, HasCSSC]);
+ [HasMTE, HasCSSC, HasMOPS, HasMOPS_GO]);
// FIXME: Remove when all errors have been fixed.
let FullInstRWOverlapCheck = 0;
}
diff --git a/llvm/lib/Target/AArch64/AArch64SchedThunderX2T99.td b/llvm/lib/Target/AArch64/AArch64SchedThunderX2T99.td
index ef4baa3dedff9..5d2adb938d687 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedThunderX2T99.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedThunderX2T99.td
@@ -28,7 +28,7 @@ def ThunderX2T99Model : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SVEUnsupported.F,
PAUnsupported.F,
SMEUnsupported.F,
- [HasMTE, HasCSSC]);
+ [HasMTE, HasCSSC, HasMOPS, HasMOPS_GO]);
// FIXME: Remove when all errors have been fixed.
let FullInstRWOverlapCheck = 0;
}
@@ -1865,4 +1865,3 @@ def : InstRW<[THX2T99Write_8Cyc_I012, WriteAtomic],
(instrs STLLRB, STLLRH, STLLRW, STLLRX)>;
} // SchedModel = ThunderX2T99Model
-
diff --git a/llvm/lib/Target/AArch64/AArch64SchedThunderX3T110.td b/llvm/lib/Target/AArch64/AArch64SchedThunderX3T110.td
index 796bd4b8b5c9a..80f37d306a48a 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedThunderX3T110.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedThunderX3T110.td
@@ -27,7 +27,7 @@ def ThunderX3T110Model : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SVEUnsupported.F,
PAUnsupported.F,
SMEUnsupported.F,
- [HasMTE, HasCSSC]);
+ [HasMTE, HasCSSC, HasMOPS, HasMOPS_GO]);
// FIXME: Remove when all errors have been fixed.
let FullInstRWOverlapCheck = 0;
}
diff --git a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
similarity index 76%
rename from llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s
rename to llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
index a073980da474a..dd2696fe327c7 100644
--- a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-basic-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
@@ -1,1425 +1,5 @@
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -instruction-tables < %s | FileCheck %s
-
-#------------------------------------------------------------------------------
-# Add/sub (immediate)
-#------------------------------------------------------------------------------
-
-add w2, w3, #4095
-add w30, w29, #1, lsl #12
-add w13, w5, #4095, lsl #12
-add x5, x7, #1638
-add w20, wsp, #801
-add wsp, wsp, #1104
-add wsp, w30, #4084
-add x0, x24, #291
-add x3, x24, #4095, lsl #12
-add x8, sp, #1074
-add sp, x29, #3816
-sub w0, wsp, #4077
-sub w4, w20, #546, lsl #12
-sub sp, sp, #288
-sub wsp, w19, #16
-adds w13, w23, #291, lsl #12
-cmn w2, #4095
-adds w20, wsp, #0
-cmn x3, #1, lsl #12
-cmp sp, #20, lsl #12
-cmp x30, #4095
-subs x4, sp, #3822
-cmn w3, #291, lsl #12
-cmn wsp, #1365
-cmn sp, #1092, lsl #12
-mov sp, x30
-mov wsp, w20
-mov x11, sp
-mov w24, wsp
-
-#------------------------------------------------------------------------------
-# Add-subtract (shifted register)
-#------------------------------------------------------------------------------
-
-add w3, w5, w7
-add wzr, w3, w5
-add w20, wzr, w4
-add w4, w6, wzr
-add w11, w13, w15
-add w9, w3, wzr, lsl #10
-add w17, w29, w20, lsl #31
-add w21, w22, w23, lsr #0
-add w24, w25, w26, lsr #18
-add w27, w28, w29, lsr #31
-add w2, w3, w4, asr #0
-add w5, w6, w7, asr #21
-add w8, w9, w10, asr #31
-add x3, x5, x7
-add xzr, x3, x5
-add x20, xzr, x4
-add x4, x6, xzr
-add x11, x13, x15
-add x9, x3, xzr, lsl #10
-add x17, x29, x20, lsl #63
-add x21, x22, x23, lsr #0
-add x24, x25, x26, lsr #18
-add x27, x28, x29, lsr #63
-add x2, x3, x4, asr #0
-add x5, x6, x7, asr #21
-add x8, x9, x10, asr #63
-adds w3, w5, w7
-cmn w3, w5
-adds w20, wzr, w4
-adds w4, w6, wzr
-adds w11, w13, w15
-adds w9, w3, wzr, lsl #10
-adds w17, w29, w20, lsl #31
-adds w21, w22, w23, lsr #0
-adds w24, w25, w26, lsr #18
-adds w27, w28, w29, lsr #31
-adds w2, w3, w4, asr #0
-adds w5, w6, w7, asr #21
-adds w8, w9, w10, asr #31
-adds x3, x5, x7
-cmn x3, x5
-adds x20, xzr, x4
-adds x4, x6, xzr
-adds x11, x13, x15
-adds x9, x3, xzr, lsl #10
-adds x17, x29, x20, lsl #63
-adds x21, x22, x23, lsr #0
-adds x24, x25, x26, lsr #18
-adds x27, x28, x29, lsr #63
-adds x2, x3, x4, asr #0
-adds x5, x6, x7, asr #21
-adds x8, x9, x10, asr #63
-sub w3, w5, w7
-sub wzr, w3, w5
-sub w4, w6, wzr
-sub w11, w13, w15
-sub w9, w3, wzr, lsl #10
-sub w17, w29, w20, lsl #31
-sub w21, w22, w23, lsr #0
-sub w24, w25, w26, lsr #18
-sub w27, w28, w29, lsr #31
-sub w2, w3, w4, asr #0
-sub w5, w6, w7, asr #21
-sub w8, w9, w10, asr #31
-sub x3, x5, x7
-sub xzr, x3, x5
-sub x4, x6, xzr
-sub x11, x13, x15
-sub x9, x3, xzr, lsl #10
-sub x17, x29, x20, lsl #63
-sub x21, x22, x23, lsr #0
-sub x24, x25, x26, lsr #18
-sub x27, x28, x29, lsr #63
-sub x2, x3, x4, asr #0
-sub x5, x6, x7, asr #21
-sub x8, x9, x10, asr #63
-subs w3, w5, w7
-cmp w3, w5
-subs w4, w6, wzr
-subs w11, w13, w15
-subs w9, w3, wzr, lsl #10
-subs w17, w29, w20, lsl #31
-subs w21, w22, w23, lsr #0
-subs w24, w25, w26, lsr #18
-subs w27, w28, w29, lsr #31
-subs w2, w3, w4, asr #0
-subs w5, w6, w7, asr #21
-subs w8, w9, w10, asr #31
-subs x3, x5, x7
-cmp x3, x5
-subs x4, x6, xzr
-subs x11, x13, x15
-subs x9, x3, xzr, lsl #10
-subs x17, x29, x20, lsl #63
-subs x21, x22, x23, lsr #0
-subs x24, x25, x26, lsr #18
-subs x27, x28, x29, lsr #63
-subs x2, x3, x4, asr #0
-subs x5, x6, x7, asr #21
-subs x8, x9, x10, asr #63
-cmn wzr, w4
-cmn w5, wzr
-cmn w6, w7
-cmn w8, w9, lsl #15
-cmn w10, w11, lsl #31
-cmn w12, w13, lsr #0
-cmn w14, w15, lsr #21
-cmn w16, w17, lsr #31
-cmn w18, w19, asr #0
-cmn w20, w21, asr #22
-cmn w22, w23, asr #31
-cmn x0, x3
-cmn xzr, x4
-cmn x5, xzr
-cmn x6, x7
-cmn x8, x9, lsl #15
-cmn x10, x11, lsl #63
-cmn x12, x13, lsr #0
-cmn x14, x15, lsr #41
-cmn x16, x17, lsr #63
-cmn x18, x19, asr #0
-cmn x20, x21, asr #55
-cmn x22, x23, asr #63
-cmp w0, w3
-cmp wzr, w4
-cmp w5, wzr
-cmp w6, w7
-cmp w8, w9, lsl #15
-cmp w10, w11, lsl #31
-cmp w12, w13, lsr #0
-cmp w14, w15, lsr #21
-cmp w18, w19, asr #0
-cmp w20, w21, asr #22
-cmp w22, w23, asr #31
-cmp x0, x3
-cmp xzr, x4
-cmp x5, xzr
-cmp x6, x7
-cmp x8, x9, lsl #15
-cmp x10, x11, lsl #63
-cmp x12, x13, lsr #0
-cmp x14, x15, lsr #41
-cmp x16, x17, lsr #63
-cmp x18, x19, asr #0
-cmp x20, x21, asr #55
-cmp x22, x23, asr #63
-cmp wzr, w0
-cmp xzr, x0
-
-#------------------------------------------------------------------------------
-# Add-subtract (shifted register)
-#------------------------------------------------------------------------------
-
-adc w29, w27, w25
-adc wzr, w3, w4
-adc w9, wzr, w10
-adc w20, w0, wzr
-adc x29, x27, x25
-adc xzr, x3, x4
-adc x9, xzr, x10
-adc x20, x0, xzr
-adcs w29, w27, w25
-adcs wzr, w3, w4
-adcs w9, wzr, w10
-adcs w20, w0, wzr
-adcs x29, x27, x25
-adcs xzr, x3, x4
-adcs x9, xzr, x10
-adcs x20, x0, xzr
-sbc w29, w27, w25
-sbc wzr, w3, w4
-ngc w9, w10
-sbc w20, w0, wzr
-sbc x29, x27, x25
-sbc xzr, x3, x4
-ngc x9, x10
-sbc x20, x0, xzr
-sbcs w29, w27, w25
-sbcs wzr, w3, w4
-ngcs w9, w10
-sbcs w20, w0, wzr
-sbcs x29, x27, x25
-sbcs xzr, x3, x4
-ngcs x9, x10
-sbcs x20, x0, xzr
-ngc w3, w12
-ngc wzr, w9
-ngc w23, wzr
-ngc x29, x30
-ngc xzr, x0
-ngc x0, xzr
-ngcs w3, w12
-ngcs wzr, w9
-ngcs w23, wzr
-ngcs x29, x30
-ngcs xzr, x0
-ngcs x0, xzr
-
-#------------------------------------------------------------------------------
-# Compare and branch (immediate)
-#------------------------------------------------------------------------------
-
-sbfx x1, x2, #3, #2
-asr x3, x4, #63
-asr wzr, wzr, #31
-sbfx w12, w9, #0, #1
-ubfiz x4, x5, #52, #11
-ubfx xzr, x4, #0, #1
-ubfiz x4, xzr, #1, #6
-lsr x5, x6, #12
-bfi x4, x5, #52, #11
-bfxil xzr, x4, #0, #1
-bfi x4, xzr, #1, #6
-bfxil x5, x6, #12, #52
-sxtb w1, w2
-sxtb xzr, w3
-sxth w9, w10
-sxth x0, w1
-sxtw x3, w30
-uxtb w1, w2
-uxth w9, w10
-ubfx x3, x30, #0, #32
-asr w3, w2, #0
-asr w9, w10, #31
-asr x20, x21, #63
-asr w1, wzr, #3
-lsr w3, w2, #0
-lsr w9, w10, #31
-lsr x20, x21, #63
-lsr wzr, wzr, #3
-lsr w3, w2, #0
-lsl w9, w10, #31
-lsl x20, x21, #63
-lsl w1, wzr, #3
-sbfx w9, w10, #0, #1
-sbfiz x2, x3, #63, #1
-asr x19, x20, #0
-sbfiz x9, x10, #5, #59
-asr w9, w10, #0
-sbfiz w11, w12, #31, #1
-sbfiz w13, w14, #29, #3
-sbfiz xzr, xzr, #10, #11
-sbfx w9, w10, #0, #1
-asr x2, x3, #63
-asr x19, x20, #0
-asr x9, x10, #5
-asr w9, w10, #0
-asr w11, w12, #31
-asr w13, w14, #29
-sbfx xzr, xzr, #10, #11
-bfxil w9, w10, #0, #1
-bfi x2, x3, #63, #1
-bfxil x19, x20, #0, #64
-bfi x9, x10, #5, #59
-bfxil w9, w10, #0, #32
-bfi w11, w12, #31, #1
-bfi w13, w14, #29, #3
-bfi xzr, xzr, #10, #11
-bfxil w9, w10, #0, #1
-bfxil x2, x3, #63, #1
-bfxil x19, x20, #0, #64
-bfxil x9, x10, #5, #59
-bfxil w9, w10, #0, #32
-bfxil w11, w12, #31, #1
-bfxil w13, w14, #29, #3
-bfxil xzr, xzr, #10, #11
-ubfx w9, w10, #0, #1
-lsl x2, x3, #63
-lsr x19, x20, #0
-lsl x9, x10, #5
-lsr w9, w10, #0
-lsl w11, w12, #31
-lsl w13, w14, #29
-ubfiz xzr, xzr, #10, #11
-ubfx w9, w10, #0, #1
-lsr x2, x3, #63
-lsr x19, x20, #0
-lsr x9, x10, #5
-lsr w9, w10, #0
-lsr w11, w12, #31
-lsr w13, w14, #29
-ubfx xzr, xzr, #10, #11
-
-#------------------------------------------------------------------------------
-# Compare and branch (immediate)
-#------------------------------------------------------------------------------
-
-cbz w5, #4
-cbz x5, #0
-cbnz x2, #-4
-cbnz x26, #1048572
-cbz wzr, #0
-cbnz xzr, #0
-
-#------------------------------------------------------------------------------
-# Conditional branch (immediate)
-#------------------------------------------------------------------------------
-
-b.ne #4
-b.ge #1048572
-b.ge #-4
-
-#------------------------------------------------------------------------------
-# Conditional compare (immediate)
-#------------------------------------------------------------------------------
-
-ccmp w1, #31, #0, eq
-ccmp w3, #0, #15, hs
-ccmp wzr, #15, #13, hs
-ccmp x9, #31, #0, le
-ccmp x3, #0, #15, gt
-ccmp xzr, #5, #7, ne
-ccmn w1, #31, #0, eq
-ccmn w3, #0, #15, hs
-ccmn wzr, #15, #13, hs
-ccmn x9, #31, #0, le
-ccmn x3, #0, #15, gt
-ccmn xzr, #5, #7, ne
-
-#------------------------------------------------------------------------------
-# Conditional compare (register)
-#------------------------------------------------------------------------------
-
-ccmp w1, wzr, #0, eq
-ccmp w3, w0, #15, hs
-ccmp wzr, w15, #13, hs
-ccmp x9, xzr, #0, le
-ccmp x3, x0, #15, gt
-ccmp xzr, x5, #7, ne
-ccmn w1, wzr, #0, eq
-ccmn w3, w0, #15, hs
-ccmn wzr, w15, #13, hs
-ccmn x9, xzr, #0, le
-ccmn x3, x0, #15, gt
-ccmn xzr, x5, #7, ne
-
-#------------------------------------------------------------------------------
-# Conditional branch (immediate)
-#------------------------------------------------------------------------------
-
-csel w1, w0, w19, ne
-csel wzr, w5, w9, eq
-csel w9, wzr, w30, gt
-csel w1, w28, wzr, mi
-csel x19, x23, x29, lt
-csel xzr, x3, x4, ge
-csel x5, xzr, x6, hs
-csel x7, x8, xzr, lo
-csinc w1, w0, w19, ne
-csinc wzr, w5, w9, eq
-csinc w9, wzr, w30, gt
-csinc w1, w28, wzr, mi
-csinc x19, x23, x29, lt
-csinc xzr, x3, x4, ge
-csinc x5, xzr, x6, hs
-csinc x7, x8, xzr, lo
-csinv w1, w0, w19, ne
-csinv wzr, w5, w9, eq
-csinv w9, wzr, w30, gt
-csinv w1, w28, wzr, mi
-csinv x19, x23, x29, lt
-csinv xzr, x3, x4, ge
-csinv x5, xzr, x6, hs
-csinv x7, x8, xzr, lo
-csneg w1, w0, w19, ne
-csneg wzr, w5, w9, eq
-csneg w9, wzr, w30, gt
-csneg w1, w28, wzr, mi
-csneg x19, x23, x29, lt
-csneg xzr, x3, x4, ge
-csneg x5, xzr, x6, hs
-csneg x7, x8, xzr, lo
-cset w3, eq
-cset x9, pl
-csetm w20, ne
-csetm x30, ge
-csinc w2, wzr, wzr, al
-csinv x3, xzr, xzr, nv
-cinc w3, w5, gt
-cinc wzr, w4, le
-cset w9, lt
-cinc x3, x5, gt
-cinc xzr, x4, le
-cset x9, lt
-csinc w5, w6, w6, nv
-csinc x1, x2, x2, al
-cinv w3, w5, gt
-cinv wzr, w4, le
-csetm w9, lt
-cinv x3, x5, gt
-cinv xzr, x4, le
-csetm x9, lt
-csinv x1, x0, x0, al
-csinv w9, w8, w8, nv
-cneg w3, w5, gt
-cneg wzr, w4, le
-cneg w9, wzr, lt
-cneg x3, x5, gt
-cneg xzr, x4, le
-cneg x9, xzr, lt
-csneg x4, x8, x8, al
-csinv w9, w8, w8, nv
-
-#------------------------------------------------------------------------------
-# Data-processing (1 source)
-#------------------------------------------------------------------------------
-
-rbit w0, w7
-rbit x18, x3
-rev16 w17, w1
-rev16 x5, x2
-rev w18, w0
-rev32 x20, x1
-rev x22, x2
-clz w24, w3
-clz x26, x4
-cls w3, w5
-cls x20, x5
-
-#------------------------------------------------------------------------------
-# Data-processing (2 source)
-#------------------------------------------------------------------------------
-
-udiv w0, w7, w10
-udiv x9, x22, x4
-sdiv w12, w21, w0
-sdiv x13, x2, x1
-lsl w11, w12, w13
-lsl x14, x15, x16
-lsr w17, w18, w19
-lsr x20, x21, x22
-asr w23, w24, w25
-asr x26, x27, x28
-ror w0, w1, w2
-ror x3, x4, x5
-lsl w6, w7, w8
-lsl x9, x10, x11
-lsr w12, w13, w14
-lsr x15, x16, x17
-asr w18, w19, w20
-asr x21, x22, x23
-ror w24, w25, w26
-ror x27, x28, x29
-
-#------------------------------------------------------------------------------
-# Data-processing (3 sources)
-#------------------------------------------------------------------------------
-
-smulh x30, x29, x28
-smulh xzr, x27, x26
-umulh x30, x29, x28
-umulh x23, x30, xzr
-madd w1, w3, w7, w4
-madd wzr, w0, w9, w11
-madd w13, wzr, w4, w4
-madd w19, w30, wzr, w29
-mul w4, w5, w6
-madd x1, x3, x7, x4
-madd xzr, x0, x9, x11
-madd x13, xzr, x4, x4
-madd x19, x30, xzr, x29
-mul x4, x5, x6
-msub w1, w3, w7, w4
-msub wzr, w0, w9, w11
-msub w13, wzr, w4, w4
-msub w19, w30, wzr, w29
-mneg w4, w5, w6
-msub x1, x3, x7, x4
-msub xzr, x0, x9, x11
-msub x13, xzr, x4, x4
-msub x19, x30, xzr, x29
-mneg x4, x5, x6
-smaddl x3, w5, w2, x9
-smaddl xzr, w10, w11, x12
-smaddl x13, wzr, w14, x15
-smaddl x16, w17, wzr, x18
-smull x19, w20, w21
-smsubl x3, w5, w2, x9
-smsubl xzr, w10, w11, x12
-smsubl x13, wzr, w14, x15
-smsubl x16, w17, wzr, x18
-smnegl x19, w20, w21
-umaddl x3, w5, w2, x9
-umaddl xzr, w10, w11, x12
-umaddl x13, wzr, w14, x15
-umaddl x16, w17, wzr, x18
-umull x19, w20, w21
-umsubl x3, w5, w2, x9
-umsubl x16, w17, wzr, x18
-umnegl x19, w20, w21
-smulh x30, x29, x28
-smulh x23, x22, xzr
-umulh x23, x22, xzr
-mul x19, x20, xzr
-mneg w21, w22, w23
-smull x11, w13, w17
-umull x11, w13, w17
-smnegl x11, w13, w17
-umnegl x11, w13, w17
-
-#------------------------------------------------------------------------------
-# Extract (immediate)
-#------------------------------------------------------------------------------
-
-extr w3, w5, w7, #0
-extr w11, w13, w17, #31
-extr x3, x5, x7, #15
-extr x11, x13, x17, #63
-ror x19, x23, #24
-ror x29, xzr, #63
-ror w9, w13, #31
-
-#------------------------------------------------------------------------------
-# Floating-point compare
-#------------------------------------------------------------------------------
-
-fcmp s3, s5
-fcmp s31, #0.0
-fcmp s31, #0.0
-fcmpe s29, s30
-fcmpe s15, #0.0
-fcmpe s15, #0.0
-fcmp d4, d12
-fcmp d23, #0.0
-fcmp d23, #0.0
-fcmpe d26, d22
-fcmpe d29, #0.0
-fcmpe d29, #0.0
-
-#------------------------------------------------------------------------------
-# Floating-point conditional compare
-#------------------------------------------------------------------------------
-
-fccmp s1, s31, #0, eq
-fccmp s3, s0, #15, hs
-fccmp s31, s15, #13, hs
-fccmp d9, d31, #0, le
-fccmp d3, d0, #15, gt
-fccmp d31, d5, #7, ne
-fccmpe s1, s31, #0, eq
-fccmpe s3, s0, #15, hs
-fccmpe s31, s15, #13, hs
-fccmpe d9, d31, #0, le
-fccmpe d3, d0, #15, gt
-fccmpe d31, d5, #7, ne
-
-#-------------------------------------------------------------------------------
-# Floating-point conditional compare
-#-------------------------------------------------------------------------------
-
-fcsel s3, s20, s9, pl
-fcsel d9, d10, d11, mi
-
-#------------------------------------------------------------------------------
-# Floating-point data-processing (1 source)
-#------------------------------------------------------------------------------
-
-fmov s0, s1
-fabs s2, s3
-fneg s4, s5
-fsqrt s6, s7
-fcvt d8, s9
-fcvt h10, s11
-frintn s12, s13
-frintp s14, s15
-frintm s16, s17
-frintz s18, s19
-frinta s20, s21
-frintx s22, s23
-frinti s24, s25
-fmov d0, d1
-fabs d2, d3
-fneg d4, d5
-fsqrt d6, d7
-fcvt s8, d9
-fcvt h10, d11
-frintn d12, d13
-frintp d14, d15
-frintm d16, d17
-frintz d18, d19
-frinta d20, d21
-frintx d22, d23
-frinti d24, d25
-fcvt s26, h27
-fcvt d28, h29
-
-#------------------------------------------------------------------------------
-# Floating-point data-processing (2 sources)
-#------------------------------------------------------------------------------
-
-fmul s20, s19, s17
-fdiv s1, s2, s3
-fadd s4, s5, s6
-fsub s7, s8, s9
-fmax s10, s11, s12
-fmin s13, s14, s15
-fmaxnm s16, s17, s18
-fminnm s19, s20, s21
-fnmul s22, s23, s2
-fmul d20, d19, d17
-fdiv d1, d2, d3
-fadd d4, d5, d6
-fsub d7, d8, d9
-fmax d10, d11, d12
-fmin d13, d14, d15
-fmaxnm d16, d17, d18
-fminnm d19, d20, d21
-fnmul d22, d23, d24
-
-#------------------------------------------------------------------------------
-# Floating-point data-processing (1 source)
-#------------------------------------------------------------------------------
-
-fmadd s3, s5, s6, s31
-fmadd d3, d13, d0, d23
-fmsub s3, s5, s6, s31
-fmsub d3, d13, d0, d23
-fnmadd s3, s5, s6, s31
-fnmadd d3, d13, d0, d23
-fnmsub s3, s5, s6, s31
-fnmsub d3, d13, d0, d23
-
-#------------------------------------------------------------------------------
-# Floating-point <-> fixed-point conversion
-#------------------------------------------------------------------------------
-
-fcvtzs w3, h5, #1
-fcvtzs wzr, h20, #13
-fcvtzs w19, h0, #32
-fcvtzs x3, h5, #1
-fcvtzs x12, h30, #45
-fcvtzs x19, h0, #64
-fcvtzs w3, s5, #1
-fcvtzs wzr, s20, #13
-fcvtzs w19, s0, #32
-fcvtzs x3, s5, #1
-fcvtzs x12, s30, #45
-fcvtzs x19, s0, #64
-fcvtzs w3, d5, #1
-fcvtzs wzr, d20, #13
-fcvtzs w19, d0, #32
-fcvtzs x3, d5, #1
-fcvtzs x12, d30, #45
-fcvtzs x19, d0, #64
-fcvtzu w3, h5, #1
-fcvtzu wzr, h20, #13
-fcvtzu w19, h0, #32
-fcvtzu x3, h5, #1
-fcvtzu x12, h30, #45
-fcvtzu x19, h0, #64
-fcvtzu w3, s5, #1
-fcvtzu wzr, s20, #13
-fcvtzu w19, s0, #32
-fcvtzu x3, s5, #1
-fcvtzu x12, s30, #45
-fcvtzu x19, s0, #64
-fcvtzu w3, d5, #1
-fcvtzu wzr, d20, #13
-fcvtzu w19, d0, #32
-fcvtzu x3, d5, #1
-fcvtzu x12, d30, #45
-fcvtzu x19, d0, #64
-scvtf h23, w19, #1
-scvtf h31, wzr, #20
-scvtf h14, w0, #32
-scvtf h23, x19, #1
-scvtf h31, xzr, #20
-scvtf h14, x0, #64
-scvtf s23, w19, #1
-scvtf s31, wzr, #20
-scvtf s14, w0, #32
-scvtf s23, x19, #1
-scvtf s31, xzr, #20
-scvtf s14, x0, #64
-scvtf d23, w19, #1
-scvtf d31, wzr, #20
-scvtf d14, w0, #32
-scvtf d23, x19, #1
-scvtf d31, xzr, #20
-scvtf d14, x0, #64
-ucvtf h23, w19, #1
-ucvtf h31, wzr, #20
-ucvtf h14, w0, #32
-ucvtf h23, x19, #1
-ucvtf h31, xzr, #20
-ucvtf h14, x0, #64
-ucvtf s23, w19, #1
-ucvtf s31, wzr, #20
-ucvtf s14, w0, #32
-ucvtf s23, x19, #1
-ucvtf s31, xzr, #20
-ucvtf s14, x0, #64
-ucvtf d23, w19, #1
-ucvtf d31, wzr, #20
-ucvtf d14, w0, #32
-ucvtf d23, x19, #1
-ucvtf d31, xzr, #20
-ucvtf d14, x0, #64
-
-#------------------------------------------------------------------------------
-# Floating-point <-> integer conversion
-#------------------------------------------------------------------------------
-
-fcvtns w3, h31
-fcvtns xzr, h12
-fcvtnu wzr, h12
-fcvtnu x0, h0
-fcvtps wzr, h9
-fcvtps x12, h20
-fcvtpu w30, h23
-fcvtpu x29, h3
-fcvtms w2, h3
-fcvtms x4, h5
-fcvtmu w6, h7
-fcvtmu x8, h9
-fcvtzs w10, h11
-fcvtzs x12, h13
-fcvtzu w14, h15
-fcvtzu x15, h16
-scvtf h17, w18
-scvtf h19, x20
-ucvtf h21, w22
-scvtf h23, x24
-fcvtas w25, h26
-fcvtas x27, h28
-fcvtau w29, h30
-fcvtau xzr, h0
-fcvtns w3, s31
-fcvtns xzr, s12
-fcvtnu wzr, s12
-fcvtnu x0, s0
-fcvtps wzr, s9
-fcvtps x12, s20
-fcvtpu w30, s23
-fcvtpu x29, s3
-fcvtms w2, s3
-fcvtms x4, s5
-fcvtmu w6, s7
-fcvtmu x8, s9
-fcvtzs w10, s11
-fcvtzs x12, s13
-fcvtzu w14, s15
-fcvtzu x15, s16
-scvtf s17, w18
-scvtf s19, x20
-ucvtf s21, w22
-scvtf s23, x24
-fcvtas w25, s26
-fcvtas x27, s28
-fcvtau w29, s30
-fcvtau xzr, s0
-fcvtns w3, d31
-fcvtns xzr, d12
-fcvtnu wzr, d12
-fcvtnu x0, d0
-fcvtps wzr, d9
-fcvtps x12, d20
-fcvtpu w30, d23
-fcvtpu x29, d3
-fcvtms w2, d3
-fcvtms x4, d5
-fcvtmu w6, d7
-fcvtmu x8, d9
-fcvtzs w10, d11
-fcvtzs x12, d13
-fcvtzu w14, d15
-fcvtzu x15, d16
-scvtf d17, w18
-scvtf d19, x20
-ucvtf d21, w22
-ucvtf d23, x24
-fcvtas w25, d26
-fcvtas x27, d28
-fcvtau w29, d30
-fcvtau xzr, d0
-fmov w3, s9
-fmov s9, w3
-fmov x20, d31
-fmov d1, x15
-fmov x3, v12.d[1]
-fmov v1.d[1], x19
-
-#------------------------------------------------------------------------------
-# Floating-point immediate
-#------------------------------------------------------------------------------
-
-fmov s2, #0.12500000
-fmov s3, #1.00000000
-fmov d30, #16.00000000
-fmov s4, #1.06250000
-fmov d10, #1.93750000
-fmov s12, #-1.00000000
-fmov d16, #8.50000000
-
-#------------------------------------------------------------------------------
-# Load-register (literal)
-#------------------------------------------------------------------------------
-
-ldr w3, #0
-ldr x29, #4
-ldrsw xzr, #-4
-ldr s0, #8
-ldr d0, #1048572
-ldr q0, #-1048576
-prfm pldl1strm, #0
-prfm #22, #0
-
-#------------------------------------------------------------------------------
-# Load/store exclusive
-#------------------------------------------------------------------------------
-
-stxrb w18, w8, [sp]
-stxrh w24, w15, [x16]
-stxr w5, w6, [x17]
-stxr w1, x10, [x21]
-ldxrb w30, [x0]
-ldxrh w17, [x4]
-ldxr w22, [sp]
-ldxr x11, [x29]
-ldxr x11, [x29]
-ldxr x11, [x29]
-stxp w12, w11, w10, [sp]
-stxp wzr, x27, x9, [x12]
-ldxp w0, wzr, [sp]
-ldxp x17, x0, [x18]
-ldxp x17, x0, [x18]
-stlxrb w12, w22, [x0]
-stlxrh w10, w1, [x1]
-stlxr w9, w2, [x2]
-stlxr w9, x3, [sp]
-ldaxrb w8, [x4]
-ldaxrh w7, [x5]
-ldaxr w6, [sp]
-ldaxr x5, [x6]
-ldaxr x5, [x6]
-ldaxr x5, [x6]
-stlxp w4, w5, w6, [sp]
-stlxp wzr, x6, x7, [x1]
-ldaxp w5, w18, [sp]
-ldaxp x6, x19, [x22]
-ldaxp x6, x19, [x22]
-stlrb w24, [sp]
-stlrh w25, [x30]
-stlr w26, [x29]
-stlr x27, [x28]
-stlr x27, [x28]
-stlr x27, [x28]
-ldarb w23, [sp]
-ldarh w22, [x30]
-ldar wzr, [x29]
-ldar x21, [x28]
-ldar x21, [x28]
-ldar x21, [x28]
-
-#------------------------------------------------------------------------------
-# Load/store (unscaled immediate)
-#------------------------------------------------------------------------------
-
-sturb w9, [sp]
-sturh wzr, [x12, #255]
-stur w16, [x0, #-256]
-stur x28, [x14, #1]
-ldurb w1, [x20, #255]
-ldurh w20, [x1, #255]
-ldur w12, [sp, #255]
-ldur xzr, [x12, #255]
-ldursb x9, [x7, #-256]
-ldursh x17, [x19, #-256]
-ldursw x20, [x15, #-256]
-prfum pldl2keep, [sp, #-256]
-ldursb w19, [x1, #-256]
-ldursh w15, [x21, #-256]
-stur b0, [sp, #1]
-stur h12, [x12, #-1]
-stur s15, [x0, #255]
-stur d31, [x5, #25]
-stur q9, [x5]
-ldur b3, [sp]
-ldur h5, [x4, #-256]
-ldur s7, [x12, #-1]
-ldur d11, [x19, #4]
-ldur q13, [x1, #2]
-
-#------------------------------------------------------------------------------
-# Load/store (immediate post-indexed)
-#------------------------------------------------------------------------------
-
-strb w9, [x2], #255
-strb w10, [x3], #1
-strb w10, [x3], #-256
-strh w9, [x2], #255
-strh w9, [x2], #1
-strh w10, [x3], #-256
-str w19, [sp], #255
-str w20, [x30], #1
-str w21, [x12], #-256
-str xzr, [x9], #255
-str x2, [x3], #1
-str x19, [x12], #-256
-ldrb w9, [x2], #255
-ldrb w10, [x3], #1
-ldrb w10, [x3], #-256
-ldrh w9, [x2], #255
-ldrh w9, [x2], #1
-ldrh w10, [x3], #-256
-ldr w19, [sp], #255
-ldr w20, [x30], #1
-ldr w21, [x12], #-256
-ldr xzr, [x9], #255
-ldr x2, [x3], #1
-ldr x19, [x12], #-256
-ldrsb xzr, [x9], #255
-ldrsb x2, [x3], #1
-ldrsb x19, [x12], #-256
-ldrsh xzr, [x9], #255
-ldrsh x2, [x3], #1
-ldrsh x19, [x12], #-256
-ldrsw xzr, [x9], #255
-ldrsw x2, [x3], #1
-ldrsw x19, [x12], #-256
-ldrsb wzr, [x9], #255
-ldrsb w2, [x3], #1
-ldrsb w19, [x12], #-256
-ldrsh wzr, [x9], #255
-ldrsh w2, [x3], #1
-ldrsh w19, [x12], #-256
-str b0, [x0], #255
-str b3, [x3], #1
-str b5, [sp], #-256
-str h10, [x10], #255
-str h13, [x23], #1
-str h15, [sp], #-256
-str s20, [x20], #255
-str s23, [x23], #1
-str s25, [x0], #-256
-str d20, [x20], #255
-str d23, [x23], #1
-str d25, [x0], #-256
-ldr b0, [x0], #255
-ldr b3, [x3], #1
-ldr b5, [sp], #-256
-ldr h10, [x10], #255
-ldr h13, [x23], #1
-ldr h15, [sp], #-256
-ldr s20, [x20], #255
-ldr s23, [x23], #1
-ldr s25, [x0], #-256
-ldr d20, [x20], #255
-ldr d23, [x23], #1
-ldr d25, [x0], #-256
-ldr q20, [x1], #255
-ldr q23, [x9], #1
-ldr q25, [x20], #-256
-str q10, [x1], #255
-str q22, [sp], #1
-str q21, [x20], #-256
-
-#-------------------------------------------------------------------------------
-# Load-store register (immediate pre-indexed)
-#-------------------------------------------------------------------------------
-
-ldr x3, [x4, #0]!
-strb w9, [x2, #255]!
-strb w10, [x3, #1]!
-strb w10, [x3, #-256]!
-strh w9, [x2, #255]!
-strh w9, [x2, #1]!
-strh w10, [x3, #-256]!
-str w19, [sp, #255]!
-str w20, [x30, #1]!
-str w21, [x12, #-256]!
-str xzr, [x9, #255]!
-str x2, [x3, #1]!
-str x19, [x12, #-256]!
-ldrb w9, [x2, #255]!
-ldrb w10, [x3, #1]!
-ldrb w10, [x3, #-256]!
-ldrh w9, [x2, #255]!
-ldrh w9, [x2, #1]!
-ldrh w10, [x3, #-256]!
-ldr w19, [sp, #255]!
-ldr w20, [x30, #1]!
-ldr w21, [x12, #-256]!
-ldr xzr, [x9, #255]!
-ldr x2, [x3, #1]!
-ldr x19, [x12, #-256]!
-ldrsb xzr, [x9, #255]!
-ldrsb x2, [x3, #1]!
-ldrsb x19, [x12, #-256]!
-ldrsh xzr, [x9, #255]!
-ldrsh x2, [x3, #1]!
-ldrsh x19, [x12, #-256]!
-ldrsw xzr, [x9, #255]!
-ldrsw x2, [x3, #1]!
-ldrsw x19, [x12, #-256]!
-ldrsb wzr, [x9, #255]!
-ldrsb w2, [x3, #1]!
-ldrsb w19, [x12, #-256]!
-ldrsh wzr, [x9, #255]!
-ldrsh w2, [x3, #1]!
-ldrsh w19, [x12, #-256]!
-str b0, [x0, #255]!
-str b3, [x3, #1]!
-str b5, [sp, #-256]!
-str h10, [x10, #255]!
-str h13, [x23, #1]!
-str h15, [sp, #-256]!
-str s20, [x20, #255]!
-str s23, [x23, #1]!
-str s25, [x0, #-256]!
-str d20, [x20, #255]!
-str d23, [x23, #1]!
-str d25, [x0, #-256]!
-ldr b0, [x0, #255]!
-ldr b3, [x3, #1]!
-ldr b5, [sp, #-256]!
-ldr h10, [x10, #255]!
-ldr h13, [x23, #1]!
-ldr h15, [sp, #-256]!
-ldr s20, [x20, #255]!
-ldr s23, [x23, #1]!
-ldr s25, [x0, #-256]!
-ldr d20, [x20, #255]!
-ldr d23, [x23, #1]!
-ldr d25, [x0, #-256]!
-ldr q20, [x1, #255]!
-ldr q23, [x9, #1]!
-ldr q25, [x20, #-256]!
-str q10, [x1, #255]!
-str q22, [sp, #1]!
-str q21, [x20, #-256]!
-
-#------------------------------------------------------------------------------
-# Load/store (unprivileged)
-#------------------------------------------------------------------------------
-
-sttrb w9, [sp]
-sttrh wzr, [x12, #255]
-sttr w16, [x0, #-256]
-sttr x28, [x14, #1]
-ldtrb w1, [x20, #255]
-ldtrh w20, [x1, #255]
-ldtr w12, [sp, #255]
-ldtr xzr, [x12, #255]
-ldtrsb x9, [x7, #-256]
-ldtrsh x17, [x19, #-256]
-ldtrsw x20, [x15, #-256]
-ldtrsb w19, [x1, #-256]
-ldtrsh w15, [x21, #-256]
-
-#------------------------------------------------------------------------------
-# Load/store (unsigned immediate)
-#------------------------------------------------------------------------------
-
-ldr x4, [x29]
-ldr x30, [x12, #32760]
-ldr x20, [sp, #8]
-ldr xzr, [sp]
-ldr w2, [sp]
-ldr w17, [sp, #16380]
-ldr w13, [x2, #4]
-ldrsw x2, [x5, #4]
-ldrsw x23, [sp, #16380]
-ldrh w2, [x4]
-ldrsh w23, [x6, #8190]
-ldrsh wzr, [sp, #2]
-ldrsh x29, [x2, #2]
-ldrb w26, [x3, #121]
-ldrb w12, [x2]
-ldrsb w27, [sp, #4095]
-ldrsb xzr, [x15]
-str x30, [sp]
-str w20, [x4, #16380]
-strh w17, [sp, #8190]
-strb w23, [x3, #4095]
-strb wzr, [x2]
-ldr b31, [sp, #4095]
-ldr h20, [x2, #8190]
-ldr s10, [x19, #16380]
-ldr d3, [x10, #32760]
-str q12, [sp, #65520]
-
-#------------------------------------------------------------------------------
-# Load/store (register offset)
-#------------------------------------------------------------------------------
-
-ldrb w3, [sp, x5]
-ldrb w9, [x27, x6]
-ldrsb w10, [x30, x7]
-ldrb w11, [x29, x3, sxtx]
-strb w12, [x28, xzr, sxtx]
-ldrb w14, [x26, w6, uxtw]
-ldrsb w15, [x25, w7, uxtw]
-ldrb w17, [x23, w9, sxtw]
-ldrsb x18, [x22, w10, sxtw]
-ldrsh w3, [sp, x5]
-ldrsh w9, [x27, x6]
-ldrh w10, [x30, x7, lsl #1]
-strh w11, [x29, x3, sxtx]
-ldrh w12, [x28, xzr, sxtx]
-ldrsh x13, [x27, x5, sxtx #1]
-ldrh w14, [x26, w6, uxtw]
-ldrh w15, [x25, w7, uxtw]
-ldrsh w16, [x24, w8, uxtw #1]
-ldrh w17, [x23, w9, sxtw]
-ldrh w18, [x22, w10, sxtw]
-strh w19, [x21, wzr, sxtw #1]
-ldr w3, [sp, x5]
-ldr s9, [x27, x6]
-ldr w10, [x30, x7, lsl #2]
-ldr w11, [x29, x3, sxtx]
-str s12, [x28, xzr, sxtx]
-str w13, [x27, x5, sxtx #2]
-str w14, [x26, w6, uxtw]
-ldr w15, [x25, w7, uxtw]
-ldr w16, [x24, w8, uxtw #2]
-ldrsw x17, [x23, w9, sxtw]
-ldr w18, [x22, w10, sxtw]
-ldrsw x19, [x21, wzr, sxtw #2]
-ldr x3, [sp, x5]
-str x9, [x27, x6]
-ldr d10, [x30, x7, lsl #3]
-str x11, [x29, x3, sxtx]
-ldr x12, [x28, xzr, sxtx]
-ldr x13, [x27, x5, sxtx #3]
-prfm pldl1keep, [x26, w6, uxtw]
-ldr x15, [x25, w7, uxtw]
-ldr x16, [x24, w8, uxtw #3]
-ldr x17, [x23, w9, sxtw]
-ldr x18, [x22, w10, sxtw]
-str d19, [x21, wzr, sxtw #3]
-ldr q3, [sp, x5]
-ldr q9, [x27, x6]
-ldr q10, [x30, x7, lsl #4]
-str q11, [x29, x3, sxtx]
-str q12, [x28, xzr, sxtx]
-str q13, [x27, x5, sxtx #4]
-ldr q14, [x26, w6, uxtw]
-ldr q15, [x25, w7, uxtw]
-ldr q16, [x24, w8, uxtw #4]
-ldr q17, [x23, w9, sxtw]
-str q18, [x22, w10, sxtw]
-ldr q19, [x21, wzr, sxtw #4]
-
-#------------------------------------------------------------------------------
-# Load/store register pair (offset)
-#------------------------------------------------------------------------------
-
-ldp w3, w5, [sp]
-stp wzr, w9, [sp, #252]
-ldp w2, wzr, [sp, #-256]
-ldp w9, w10, [sp, #4]
-ldpsw x9, x10, [sp, #4]
-ldpsw x9, x10, [x2, #-256]
-ldpsw x20, x30, [sp, #252]
-ldp x21, x29, [x2, #504]
-ldp x22, x23, [x3, #-512]
-ldp x24, x25, [x4, #8]
-ldp s29, s28, [sp, #252]
-stp s27, s26, [sp, #-256]
-ldp s1, s2, [x3, #44]
-stp d3, d5, [x9, #504]
-stp d7, d11, [x10, #-512]
-ldp d2, d3, [x30, #-8]
-stp q3, q5, [sp]
-stp q17, q19, [sp, #1008]
-ldp q23, q29, [x1, #-1024]
-
-#------------------------------------------------------------------------------
-# Load/store register pair (post-indexed)
-#------------------------------------------------------------------------------
-
-ldp w3, w5, [sp], #0
-stp wzr, w9, [sp], #252
-ldp w2, wzr, [sp], #-256
-ldp w9, w10, [sp], #4
-ldpsw x9, x10, [sp], #4
-ldpsw x9, x10, [x2], #-256
-ldpsw x20, x30, [sp], #252
-ldp x21, x29, [x2], #504
-ldp x22, x23, [x3], #-512
-ldp x24, x25, [x4], #8
-ldp s29, s28, [sp], #252
-stp s27, s26, [sp], #-256
-ldp s1, s2, [x3], #44
-stp d3, d5, [x9], #504
-stp d7, d11, [x10], #-512
-ldp d2, d3, [x30], #-8
-stp q3, q5, [sp], #0
-stp q17, q19, [sp], #1008
-ldp q23, q29, [x1], #-1024
-
-#------------------------------------------------------------------------------
-# Load/store register pair (pre-indexed)
-#------------------------------------------------------------------------------
-
-ldp w3, w5, [sp, #0]!
-stp wzr, w9, [sp, #252]!
-ldp w2, wzr, [sp, #-256]!
-ldp w9, w10, [sp, #4]!
-ldpsw x9, x10, [sp, #4]!
-ldpsw x9, x10, [x2, #-256]!
-ldpsw x20, x30, [sp, #252]!
-ldp x21, x29, [x2, #504]!
-ldp x22, x23, [x3, #-512]!
-ldp x24, x25, [x4, #8]!
-ldp s29, s28, [sp, #252]!
-stp s27, s26, [sp, #-256]!
-ldp s1, s2, [x3, #44]!
-stp d3, d5, [x9, #504]!
-stp d7, d11, [x10, #-512]!
-ldp d2, d3, [x30, #-8]!
-stp q3, q5, [sp, #0]!
-stp q17, q19, [sp, #1008]!
-ldp q23, q29, [x1, #-1024]!
-
-#------------------------------------------------------------------------------
-# Load/store register pair (offset)
-#------------------------------------------------------------------------------
-
-ldnp w3, w5, [sp]
-stnp wzr, w9, [sp, #252]
-ldnp w2, wzr, [sp, #-256]
-ldnp w9, w10, [sp, #4]
-ldnp x21, x29, [x2, #504]
-ldnp x22, x23, [x3, #-512]
-ldnp x24, x25, [x4, #8]
-ldnp s29, s28, [sp, #252]
-stnp s27, s26, [sp, #-256]
-ldnp s1, s2, [x3, #44]
-stnp d3, d5, [x9, #504]
-stnp d7, d11, [x10, #-512]
-ldnp d2, d3, [x30, #-8]
-stnp q3, q5, [sp]
-stnp q17, q19, [sp, #1008]
-ldnp q23, q29, [x1, #-1024]
-
-#------------------------------------------------------------------------------
-# Logical (immediate)
-#------------------------------------------------------------------------------
-
-mov w3, #983055
-mov x10, #-6148914691236517206
-
-#------------------------------------------------------------------------------
-# Logical (shifted register)
-#------------------------------------------------------------------------------
-
-and w12, w23, w21
-and w16, w15, w1, lsl #1
-and w9, w4, w10, lsl #31
-and w3, w30, w11
-and x3, x5, x7, lsl #63
-and x5, x14, x19, asr #4
-and w3, w17, w19, ror #31
-and w0, w2, wzr, lsr #17
-and w3, w30, w11, asr #2
-and xzr, x4, x26
-and w3, wzr, w20, ror #2
-and x7, x20, xzr, asr #63
-bic x13, x20, x14, lsl #47
-bic w2, w7, w9
-orr w2, w7, w0, asr #31
-orr x8, x9, x10, lsl #12
-orn x3, x5, x7, asr #2
-orn w2, w5, w29
-ands w7, wzr, w9, lsl #1
-ands x3, x5, x20, ror #63
-bics w3, w5, w7
-bics x3, xzr, x3, lsl #1
-tst w3, w7, lsl #31
-tst x2, x20, asr #2
-mov x3, x6
-mov x3, xzr
-mov wzr, w2
-mov w3, w5
-
-#------------------------------------------------------------------------------
-# Move wide (immediate)
-#------------------------------------------------------------------------------
-
-movz w2, #0, lsl #16
-mov w2, #-1235
-mov x2, #5299989643264
-mov x2, #0
-movk w3, #0
-movz x4, #0, lsl #16
-movk w5, #0, lsl #16
-movz x6, #0, lsl #32
-movk x7, #0, lsl #32
-movz x8, #0, lsl #48
-movk x9, #0, lsl #48
-
-#------------------------------------------------------------------------------
-# PC-relative addressing
-#------------------------------------------------------------------------------
-
-adr x2, #1600
-adrp x21, #6553600
-adr x0, #262144
-
-#------------------------------------------------------------------------------
-# Test and branch (immediate)
-#------------------------------------------------------------------------------
-
-tbz x12, #62, #0
-tbz x12, #62, #4
-tbz x12, #62, #-32768
-tbnz x12, #60, #32764
-
-#------------------------------------------------------------------------------
-# Unconditional branch (immediate)
-#------------------------------------------------------------------------------
-
-b #4
-b #-4
-b #134217724
-
-#------------------------------------------------------------------------------
-# Unconditional branch (register)
-#------------------------------------------------------------------------------
-
-br x20
-blr xzr
-ret x10
-ret
-eret
-drps
-
-#------------------------------------------------------------------------------
-# Pointer authentication instructions
-#------------------------------------------------------------------------------
-
-autda x0, x1
-autdb x2, x3
-autdza x4
-autdzb x5
-autia x6, x7
-autib x8, x9
-autia1716
-autib1716
-autiasp
-autibsp
-autiaz
-autibz
-autiza x10
-autizb x11
-blraa x5, x6
-blraaz x7
-blrab x8, x9
-blrabz x10
-braa x29, x30
-braaz x1
-brab x2, x3
-brabz x4
-retaa
-retab
-eretaa
-eretab
-pacda x12, x13
-pacdb x14, x15
-pacdza x16
-pacdzb x17
-pacga x24, x25, x26
-pacia x18, x19
-pacib x20, x21
-pacia1716
-pacib1716
-paciasp
-pacibsp
-paciaz
-pacibz
-paciza x22
-pacizb x23
-ldraa x11, [x12, #16]!
-ldraa x13, [x14, #32]
-ldrab x15, [x16, #24]!
-ldrab x17, [x18, #8]
-xpacd x27
-xpaci x28
-xpaclri
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -instruction-tables < %p/../Inputs/basic-instructions.s | FileCheck %s
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@@ -1449,120 +29,125 @@ xpaclri
# 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 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 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 2 0.50 add w9, w3, wzr, lsl #10
-# CHECK-NEXT: 1 2 0.50 add w17, w29, w20, lsl #31
-# CHECK-NEXT: 1 2 0.50 add w21, w22, w23, lsr #0
-# CHECK-NEXT: 1 2 0.50 add w24, w25, w26, lsr #18
-# CHECK-NEXT: 1 2 0.50 add w27, w28, w29, lsr #31
-# CHECK-NEXT: 1 2 0.50 add w2, w3, w4, asr #0
-# CHECK-NEXT: 1 2 0.50 add w5, w6, w7, asr #21
-# CHECK-NEXT: 1 2 0.50 add w8, w9, w10, asr #31
+# 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 2 0.50 add x9, x3, xzr, lsl #10
-# CHECK-NEXT: 1 2 0.50 add x17, x29, x20, lsl #63
-# CHECK-NEXT: 1 2 0.50 add x21, x22, x23, lsr #0
-# CHECK-NEXT: 1 2 0.50 add x24, x25, x26, lsr #18
-# CHECK-NEXT: 1 2 0.50 add x27, x28, x29, lsr #63
-# CHECK-NEXT: 1 2 0.50 add x2, x3, x4, asr #0
-# CHECK-NEXT: 1 2 0.50 add x5, x6, x7, asr #21
-# CHECK-NEXT: 1 2 0.50 add x8, x9, x10, asr #63
+# 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 2 0.50 adds w9, w3, wzr, lsl #10
-# CHECK-NEXT: 1 2 0.50 adds w17, w29, w20, lsl #31
-# CHECK-NEXT: 1 2 0.50 adds w21, w22, w23, lsr #0
-# CHECK-NEXT: 1 2 0.50 adds w24, w25, w26, lsr #18
-# CHECK-NEXT: 1 2 0.50 adds w27, w28, w29, lsr #31
-# CHECK-NEXT: 1 2 0.50 adds w2, w3, w4, asr #0
-# CHECK-NEXT: 1 2 0.50 adds w5, w6, w7, asr #21
-# CHECK-NEXT: 1 2 0.50 adds w8, w9, w10, asr #31
+# 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 2 0.50 adds x9, x3, xzr, lsl #10
-# CHECK-NEXT: 1 2 0.50 adds x17, x29, x20, lsl #63
-# CHECK-NEXT: 1 2 0.50 adds x21, x22, x23, lsr #0
-# CHECK-NEXT: 1 2 0.50 adds x24, x25, x26, lsr #18
-# CHECK-NEXT: 1 2 0.50 adds x27, x28, x29, lsr #63
-# CHECK-NEXT: 1 2 0.50 adds x2, x3, x4, asr #0
-# CHECK-NEXT: 1 2 0.50 adds x5, x6, x7, asr #21
-# CHECK-NEXT: 1 2 0.50 adds x8, x9, x10, asr #63
+# 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 2 0.50 sub w9, w3, wzr, lsl #10
-# CHECK-NEXT: 1 2 0.50 sub w17, w29, w20, lsl #31
-# CHECK-NEXT: 1 2 0.50 sub w21, w22, w23, lsr #0
-# CHECK-NEXT: 1 2 0.50 sub w24, w25, w26, lsr #18
-# CHECK-NEXT: 1 2 0.50 sub w27, w28, w29, lsr #31
-# CHECK-NEXT: 1 2 0.50 sub w2, w3, w4, asr #0
-# CHECK-NEXT: 1 2 0.50 sub w5, w6, w7, asr #21
-# CHECK-NEXT: 1 2 0.50 sub w8, w9, w10, asr #31
+# 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 2 0.50 sub x9, x3, xzr, lsl #10
-# CHECK-NEXT: 1 2 0.50 sub x17, x29, x20, lsl #63
-# CHECK-NEXT: 1 2 0.50 sub x21, x22, x23, lsr #0
-# CHECK-NEXT: 1 2 0.50 sub x24, x25, x26, lsr #18
-# CHECK-NEXT: 1 2 0.50 sub x27, x28, x29, lsr #63
-# CHECK-NEXT: 1 2 0.50 sub x2, x3, x4, asr #0
-# CHECK-NEXT: 1 2 0.50 sub x5, x6, x7, asr #21
-# CHECK-NEXT: 1 2 0.50 sub x8, x9, x10, asr #63
+# 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 2 0.50 subs w9, w3, wzr, lsl #10
-# CHECK-NEXT: 1 2 0.50 subs w17, w29, w20, lsl #31
-# CHECK-NEXT: 1 2 0.50 subs w21, w22, w23, lsr #0
-# CHECK-NEXT: 1 2 0.50 subs w24, w25, w26, lsr #18
-# CHECK-NEXT: 1 2 0.50 subs w27, w28, w29, lsr #31
-# CHECK-NEXT: 1 2 0.50 subs w2, w3, w4, asr #0
-# CHECK-NEXT: 1 2 0.50 subs w5, w6, w7, asr #21
-# CHECK-NEXT: 1 2 0.50 subs w8, w9, w10, asr #31
+# 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 2 0.50 subs x9, x3, xzr, lsl #10
-# CHECK-NEXT: 1 2 0.50 subs x17, x29, x20, lsl #63
-# CHECK-NEXT: 1 2 0.50 subs x21, x22, x23, lsr #0
-# CHECK-NEXT: 1 2 0.50 subs x24, x25, x26, lsr #18
-# CHECK-NEXT: 1 2 0.50 subs x27, x28, x29, lsr #63
-# CHECK-NEXT: 1 2 0.50 subs x2, x3, x4, asr #0
-# CHECK-NEXT: 1 2 0.50 subs x5, x6, x7, asr #21
-# CHECK-NEXT: 1 2 0.50 subs x8, x9, x10, asr #63
+# 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 #15
+# 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
@@ -1575,7 +160,7 @@ xpaclri
# 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 #63
+# 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
@@ -1586,19 +171,21 @@ xpaclri
# 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 #15
+# 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 #63
+# 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
@@ -1607,6 +194,10 @@ xpaclri
# 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
@@ -1615,14 +206,14 @@ xpaclri
# 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 0.50 adcs w29, w27, w25
-# CHECK-NEXT: 1 1 0.50 adcs wzr, w3, w4
-# CHECK-NEXT: 1 1 0.50 adcs w9, wzr, w10
-# CHECK-NEXT: 1 1 0.50 adcs w20, w0, wzr
-# CHECK-NEXT: 1 1 0.50 adcs x29, x27, x25
-# CHECK-NEXT: 1 1 0.50 adcs xzr, x3, x4
-# CHECK-NEXT: 1 1 0.50 adcs x9, xzr, x10
-# CHECK-NEXT: 1 1 0.50 adcs 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
@@ -1631,26 +222,26 @@ xpaclri
# 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 0.50 sbcs w29, w27, w25
-# CHECK-NEXT: 1 1 0.50 sbcs wzr, w3, w4
-# CHECK-NEXT: 1 1 0.50 ngcs w9, w10
-# CHECK-NEXT: 1 1 0.50 sbcs w20, w0, wzr
-# CHECK-NEXT: 1 1 0.50 sbcs x29, x27, x25
-# CHECK-NEXT: 1 1 0.50 sbcs xzr, x3, x4
-# CHECK-NEXT: 1 1 0.50 ngcs x9, x10
-# CHECK-NEXT: 1 1 0.50 sbcs 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 0.50 ngcs w3, w12
-# CHECK-NEXT: 1 1 0.50 ngcs wzr, w9
-# CHECK-NEXT: 1 1 0.50 ngcs w23, wzr
-# CHECK-NEXT: 1 1 0.50 ngcs x29, x30
-# CHECK-NEXT: 1 1 0.50 ngcs xzr, x0
-# CHECK-NEXT: 1 1 0.50 ngcs 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
@@ -1679,15 +270,11 @@ xpaclri
# 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 lsr w3, w2, #0
# 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 sbfx w9, w10, #0, #1
# CHECK-NEXT: 1 2 0.50 sbfiz x2, x3, #63, #1
-# CHECK-NEXT: 1 2 0.50 asr x19, x20, #0
# CHECK-NEXT: 1 2 0.50 sbfiz x9, x10, #5, #59
-# CHECK-NEXT: 1 2 0.50 asr w9, w10, #0
# 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
@@ -1699,11 +286,8 @@ xpaclri
# 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 bfxil w9, w10, #0, #1
# CHECK-NEXT: 1 2 0.50 bfi x2, x3, #63, #1
-# CHECK-NEXT: 1 2 0.50 bfxil x19, x20, #0, #64
# CHECK-NEXT: 1 2 0.50 bfi x9, x10, #5, #59
-# CHECK-NEXT: 1 2 0.50 bfxil w9, w10, #0, #32
# 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
@@ -1715,11 +299,8 @@ xpaclri
# 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 ubfx w9, w10, #0, #1
# CHECK-NEXT: 1 2 0.50 lsl x2, x3, #63
-# CHECK-NEXT: 1 2 0.50 lsr x19, x20, #0
# CHECK-NEXT: 1 2 0.50 lsl x9, x10, #5
-# CHECK-NEXT: 1 2 0.50 lsr w9, w10, #0
# 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
@@ -1737,33 +318,34 @@ xpaclri
# 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 0.50 ccmp w1, #31, #0, eq
-# CHECK-NEXT: 1 1 0.50 ccmp w3, #0, #15, hs
-# CHECK-NEXT: 1 1 0.50 ccmp wzr, #15, #13, hs
-# CHECK-NEXT: 1 1 0.50 ccmp x9, #31, #0, le
-# CHECK-NEXT: 1 1 0.50 ccmp x3, #0, #15, gt
-# CHECK-NEXT: 1 1 0.50 ccmp xzr, #5, #7, ne
-# CHECK-NEXT: 1 1 0.50 ccmn w1, #31, #0, eq
-# CHECK-NEXT: 1 1 0.50 ccmn w3, #0, #15, hs
-# CHECK-NEXT: 1 1 0.50 ccmn wzr, #15, #13, hs
-# CHECK-NEXT: 1 1 0.50 ccmn x9, #31, #0, le
-# CHECK-NEXT: 1 1 0.50 ccmn x3, #0, #15, gt
-# CHECK-NEXT: 1 1 0.50 ccmn xzr, #5, #7, ne
-# CHECK-NEXT: 1 1 0.50 ccmp w1, wzr, #0, eq
-# CHECK-NEXT: 1 1 0.50 ccmp w3, w0, #15, hs
-# CHECK-NEXT: 1 1 0.50 ccmp wzr, w15, #13, hs
-# CHECK-NEXT: 1 1 0.50 ccmp x9, xzr, #0, le
-# CHECK-NEXT: 1 1 0.50 ccmp x3, x0, #15, gt
-# CHECK-NEXT: 1 1 0.50 ccmp xzr, x5, #7, ne
-# CHECK-NEXT: 1 1 0.50 ccmn w1, wzr, #0, eq
-# CHECK-NEXT: 1 1 0.50 ccmn w3, w0, #15, hs
-# CHECK-NEXT: 1 1 0.50 ccmn wzr, w15, #13, hs
-# CHECK-NEXT: 1 1 0.50 ccmn x9, xzr, #0, le
-# CHECK-NEXT: 1 1 0.50 ccmn x3, x0, #15, gt
-# CHECK-NEXT: 1 1 0.50 ccmn xzr, x5, #7, ne
+# 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
@@ -1825,7 +407,6 @@ xpaclri
# 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 csinv w9, w8, w8, nv
# 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
@@ -1841,22 +422,32 @@ xpaclri
# 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 2 0.50 lsl w11, w12, w13
-# CHECK-NEXT: 1 2 0.50 lsl x14, x15, x16
-# CHECK-NEXT: 1 2 0.50 lsr w17, w18, w19
-# CHECK-NEXT: 1 2 0.50 lsr x20, x21, x22
-# CHECK-NEXT: 1 2 0.50 asr w23, w24, w25
-# CHECK-NEXT: 1 2 0.50 asr x26, x27, x28
+# 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 2 0.50 lsl w6, w7, w8
-# CHECK-NEXT: 1 2 0.50 lsl x9, x10, x11
-# CHECK-NEXT: 1 2 0.50 lsr w12, w13, w14
-# CHECK-NEXT: 1 2 0.50 lsr x15, x16, x17
-# CHECK-NEXT: 1 2 0.50 asr w18, w19, w20
-# CHECK-NEXT: 1 2 0.50 asr x21, x22, x23
+# 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
@@ -1899,7 +490,6 @@ xpaclri
# 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 x30, x29, x28
# 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
@@ -1915,48 +505,61 @@ xpaclri
# 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 0.50 fcmp s3, s5
-# CHECK-NEXT: 1 1 0.50 fcmp s31, #0.0
-# CHECK-NEXT: 1 1 0.50 fcmp s31, #0.0
-# CHECK-NEXT: 1 1 0.50 fcmpe s29, s30
-# CHECK-NEXT: 1 1 0.50 fcmpe s15, #0.0
-# CHECK-NEXT: 1 1 0.50 fcmpe s15, #0.0
-# CHECK-NEXT: 1 1 0.50 fcmp d4, d12
-# CHECK-NEXT: 1 1 0.50 fcmp d23, #0.0
-# CHECK-NEXT: 1 1 0.50 fcmp d23, #0.0
-# CHECK-NEXT: 1 1 0.50 fcmpe d26, d22
-# CHECK-NEXT: 1 1 0.50 fcmpe d29, #0.0
-# CHECK-NEXT: 1 1 0.50 fcmpe d29, #0.0
-# CHECK-NEXT: 1 5 2.50 fccmp s1, s31, #0, eq
-# CHECK-NEXT: 1 5 2.50 fccmp s3, s0, #15, hs
-# CHECK-NEXT: 1 5 2.50 fccmp s31, s15, #13, hs
-# CHECK-NEXT: 1 5 2.50 fccmp d9, d31, #0, le
-# CHECK-NEXT: 1 5 2.50 fccmp d3, d0, #15, gt
-# CHECK-NEXT: 1 5 2.50 fccmp d31, d5, #7, ne
-# CHECK-NEXT: 1 5 2.50 fccmpe s1, s31, #0, eq
-# CHECK-NEXT: 1 5 2.50 fccmpe s3, s0, #15, hs
-# CHECK-NEXT: 1 5 2.50 fccmpe s31, s15, #13, hs
-# CHECK-NEXT: 1 5 2.50 fccmpe d9, d31, #0, le
-# CHECK-NEXT: 1 5 2.50 fccmpe d3, d0, #15, gt
-# CHECK-NEXT: 1 5 2.50 fccmpe d31, d5, #7, ne
-# CHECK-NEXT: 1 3 0.50 fcsel s3, s20, s9, pl
-# CHECK-NEXT: 1 3 0.50 fcsel d9, d10, d11, mi
+# 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
# CHECK-NEXT: 1 4 0.50 fcvt s8, d9
# CHECK-NEXT: 1 4 0.50 fcvt h10, d11
@@ -1970,13 +573,19 @@ xpaclri
# CHECK-NEXT: 1 4 0.50 fcvt s26, h27
# CHECK-NEXT: 1 4 0.50 fcvt d28, h29
# CHECK-NEXT: 1 4 0.50 fmul s20, s19, s17
+# CHECK-NEXT: 1 8 5.00 fdiv h1, h26, h23
# CHECK-NEXT: 1 13 10.00 fdiv s1, s2, s3
+# CHECK-NEXT: 1 4 0.50 fadd h23, h27, h22
# CHECK-NEXT: 1 4 0.50 fadd s4, s5, s6
+# CHECK-NEXT: 1 4 0.50 fsub h20, h11, h18
# CHECK-NEXT: 1 4 0.50 fsub s7, s8, s9
# CHECK-NEXT: 1 4 0.50 fmax s10, s11, s12
+# CHECK-NEXT: 1 4 0.50 fmax h8, h7, h11
# CHECK-NEXT: 1 4 0.50 fmin s13, s14, s15
+# CHECK-NEXT: 1 4 0.50 fmaxnm h29, h13, h14
# CHECK-NEXT: 1 4 0.50 fmaxnm s16, s17, s18
# CHECK-NEXT: 1 4 0.50 fminnm s19, s20, s21
+# CHECK-NEXT: 1 4 0.50 fnmul h3, h15, h7
# CHECK-NEXT: 1 4 0.50 fnmul s22, s23, s2
# CHECK-NEXT: 1 4 0.50 fmul d20, d19, d17
# CHECK-NEXT: 1 22 19.00 fdiv d1, d2, d3
@@ -1984,17 +593,23 @@ xpaclri
# CHECK-NEXT: 1 4 0.50 fsub d7, d8, d9
# CHECK-NEXT: 1 4 0.50 fmax d10, d11, d12
# CHECK-NEXT: 1 4 0.50 fmin d13, d14, d15
+# CHECK-NEXT: 1 4 0.50 fmin h4, h13, h17
# CHECK-NEXT: 1 4 0.50 fmaxnm d16, d17, d18
# CHECK-NEXT: 1 4 0.50 fminnm d19, d20, d21
+# CHECK-NEXT: 1 4 0.50 fminnm h29, h23, h17
# CHECK-NEXT: 1 4 0.50 fnmul d22, d23, d24
+# CHECK-NEXT: 1 4 0.50 fmadd h27, h0, h6, h28
# CHECK-NEXT: 1 4 0.50 fmadd s3, s5, s6, s31
# CHECK-NEXT: 1 4 0.50 fmadd d3, d13, d0, d23
+# CHECK-NEXT: 1 4 0.50 fmsub h25, h28, h12, h24
# CHECK-NEXT: 1 4 0.50 fmsub s3, s5, s6, s31
# CHECK-NEXT: 1 4 0.50 fmsub d3, d13, d0, d23
+# CHECK-NEXT: 1 4 0.50 fnmadd h3, h18, h31, h24
# CHECK-NEXT: 1 4 0.50 fnmadd s3, s5, s6, s31
# CHECK-NEXT: 1 4 0.50 fnmadd d3, d13, d0, d23
# CHECK-NEXT: 1 4 0.50 fnmsub s3, s5, s6, s31
# CHECK-NEXT: 1 4 0.50 fnmsub d3, d13, d0, d23
+# CHECK-NEXT: 1 4 0.50 fnmsub h3, h29, h24, h17
# CHECK-NEXT: 1 4 0.50 fcvtzs w3, h5, #1
# CHECK-NEXT: 1 4 0.50 fcvtzs wzr, h20, #13
# CHECK-NEXT: 1 4 0.50 fcvtzs w19, h0, #32
@@ -2139,12 +754,17 @@ xpaclri
# CHECK-NEXT: 1 4 0.50 fcvtas x27, d28
# CHECK-NEXT: 1 4 0.50 fcvtau w29, d30
# CHECK-NEXT: 1 4 0.50 fcvtau xzr, d0
+# CHECK-NEXT: 1 3 0.50 fmov h6, w5
+# CHECK-NEXT: 1 3 0.50 fmov h16, x27
+# CHECK-NEXT: 1 3 0.50 fmov w15, h31
# CHECK-NEXT: 1 3 0.50 fmov w3, s9
# CHECK-NEXT: 1 3 0.50 fmov s9, w3
+# CHECK-NEXT: 1 3 0.50 fmov x21, h14
# CHECK-NEXT: 1 3 0.50 fmov x20, d31
# CHECK-NEXT: 1 3 0.50 fmov d1, x15
# CHECK-NEXT: 1 3 0.50 fmov x3, v12.d[1]
# CHECK-NEXT: 1 3 0.50 fmov v1.d[1], x19
+# CHECK-NEXT: 1 3 0.50 fmov h29, #0.50000000
# CHECK-NEXT: 1 3 0.50 fmov s2, #0.12500000
# CHECK-NEXT: 1 3 0.50 fmov s3, #1.00000000
# CHECK-NEXT: 1 3 0.50 fmov d30, #16.00000000
@@ -2155,11 +775,11 @@ xpaclri
# CHECK-NEXT: 1 2 0.50 * ldr w3, #0
# CHECK-NEXT: 1 2 0.50 * ldr x29, #4
# CHECK-NEXT: 1 2 0.50 * ldrsw xzr, #-4
-# CHECK-NEXT: 1 2 0.50 * ldr s0, #8
-# CHECK-NEXT: 1 2 0.50 * ldr d0, #1048572
-# CHECK-NEXT: 1 2 0.50 * ldr q0, #-1048576
+# CHECK-NEXT: 1 3 0.50 * ldr s0, #8
+# CHECK-NEXT: 1 3 0.50 * ldr d0, #1048572
+# CHECK-NEXT: 1 3 0.50 * ldr q0, #-1048576
# CHECK-NEXT: 1 2 0.50 U prfm pldl1strm, #0
-# CHECK-NEXT: 1 2 0.50 U prfm pstslckeep, #0
+# CHECK-NEXT: 1 2 0.50 U prfm #25, #0
# CHECK-NEXT: 2 3 1.00 * * U stxrb w18, w8, [sp]
# CHECK-NEXT: 2 3 1.00 * * U stxrh w24, w15, [x16]
# CHECK-NEXT: 2 3 1.00 * * U stxr w5, w6, [x17]
@@ -2168,13 +788,10 @@ xpaclri
# CHECK-NEXT: 1 2 0.50 * * U ldxrh w17, [x4]
# CHECK-NEXT: 1 2 0.50 * * U ldxr w22, [sp]
# CHECK-NEXT: 1 2 0.50 * * U ldxr x11, [x29]
-# CHECK-NEXT: 1 2 0.50 * * U ldxr x11, [x29]
-# CHECK-NEXT: 1 2 0.50 * * U ldxr x11, [x29]
# CHECK-NEXT: 2 3 1.00 * * U stxp w12, w11, w10, [sp]
# CHECK-NEXT: 2 3 1.00 * * U stxp wzr, x27, x9, [x12]
# CHECK-NEXT: 2 2 1.00 * * U ldxp w0, wzr, [sp]
# CHECK-NEXT: 2 2 1.00 * * U ldxp x17, x0, [x18]
-# CHECK-NEXT: 2 2 1.00 * * U ldxp x17, x0, [x18]
# CHECK-NEXT: 2 3 1.00 * * U stlxrb w12, w22, [x0]
# CHECK-NEXT: 2 3 1.00 * * U stlxrh w10, w1, [x1]
# CHECK-NEXT: 2 3 1.00 * * U stlxr w9, w2, [x2]
@@ -2183,25 +800,19 @@ xpaclri
# CHECK-NEXT: 1 2 0.50 * * U ldaxrh w7, [x5]
# CHECK-NEXT: 1 2 0.50 * * U ldaxr w6, [sp]
# CHECK-NEXT: 1 2 0.50 * * U ldaxr x5, [x6]
-# CHECK-NEXT: 1 2 0.50 * * U ldaxr x5, [x6]
-# CHECK-NEXT: 1 2 0.50 * * U ldaxr x5, [x6]
# CHECK-NEXT: 2 3 1.00 * * U stlxp w4, w5, w6, [sp]
# CHECK-NEXT: 2 3 1.00 * * U stlxp wzr, x6, x7, [x1]
# CHECK-NEXT: 2 2 1.00 * * U ldaxp w5, w18, [sp]
# CHECK-NEXT: 2 2 1.00 * * U ldaxp x6, x19, [x22]
-# CHECK-NEXT: 2 2 1.00 * * U ldaxp x6, x19, [x22]
# CHECK-NEXT: 1 1 1.00 * U stlrb w24, [sp]
# CHECK-NEXT: 1 1 1.00 * U stlrh w25, [x30]
# CHECK-NEXT: 1 1 1.00 * U stlr w26, [x29]
# CHECK-NEXT: 1 1 1.00 * U stlr x27, [x28]
-# CHECK-NEXT: 1 1 1.00 * U stlr x27, [x28]
-# CHECK-NEXT: 1 1 1.00 * U stlr x27, [x28]
+# CHECK-NEXT: 1 2 0.50 * U ldarb w16, [x21]
# CHECK-NEXT: 1 2 0.50 * U ldarb w23, [sp]
# CHECK-NEXT: 1 2 0.50 * U ldarh w22, [x30]
# CHECK-NEXT: 1 2 0.50 * U ldar wzr, [x29]
# CHECK-NEXT: 1 2 0.50 * U ldar x21, [x28]
-# CHECK-NEXT: 1 2 0.50 * U ldar x21, [x28]
-# CHECK-NEXT: 1 2 0.50 * U ldar x21, [x28]
# CHECK-NEXT: 1 1 1.00 * sturb w9, [sp]
# CHECK-NEXT: 1 1 1.00 * sturh wzr, [x12, #255]
# CHECK-NEXT: 1 1 1.00 * stur w16, [x0, #-256]
@@ -2387,29 +998,38 @@ xpaclri
# CHECK-NEXT: 1 2 0.50 * ldr w13, [x2, #4]
# CHECK-NEXT: 1 2 0.50 * ldrsw x2, [x5, #4]
# CHECK-NEXT: 1 2 0.50 * ldrsw x23, [sp, #16380]
+# CHECK-NEXT: 1 2 0.50 * ldrsw x21, [x25, x7]
# CHECK-NEXT: 1 2 0.50 * ldrh w2, [x4]
# CHECK-NEXT: 1 2 0.50 * ldrsh w23, [x6, #8190]
# CHECK-NEXT: 1 2 0.50 * ldrsh wzr, [sp, #2]
# CHECK-NEXT: 1 2 0.50 * ldrsh x29, [x2, #2]
+# CHECK-NEXT: 1 2 0.50 * ldrsh x25, [x8, w13, uxtw]
# CHECK-NEXT: 1 2 0.50 * ldrb w26, [x3, #121]
# CHECK-NEXT: 1 2 0.50 * ldrb w12, [x2]
# CHECK-NEXT: 1 2 0.50 * ldrsb w27, [sp, #4095]
# CHECK-NEXT: 1 2 0.50 * ldrsb xzr, [x15]
+# CHECK-NEXT: 1 2 0.50 * ldrsb x12, [x28, x27]
# CHECK-NEXT: 1 1 1.00 * str x30, [sp]
# CHECK-NEXT: 1 1 1.00 * str w20, [x4, #16380]
+# CHECK-NEXT: 1 1 1.00 * str b5, [x11]
+# CHECK-NEXT: 1 1 1.00 * str h23, [x15]
+# CHECK-NEXT: 1 1 1.00 * str s25, [x19]
+# CHECK-NEXT: 1 1 1.00 * str d15, [x2]
# CHECK-NEXT: 1 1 1.00 * strh w17, [sp, #8190]
# CHECK-NEXT: 1 1 1.00 * strb w23, [x3, #4095]
# CHECK-NEXT: 1 1 1.00 * strb wzr, [x2]
-# CHECK-NEXT: 1 2 0.50 * ldr b31, [sp, #4095]
-# CHECK-NEXT: 1 2 0.50 * ldr h20, [x2, #8190]
-# CHECK-NEXT: 1 2 0.50 * ldr s10, [x19, #16380]
-# CHECK-NEXT: 1 2 0.50 * ldr d3, [x10, #32760]
+# CHECK-NEXT: 1 3 0.50 * ldr b31, [sp, #4095]
+# CHECK-NEXT: 1 3 0.50 * ldr h20, [x2, #8190]
+# CHECK-NEXT: 1 3 0.50 * ldr s10, [x19, #16380]
+# CHECK-NEXT: 1 3 0.50 * ldr d3, [x10, #32760]
# CHECK-NEXT: 1 1 1.00 * str q12, [sp, #65520]
+# CHECK-NEXT: 1 3 0.50 * ldr q14, [x6, #4624]
# CHECK-NEXT: 1 2 0.50 * ldrb w3, [sp, x5]
# CHECK-NEXT: 1 2 0.50 * ldrb w9, [x27, x6]
# CHECK-NEXT: 1 2 0.50 * ldrsb w10, [x30, x7]
# CHECK-NEXT: 1 2 0.50 * ldrb w11, [x29, x3, sxtx]
# CHECK-NEXT: 1 1 1.00 * strb w12, [x28, xzr, sxtx]
+# CHECK-NEXT: 1 1 1.00 * strb w5, [x26, w7, uxtw]
# CHECK-NEXT: 1 2 0.50 * ldrb w14, [x26, w6, uxtw]
# CHECK-NEXT: 1 2 0.50 * ldrsb w15, [x25, w7, uxtw]
# CHECK-NEXT: 1 2 0.50 * ldrb w17, [x23, w9, sxtw]
@@ -2426,8 +1046,28 @@ xpaclri
# CHECK-NEXT: 1 2 0.50 * ldrh w17, [x23, w9, sxtw]
# CHECK-NEXT: 1 2 0.50 * ldrh w18, [x22, w10, sxtw]
# CHECK-NEXT: 1 1 1.00 * strh w19, [x21, wzr, sxtw #1]
+# CHECK-NEXT: 1 3 0.50 * ldr b25, [x21, w8, uxtw]
+# CHECK-NEXT: 1 3 0.50 * ldr b8, [x30, x10]
+# CHECK-NEXT: 1 1 1.00 * str b14, [x13, x25]
+# CHECK-NEXT: 1 1 1.00 * str b30, [x16, w26, uxtw]
+# CHECK-NEXT: 1 3 0.50 * ldr h3, [sp, x5]
+# CHECK-NEXT: 1 3 0.50 * ldr h9, [x27, x6]
+# CHECK-NEXT: 1 3 0.50 * ldr h10, [x30, x7, lsl #1]
+# CHECK-NEXT: 1 1 1.00 * str h11, [x29, x3, sxtx]
+# CHECK-NEXT: 1 1 1.00 * str h12, [x28, xzr, sxtx]
+# CHECK-NEXT: 1 1 1.00 * str h13, [x27, x5, sxtx #1]
+# CHECK-NEXT: 1 3 0.50 * ldr h14, [x26, w6, uxtw]
+# CHECK-NEXT: 1 3 0.50 * ldr h15, [x25, w7, uxtw]
+# CHECK-NEXT: 1 3 0.50 * ldr h16, [x24, w8, uxtw #1]
+# CHECK-NEXT: 1 3 0.50 * ldr h17, [x23, w9, sxtw]
+# CHECK-NEXT: 1 1 1.00 * str h18, [x22, w10, sxtw]
+# CHECK-NEXT: 1 3 0.50 * ldr h19, [x21, wzr, sxtw #1]
+# CHECK-NEXT: 1 3 0.50 * ldr s12, [x30, w5, uxtw]
+# CHECK-NEXT: 1 3 0.50 * ldr d24, [x26, w7, uxtw]
+# CHECK-NEXT: 1 1 1.00 * str s20, [x24, w10, uxtw]
+# CHECK-NEXT: 1 1 1.00 * str d5, [x26, x6]
# CHECK-NEXT: 1 2 0.50 * ldr w3, [sp, x5]
-# CHECK-NEXT: 1 2 0.50 * ldr s9, [x27, x6]
+# CHECK-NEXT: 1 3 0.50 * ldr s9, [x27, x6]
# CHECK-NEXT: 1 2 0.50 * ldr w10, [x30, x7, lsl #2]
# CHECK-NEXT: 1 2 0.50 * ldr w11, [x29, x3, sxtx]
# CHECK-NEXT: 1 1 1.00 * str s12, [x28, xzr, sxtx]
@@ -2440,57 +1080,60 @@ xpaclri
# CHECK-NEXT: 1 2 0.50 * ldrsw x19, [x21, wzr, sxtw #2]
# CHECK-NEXT: 1 2 0.50 * ldr x3, [sp, x5]
# CHECK-NEXT: 1 1 1.00 * str x9, [x27, x6]
-# CHECK-NEXT: 1 2 0.50 * ldr d10, [x30, x7, lsl #3]
+# CHECK-NEXT: 1 3 0.50 * ldr d10, [x30, x7, lsl #3]
# CHECK-NEXT: 1 1 1.00 * str x11, [x29, x3, sxtx]
# CHECK-NEXT: 1 2 0.50 * ldr x12, [x28, xzr, sxtx]
# CHECK-NEXT: 1 2 0.50 * ldr x13, [x27, x5, sxtx #3]
# CHECK-NEXT: 1 2 0.50 U prfm pldl1keep, [x26, w6, uxtw]
# CHECK-NEXT: 1 2 0.50 * ldr x15, [x25, w7, uxtw]
+# CHECK-NEXT: 1 1 1.00 * str x27, [x26, w24, uxtw]
# CHECK-NEXT: 1 2 0.50 * ldr x16, [x24, w8, uxtw #3]
# CHECK-NEXT: 1 2 0.50 * ldr x17, [x23, w9, sxtw]
# CHECK-NEXT: 1 2 0.50 * ldr x18, [x22, w10, sxtw]
# CHECK-NEXT: 1 1 1.00 * str d19, [x21, wzr, sxtw #3]
-# CHECK-NEXT: 1 2 0.50 * ldr q3, [sp, x5]
-# CHECK-NEXT: 1 2 0.50 * ldr q9, [x27, x6]
-# CHECK-NEXT: 1 2 0.50 * ldr q10, [x30, x7, lsl #4]
+# CHECK-NEXT: 1 3 0.50 * ldr q3, [sp, x5]
+# CHECK-NEXT: 1 3 0.50 * ldr q9, [x27, x6]
+# CHECK-NEXT: 1 3 0.50 * ldr q10, [x30, x7, lsl #4]
# CHECK-NEXT: 1 1 1.00 * str q11, [x29, x3, sxtx]
# CHECK-NEXT: 1 1 1.00 * str q12, [x28, xzr, sxtx]
# CHECK-NEXT: 1 1 1.00 * str q13, [x27, x5, sxtx #4]
-# CHECK-NEXT: 1 2 0.50 * ldr q14, [x26, w6, uxtw]
-# CHECK-NEXT: 1 2 0.50 * ldr q15, [x25, w7, uxtw]
-# CHECK-NEXT: 1 2 0.50 * ldr q16, [x24, w8, uxtw #4]
-# CHECK-NEXT: 1 2 0.50 * ldr q17, [x23, w9, sxtw]
+# CHECK-NEXT: 1 3 0.50 * ldr q14, [x26, w6, uxtw]
+# CHECK-NEXT: 1 3 0.50 * ldr q15, [x25, w7, uxtw]
+# CHECK-NEXT: 1 3 0.50 * ldr q16, [x24, w8, uxtw #4]
+# CHECK-NEXT: 1 3 0.50 * ldr q17, [x23, w9, sxtw]
# CHECK-NEXT: 1 1 1.00 * str q18, [x22, w10, sxtw]
-# CHECK-NEXT: 1 2 0.50 * ldr q19, [x21, wzr, sxtw #4]
-# CHECK-NEXT: 2 3 1.00 * ldp w3, w5, [sp]
+# CHECK-NEXT: 1 3 0.50 * ldr q19, [x21, wzr, sxtw #4]
+# CHECK-NEXT: 2 2 1.00 * ldp w3, w5, [sp]
# CHECK-NEXT: 1 1 1.00 * stp wzr, w9, [sp, #252]
-# CHECK-NEXT: 2 3 1.00 * ldp w2, wzr, [sp, #-256]
-# CHECK-NEXT: 2 3 1.00 * ldp w9, w10, [sp, #4]
+# CHECK-NEXT: 2 2 1.00 * ldp w2, wzr, [sp, #-256]
+# CHECK-NEXT: 2 2 1.00 * ldp w9, w10, [sp, #4]
# CHECK-NEXT: 2 2 1.00 * ldpsw x9, x10, [sp, #4]
# CHECK-NEXT: 2 2 1.00 * ldpsw x9, x10, [x2, #-256]
# CHECK-NEXT: 2 2 1.00 * ldpsw x20, x30, [sp, #252]
-# CHECK-NEXT: 2 3 1.00 * ldp x21, x29, [x2, #504]
-# CHECK-NEXT: 2 3 1.00 * ldp x22, x23, [x3, #-512]
-# CHECK-NEXT: 2 3 1.00 * ldp x24, x25, [x4, #8]
+# CHECK-NEXT: 3 2 1.00 * ldp x21, x29, [x2, #504]
+# CHECK-NEXT: 3 2 1.00 * ldp x22, x23, [x3, #-512]
+# CHECK-NEXT: 3 2 1.00 * ldp x24, x25, [x4, #8]
# CHECK-NEXT: 2 3 1.00 * ldp s29, s28, [sp, #252]
# CHECK-NEXT: 1 1 1.00 * stp s27, s26, [sp, #-256]
# CHECK-NEXT: 2 3 1.00 * ldp s1, s2, [x3, #44]
# CHECK-NEXT: 1 1 1.00 * stp d3, d5, [x9, #504]
# CHECK-NEXT: 1 1 1.00 * stp d7, d11, [x10, #-512]
+# CHECK-NEXT: 1 1 1.00 * stnp x20, x16, [x8]
+# CHECK-NEXT: 1 1 1.00 * stp x3, x6, [x16]
# CHECK-NEXT: 2 3 1.00 * ldp d2, d3, [x30, #-8]
# CHECK-NEXT: 1 1 1.00 * stp q3, q5, [sp]
# CHECK-NEXT: 1 1 1.00 * stp q17, q19, [sp, #1008]
# CHECK-NEXT: 2 3 1.00 * ldp q23, q29, [x1, #-1024]
-# CHECK-NEXT: 3 3 1.00 * ldp w3, w5, [sp], #0
+# CHECK-NEXT: 3 2 1.00 * ldp w3, w5, [sp], #0
# CHECK-NEXT: 2 1 1.00 * stp wzr, w9, [sp], #252
-# CHECK-NEXT: 3 3 1.00 * ldp w2, wzr, [sp], #-256
-# CHECK-NEXT: 3 3 1.00 * ldp w9, w10, [sp], #4
+# CHECK-NEXT: 3 2 1.00 * ldp w2, wzr, [sp], #-256
+# CHECK-NEXT: 3 2 1.00 * ldp w9, w10, [sp], #4
# CHECK-NEXT: 3 2 1.00 * ldpsw x9, x10, [sp], #4
# CHECK-NEXT: 3 2 1.00 * ldpsw x9, x10, [x2], #-256
# CHECK-NEXT: 3 2 1.00 * ldpsw x20, x30, [sp], #252
-# CHECK-NEXT: 3 3 1.00 * ldp x21, x29, [x2], #504
-# CHECK-NEXT: 3 3 1.00 * ldp x22, x23, [x3], #-512
-# CHECK-NEXT: 3 3 1.00 * ldp x24, x25, [x4], #8
+# CHECK-NEXT: 3 2 1.00 * ldp x21, x29, [x2], #504
+# CHECK-NEXT: 3 2 1.00 * ldp x22, x23, [x3], #-512
+# CHECK-NEXT: 3 2 1.00 * ldp x24, x25, [x4], #8
# CHECK-NEXT: 3 3 1.00 * ldp s29, s28, [sp], #252
# CHECK-NEXT: 2 1 1.00 * stp s27, s26, [sp], #-256
# CHECK-NEXT: 3 3 1.00 * ldp s1, s2, [x3], #44
@@ -2500,16 +1143,16 @@ xpaclri
# CHECK-NEXT: 2 1 1.00 * stp q3, q5, [sp], #0
# CHECK-NEXT: 2 1 1.00 * stp q17, q19, [sp], #1008
# CHECK-NEXT: 3 3 1.00 * ldp q23, q29, [x1], #-1024
-# CHECK-NEXT: 3 3 1.00 * ldp w3, w5, [sp, #0]!
+# CHECK-NEXT: 3 2 1.00 * ldp w3, w5, [sp, #0]!
# CHECK-NEXT: 2 1 1.00 * stp wzr, w9, [sp, #252]!
-# CHECK-NEXT: 3 3 1.00 * ldp w2, wzr, [sp, #-256]!
-# CHECK-NEXT: 3 3 1.00 * ldp w9, w10, [sp, #4]!
+# CHECK-NEXT: 3 2 1.00 * ldp w2, wzr, [sp, #-256]!
+# CHECK-NEXT: 3 2 1.00 * ldp w9, w10, [sp, #4]!
# CHECK-NEXT: 3 2 1.00 * ldpsw x9, x10, [sp, #4]!
# CHECK-NEXT: 3 2 1.00 * ldpsw x9, x10, [x2, #-256]!
# CHECK-NEXT: 3 2 1.00 * ldpsw x20, x30, [sp, #252]!
-# CHECK-NEXT: 3 3 1.00 * ldp x21, x29, [x2, #504]!
-# CHECK-NEXT: 3 3 1.00 * ldp x22, x23, [x3, #-512]!
-# CHECK-NEXT: 3 3 1.00 * ldp x24, x25, [x4, #8]!
+# CHECK-NEXT: 3 2 1.00 * ldp x21, x29, [x2, #504]!
+# CHECK-NEXT: 3 2 1.00 * ldp x22, x23, [x3, #-512]!
+# CHECK-NEXT: 3 2 1.00 * ldp x24, x25, [x4, #8]!
# CHECK-NEXT: 3 3 1.00 * ldp s29, s28, [sp, #252]!
# CHECK-NEXT: 2 1 1.00 * stp s27, s26, [sp, #-256]!
# CHECK-NEXT: 3 3 1.00 * ldp s1, s2, [x3, #44]!
@@ -2526,41 +1169,51 @@ xpaclri
# CHECK-NEXT: 2 2 1.00 * ldnp x21, x29, [x2, #504]
# CHECK-NEXT: 2 2 1.00 * ldnp x22, x23, [x3, #-512]
# CHECK-NEXT: 2 2 1.00 * ldnp x24, x25, [x4, #8]
-# CHECK-NEXT: 2 2 1.00 * ldnp s29, s28, [sp, #252]
+# CHECK-NEXT: 2 3 1.00 * ldnp s29, s28, [sp, #252]
# CHECK-NEXT: 1 1 1.00 * stnp s27, s26, [sp, #-256]
-# CHECK-NEXT: 2 2 1.00 * ldnp s1, s2, [x3, #44]
+# CHECK-NEXT: 2 3 1.00 * ldnp s1, s2, [x3, #44]
# CHECK-NEXT: 1 1 1.00 * stnp d3, d5, [x9, #504]
# CHECK-NEXT: 1 1 1.00 * stnp d7, d11, [x10, #-512]
-# CHECK-NEXT: 2 2 1.00 * ldnp d2, d3, [x30, #-8]
+# CHECK-NEXT: 2 3 1.00 * ldnp d2, d3, [x30, #-8]
# CHECK-NEXT: 1 1 1.00 * stnp q3, q5, [sp]
# CHECK-NEXT: 1 1 1.00 * stnp q17, q19, [sp, #1008]
-# CHECK-NEXT: 2 2 1.00 * ldnp q23, q29, [x1, #-1024]
+# CHECK-NEXT: 2 3 1.00 * ldnp q23, q29, [x1, #-1024]
+# CHECK-NEXT: 1 1 0.50 and wsp, w16, #0xe00
+# CHECK-NEXT: 1 1 0.50 and x2, x22, #0x1e00
+# CHECK-NEXT: 1 1 0.50 ands w14, w8, #0x70
+# CHECK-NEXT: 1 1 0.50 ands x4, x10, #0x60
+# CHECK-NEXT: 1 1 0.50 eor wsp, w4, #0xe00
+# CHECK-NEXT: 1 1 0.50 eor x27, x25, #0x1e00
# CHECK-NEXT: 1 1 0.50 mov w3, #983055
# CHECK-NEXT: 1 1 0.50 mov x10, #-6148914691236517206
# CHECK-NEXT: 1 1 0.50 and w12, w23, w21
-# CHECK-NEXT: 1 2 0.50 and w16, w15, w1, lsl #1
-# CHECK-NEXT: 1 2 0.50 and w9, w4, w10, lsl #31
+# CHECK-NEXT: 1 1 0.50 and w16, w15, w1, lsl #1
+# CHECK-NEXT: 1 1 0.50 and w9, w4, w10, lsl #31
# CHECK-NEXT: 1 1 0.50 and w3, w30, w11
-# CHECK-NEXT: 1 2 0.50 and x3, x5, x7, lsl #63
-# CHECK-NEXT: 1 2 0.50 and x5, x14, x19, asr #4
-# CHECK-NEXT: 1 2 0.50 and w3, w17, w19, ror #31
-# CHECK-NEXT: 1 2 0.50 and w0, w2, wzr, lsr #17
-# CHECK-NEXT: 1 2 0.50 and w3, w30, w11, asr #2
+# CHECK-NEXT: 1 1 0.50 and x3, x5, x7, lsl #63
+# CHECK-NEXT: 1 1 0.50 and x5, x14, x19, asr #4
+# CHECK-NEXT: 1 1 0.50 and w3, w17, w19, ror #31
+# CHECK-NEXT: 1 1 0.50 and w0, w2, wzr, lsr #17
+# CHECK-NEXT: 1 1 0.50 and w3, w30, w11, asr #2
# CHECK-NEXT: 1 1 0.50 and xzr, x4, x26
-# CHECK-NEXT: 1 2 0.50 and w3, wzr, w20, ror #2
-# CHECK-NEXT: 1 2 0.50 and x7, x20, xzr, asr #63
-# CHECK-NEXT: 1 2 0.50 bic x13, x20, x14, lsl #47
+# CHECK-NEXT: 1 1 0.50 and w3, wzr, w20, ror #2
+# CHECK-NEXT: 1 1 0.50 and x7, x20, xzr, asr #63
+# CHECK-NEXT: 1 1 0.50 bic x13, x20, x14, lsl #47
# CHECK-NEXT: 1 1 0.50 bic w2, w7, w9
-# CHECK-NEXT: 1 2 0.50 orr w2, w7, w0, asr #31
-# CHECK-NEXT: 1 2 0.50 orr x8, x9, x10, lsl #12
-# CHECK-NEXT: 1 2 0.50 orn x3, x5, x7, asr #2
+# CHECK-NEXT: 1 1 0.50 eon w29, w4, w19
+# CHECK-NEXT: 1 1 0.50 eon x19, x12, x2
+# CHECK-NEXT: 1 1 0.50 eor w8, w27, w2
+# CHECK-NEXT: 1 1 0.50 eor x22, x16, x6
+# CHECK-NEXT: 1 1 0.50 orr w2, w7, w0, asr #31
+# CHECK-NEXT: 1 1 0.50 orr x8, x9, x10, lsl #12
+# CHECK-NEXT: 1 1 0.50 orn x3, x5, x7, asr #2
# CHECK-NEXT: 1 1 0.50 orn w2, w5, w29
-# CHECK-NEXT: 1 2 0.50 ands w7, wzr, w9, lsl #1
-# CHECK-NEXT: 1 2 0.50 ands x3, x5, x20, ror #63
+# CHECK-NEXT: 1 1 0.50 ands w7, wzr, w9, lsl #1
+# CHECK-NEXT: 1 1 0.50 ands x3, x5, x20, ror #63
# CHECK-NEXT: 1 1 0.50 bics w3, w5, w7
-# CHECK-NEXT: 1 2 0.50 bics x3, xzr, x3, lsl #1
-# CHECK-NEXT: 1 2 0.50 tst w3, w7, lsl #31
-# CHECK-NEXT: 1 2 0.50 tst x2, x20, asr #2
+# CHECK-NEXT: 1 1 0.50 bics x3, xzr, x3, lsl #1
+# CHECK-NEXT: 1 1 0.50 tst w3, w7, lsl #31
+# CHECK-NEXT: 1 1 0.50 tst x2, x20, asr #2
# CHECK-NEXT: 1 1 0.50 mov x3, x6
# CHECK-NEXT: 1 1 0.50 mov x3, xzr
# CHECK-NEXT: 1 1 0.50 mov wzr, w2
@@ -2576,70 +1229,26 @@ xpaclri
# CHECK-NEXT: 1 1 0.50 movk x7, #0, lsl #32
# CHECK-NEXT: 1 1 0.50 movz x8, #0, lsl #48
# CHECK-NEXT: 1 1 0.50 movk x9, #0, lsl #48
+# CHECK-NEXT: 1 1 1.00 U msr DAIFSet, #0
# CHECK-NEXT: 1 1 0.50 adr x2, #1600
# CHECK-NEXT: 1 1 0.50 adrp x21, #6553600
# CHECK-NEXT: 1 1 0.50 adr x0, #262144
# CHECK-NEXT: 1 1 1.00 tbz x12, #62, #0
# CHECK-NEXT: 1 1 1.00 tbz x12, #62, #4
# CHECK-NEXT: 1 1 1.00 tbz x12, #62, #-32768
+# CHECK-NEXT: 1 1 1.00 tbz w17, #16, test
# CHECK-NEXT: 1 1 1.00 tbnz x12, #60, #32764
+# CHECK-NEXT: 1 1 1.00 tbnz w3, #28, test
# CHECK-NEXT: 1 1 1.00 b #4
# CHECK-NEXT: 1 1 1.00 b #-4
# CHECK-NEXT: 1 1 1.00 b #134217724
+# CHECK-NEXT: 1 1 1.00 bl test
# CHECK-NEXT: 1 1 1.00 br x20
# CHECK-NEXT: 1 1 1.00 blr xzr
# CHECK-NEXT: 1 1 1.00 U ret x10
# CHECK-NEXT: 1 1 1.00 U ret
# CHECK-NEXT: 1 1 1.00 U eret
# CHECK-NEXT: 1 1 1.00 U drps
-# CHECK-NEXT: 1 4 1.00 U autda x0, x1
-# CHECK-NEXT: 1 4 1.00 U autdb x2, x3
-# CHECK-NEXT: 1 4 1.00 U autdza x4
-# CHECK-NEXT: 1 4 1.00 U autdzb x5
-# CHECK-NEXT: 1 4 1.00 U autia x6, x7
-# CHECK-NEXT: 1 4 1.00 U autib x8, x9
-# CHECK-NEXT: 1 4 1.00 U autia1716
-# CHECK-NEXT: 1 4 1.00 U autib1716
-# CHECK-NEXT: 1 4 1.00 U autiasp
-# CHECK-NEXT: 1 4 1.00 U autibsp
-# CHECK-NEXT: 1 4 1.00 U autiaz
-# CHECK-NEXT: 1 4 1.00 U autibz
-# CHECK-NEXT: 1 4 1.00 U autiza x10
-# CHECK-NEXT: 1 4 1.00 U autizb x11
-# CHECK-NEXT: 2 1 1.00 U blraa x5, x6
-# CHECK-NEXT: 2 1 1.00 U blraaz x7
-# CHECK-NEXT: 2 1 1.00 U blrab x8, x9
-# CHECK-NEXT: 2 1 1.00 U blrabz x10
-# CHECK-NEXT: 2 1 1.00 U braa x29, x30
-# CHECK-NEXT: 2 1 1.00 U braaz x1
-# CHECK-NEXT: 2 1 1.00 U brab x2, x3
-# CHECK-NEXT: 2 1 1.00 U brabz x4
-# CHECK-NEXT: 2 1 1.00 U retaa
-# CHECK-NEXT: 2 1 1.00 U retab
-# CHECK-NEXT: 2 1 1.00 U eretaa
-# CHECK-NEXT: 2 1 1.00 U eretab
-# CHECK-NEXT: 1 4 1.00 U pacda x12, x13
-# CHECK-NEXT: 1 4 1.00 U pacdb x14, x15
-# CHECK-NEXT: 1 4 1.00 U pacdza x16
-# CHECK-NEXT: 1 4 1.00 U pacdzb x17
-# CHECK-NEXT: 1 5 1.00 pacga x24, x25, x26
-# CHECK-NEXT: 1 4 1.00 U pacia x18, x19
-# CHECK-NEXT: 1 4 1.00 U pacib x20, x21
-# CHECK-NEXT: 1 4 1.00 U pacia1716
-# CHECK-NEXT: 1 4 1.00 U pacib1716
-# CHECK-NEXT: 1 4 1.00 U paciasp
-# CHECK-NEXT: 1 4 1.00 U pacibsp
-# CHECK-NEXT: 1 4 1.00 U paciaz
-# CHECK-NEXT: 1 4 1.00 U pacibz
-# CHECK-NEXT: 1 4 1.00 U paciza x22
-# CHECK-NEXT: 1 4 1.00 U pacizb x23
-# CHECK-NEXT: 1 2 1.00 * U ldraa x11, [x12, #16]!
-# CHECK-NEXT: 1 2 1.00 * U ldraa x13, [x14, #32]
-# CHECK-NEXT: 1 2 1.00 * U ldrab x15, [x16, #24]!
-# CHECK-NEXT: 1 2 1.00 * U ldrab x17, [x18, #8]
-# CHECK-NEXT: 1 4 1.00 xpacd x27
-# CHECK-NEXT: 1 4 1.00 xpaci x28
-# CHECK-NEXT: 1 4 1.00 U xpaclri
# CHECK: Resources:
# CHECK-NEXT: [0] - C1NanoUnitALU0
@@ -2652,16 +1261,16 @@ xpaclri
# CHECK-NEXT: [7] - C1NanoUnitPAC
# CHECK-NEXT: [8] - C1NanoUnitVALU0
# CHECK-NEXT: [9] - C1NanoUnitVALU1
-# CHECK-NEXT: [10.0] - C1NanoUnitVMAC
-# CHECK-NEXT: [10.1] - C1NanoUnitVMAC
-# CHECK-NEXT: [11] - C1NanoUnitVMC
+# CHECK-NEXT: [10] - C1NanoUnitVMAC0
+# CHECK-NEXT: [11] - C1NanoUnitVMAC1
+# CHECK-NEXT: [12] - C1NanoUnitVMC
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11]
-# CHECK-NEXT: 232.50 232.50 34.00 64.00 161.00 289.00 83.00 48.00 134.50 134.50 6.00 6.00 57.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
+# CHECK-NEXT: 260.50 214.50 27.00 64.00 164.50 306.50 89.00 - 122.50 177.50 8.50 8.50 67.00
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11] Instructions:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w2, w3, #4095
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w30, w29, #1, lsl #12
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w13, w5, #4095, lsl #12
@@ -2681,22 +1290,22 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w2, #4095
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w20, wsp, #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x3, #1, lsl #12
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp wsp, #2342
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp sp, #20, lsl #12
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x30, #4095
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x4, sp, #3822
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w3, #291, lsl #12
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn wsp, #1365
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn sp, #1092, lsl #12
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov sp, x30
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov wsp, w20
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov x11, sp
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov w24, wsp
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov x10, #-63432
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add wsp, wsp, w10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x25, x9, w25, uxtb
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w3, w5, w7
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add wzr, w3, w5
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w20, wzr, w4
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w4, w6, wzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w11, w13, w15
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w9, w3, wzr, lsl #10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w9, w3, wzr, lsl #1
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w17, w29, w20, lsl #31
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w21, w22, w23, lsr #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add w24, w25, w26, lsr #18
@@ -2710,7 +1319,7 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x4, x6, xzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x11, x13, x15
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x9, x3, xzr, lsl #10
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x17, x29, x20, lsl #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x17, x29, x20, lsl #3
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x21, x22, x23, lsr #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x24, x25, x26, lsr #18
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x27, x28, x29, lsr #63
@@ -2718,11 +1327,13 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x5, x6, x7, asr #21
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - add x8, x9, x10, asr #63
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w3, w5, w7
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w17, wsp, w25
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x13, x23, w8, uxtb
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w3, w5
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w20, wzr, w4
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w4, w6, wzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w11, w13, w15
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w9, w3, wzr, lsl #10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w9, w3, wzr, lsl #1
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w17, w29, w20, lsl #31
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w21, w22, w23, lsr #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds w24, w25, w26, lsr #18
@@ -2736,7 +1347,7 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x4, x6, xzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x11, x13, x15
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x9, x3, xzr, lsl #10
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x17, x29, x20, lsl #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x17, x29, x20, lsl #3
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x21, x22, x23, lsr #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x24, x25, x26, lsr #18
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adds x27, x28, x29, lsr #63
@@ -2747,7 +1358,7 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub wzr, w3, w5
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w4, w6, wzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w11, w13, w15
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w9, w3, wzr, lsl #10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w9, w3, wzr, lsl #1
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w17, w29, w20, lsl #31
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w21, w22, w23, lsr #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w24, w25, w26, lsr #18
@@ -2760,18 +1371,21 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x4, x6, xzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x11, x13, x15
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x9, x3, xzr, lsl #10
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x17, x29, x20, lsl #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x17, x29, x20, lsl #3
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x21, x22, x23, lsr #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x24, x25, x26, lsr #18
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x27, x28, x29, lsr #63
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x2, x3, x4, asr #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x5, x6, x7, asr #21
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x8, x9, x10, asr #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub w13, wsp, w10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sub x16, x2, w19, uxtb
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x13, x15, x14, sxtx #1
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w3, w5, w7
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w3, w5
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w4, w6, wzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w11, w13, w15
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w9, w3, wzr, lsl #10
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w9, w3, wzr, lsl #1
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w17, w29, w20, lsl #31
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w21, w22, w23, lsr #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs w24, w25, w26, lsr #18
@@ -2784,7 +1398,7 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x4, x6, xzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x11, x13, x15
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x9, x3, xzr, lsl #10
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x17, x29, x20, lsl #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x17, x29, x20, lsl #3
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x21, x22, x23, lsr #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x24, x25, x26, lsr #18
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subs x27, x28, x29, lsr #63
@@ -2794,7 +1408,7 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn wzr, w4
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w5, wzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w6, w7
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w8, w9, lsl #15
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w8, w9, lsl #1
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w10, w11, lsl #31
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w12, w13, lsr #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn w14, w15, lsr #21
@@ -2807,7 +1421,7 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x5, xzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x6, x7
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x8, x9, lsl #15
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x10, x11, lsl #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x10, x11, lsl #3
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x12, x13, lsr #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x14, x15, lsr #41
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmn x16, x17, lsr #63
@@ -2818,19 +1432,21 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp wzr, w4
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w5, wzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w6, w7
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w8, w9, lsl #15
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w8, w9, lsl #1
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w10, w11, lsl #31
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w12, w13, lsr #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w14, w15, lsr #21
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w18, w19, asr #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w20, w21, asr #22
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp w22, w23, asr #31
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp wsp, w26
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x16, w27, uxtb
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x0, x3
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp xzr, x4
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x5, xzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x6, x7
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x8, x9, lsl #15
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x10, x11, lsl #63
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x10, x11, lsl #3
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x12, x13, lsr #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x14, x15, lsr #41
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x16, x17, lsr #63
@@ -2839,6 +1455,10 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp x22, x23, asr #63
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp wzr, w0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cmp xzr, x0
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov sp, x30
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov wsp, w20
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov x11, sp
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov w24, wsp
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc w29, w27, w25
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc wzr, w3, w4
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc w9, wzr, w10
@@ -2847,14 +1467,14 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc xzr, x3, x4
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc x9, xzr, x10
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc x20, x0, xzr
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs w29, w27, w25
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs wzr, w3, w4
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs w9, wzr, w10
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs w20, w0, wzr
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs x29, x27, x25
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs xzr, x3, x4
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs x9, xzr, x10
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adcs x20, x0, xzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - adcs w29, w27, w25
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - adcs wzr, w3, w4
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - adcs w9, wzr, w10
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - adcs w20, w0, wzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - adcs x29, x27, x25
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - adcs xzr, x3, x4
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - adcs x9, xzr, x10
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - adcs x20, x0, xzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbc w29, w27, w25
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbc wzr, w3, w4
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc w9, w10
@@ -2863,26 +1483,26 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbc xzr, x3, x4
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc x9, x10
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbc x20, x0, xzr
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbcs w29, w27, w25
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbcs wzr, w3, w4
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngcs w9, w10
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbcs w20, w0, wzr
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbcs x29, x27, x25
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbcs xzr, x3, x4
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngcs x9, x10
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbcs x20, x0, xzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sbcs w29, w27, w25
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sbcs wzr, w3, w4
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ngcs w9, w10
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sbcs w20, w0, wzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sbcs x29, x27, x25
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sbcs xzr, x3, x4
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ngcs x9, x10
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sbcs x20, x0, xzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc w3, w12
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc wzr, w9
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc w23, wzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc x29, x30
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc xzr, x0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc x0, xzr
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngcs w3, w12
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngcs wzr, w9
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngcs w23, wzr
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngcs x29, x30
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngcs xzr, x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngcs x0, xzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ngcs w3, w12
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ngcs wzr, w9
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ngcs w23, wzr
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ngcs x29, x30
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ngcs xzr, x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ngcs x0, xzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfx x1, x2, #3, #2
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr x3, x4, #63
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr wzr, wzr, #31
@@ -2911,15 +1531,11 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr w9, w10, #31
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr x20, x21, #63
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr wzr, wzr, #3
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr w3, w2, #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl w9, w10, #31
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl x20, x21, #63
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl w1, wzr, #3
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfx w9, w10, #0, #1
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfiz x2, x3, #63, #1
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr x19, x20, #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfiz x9, x10, #5, #59
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr w9, w10, #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfiz w11, w12, #31, #1
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfiz w13, w14, #29, #3
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfiz xzr, xzr, #10, #11
@@ -2931,11 +1547,8 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr w11, w12, #31
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr w13, w14, #29
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfx xzr, xzr, #10, #11
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil w9, w10, #0, #1
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfi x2, x3, #63, #1
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil x19, x20, #0, #64
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfi x9, x10, #5, #59
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil w9, w10, #0, #32
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfi w11, w12, #31, #1
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfi w13, w14, #29, #3
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfc xzr, #10, #11
@@ -2947,11 +1560,8 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil w11, w12, #31, #1
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil w13, w14, #29, #3
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bfxil xzr, xzr, #10, #11
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ubfx w9, w10, #0, #1
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl x2, x3, #63
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr x19, x20, #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl x9, x10, #5
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsr w9, w10, #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl w11, w12, #31
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - lsl w13, w14, #29
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ubfiz xzr, xzr, #10, #11
@@ -2969,33 +1579,34 @@ xpaclri
# CHECK-NEXT: - - 1.00 - - - - - - - - - - cbnz x26, #1048572
# CHECK-NEXT: - - 1.00 - - - - - - - - - - cbz wzr, #0
# CHECK-NEXT: - - 1.00 - - - - - - - - - - cbnz xzr, #0
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - cbnz w21, test
# CHECK-NEXT: - - 1.00 - - - - - - - - - - b.ne #4
# CHECK-NEXT: - - 1.00 - - - - - - - - - - b.ge #1048572
# CHECK-NEXT: - - 1.00 - - - - - - - - - - b.ge #-4
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp w1, #31, #0, eq
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp w3, #0, #15, hs
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp wzr, #15, #13, hs
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp x9, #31, #0, le
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp x3, #0, #15, gt
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp xzr, #5, #7, ne
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn w1, #31, #0, eq
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn w3, #0, #15, hs
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn wzr, #15, #13, hs
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn x9, #31, #0, le
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn x3, #0, #15, gt
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn xzr, #5, #7, ne
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp w1, wzr, #0, eq
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp w3, w0, #15, hs
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp wzr, w15, #13, hs
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp x9, xzr, #0, le
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp x3, x0, #15, gt
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmp xzr, x5, #7, ne
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn w1, wzr, #0, eq
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn w3, w0, #15, hs
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn wzr, w15, #13, hs
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn x9, xzr, #0, le
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn x3, x0, #15, gt
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ccmn xzr, x5, #7, ne
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp w1, #31, #0, eq
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp w3, #0, #15, hs
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp wzr, #15, #13, hs
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp x9, #31, #0, le
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp x3, #0, #15, gt
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp xzr, #5, #7, ne
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn w1, #31, #0, eq
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn w3, #0, #15, hs
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn wzr, #15, #13, hs
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn x9, #31, #0, le
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn x3, #0, #15, gt
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn xzr, #5, #7, ne
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp w1, wzr, #0, eq
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp w3, w0, #15, hs
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp wzr, w15, #13, hs
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp x9, xzr, #0, le
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp x3, x0, #15, gt
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp xzr, x5, #7, ne
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn w1, wzr, #0, eq
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn w3, w0, #15, hs
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn wzr, w15, #13, hs
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn x9, xzr, #0, le
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn x3, x0, #15, gt
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn xzr, x5, #7, ne
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csel w1, w0, w19, ne
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csel wzr, w5, w9, eq
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csel w9, wzr, w30, gt
@@ -3057,7 +1668,6 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cneg xzr, x4, le
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cneg x9, xzr, lt
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csneg x4, x8, x8, al
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csinv w9, w8, w8, nv
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rbit w0, w7
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rbit x18, x3
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rev16 w17, w1
@@ -3089,6 +1699,16 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr x21, x22, x23
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ror w24, w25, w26
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ror x27, x28, x29
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - crc32cb w30, w23, w15
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - crc32cb wzr, w12, w14
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - crc32cb w28, w10, w11
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - crc32b w27, w12, w15
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - crc32h w3, w15, w21
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - crc32w w9, w18, w24
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - crc32x w19, w6, x25
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - crc32ch w25, w26, w16
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - crc32cw w27, w12, w23
+# CHECK-NEXT: - - - - - - 1.00 - - - - - - crc32cx w21, w28, x5
# CHECK-NEXT: - - - - - - 4.00 - - - - - - smulh x30, x29, x28
# CHECK-NEXT: - - - - - - 4.00 - - - - - - smulh xzr, x27, x26
# CHECK-NEXT: - - - - - - 4.00 - - - - - - umulh x30, x29, x28
@@ -3131,7 +1751,6 @@ xpaclri
# CHECK-NEXT: - - - - - - 1.00 - - - - - - umsubl x3, w5, w2, x9
# CHECK-NEXT: - - - - - - 1.00 - - - - - - umsubl x16, w17, wzr, x18
# CHECK-NEXT: - - - - - - 1.00 - - - - - - umnegl x19, w20, w21
-# CHECK-NEXT: - - - - - - 4.00 - - - - - - smulh x30, x29, x28
# CHECK-NEXT: - - - - - - 4.00 - - - - - - smulh x23, x22, xzr
# CHECK-NEXT: - - - - - - 4.00 - - - - - - umulh x23, x22, xzr
# CHECK-NEXT: - - - - - - 2.00 - - - - - - mul x19, x20, xzr
@@ -3147,48 +1766,61 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ror x19, x23, #24
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ror x29, xzr, #63
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ror w9, w13, #31
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmp s3, s5
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmp s31, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmp s31, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmpe s29, s30
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmpe s15, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmpe s15, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmp d4, d12
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmp d23, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmp d23, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmpe d26, d22
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmpe d29, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmpe d29, #0.0
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmp s1, s31, #0, eq
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmp s3, s0, #15, hs
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmp s31, s15, #13, hs
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmp d9, d31, #0, le
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmp d3, d0, #15, gt
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmp d31, d5, #7, ne
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmpe s1, s31, #0, eq
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmpe s3, s0, #15, hs
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmpe s31, s15, #13, hs
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmpe d9, d31, #0, le
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmpe d3, d0, #15, gt
-# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fccmpe d31, d5, #7, ne
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcsel s3, s20, s9, pl
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcsel d9, d10, d11, mi
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmp h5, h21
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmp h5, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmpe h22, h21
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmpe h13, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmp s3, s5
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmp s31, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmpe s29, s30
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmpe s15, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmp d4, d12
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmp d23, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmpe d26, d22
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmpe d29, #0.0
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmp s1, s31, #0, eq
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmp s3, s0, #15, hs
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmp s31, s15, #13, hs
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmp d9, d31, #0, le
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmp d3, d0, #15, gt
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmp d31, d5, #7, ne
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmp h31, h3, #11, hs
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmpe h6, h1, #12, ne
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmpe s1, s31, #0, eq
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmpe s3, s0, #15, hs
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmpe s31, s15, #13, hs
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmpe d9, d31, #0, le
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmpe d3, d0, #15, gt
+# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmpe d31, d5, #7, ne
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcsel s3, s20, s9, pl
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcsel d9, d10, d11, mi
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcsel h26, h2, h11, hs
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov h18, h28
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov s0, s1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs s2, s3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg h2, h9
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg s4, s5
# CHECK-NEXT: - - - - - - - - - - - - 9.00 fsqrt s6, s7
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt d8, s9
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt h10, s11
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintn h12, h3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintn s12, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintp h17, h31
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintp s14, s15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintm h0, h21
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintm s16, s17
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintz h10, h29
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintz s18, s19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinta h22, h10
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinta s20, s21
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintx h4, h5
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintx s22, s23
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinti s24, s25
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinti h31, h14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov d0, d1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs d2, d3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg d4, d5
+# CHECK-NEXT: - - - - - - - - - - - - 5.00 fsqrt h13, h24
# CHECK-NEXT: - - - - - - - - - - - - 19.00 fsqrt d6, d7
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt s8, d9
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt h10, d11
@@ -3202,13 +1834,19 @@ xpaclri
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt s26, h27
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt d28, h29
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul s20, s19, s17
+# CHECK-NEXT: - - - - - - - - - - - - 5.00 fdiv h1, h26, h23
# CHECK-NEXT: - - - - - - - - - - - - 10.00 fdiv s1, s2, s3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd h23, h27, h22
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd s4, s5, s6
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub h20, h11, h18
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub s7, s8, s9
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax s10, s11, s12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax h8, h7, h11
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin s13, s14, s15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm h29, h13, h14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm s16, s17, s18
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm s19, s20, s21
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmul h3, h15, h7
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmul s22, s23, s2
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul d20, d19, d17
# CHECK-NEXT: - - - - - - - - - - - - 19.00 fdiv d1, d2, d3
@@ -3216,17 +1854,23 @@ xpaclri
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub d7, d8, d9
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax d10, d11, d12
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin d13, d14, d15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin h4, h13, h17
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm d16, d17, d18
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm d19, d20, d21
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm h29, h23, h17
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmul d22, d23, d24
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmadd h27, h0, h6, h28
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmadd s3, s5, s6, s31
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmadd d3, d13, d0, d23
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmsub h25, h28, h12, h24
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmsub s3, s5, s6, s31
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmsub d3, d13, d0, d23
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmadd h3, h18, h31, h24
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmadd s3, s5, s6, s31
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmadd d3, d13, d0, d23
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmsub s3, s5, s6, s31
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmsub d3, d13, d0, d23
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fnmsub h3, h29, h24, h17
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs w3, h5, #1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs wzr, h20, #13
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs w19, h0, #32
@@ -3371,12 +2015,17 @@ xpaclri
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas x27, d28
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau w29, d30
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau xzr, d0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov h6, w5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov h16, x27
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov w15, h31
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov w3, s9
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov s9, w3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov x21, h14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov x20, d31
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov d1, x15
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov x3, v12.d[1]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov v1.d[1], x19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov h29, #0.50000000
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov s2, #0.12500000
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov s3, #1.00000000
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov d30, #16.00000000
@@ -3391,7 +2040,7 @@ xpaclri
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d0, #1048572
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q0, #-1048576
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - prfm pldl1strm, #0
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - prfm pstslckeep, #0
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - prfm #25, #0
# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stxrb w18, w8, [sp]
# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stxrh w24, w15, [x16]
# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stxr w5, w6, [x17]
@@ -3400,13 +2049,10 @@ xpaclri
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldxrh w17, [x4]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldxr w22, [sp]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldxr x11, [x29]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldxr x11, [x29]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldxr x11, [x29]
# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stxp w12, w11, w10, [sp]
# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stxp wzr, x27, x9, [x12]
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldxp w0, wzr, [sp]
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldxp x17, x0, [x18]
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldxp x17, x0, [x18]
# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stlxrb w12, w22, [x0]
# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stlxrh w10, w1, [x1]
# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stlxr w9, w2, [x2]
@@ -3415,25 +2061,19 @@ xpaclri
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldaxrh w7, [x5]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldaxr w6, [sp]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldaxr x5, [x6]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldaxr x5, [x6]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldaxr x5, [x6]
# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stlxp w4, w5, w6, [sp]
# CHECK-NEXT: - - - - 0.50 1.50 - - - - - - - stlxp wzr, x6, x7, [x1]
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldaxp w5, w18, [sp]
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldaxp x6, x19, [x22]
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldaxp x6, x19, [x22]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stlrb w24, [sp]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stlrh w25, [x30]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stlr w26, [x29]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stlr x27, [x28]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - stlr x27, [x28]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - stlr x27, [x28]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldarb w16, [x21]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldarb w23, [sp]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldarh w22, [x30]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldar wzr, [x29]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldar x21, [x28]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldar x21, [x28]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldar x21, [x28]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - sturb w9, [sp]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - sturh wzr, [x12, #255]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stur w16, [x0, #-256]
@@ -3619,16 +2259,23 @@ xpaclri
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w13, [x2, #4]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsw x2, [x5, #4]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsw x23, [sp, #16380]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsw x21, [x25, x7]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w2, [x4]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh w23, [x6, #8190]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh wzr, [sp, #2]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh x29, [x2, #2]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsh x25, [x8, w13, uxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w26, [x3, #121]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w12, [x2]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb w27, [sp, #4095]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb xzr, [x15]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb x12, [x28, x27]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - str x30, [sp]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - str w20, [x4, #16380]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str b5, [x11]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str h23, [x15]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str s25, [x19]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str d15, [x2]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - strh w17, [sp, #8190]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - strb w23, [x3, #4095]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - strb wzr, [x2]
@@ -3637,11 +2284,13 @@ xpaclri
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr s10, [x19, #16380]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d3, [x10, #32760]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q12, [sp, #65520]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q14, [x6, #4624]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w3, [sp, x5]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w9, [x27, x6]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb w10, [x30, x7]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w11, [x29, x3, sxtx]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - strb w12, [x28, xzr, sxtx]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - strb w5, [x26, w7, uxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w14, [x26, w6, uxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb w15, [x25, w7, uxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrb w17, [x23, w9, sxtw]
@@ -3658,6 +2307,26 @@ xpaclri
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w17, [x23, w9, sxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w18, [x22, w10, sxtw]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - strh w19, [x21, wzr, sxtw #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr b25, [x21, w8, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr b8, [x30, x10]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str b14, [x13, x25]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str b30, [x16, w26, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h3, [sp, x5]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h9, [x27, x6]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h10, [x30, x7, lsl #1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str h11, [x29, x3, sxtx]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str h12, [x28, xzr, sxtx]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str h13, [x27, x5, sxtx #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h14, [x26, w6, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h15, [x25, w7, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h16, [x24, w8, uxtw #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h17, [x23, w9, sxtw]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str h18, [x22, w10, sxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h19, [x21, wzr, sxtw #1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr s12, [x30, w5, uxtw]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d24, [x26, w7, uxtw]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str s20, [x24, w10, uxtw]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str d5, [x26, x6]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w3, [sp, x5]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr s9, [x27, x6]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w10, [x30, x7, lsl #2]
@@ -3678,6 +2347,7 @@ xpaclri
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x13, [x27, x5, sxtx #3]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - prfm pldl1keep, [x26, w6, uxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x15, [x25, w7, uxtw]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - str x27, [x26, w24, uxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x16, [x24, w8, uxtw #3]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x17, [x23, w9, sxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x18, [x22, w10, sxtw]
@@ -3709,6 +2379,8 @@ xpaclri
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp s1, s2, [x3, #44]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp d3, d5, [x9, #504]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp d7, d11, [x10, #-512]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnp x20, x16, [x8]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp x3, x6, [x16]
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp d2, d3, [x30, #-8]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp q3, q5, [sp]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp q17, q19, [sp, #1008]
@@ -3767,6 +2439,12 @@ xpaclri
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnp q3, q5, [sp]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnp q17, q19, [sp, #1008]
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp q23, q29, [x1, #-1024]
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and wsp, w16, #0xe00
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and x2, x22, #0x1e00
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ands w14, w8, #0x70
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ands x4, x10, #0x60
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - eor wsp, w4, #0xe00
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - eor x27, x25, #0x1e00
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov w3, #983055
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - mov x10, #-6148914691236517206
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and w12, w23, w21
@@ -3783,6 +2461,10 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and x7, x20, xzr, asr #63
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bic x13, x20, x14, lsl #47
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - bic w2, w7, w9
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - eon w29, w4, w19
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - eon x19, x12, x2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - eor w8, w27, w2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - eor x22, x16, x6
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - orr w2, w7, w0, asr #31
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - orr x8, x9, x10, lsl #12
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - orn x3, x5, x7, asr #2
@@ -3808,67 +2490,23 @@ xpaclri
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - movk x7, #0, lsl #32
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - movz x8, #0, lsl #48
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - movk x9, #0, lsl #48
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - msr DAIFSet, #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adr x2, #1600
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adrp x21, #6553600
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adr x0, #262144
# CHECK-NEXT: - - 1.00 - - - - - - - - - - tbz x12, #62, #0
# CHECK-NEXT: - - 1.00 - - - - - - - - - - tbz x12, #62, #4
# CHECK-NEXT: - - 1.00 - - - - - - - - - - tbz x12, #62, #-32768
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - tbz w17, #16, test
# CHECK-NEXT: - - 1.00 - - - - - - - - - - tbnz x12, #60, #32764
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - tbnz w3, #28, test
# CHECK-NEXT: - - 1.00 - - - - - - - - - - b #4
# CHECK-NEXT: - - 1.00 - - - - - - - - - - b #-4
# CHECK-NEXT: - - 1.00 - - - - - - - - - - b #134217724
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - bl test
# CHECK-NEXT: - - 1.00 - - - - - - - - - - br x20
# CHECK-NEXT: - - 1.00 - - - - - - - - - - blr xzr
# CHECK-NEXT: - - 1.00 - - - - - - - - - - ret x10
# CHECK-NEXT: - - 1.00 - - - - - - - - - - ret
# CHECK-NEXT: - - 1.00 - - - - - - - - - - eret
# CHECK-NEXT: - - 1.00 - - - - - - - - - - drps
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - autda x0, x1
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - autdb x2, x3
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - autdza x4
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - autdzb x5
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - autia x6, x7
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - autib x8, x9
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - autia1716
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - autib1716
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - autiasp
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - autibsp
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - autiaz
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - autibz
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - autiza x10
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - autizb x11
-# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - blraa x5, x6
-# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - blraaz x7
-# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - blrab x8, x9
-# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - blrabz x10
-# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - braa x29, x30
-# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - braaz x1
-# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - brab x2, x3
-# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - brabz x4
-# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - retaa
-# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - retab
-# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - eretaa
-# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - eretab
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacda x12, x13
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacdb x14, x15
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacdza x16
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacdzb x17
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacga x24, x25, x26
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacia x18, x19
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacib x20, x21
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacia1716
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacib1716
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - paciasp
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacibsp
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - paciaz
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacibz
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - paciza x22
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacizb x23
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldraa x11, [x12, #16]!
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldraa x13, [x14, #32]
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldrab x15, [x16, #24]!
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldrab x17, [x18, #8]
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - xpacd x27
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - xpaci x28
-# CHECK-NEXT: - - - - - - - 1.00 - - - - - xpaclri
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-bf16-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-bf16-instructions.s
new file mode 100644
index 0000000000000..47d10900c037e
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-bf16-instructions.s
@@ -0,0 +1,56 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -instruction-tables < %p/../Inputs/bf16-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 4 0.50 bfcvt h0, s0
+# CHECK-NEXT: 1 4 0.50 bfcvtn v0.4h, v0.4s
+# CHECK-NEXT: 1 4 0.50 bfcvtn2 v0.8h, v0.4s
+# CHECK-NEXT: 2 10 0.50 bfdot v0.2s, v24.4h, v14.2h[2]
+# CHECK-NEXT: 2 10 0.50 bfdot v0.2s, v0.4h, v0.4h
+# CHECK-NEXT: 2 10 0.50 bfdot v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 bfmlalb v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 bfmlalb v0.4s, v0.8h, v0.h[3]
+# CHECK-NEXT: 1 4 0.50 bfmlalt v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 bfmlalt v0.4s, v0.8h, v0.h[3]
+# CHECK-NEXT: 2 14 1.00 bfmmla v0.4s, v0.8h, v0.8h
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - C1NanoUnitALU0
+# CHECK-NEXT: [1] - C1NanoUnitALU1
+# CHECK-NEXT: [2] - C1NanoUnitB
+# CHECK-NEXT: [3] - C1NanoUnitDiv
+# CHECK-NEXT: [4] - C1NanoUnitLd1
+# CHECK-NEXT: [5] - C1NanoUnitLdSt
+# CHECK-NEXT: [6] - C1NanoUnitMAC
+# CHECK-NEXT: [7] - C1NanoUnitPAC
+# CHECK-NEXT: [8] - C1NanoUnitVALU0
+# CHECK-NEXT: [9] - C1NanoUnitVALU1
+# CHECK-NEXT: [10] - C1NanoUnitVMAC0
+# CHECK-NEXT: [11] - C1NanoUnitVMAC1
+# CHECK-NEXT: [12] - C1NanoUnitVMC
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
+# CHECK-NEXT: - - - - - - - - 3.00 4.00 3.50 4.50 -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bfcvt h0, s0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bfcvtn v0.4h, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bfcvtn2 v0.8h, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - bfdot v0.2s, v24.4h, v14.2h[2]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - bfdot v0.2s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - bfdot v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalb v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalb v0.4s, v0.8h, v0.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalt v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalt v0.4s, v0.8h, v0.h[3]
+# CHECK-NEXT: - - - - - - - - - 1.00 - 1.00 - bfmmla v0.4s, v0.8h, v0.8h
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-complxnum-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-complxnum-instructions.s
new file mode 100644
index 0000000000000..cea82d22d0e3c
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-complxnum-instructions.s
@@ -0,0 +1,42 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -instruction-tables < %p/../Inputs/complxnum-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 4 0.50 fcadd v0.2s, v0.2s, v0.2s, #90
+# CHECK-NEXT: 1 4 0.50 fcadd v0.4s, v0.4s, v0.4s, #270
+# CHECK-NEXT: 1 4 0.50 fcmla v0.2s, v0.2s, v0.2s, #90
+# CHECK-NEXT: 1 4 0.50 fcmla v0.4s, v0.4s, v0.s[1], #0
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - C1NanoUnitALU0
+# CHECK-NEXT: [1] - C1NanoUnitALU1
+# CHECK-NEXT: [2] - C1NanoUnitB
+# CHECK-NEXT: [3] - C1NanoUnitDiv
+# CHECK-NEXT: [4] - C1NanoUnitLd1
+# CHECK-NEXT: [5] - C1NanoUnitLdSt
+# CHECK-NEXT: [6] - C1NanoUnitMAC
+# CHECK-NEXT: [7] - C1NanoUnitPAC
+# CHECK-NEXT: [8] - C1NanoUnitVALU0
+# CHECK-NEXT: [9] - C1NanoUnitVALU1
+# CHECK-NEXT: [10] - C1NanoUnitVMAC0
+# CHECK-NEXT: [11] - C1NanoUnitVMAC1
+# CHECK-NEXT: [12] - C1NanoUnitVMC
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
+# CHECK-NEXT: - - - - - - - - - - 2.00 2.00 -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcadd v0.2s, v0.2s, v0.2s, #90
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcadd v0.4s, v0.4s, v0.4s, #270
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla v0.2s, v0.2s, v0.2s, #90
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla v0.4s, v0.4s, v0.s[1], #0
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-crypto-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-crypto-instructions.s
new file mode 100644
index 0000000000000..1c22e3c81ee4b
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-crypto-instructions.s
@@ -0,0 +1,96 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -mattr=+sve-aes,+sha3,+sm4 -instruction-tables < %p/../Inputs/crypto-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 3 0.50 aesd z0.b, z0.b, z31.b
+# CHECK-NEXT: 1 3 0.50 aese z0.b, z0.b, z31.b
+# CHECK-NEXT: 1 3 0.50 aesimc z0.b, z0.b
+# CHECK-NEXT: 1 3 0.50 aesmc z0.b, z0.b
+# CHECK-NEXT: 1 3 1.00 sha1h s0, s1
+# CHECK-NEXT: 1 3 2.00 sha1su1 v0.4s, v1.4s
+# CHECK-NEXT: 1 4 2.00 sha256su0 v0.4s, v1.4s
+# CHECK-NEXT: 1 4 2.00 sha1c q0, s1, v2.4s
+# CHECK-NEXT: 1 4 2.00 sha1p q0, s1, v2.4s
+# CHECK-NEXT: 1 4 2.00 sha1m q0, s1, v2.4s
+# CHECK-NEXT: 1 3 2.00 sha1su0 v0.4s, v1.4s, v2.4s
+# CHECK-NEXT: 1 4 2.00 sha256h q0, q1, v2.4s
+# CHECK-NEXT: 1 4 2.00 sha256h2 q0, q1, v2.4s
+# CHECK-NEXT: 1 4 2.00 sha256su1 v0.4s, v1.4s, v2.4s
+# CHECK-NEXT: 1 9 7.00 sha512h q0, q1, v2.2d
+# CHECK-NEXT: 1 9 7.00 sha512h2 q0, q1, v2.2d
+# CHECK-NEXT: 1 9 7.00 sha512su0 v11.2d, v12.2d
+# CHECK-NEXT: 1 9 7.00 sha512su1 v11.2d, v13.2d, v14.2d
+# CHECK-NEXT: 1 3 0.50 eor3 v25.16b, v12.16b, v7.16b, v2.16b
+# CHECK-NEXT: 1 3 2.00 rax1 v30.2d, v29.2d, v26.2d
+# CHECK-NEXT: 1 4 0.50 xar v26.2d, v21.2d, v27.2d, #63
+# CHECK-NEXT: 1 3 0.50 bcax v31.16b, v26.16b, v2.16b, v1.16b
+# CHECK-NEXT: 1 9 7.00 sm3ss1 v20.4s, v23.4s, v21.4s, v22.4s
+# CHECK-NEXT: 1 9 7.00 sm3tt1a v20.4s, v23.4s, v21.s[3]
+# CHECK-NEXT: 1 9 7.00 sm3tt1b v20.4s, v23.4s, v21.s[3]
+# CHECK-NEXT: 1 9 7.00 sm3tt2a v20.4s, v23.4s, v21.s[3]
+# CHECK-NEXT: 1 9 7.00 sm3tt2b v20.4s, v23.4s, v21.s[3]
+# CHECK-NEXT: 1 9 7.00 sm3partw1 v30.4s, v29.4s, v26.4s
+# CHECK-NEXT: 1 9 7.00 sm3partw2 v30.4s, v29.4s, v26.4s
+# CHECK-NEXT: 1 9 7.00 sm4ekey v11.4s, v11.4s, v19.4s
+# CHECK-NEXT: 1 9 7.00 sm4e v2.4s, v15.4s
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - C1NanoUnitALU0
+# CHECK-NEXT: [1] - C1NanoUnitALU1
+# CHECK-NEXT: [2] - C1NanoUnitB
+# CHECK-NEXT: [3] - C1NanoUnitDiv
+# CHECK-NEXT: [4] - C1NanoUnitLd1
+# CHECK-NEXT: [5] - C1NanoUnitLdSt
+# CHECK-NEXT: [6] - C1NanoUnitMAC
+# CHECK-NEXT: [7] - C1NanoUnitPAC
+# CHECK-NEXT: [8] - C1NanoUnitVALU0
+# CHECK-NEXT: [9] - C1NanoUnitVALU1
+# CHECK-NEXT: [10] - C1NanoUnitVMAC0
+# CHECK-NEXT: [11] - C1NanoUnitVMAC1
+# CHECK-NEXT: [12] - C1NanoUnitVMC
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
+# CHECK-NEXT: - - - - - - - - 5.50 4.50 - - 109.00
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aesd z0.b, z0.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aese z0.b, z0.b, z31.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aesimc z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aesmc z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - sha1h s0, s1
+# CHECK-NEXT: - - - - - - - - - - - - 2.00 sha1su1 v0.4s, v1.4s
+# CHECK-NEXT: - - - - - - - - - - - - 2.00 sha256su0 v0.4s, v1.4s
+# CHECK-NEXT: - - - - - - - - - - - - 2.00 sha1c q0, s1, v2.4s
+# CHECK-NEXT: - - - - - - - - - - - - 2.00 sha1p q0, s1, v2.4s
+# CHECK-NEXT: - - - - - - - - - - - - 2.00 sha1m q0, s1, v2.4s
+# CHECK-NEXT: - - - - - - - - - - - - 2.00 sha1su0 v0.4s, v1.4s, v2.4s
+# CHECK-NEXT: - - - - - - - - - - - - 2.00 sha256h q0, q1, v2.4s
+# CHECK-NEXT: - - - - - - - - - - - - 2.00 sha256h2 q0, q1, v2.4s
+# CHECK-NEXT: - - - - - - - - - - - - 2.00 sha256su1 v0.4s, v1.4s, v2.4s
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 sha512h q0, q1, v2.2d
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 sha512h2 q0, q1, v2.2d
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 sha512su0 v11.2d, v12.2d
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 sha512su1 v11.2d, v13.2d, v14.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor3 v25.16b, v12.16b, v7.16b, v2.16b
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - rax1 v30.2d, v29.2d, v26.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xar v26.2d, v21.2d, v27.2d, #63
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bcax v31.16b, v26.16b, v2.16b, v1.16b
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 sm3ss1 v20.4s, v23.4s, v21.4s, v22.4s
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 sm3tt1a v20.4s, v23.4s, v21.s[3]
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 sm3tt1b v20.4s, v23.4s, v21.s[3]
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 sm3tt2a v20.4s, v23.4s, v21.s[3]
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 sm3tt2b v20.4s, v23.4s, v21.s[3]
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 sm3partw1 v30.4s, v29.4s, v26.4s
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 sm3partw2 v30.4s, v29.4s, v26.4s
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 sm4ekey v11.4s, v11.4s, v19.4s
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 sm4e v2.4s, v15.4s
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-flag-manipulation-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-flag-manipulation-instructions.s
new file mode 100644
index 0000000000000..56a47db1b8e71
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-flag-manipulation-instructions.s
@@ -0,0 +1,53 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -instruction-tables < %p/../Inputs/flag-manipulation-instructions.s | FileCheck %s
+
+setf8 w1
+setf16 w1
+rmif x0, #0, #0
+cfinv
+axflag
+xaflag
+
+# 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 2.00 U setf8 w1
+# CHECK-NEXT: 1 2 2.00 U setf16 w1
+# CHECK-NEXT: 1 1 1.00 U rmif x0, #0, #0
+# CHECK-NEXT: 1 1 1.00 U cfinv
+# CHECK-NEXT: 1 1 1.00 U axflag
+# CHECK-NEXT: 1 1 1.00 U xaflag
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - C1NanoUnitALU0
+# CHECK-NEXT: [1] - C1NanoUnitALU1
+# CHECK-NEXT: [2] - C1NanoUnitB
+# CHECK-NEXT: [3] - C1NanoUnitDiv
+# CHECK-NEXT: [4] - C1NanoUnitLd1
+# CHECK-NEXT: [5] - C1NanoUnitLdSt
+# CHECK-NEXT: [6] - C1NanoUnitMAC
+# CHECK-NEXT: [7] - C1NanoUnitPAC
+# CHECK-NEXT: [8] - C1NanoUnitVALU0
+# CHECK-NEXT: [9] - C1NanoUnitVALU1
+# CHECK-NEXT: [10] - C1NanoUnitVMAC0
+# CHECK-NEXT: [11] - C1NanoUnitVMAC1
+# CHECK-NEXT: [12] - C1NanoUnitVMC
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
+# CHECK-NEXT: 4.00 1.00 3.00 - - - - - - - - - -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
+# CHECK-NEXT: 2.00 - - - - - - - - - - - - setf8 w1
+# CHECK-NEXT: 2.00 - - - - - - - - - - - - setf16 w1
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - rmif x0, #0, #0
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - cfinv
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - axflag
+# CHECK-NEXT: - - 1.00 - - - - - - - - - - xaflag
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-forwarding.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-forwarding.s
new file mode 100644
index 0000000000000..43ad32bd447cc
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-forwarding.s
@@ -0,0 +1,38 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano --instruction-info=0 --resource-pressure=0 --timeline --timeline-max-iterations=2 < %s | FileCheck %s
+
+# LLVM-MCA-BEGIN adrp
+adrp x0, #6553600
+ldr x0, [x0, #4096]
+# LLVM-MCA-END
+
+# CHECK: [0] Code Region - adrp
+
+# CHECK: Iterations: 100
+# CHECK-NEXT: Instructions: 200
+# CHECK-NEXT: Total Cycles: 102
+# CHECK-NEXT: Total uOps: 200
+
+# CHECK: Dispatch Width: 3
+# CHECK-NEXT: uOps Per Cycle: 1.96
+# CHECK-NEXT: IPC: 1.96
+# CHECK-NEXT: Block RThroughput: 0.7
+
+# CHECK: Timeline view:
+# CHECK-NEXT: Index 0123
+
+# CHECK: [0,0] DE . adrp x0, #6553600
+# CHECK-NEXT: [0,1] DeE. ldr x0, [x0, #4096]
+# CHECK-NEXT: [1,0] .DE. adrp x0, #6553600
+# CHECK-NEXT: [1,1] .DeE ldr x0, [x0, #4096]
+
+# CHECK: Average Wait times (based on the timeline view):
+# CHECK-NEXT: [0]: Executions
+# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue
+# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready
+# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage
+
+# CHECK: [0] [1] [2] [3]
+# CHECK-NEXT: 0. 2 0.0 0.0 0.0 adrp x0, #6553600
+# CHECK-NEXT: 1. 2 0.0 0.0 0.0 ldr x0, [x0, #4096]
+# CHECK-NEXT: 2 0.0 0.0 0.0 <total>
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-fp16fml-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-fp16fml-instructions.s
new file mode 100644
index 0000000000000..6e7b51c5f0607
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-fp16fml-instructions.s
@@ -0,0 +1,67 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -instruction-tables < %p/../Inputs/fp16fml-instructions.s | FileCheck %s
+-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 4 0.50 fmlal v0.2s, v0.2h, v0.h[1]
+# CHECK-NEXT: 1 4 0.50 fmlal v0.4s, v0.4h, v0.h[3]
+# CHECK-NEXT: 1 4 0.50 fmlal v0.2s, v0.2h, v0.2h
+# CHECK-NEXT: 1 4 0.50 fmlal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 fmlal2 v0.2s, v0.2h, v0.h[1]
+# CHECK-NEXT: 1 4 0.50 fmlal2 v0.4s, v0.4h, v0.h[3]
+# CHECK-NEXT: 1 4 0.50 fmlal2 v0.2s, v0.2h, v0.2h
+# CHECK-NEXT: 1 4 0.50 fmlal2 v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 fmlsl v0.2s, v0.2h, v0.h[1]
+# CHECK-NEXT: 1 4 0.50 fmlsl v0.4s, v0.4h, v0.h[3]
+# CHECK-NEXT: 1 4 0.50 fmlsl v0.2s, v0.2h, v0.2h
+# CHECK-NEXT: 1 4 0.50 fmlsl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 fmlsl2 v0.2s, v0.2h, v0.h[1]
+# CHECK-NEXT: 1 4 0.50 fmlsl2 v0.4s, v0.4h, v0.h[3]
+# CHECK-NEXT: 1 4 0.50 fmlsl2 v0.2s, v0.2h, v0.2h
+# CHECK-NEXT: 1 4 0.50 fmlsl2 v0.4s, v0.4h, v0.4h
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - C1NanoUnitALU0
+# CHECK-NEXT: [1] - C1NanoUnitALU1
+# CHECK-NEXT: [2] - C1NanoUnitB
+# CHECK-NEXT: [3] - C1NanoUnitDiv
+# CHECK-NEXT: [4] - C1NanoUnitLd1
+# CHECK-NEXT: [5] - C1NanoUnitLdSt
+# CHECK-NEXT: [6] - C1NanoUnitMAC
+# CHECK-NEXT: [7] - C1NanoUnitPAC
+# CHECK-NEXT: [8] - C1NanoUnitVALU0
+# CHECK-NEXT: [9] - C1NanoUnitVALU1
+# CHECK-NEXT: [10] - C1NanoUnitVMAC0
+# CHECK-NEXT: [11] - C1NanoUnitVMAC1
+# CHECK-NEXT: [12] - C1NanoUnitVMC
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
+# CHECK-NEXT: - - - - - - - - - - 8.00 8.00 -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlal v0.2s, v0.2h, v0.h[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlal v0.4s, v0.4h, v0.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlal v0.2s, v0.2h, v0.2h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlal2 v0.2s, v0.2h, v0.h[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlal2 v0.4s, v0.4h, v0.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlal2 v0.2s, v0.2h, v0.2h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlal2 v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlsl v0.2s, v0.2h, v0.h[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlsl v0.4s, v0.4h, v0.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlsl v0.2s, v0.2h, v0.2h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlsl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlsl2 v0.2s, v0.2h, v0.h[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlsl2 v0.4s, v0.4h, v0.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlsl2 v0.2s, v0.2h, v0.2h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlsl2 v0.4s, v0.4h, v0.4h
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-fptoint-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-fptoint-instructions.s
new file mode 100644
index 0000000000000..79601ef0fca1d
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-fptoint-instructions.s
@@ -0,0 +1,59 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -instruction-tables < %p/../Inputs/fptoint-instructions.s | FileCheck %s
+-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 4 0.50 frint32x v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 frint32x v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 frint32x v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 frint32z v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 frint32z v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 frint32z v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 frint64x v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 frint64x v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 frint64x v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 frint64z v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 frint64z v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 frint64z v0.4s, v0.4s
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - C1NanoUnitALU0
+# CHECK-NEXT: [1] - C1NanoUnitALU1
+# CHECK-NEXT: [2] - C1NanoUnitB
+# CHECK-NEXT: [3] - C1NanoUnitDiv
+# CHECK-NEXT: [4] - C1NanoUnitLd1
+# CHECK-NEXT: [5] - C1NanoUnitLdSt
+# CHECK-NEXT: [6] - C1NanoUnitMAC
+# CHECK-NEXT: [7] - C1NanoUnitPAC
+# CHECK-NEXT: [8] - C1NanoUnitVALU0
+# CHECK-NEXT: [9] - C1NanoUnitVALU1
+# CHECK-NEXT: [10] - C1NanoUnitVMAC0
+# CHECK-NEXT: [11] - C1NanoUnitVMAC1
+# CHECK-NEXT: [12] - C1NanoUnitVMC
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
+# CHECK-NEXT: - - - - - - - - 6.00 6.00 - - -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frint32x v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frint32x v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frint32x v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frint32z v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frint32z v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frint32z v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frint64x v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frint64x v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frint64x v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frint64z v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frint64z v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frint64z v0.4s, v0.4s
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-i8mm-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-i8mm-instructions.s
new file mode 100644
index 0000000000000..b4102a2297e22
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-i8mm-instructions.s
@@ -0,0 +1,53 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -instruction-tables < %p/../Inputs/i8mm-instructions.s | FileCheck %s
+-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 4 0.50 smmla v0.4s, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 sudot v0.2s, v0.8b, v0.4b[2]
+# CHECK-NEXT: 1 4 0.50 sudot v0.4s, v0.16b, v0.4b[2]
+# CHECK-NEXT: 1 4 0.50 ummla v0.4s, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 usdot v0.2s, v0.8b, v0.4b[2]
+# CHECK-NEXT: 1 4 0.50 usdot v0.2s, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 usdot v0.4s, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 usdot v0.4s, v0.16b, v0.4b[2]
+# CHECK-NEXT: 1 4 0.50 usmmla v0.4s, v0.16b, v0.16b
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - C1NanoUnitALU0
+# CHECK-NEXT: [1] - C1NanoUnitALU1
+# CHECK-NEXT: [2] - C1NanoUnitB
+# CHECK-NEXT: [3] - C1NanoUnitDiv
+# CHECK-NEXT: [4] - C1NanoUnitLd1
+# CHECK-NEXT: [5] - C1NanoUnitLdSt
+# CHECK-NEXT: [6] - C1NanoUnitMAC
+# CHECK-NEXT: [7] - C1NanoUnitPAC
+# CHECK-NEXT: [8] - C1NanoUnitVALU0
+# CHECK-NEXT: [9] - C1NanoUnitVALU1
+# CHECK-NEXT: [10] - C1NanoUnitVMAC0
+# CHECK-NEXT: [11] - C1NanoUnitVMAC1
+# CHECK-NEXT: [12] - C1NanoUnitVMC
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
+# CHECK-NEXT: - - - - - - - - 1.50 1.50 3.00 3.00 -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smmla v0.4s, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sudot v0.2s, v0.8b, v0.4b[2]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sudot v0.4s, v0.16b, v0.4b[2]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ummla v0.4s, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - usdot v0.2s, v0.8b, v0.4b[2]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - usdot v0.2s, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - usdot v0.4s, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - usdot v0.4s, v0.16b, v0.4b[2]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usmmla v0.4s, v0.16b, v0.16b
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-js-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-js-instructions.s
new file mode 100644
index 0000000000000..d5cf5aa861165
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-js-instructions.s
@@ -0,0 +1,36 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -instruction-tables < %p/../Inputs/js-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 4 1.00 fjcvtzs w25, d26
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - C1NanoUnitALU0
+# CHECK-NEXT: [1] - C1NanoUnitALU1
+# CHECK-NEXT: [2] - C1NanoUnitB
+# CHECK-NEXT: [3] - C1NanoUnitDiv
+# CHECK-NEXT: [4] - C1NanoUnitLd1
+# CHECK-NEXT: [5] - C1NanoUnitLdSt
+# CHECK-NEXT: [6] - C1NanoUnitMAC
+# CHECK-NEXT: [7] - C1NanoUnitPAC
+# CHECK-NEXT: [8] - C1NanoUnitVALU0
+# CHECK-NEXT: [9] - C1NanoUnitVALU1
+# CHECK-NEXT: [10] - C1NanoUnitVMAC0
+# CHECK-NEXT: [11] - C1NanoUnitVMAC1
+# CHECK-NEXT: [12] - C1NanoUnitVMC
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
+# CHECK-NEXT: - - - - - - - - - 1.00 - - -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fjcvtzs w25, d26
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-mops-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-mops-instructions.s
new file mode 100644
index 0000000000000..f688ca4d57a29
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-mops-instructions.s
@@ -0,0 +1,323 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -instruction-tables < %p/../Inputs/mops-instructions.s | FileCheck %s
+
+ cpyfp [x0]!, [x1]!, x2!
+ cpyfm [x0]!, [x1]!, x2!
+ cpyfe [x0]!, [x1]!, x2!
+ cpyp [x0]!, [x1]!, x2!
+ cpym [x0]!, [x1]!, x2!
+ cpye [x0]!, [x1]!, x2!
+ setp [x0]!, x1!, x2
+ setm [x0]!, x1!, x2
+ sete [x0]!, x1!, x2
+ setgp [x0]!, x1!, x2
+ setgm [x0]!, x1!, x2
+ setge [x0]!, x1!, x2
+
+# 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 2.00 * * U cpyfp [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 2 2.00 * * U cpyfpwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 2 2.00 * * U cpyfprn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 2 2.00 * * U cpyfpn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 2 2.00 * * U cpyfpwt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 2 2.00 * * U cpyfpwtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 2 2.00 * * U cpyfpwtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 2 2.00 * * U cpyfpwtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 2 2.00 * * U cpyfprt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 2 2.00 * * U cpyfprtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 2 2.00 * * U cpyfprtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 2 2.00 * * U cpyfprtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 2 2.00 * * U cpyfpt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 2 2.00 * * U cpyfptwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 2 2.00 * * U cpyfptrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 2 2.00 * * U cpyfptn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfm [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfmwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfmrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfmn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfmwt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfmwtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfmwtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfmwtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfmrt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfmrtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfmrtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfmrtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfmt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfmtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfmtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfmtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfe [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfewn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfern [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfen [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfewt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfewtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfewtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfewtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfert [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfertwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfertrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfertn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfet [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfetwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfetrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfetn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 3 3.00 * * U cpyp [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 3 3.00 * * U cpypwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 3 3.00 * * U cpyprn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 3 3.00 * * U cpypn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 3 3.00 * * U cpypwt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 3 3.00 * * U cpypwtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 3 3.00 * * U cpypwtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 3 3.00 * * U cpypwtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 3 3.00 * * U cpyprt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 3 3.00 * * U cpyprtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 3 3.00 * * U cpyprtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 3 3.00 * * U cpyprtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 3 3.00 * * U cpypt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 3 3.00 * * U cpyptwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 3 3.00 * * U cpyptrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 3 3.00 * * U cpyptn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpym [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpymwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpymrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpymn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpymwt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpymwtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpymwtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpymwtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpymrt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpymrtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpymrtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpymrtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpymt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpymtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpymtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpymtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpye [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyewn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyern [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyen [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyewt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyewtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyewtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyewtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyert [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyertwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyertrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyertn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyet [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyetwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyetrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 1 1.00 * * U cpyetn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1 2 2.00 * U setp [x0]!, x1!, x2
+# CHECK-NEXT: 1 2 2.00 * U setpt [x0]!, x1!, x2
+# CHECK-NEXT: 1 2 2.00 * U setpn [x0]!, x1!, x2
+# CHECK-NEXT: 1 2 2.00 * U setptn [x0]!, x1!, x2
+# CHECK-NEXT: 1 1 1.00 * U setm [x0]!, x1!, x2
+# CHECK-NEXT: 1 1 1.00 * U setmt [x0]!, x1!, x2
+# CHECK-NEXT: 1 1 1.00 * U setmn [x0]!, x1!, x2
+# CHECK-NEXT: 1 1 1.00 * U setmtn [x0]!, x1!, x2
+# CHECK-NEXT: 1 1 1.00 * U sete [x0]!, x1!, x2
+# CHECK-NEXT: 1 1 1.00 * U setet [x0]!, x1!, x2
+# CHECK-NEXT: 1 1 1.00 * U seten [x0]!, x1!, x2
+# CHECK-NEXT: 1 1 1.00 * U setetn [x0]!, x1!, x2
+# CHECK-NEXT: 1 2 2.00 * U setgp [x0]!, x1!, x2
+# CHECK-NEXT: 1 2 2.00 * U setgpt [x0]!, x1!, x2
+# CHECK-NEXT: 1 2 2.00 * U setgpn [x0]!, x1!, x2
+# CHECK-NEXT: 1 2 2.00 * U setgptn [x0]!, x1!, x2
+# CHECK-NEXT: 1 1 1.00 * U setgm [x0]!, x1!, x2
+# CHECK-NEXT: 1 1 1.00 * U setgmt [x0]!, x1!, x2
+# CHECK-NEXT: 1 1 1.00 * U setgmn [x0]!, x1!, x2
+# CHECK-NEXT: 1 1 1.00 * U setgmtn [x0]!, x1!, x2
+# CHECK-NEXT: 1 1 1.00 * U setge [x0]!, x1!, x2
+# CHECK-NEXT: 1 1 1.00 * U setget [x0]!, x1!, x2
+# CHECK-NEXT: 1 1 1.00 * U setgen [x0]!, x1!, x2
+# CHECK-NEXT: 1 1 1.00 * U setgetn [x0]!, x1!, x2
+# CHECK-NEXT: 1 2 2.00 * * U cpyfp [x0]!, [x1]!, xzr!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfm [x0]!, [x1]!, xzr!
+# CHECK-NEXT: 1 1 1.00 * * U cpyfe [x0]!, [x1]!, xzr!
+# CHECK-NEXT: 1 3 3.00 * * U cpyp [x0]!, [x1]!, xzr!
+# CHECK-NEXT: 1 1 1.00 * * U cpym [x0]!, [x1]!, xzr!
+# CHECK-NEXT: 1 1 1.00 * * U cpye [x0]!, [x1]!, xzr!
+# CHECK-NEXT: 1 2 2.00 * U setp [x0]!, xzr!, x2
+# CHECK-NEXT: 1 2 2.00 * U setp [x0]!, x1!, xzr
+# CHECK-NEXT: 1 1 1.00 * U setm [x0]!, xzr!, x2
+# CHECK-NEXT: 1 1 1.00 * U setm [x0]!, x1!, xzr
+# CHECK-NEXT: 1 1 1.00 * U sete [x0]!, xzr!, x2
+# CHECK-NEXT: 1 1 1.00 * U sete [x0]!, x1!, xzr
+# CHECK-NEXT: 1 2 2.00 * U setgp [x0]!, xzr!, x2
+# CHECK-NEXT: 1 2 2.00 * U setgp [x0]!, x1!, xzr
+# CHECK-NEXT: 1 1 1.00 * U setgm [x0]!, xzr!, x2
+# CHECK-NEXT: 1 1 1.00 * U setgm [x0]!, x1!, xzr
+# CHECK-NEXT: 1 1 1.00 * U setge [x0]!, xzr!, x2
+# CHECK-NEXT: 1 1 1.00 * U setge [x0]!, x1!, xzr
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - C1NanoUnitALU0
+# CHECK-NEXT: [1] - C1NanoUnitALU1
+# CHECK-NEXT: [2] - C1NanoUnitB
+# CHECK-NEXT: [3] - C1NanoUnitDiv
+# CHECK-NEXT: [4] - C1NanoUnitLd1
+# CHECK-NEXT: [5] - C1NanoUnitLdSt
+# CHECK-NEXT: [6] - C1NanoUnitMAC
+# CHECK-NEXT: [7] - C1NanoUnitPAC
+# CHECK-NEXT: [8] - C1NanoUnitVALU0
+# CHECK-NEXT: [9] - C1NanoUnitVALU1
+# CHECK-NEXT: [10] - C1NanoUnitVMAC0
+# CHECK-NEXT: [11] - C1NanoUnitVMAC1
+# CHECK-NEXT: [12] - C1NanoUnitVMC
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
+# CHECK-NEXT: 100.50 100.50 - - - 201.00 - - - - - - -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - cpyfp [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - cpyfpwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - cpyfprn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - cpyfpn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - cpyfpwt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - cpyfpwtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - cpyfpwtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - cpyfpwtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - cpyfprt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - cpyfprtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - cpyfprtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - cpyfprtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - cpyfpt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - cpyfptwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - cpyfptrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - cpyfptn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfm [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfmwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfmrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfmn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfmwt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfmwtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfmwtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfmwtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfmrt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfmrtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfmrtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfmrtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfmt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfmtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfmtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfmtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfe [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfewn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfern [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfen [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfewt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfewtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfewtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfewtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfert [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfertwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfertrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfertn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfet [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfetwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfetrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfetn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.50 1.50 - - - 3.00 - - - - - - - cpyp [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.50 1.50 - - - 3.00 - - - - - - - cpypwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.50 1.50 - - - 3.00 - - - - - - - cpyprn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.50 1.50 - - - 3.00 - - - - - - - cpypn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.50 1.50 - - - 3.00 - - - - - - - cpypwt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.50 1.50 - - - 3.00 - - - - - - - cpypwtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.50 1.50 - - - 3.00 - - - - - - - cpypwtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.50 1.50 - - - 3.00 - - - - - - - cpypwtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.50 1.50 - - - 3.00 - - - - - - - cpyprt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.50 1.50 - - - 3.00 - - - - - - - cpyprtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.50 1.50 - - - 3.00 - - - - - - - cpyprtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.50 1.50 - - - 3.00 - - - - - - - cpyprtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.50 1.50 - - - 3.00 - - - - - - - cpypt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.50 1.50 - - - 3.00 - - - - - - - cpyptwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.50 1.50 - - - 3.00 - - - - - - - cpyptrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.50 1.50 - - - 3.00 - - - - - - - cpyptn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpym [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpymwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpymrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpymn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpymwt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpymwtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpymwtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpymwtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpymrt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpymrtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpymrtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpymrtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpymt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpymtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpymtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpymtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpye [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyewn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyern [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyen [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyewt [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyewtwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyewtrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyewtn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyert [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyertwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyertrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyertn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyet [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyetwn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyetrn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyetn [x0]!, [x1]!, x2!
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - setp [x0]!, x1!, x2
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - setpt [x0]!, x1!, x2
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - setpn [x0]!, x1!, x2
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - setptn [x0]!, x1!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setm [x0]!, x1!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setmt [x0]!, x1!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setmn [x0]!, x1!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setmtn [x0]!, x1!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - sete [x0]!, x1!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setet [x0]!, x1!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - seten [x0]!, x1!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setetn [x0]!, x1!, x2
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - setgp [x0]!, x1!, x2
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - setgpt [x0]!, x1!, x2
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - setgpn [x0]!, x1!, x2
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - setgptn [x0]!, x1!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setgm [x0]!, x1!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setgmt [x0]!, x1!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setgmn [x0]!, x1!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setgmtn [x0]!, x1!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setge [x0]!, x1!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setget [x0]!, x1!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setgen [x0]!, x1!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setgetn [x0]!, x1!, x2
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - cpyfp [x0]!, [x1]!, xzr!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfm [x0]!, [x1]!, xzr!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpyfe [x0]!, [x1]!, xzr!
+# CHECK-NEXT: 1.50 1.50 - - - 3.00 - - - - - - - cpyp [x0]!, [x1]!, xzr!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpym [x0]!, [x1]!, xzr!
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - cpye [x0]!, [x1]!, xzr!
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - setp [x0]!, xzr!, x2
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - setp [x0]!, x1!, xzr
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setm [x0]!, xzr!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setm [x0]!, x1!, xzr
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - sete [x0]!, xzr!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - sete [x0]!, x1!, xzr
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - setgp [x0]!, xzr!, x2
+# CHECK-NEXT: 1.00 1.00 - - - 2.00 - - - - - - - setgp [x0]!, x1!, xzr
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setgm [x0]!, xzr!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setgm [x0]!, x1!, xzr
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setge [x0]!, xzr!, x2
+# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - - - - - - setge [x0]!, x1!, xzr
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-mte-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-mte-instructions.s
new file mode 100644
index 0000000000000..1454c06ac8225
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-mte-instructions.s
@@ -0,0 +1,244 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -instruction-tables < %p/../Inputs/mte-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 4 3.00 U irg x0, x1
+# CHECK-NEXT: 1 4 3.00 U irg sp, x1
+# CHECK-NEXT: 1 4 3.00 U irg x0, sp
+# CHECK-NEXT: 1 4 3.00 U irg x0, x1, x2
+# CHECK-NEXT: 1 4 3.00 U irg sp, x1, x2
+# CHECK-NEXT: 1 2 0.50 addg x0, x1, #0, #1
+# CHECK-NEXT: 1 2 0.50 addg sp, x2, #32, #3
+# CHECK-NEXT: 1 2 0.50 addg x0, sp, #64, #5
+# CHECK-NEXT: 1 2 0.50 addg x3, x4, #1008, #6
+# CHECK-NEXT: 1 2 0.50 addg x5, x6, #112, #15
+# CHECK-NEXT: 1 2 0.50 U subg x0, x1, #0, #1
+# CHECK-NEXT: 1 2 0.50 U subg sp, x2, #32, #3
+# CHECK-NEXT: 1 2 0.50 U subg x0, sp, #64, #5
+# CHECK-NEXT: 1 2 0.50 U subg x3, x4, #1008, #6
+# CHECK-NEXT: 1 2 0.50 U subg x5, x6, #112, #15
+# CHECK-NEXT: 1 2 0.50 gmi x0, x1, x2
+# CHECK-NEXT: 1 2 0.50 gmi x3, sp, x4
+# CHECK-NEXT: 1 2 0.50 gmi xzr, x0, x30
+# CHECK-NEXT: 1 2 0.50 gmi x30, x0, xzr
+# CHECK-NEXT: 1 2 0.50 subp x0, x1, x2
+# CHECK-NEXT: 1 2 0.50 U subps x0, x1, x2
+# CHECK-NEXT: 1 2 0.50 subp x0, sp, sp
+# CHECK-NEXT: 1 2 0.50 U subps x0, sp, sp
+# CHECK-NEXT: 1 2 0.50 U subps xzr, x0, x1
+# CHECK-NEXT: 1 2 0.50 U subps xzr, sp, sp
+# CHECK-NEXT: 1 1 1.00 * stg x0, [x1, #-4096]
+# CHECK-NEXT: 1 1 1.00 * stg x1, [x2, #4080]
+# CHECK-NEXT: 1 1 1.00 * stg x2, [sp, #16]
+# CHECK-NEXT: 1 1 1.00 * stg x3, [x1]
+# CHECK-NEXT: 1 1 1.00 * stg sp, [x1]
+# CHECK-NEXT: 1 1 1.00 * stzg x0, [x1, #-4096]
+# CHECK-NEXT: 1 1 1.00 * stzg x1, [x2, #4080]
+# CHECK-NEXT: 1 1 1.00 * stzg x2, [sp, #16]
+# CHECK-NEXT: 1 1 1.00 * stzg x3, [x1]
+# CHECK-NEXT: 1 1 1.00 * stzg sp, [x1]
+# CHECK-NEXT: 1 1 1.00 * U stg x0, [x1, #-4096]!
+# CHECK-NEXT: 1 1 1.00 * U stg x1, [x2, #4080]!
+# CHECK-NEXT: 1 1 1.00 * U stg x2, [sp, #16]!
+# CHECK-NEXT: 1 1 1.00 * U stg sp, [sp, #16]!
+# CHECK-NEXT: 1 1 1.00 * U stzg x0, [x1, #-4096]!
+# CHECK-NEXT: 1 1 1.00 * U stzg x1, [x2, #4080]!
+# CHECK-NEXT: 1 1 1.00 * U stzg x2, [sp, #16]!
+# CHECK-NEXT: 1 1 1.00 * U stzg sp, [sp, #16]!
+# CHECK-NEXT: 1 1 1.00 * U stg x0, [x1], #-4096
+# CHECK-NEXT: 1 1 1.00 * U stg x1, [x2], #4080
+# CHECK-NEXT: 1 1 1.00 * U stg x2, [sp], #16
+# CHECK-NEXT: 1 1 1.00 * U stg sp, [sp], #16
+# CHECK-NEXT: 1 1 1.00 * U stzg x0, [x1], #-4096
+# CHECK-NEXT: 1 1 1.00 * U stzg x1, [x2], #4080
+# CHECK-NEXT: 1 1 1.00 * U stzg x2, [sp], #16
+# CHECK-NEXT: 1 1 1.00 * U stzg sp, [sp], #16
+# CHECK-NEXT: 1 1 2.00 * st2g x0, [x1, #-4096]
+# CHECK-NEXT: 1 1 2.00 * st2g x1, [x2, #4080]
+# CHECK-NEXT: 1 1 2.00 * st2g x2, [sp, #16]
+# CHECK-NEXT: 1 1 2.00 * st2g x3, [x1]
+# CHECK-NEXT: 1 1 2.00 * st2g sp, [x1]
+# CHECK-NEXT: 1 1 2.00 * stz2g x0, [x1, #-4096]
+# CHECK-NEXT: 1 1 2.00 * stz2g x1, [x2, #4080]
+# CHECK-NEXT: 1 1 2.00 * stz2g x2, [sp, #16]
+# CHECK-NEXT: 1 1 2.00 * stz2g x3, [x1]
+# CHECK-NEXT: 1 1 2.00 * stz2g sp, [x1]
+# CHECK-NEXT: 1 1 2.00 * U st2g x0, [x1, #-4096]!
+# CHECK-NEXT: 1 1 2.00 * U st2g x1, [x2, #4080]!
+# CHECK-NEXT: 1 1 2.00 * U st2g x2, [sp, #16]!
+# CHECK-NEXT: 1 1 2.00 * U st2g sp, [sp, #16]!
+# CHECK-NEXT: 1 1 2.00 * U stz2g x0, [x1, #-4096]!
+# CHECK-NEXT: 1 1 2.00 * U stz2g x1, [x2, #4080]!
+# CHECK-NEXT: 1 1 2.00 * U stz2g x2, [sp, #16]!
+# CHECK-NEXT: 1 1 2.00 * U stz2g sp, [sp, #16]!
+# CHECK-NEXT: 1 1 2.00 * U st2g x0, [x1], #-4096
+# CHECK-NEXT: 1 1 2.00 * U st2g x1, [x2], #4080
+# CHECK-NEXT: 1 1 2.00 * U st2g x2, [sp], #16
+# CHECK-NEXT: 1 1 2.00 * U st2g sp, [sp], #16
+# CHECK-NEXT: 1 1 2.00 * U stz2g x0, [x1], #-4096
+# CHECK-NEXT: 1 1 2.00 * U stz2g x1, [x2], #4080
+# CHECK-NEXT: 1 1 2.00 * U stz2g x2, [sp], #16
+# CHECK-NEXT: 1 1 2.00 * U stz2g sp, [sp], #16
+# CHECK-NEXT: 1 1 1.00 * stgp x0, x1, [x2, #-1024]
+# CHECK-NEXT: 1 1 1.00 * stgp x0, x1, [x2, #1008]
+# CHECK-NEXT: 1 1 1.00 * stgp x0, x1, [sp, #16]
+# CHECK-NEXT: 1 1 1.00 * stgp xzr, x1, [x2, #16]
+# CHECK-NEXT: 1 1 1.00 * stgp x0, xzr, [x2, #16]
+# CHECK-NEXT: 1 1 1.00 * stgp x0, xzr, [x2]
+# CHECK-NEXT: 1 1 1.00 * stgp x0, x1, [x2, #-1024]!
+# CHECK-NEXT: 1 1 1.00 * stgp x0, x1, [x2, #1008]!
+# CHECK-NEXT: 1 1 1.00 * stgp x0, x1, [sp, #16]!
+# CHECK-NEXT: 1 1 1.00 * stgp xzr, x1, [x2, #16]!
+# CHECK-NEXT: 1 1 1.00 * stgp x0, xzr, [x2, #16]!
+# CHECK-NEXT: 1 1 1.00 * stgp x0, x1, [x2], #-1024
+# CHECK-NEXT: 1 1 1.00 * stgp x0, x1, [x2], #1008
+# CHECK-NEXT: 1 1 1.00 * stgp x0, x1, [sp], #16
+# CHECK-NEXT: 1 1 1.00 * stgp xzr, x1, [x2], #16
+# CHECK-NEXT: 1 1 1.00 * stgp x0, xzr, [x2], #16
+# CHECK-NEXT: 1 2 0.50 * ldg x0, [x1]
+# CHECK-NEXT: 1 2 0.50 * ldg x2, [sp, #-4096]
+# CHECK-NEXT: 1 2 0.50 * ldg x3, [x4, #4080]
+# CHECK-NEXT: 1 2 4.00 * U ldgm x0, [x1]
+# CHECK-NEXT: 1 2 4.00 * U ldgm x1, [sp]
+# CHECK-NEXT: 1 2 4.00 * U ldgm xzr, [x2]
+# CHECK-NEXT: 1 1 1.00 * U stgm x0, [x1]
+# CHECK-NEXT: 1 1 1.00 * U stgm x1, [sp]
+# CHECK-NEXT: 1 1 1.00 * U stgm xzr, [x2]
+# CHECK-NEXT: 1 1 1.00 * U stzgm x0, [x1]
+# CHECK-NEXT: 1 1 1.00 * U stzgm x1, [sp]
+# CHECK-NEXT: 1 1 1.00 * U stzgm xzr, [x2]
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - C1NanoUnitALU0
+# CHECK-NEXT: [1] - C1NanoUnitALU1
+# CHECK-NEXT: [2] - C1NanoUnitB
+# CHECK-NEXT: [3] - C1NanoUnitDiv
+# CHECK-NEXT: [4] - C1NanoUnitLd1
+# CHECK-NEXT: [5] - C1NanoUnitLdSt
+# CHECK-NEXT: [6] - C1NanoUnitMAC
+# CHECK-NEXT: [7] - C1NanoUnitPAC
+# CHECK-NEXT: [8] - C1NanoUnitVALU0
+# CHECK-NEXT: [9] - C1NanoUnitVALU1
+# CHECK-NEXT: [10] - C1NanoUnitVMAC0
+# CHECK-NEXT: [11] - C1NanoUnitVMAC1
+# CHECK-NEXT: [12] - C1NanoUnitVMC
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
+# CHECK-NEXT: 25.00 10.00 - - 1.50 113.50 - - - - - - -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
+# CHECK-NEXT: 3.00 - - - - - - - - - - - - irg x0, x1
+# CHECK-NEXT: 3.00 - - - - - - - - - - - - irg sp, x1
+# CHECK-NEXT: 3.00 - - - - - - - - - - - - irg x0, sp
+# CHECK-NEXT: 3.00 - - - - - - - - - - - - irg x0, x1, x2
+# CHECK-NEXT: 3.00 - - - - - - - - - - - - irg sp, x1, x2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - addg x0, x1, #0, #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - addg sp, x2, #32, #3
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - addg x0, sp, #64, #5
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - addg x3, x4, #1008, #6
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - addg x5, x6, #112, #15
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subg x0, x1, #0, #1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subg sp, x2, #32, #3
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subg x0, sp, #64, #5
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subg x3, x4, #1008, #6
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subg x5, x6, #112, #15
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - gmi x0, x1, x2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - gmi x3, sp, x4
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - gmi xzr, x0, x30
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - gmi x30, x0, xzr
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subp x0, x1, x2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subps x0, x1, x2
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subp x0, sp, sp
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subps x0, sp, sp
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subps xzr, x0, x1
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - subps xzr, sp, sp
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stg x0, [x1, #-4096]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stg x1, [x2, #4080]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stg x2, [sp, #16]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stg x3, [x1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stg sp, [x1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stzg x0, [x1, #-4096]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stzg x1, [x2, #4080]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stzg x2, [sp, #16]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stzg x3, [x1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stzg sp, [x1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stg x0, [x1, #-4096]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stg x1, [x2, #4080]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stg x2, [sp, #16]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stg sp, [sp, #16]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stzg x0, [x1, #-4096]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stzg x1, [x2, #4080]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stzg x2, [sp, #16]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stzg sp, [sp, #16]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stg x0, [x1], #-4096
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stg x1, [x2], #4080
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stg x2, [sp], #16
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stg sp, [sp], #16
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stzg x0, [x1], #-4096
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stzg x1, [x2], #4080
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stzg x2, [sp], #16
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stzg sp, [sp], #16
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2g x0, [x1, #-4096]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2g x1, [x2, #4080]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2g x2, [sp, #16]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2g x3, [x1]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2g sp, [x1]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stz2g x0, [x1, #-4096]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stz2g x1, [x2, #4080]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stz2g x2, [sp, #16]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stz2g x3, [x1]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stz2g sp, [x1]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2g x0, [x1, #-4096]!
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2g x1, [x2, #4080]!
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2g x2, [sp, #16]!
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2g sp, [sp, #16]!
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stz2g x0, [x1, #-4096]!
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stz2g x1, [x2, #4080]!
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stz2g x2, [sp, #16]!
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stz2g sp, [sp, #16]!
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2g x0, [x1], #-4096
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2g x1, [x2], #4080
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2g x2, [sp], #16
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2g sp, [sp], #16
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stz2g x0, [x1], #-4096
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stz2g x1, [x2], #4080
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stz2g x2, [sp], #16
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stz2g sp, [sp], #16
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgp x0, x1, [x2, #-1024]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgp x0, x1, [x2, #1008]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgp x0, x1, [sp, #16]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgp xzr, x1, [x2, #16]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgp x0, xzr, [x2, #16]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgp x0, xzr, [x2]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgp x0, x1, [x2, #-1024]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgp x0, x1, [x2, #1008]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgp x0, x1, [sp, #16]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgp xzr, x1, [x2, #16]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgp x0, xzr, [x2, #16]!
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgp x0, x1, [x2], #-1024
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgp x0, x1, [x2], #1008
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgp x0, x1, [sp], #16
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgp xzr, x1, [x2], #16
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgp x0, xzr, [x2], #16
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldg x0, [x1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldg x2, [sp, #-4096]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldg x3, [x4, #4080]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ldgm x0, [x1]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ldgm x1, [sp]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ldgm xzr, [x2]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgm x0, [x1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgm x1, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgm xzr, [x2]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stzgm x0, [x1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stzgm x1, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stzgm xzr, [x2]
diff --git a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s
similarity index 61%
rename from llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s
rename to llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s
index 2bc199740e40a..b9fb1d55de57f 100644
--- a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-neon-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s
@@ -1,1065 +1,5 @@
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -instruction-tables < %s | FileCheck %s
-
-abs d29, d24
-abs v0.16b, v0.16b
-abs v0.2d, v0.2d
-abs v0.2s, v0.2s
-abs v0.4h, v0.4h
-abs v0.4s, v0.4s
-abs v0.8b, v0.8b
-abs v0.8h, v0.8h
-add d17, d31, d29
-add v0.8b, v0.8b, v0.8b
-addhn v0.2s, v0.2d, v0.2d
-addhn v0.4h, v0.4s, v0.4s
-addhn v0.8b, v0.8h, v0.8h
-addhn2 v0.16b, v0.8h, v0.8h
-addhn2 v0.4s, v0.2d, v0.2d
-addhn2 v0.8h, v0.4s, v0.4s
-addp v0.2d, v0.2d, v0.2d
-addp v0.8b, v0.8b, v0.8b
-and v0.8b, v0.8b, v0.8b
-bic v0.4h, #15, lsl #8
-bic v0.8b, v0.8b, v0.8b
-bif v0.16b, v0.16b, v0.16b
-bit v0.16b, v0.16b, v0.16b
-bsl v0.8b, v0.8b, v0.8b
-cls v0.16b, v0.16b
-cls v0.2s, v0.2s
-cls v0.4h, v0.4h
-cls v0.4s, v0.4s
-cls v0.8b, v0.8b
-cls v0.8h, v0.8h
-clz v0.16b, v0.16b
-clz v0.2s, v0.2s
-clz v0.4h, v0.4h
-clz v0.4s, v0.4s
-clz v0.8b, v0.8b
-clz v0.8h, v0.8h
-cmeq d20, d21, 0
-cmeq d20, d21, d22
-cmeq v0.16b, v0.16b, 0
-cmeq v0.16b, v0.16b, v0.16b
-cmge d20, d21, 0
-cmge d20, d21, d22
-cmge v0.4h, v0.4h, v0.4h
-cmge v0.8b, v0.8b, 0
-cmgt d20, d21, 0
-cmgt d20, d21, d22
-cmgt v0.2s, v0.2s, 0
-cmgt v0.4s, v0.4s, v0.4s
-cmhi d20, d21, d22
-cmhi v0.8h, v0.8h, v0.8h
-cmhs d20, d21, d22
-cmhs v0.8b, v0.8b, v0.8b
-cmle d20, d21, 0
-cmle v0.2d, v0.2d, 0
-cmlt d20, d21, 0
-cmlt v0.8h, v0.8h, 0
-cmtst d20, d21, d22
-cmtst v0.2s, v0.2s, v0.2s
-cnt v0.16b, v0.16b
-cnt v0.8b, v0.8b
-dup v0.16b,w28
-dup v0.2d,x28
-dup v0.2s,w28
-dup v0.4h,w28
-dup v0.4s,w28
-dup v0.8b,w28
-dup v0.8h,w28
-eor v0.16b, v0.16b, v0.16b
-ext v0.16b, v0.16b, v0.16b, #3
-ext v0.8b, v0.8b, v0.8b, #3
-fabd d29, d24, d20
-fabd s29, s24, s20
-fabd v0.4s, v0.4s, v0.4s
-fabs v0.2d, v0.2d
-fabs v0.2s, v0.2s
-fabs v0.4h, v0.4h
-fabs v0.4s, v0.4s
-fabs v0.8h, v0.8h
-facge d20, d21, d22
-facge s10, s11, s12
-facge v0.4s, v0.4s, v0.4s
-facgt d20, d21, d22
-facgt s10, s11, s12
-facgt v0.2d, v0.2d, v0.2d
-fadd v0.4s, v0.4s, v0.4s
-faddp v0.2s, v0.2s, v0.2s
-faddp v0.4s, v0.4s, v0.4s
-fcmeq d20, d21, #0.0
-fcmeq d20, d21, d22
-fcmeq s10, s11, #0.0
-fcmeq s10, s11, s12
-fcmeq v0.2s, v0.2s, #0.0
-fcmeq v0.2s, v0.2s, v0.2s
-fcmge d20, d21, #0.0
-fcmge d20, d21, d22
-fcmge s10, s11, #0.0
-fcmge s10, s11, s12
-fcmge v0.2d, v0.2d, #0.0
-fcmge v0.4s, v0.4s, v0.4s
-fcmgt d20, d21, #0.0
-fcmgt d20, d21, d22
-fcmgt s10, s11, #0.0
-fcmgt s10, s11, s12
-fcmgt v0.4s, v0.4s, #0.0
-fcmgt v0.4s, v0.4s, v0.4s
-fcmle d20, d21, #0.0
-fcmle s10, s11, #0.0
-fcmle v0.2d, v0.2d, #0.0
-fcmlt d20, d21, #0.0
-fcmlt s10, s11, #0.0
-fcmlt v0.4s, v0.4s, #0.0
-fcvtas d21, d14
-fcvtas s12, s13
-fcvtas v0.2d, v0.2d
-fcvtas v0.2s, v0.2s
-fcvtas v0.4h, v0.4h
-fcvtas v0.4s, v0.4s
-fcvtas v0.8h, v0.8h
-fcvtau d21, d14
-fcvtau s12, s13
-fcvtau v0.2d, v0.2d
-fcvtau v0.2s, v0.2s
-fcvtau v0.4h, v0.4h
-fcvtau v0.4s, v0.4s
-fcvtau v0.8h, v0.8h
-fcvtl v0.2d, v0.2s
-fcvtl v0.4s, v0.4h
-fcvtl2 v0.2d, v0.4s
-fcvtl2 v0.4s, v0.8h
-fcvtms d21, d14
-fcvtms s22, s13
-fcvtms v0.2d, v0.2d
-fcvtms v0.2s, v0.2s
-fcvtms v0.4h, v0.4h
-fcvtms v0.4s, v0.4s
-fcvtms v0.8h, v0.8h
-fcvtmu d21, d14
-fcvtmu s12, s13
-fcvtmu v0.2d, v0.2d
-fcvtmu v0.2s, v0.2s
-fcvtmu v0.4h, v0.4h
-fcvtmu v0.4s, v0.4s
-fcvtmu v0.8h, v0.8h
-fcvtn v0.2s, v0.2d
-fcvtn v0.4h, v0.4s
-fcvtn2 v0.4s, v0.2d
-fcvtn2 v0.8h, v0.4s
-fcvtns d21, d14
-fcvtns s22, s13
-fcvtns v0.2d, v0.2d
-fcvtns v0.2s, v0.2s
-fcvtns v0.4h, v0.4h
-fcvtns v0.4s, v0.4s
-fcvtns v0.8h, v0.8h
-fcvtnu d21, d14
-fcvtnu s12, s13
-fcvtnu v0.2d, v0.2d
-fcvtnu v0.2s, v0.2s
-fcvtnu v0.4h, v0.4h
-fcvtnu v0.4s, v0.4s
-fcvtnu v0.8h, v0.8h
-fcvtps d21, d14
-fcvtps s22, s13
-fcvtps v0.2d, v0.2d
-fcvtps v0.2s, v0.2s
-fcvtps v0.4h, v0.4h
-fcvtps v0.4s, v0.4s
-fcvtps v0.8h, v0.8h
-fcvtpu d21, d14
-fcvtpu s12, s13
-fcvtpu v0.2d, v0.2d
-fcvtpu v0.2s, v0.2s
-fcvtpu v0.4h, v0.4h
-fcvtpu v0.4s, v0.4s
-fcvtpu v0.8h, v0.8h
-fcvtxn s22, d13
-fcvtxn v0.2s, v0.2d
-fcvtxn2 v0.4s, v0.2d
-fcvtzs d21, d12, #1
-fcvtzs d21, d14
-fcvtzs s12, s13
-fcvtzs s21, s12, #1
-fcvtzs v0.2d, v0.2d
-fcvtzs v0.2d, v0.2d, #3
-fcvtzs v0.2s, v0.2s
-fcvtzs v0.2s, v0.2s, #3
-fcvtzs v0.4h, v0.4h
-fcvtzs v0.4s, v0.4s
-fcvtzs v0.4s, v0.4s, #3
-fcvtzs v0.8h, v0.8h
-fcvtzu d21, d12, #1
-fcvtzu d21, d14
-fcvtzu s12, s13
-fcvtzu s21, s12, #1
-fcvtzu v0.2d, v0.2d
-fcvtzu v0.2d, v0.2d, #3
-fcvtzu v0.2s, v0.2s
-fcvtzu v0.2s, v0.2s, #3
-fcvtzu v0.4h, v0.4h
-fcvtzu v0.4s, v0.4s
-fcvtzu v0.4s, v0.4s, #3
-fcvtzu v0.8h, v0.8h
-fdiv v0.2s, v0.2s, v0.2s
-fmax v0.2d, v0.2d, v0.2d
-fmax v0.2s, v0.2s, v0.2s
-fmax v0.4s, v0.4s, v0.4s
-fmaxnm v0.2d, v0.2d, v0.2d
-fmaxnm v0.2s, v0.2s, v0.2s
-fmaxnm v0.4s, v0.4s, v0.4s
-fmaxnmp v0.2d, v0.2d, v0.2d
-fmaxnmp v0.2s, v0.2s, v0.2s
-fmaxnmp v0.4s, v0.4s, v0.4s
-fmaxp v0.2d, v0.2d, v0.2d
-fmaxp v0.2s, v0.2s, v0.2s
-fmaxp v0.4s, v0.4s, v0.4s
-fmin v0.2d, v0.2d, v0.2d
-fmin v0.2s, v0.2s, v0.2s
-fmin v0.4s, v0.4s, v0.4s
-fminnm v0.2d, v0.2d, v0.2d
-fminnm v0.2s, v0.2s, v0.2s
-fminnm v0.4s, v0.4s, v0.4s
-fminnmp v0.2d, v0.2d, v0.2d
-fminnmp v0.2s, v0.2s, v0.2s
-fminnmp v0.4s, v0.4s, v0.4s
-fminp v0.2d, v0.2d, v0.2d
-fminp v0.2s, v0.2s, v0.2s
-fminp v0.4s, v0.4s, v0.4s
-fmla d0, d1, v0.d[1]
-fmla s0, s1, v0.s[3]
-fmla v0.2s, v0.2s, v0.2s
-fmls d0, d4, v0.d[1]
-fmls s3, s5, v0.s[3]
-fmls v0.2s, v0.2s, v0.2s
-fmov v0.2d, #-1.25
-fmov v0.2s, #13.0
-fmov v0.4s, #1.0
-fmul d0, d1, v0.d[1]
-fmul s0, s1, v0.s[3]
-fmul v0.2s, v0.2s, v0.2s
-fmulx d0, d4, v0.d[1]
-fmulx d23, d11, d1
-fmulx s20, s22, s15
-fmulx s3, s5, v0.s[3]
-fmulx v0.2d, v0.2d, v0.2d
-fmulx v0.2s, v0.2s, v0.2s
-fmulx v0.4s, v0.4s, v0.4s
-fneg v0.2d, v0.2d
-fneg v0.2s, v0.2s
-fneg v0.4h, v0.4h
-fneg v0.4s, v0.4s
-fneg v0.8h, v0.8h
-frecpe d13, d13
-frecpe s19, s14
-frecpe v0.2d, v0.2d
-frecpe v0.2s, v0.2s
-frecpe v0.4h, v0.4h
-frecpe v0.4s, v0.4s
-frecpe v0.8h, v0.8h
-frecps v0.4s, v0.4s, v0.4s
-frecps d22, d30, d21
-frecps s21, s16, s13
-frecpx d16, d19
-frecpx s18, s10
-frinta v0.2d, v0.2d
-frinta v0.2s, v0.2s
-frinta v0.4h, v0.4h
-frinta v0.4s, v0.4s
-frinta v0.8h, v0.8h
-frinti v0.2d, v0.2d
-frinti v0.2s, v0.2s
-frinti v0.4h, v0.4h
-frinti v0.4s, v0.4s
-frinti v0.8h, v0.8h
-frintm v0.2d, v0.2d
-frintm v0.2s, v0.2s
-frintm v0.4h, v0.4h
-frintm v0.4s, v0.4s
-frintm v0.8h, v0.8h
-frintn v0.2d, v0.2d
-frintn v0.2s, v0.2s
-frintn v0.4h, v0.4h
-frintn v0.4s, v0.4s
-frintn v0.8h, v0.8h
-frintp v0.2d, v0.2d
-frintp v0.2s, v0.2s
-frintp v0.4h, v0.4h
-frintp v0.4s, v0.4s
-frintp v0.8h, v0.8h
-frintx v0.2d, v0.2d
-frintx v0.2s, v0.2s
-frintx v0.4h, v0.4h
-frintx v0.4s, v0.4s
-frintx v0.8h, v0.8h
-frintz v0.2d, v0.2d
-frintz v0.2s, v0.2s
-frintz v0.4h, v0.4h
-frintz v0.4s, v0.4s
-frintz v0.8h, v0.8h
-frsqrte d21, d12
-frsqrte s22, s13
-frsqrte v0.2d, v0.2d
-frsqrte v0.2s, v0.2s
-frsqrte v0.4h, v0.4h
-frsqrte v0.4s, v0.4s
-frsqrte v0.8h, v0.8h
-frsqrts d8, d22, d18
-frsqrts s21, s5, s12
-frsqrts v0.2d, v0.2d, v0.2d
-fsqrt v0.2d, v0.2d
-fsqrt v0.2s, v0.2s
-fsqrt v0.4h, v0.4h
-fsqrt v0.4s, v0.4s
-fsqrt v0.8h, v0.8h
-fsub v0.2s, v0.2s, v0.2s
-ld1 { v0.16b }, [x0]
-ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48
-ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
-ld1 { v0.4s, v1.4s }, [sp], #32
-ld1 { v0.4s, v1.4s, v2.4s }, [sp]
-ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
-ld1 { v0.8h }, [x15], x2
-ld1 { v0.8h, v1.8h }, [x15]
-ld1 { v0.b }[9], [x0]
-ld1 { v0.b }[9], [x0], #1
-ld1r { v0.16b }, [x0]
-ld1r { v0.16b }, [x0], #1
-ld1r { v0.8h }, [x15]
-ld1r { v0.8h }, [x15], #2
-ld2 { v0.16b, v1.16b }, [x0], x1
-ld2 { v0.8b, v1.8b }, [x0]
-ld2 { v0.h, v1.h }[7], [x15]
-ld2 { v0.h, v1.h }[7], [x15], #4
-ld2r { v0.2d, v1.2d }, [x0]
-ld2r { v0.2d, v1.2d }, [x0], #16
-ld2r { v0.4s, v1.4s }, [sp]
-ld2r { v0.4s, v1.4s }, [sp], #8
-ld3 { v0.4h, v1.4h, v2.4h }, [x15]
-ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2
-ld3 { v0.s, v1.s, v2.s }[3], [sp]
-ld3 { v0.s, v1.s, v2.s }[3], [sp], x3
-ld3r { v0.4h, v1.4h, v2.4h }, [x15]
-ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6
-ld3r { v0.8b, v1.8b, v2.8b }, [x0]
-ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3
-ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
-ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
-ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0]
-ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32
-ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0
-ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp]
-ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7
-ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
-ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30
-mla v0.8b, v0.8b, v0.8b
-mls v0.4h, v0.4h, v0.4h
-mov b0, v0.b[15]
-mov d6, v0.d[1]
-mov h2, v0.h[5]
-mov s17, v0.s[2]
-mov v0.16b, v0.16b
-mov v0.8b, v0.8b
-movi d15, #0xff00ff00ff00ff
-movi v0.16b, #31
-movi v0.2d, #0xff0000ff0000ffff
-movi v0.2s, #8, msl #8
-movi v0.4s, #255, lsl #24
-movi v0.8b, #255
-mul v0.8b, v0.8b, v0.8b
-mvni v0.2s, 0
-mvni v0.4s, #16, msl #16
-neg d29, d24
-neg v0.16b, v0.16b
-neg v0.2d, v0.2d
-neg v0.2s, v0.2s
-neg v0.4h, v0.4h
-neg v0.4s, v0.4s
-neg v0.8b, v0.8b
-neg v0.8h, v0.8h
-not v0.16b, v0.16b
-not v0.8b, v0.8b
-orn v0.16b, v0.16b, v0.16b
-orr v0.16b, v0.16b, v0.16b
-orr v0.8h, #31
-pmul v0.16b, v0.16b, v0.16b
-pmul v0.8b, v0.8b, v0.8b
-pmull v0.8h, v0.8b, v0.8b
-pmull2 v0.8h, v0.16b, v0.16b
-raddhn v0.2s, v0.2d, v0.2d
-raddhn v0.4h, v0.4s, v0.4s
-raddhn v0.8b, v0.8h, v0.8h
-raddhn2 v0.16b, v0.8h, v0.8h
-raddhn2 v0.4s, v0.2d, v0.2d
-raddhn2 v0.8h, v0.4s, v0.4s
-rbit v0.16b, v0.16b
-rbit v0.8b, v0.8b
-rev16 v21.8b, v1.8b
-rev16 v30.16b, v31.16b
-rev32 v0.4h, v9.4h
-rev32 v21.8b, v1.8b
-rev32 v30.16b, v31.16b
-rev32 v4.8h, v7.8h
-rev64 v0.16b, v31.16b
-rev64 v1.8b, v9.8b
-rev64 v13.4h, v21.4h
-rev64 v2.8h, v4.8h
-rev64 v4.2s, v0.2s
-rev64 v6.4s, v8.4s
-rshrn v0.2s, v0.2d, #3
-rshrn v0.4h, v0.4s, #3
-rshrn v0.8b, v0.8h, #3
-rshrn2 v0.16b, v0.8h, #3
-rshrn2 v0.4s, v0.2d, #3
-rshrn2 v0.8h, v0.4s, #3
-rsubhn v0.2s, v0.2d, v0.2d
-rsubhn v0.4h, v0.4s, v0.4s
-rsubhn v0.8b, v0.8h, v0.8h
-rsubhn2 v0.16b, v0.8h, v0.8h
-rsubhn2 v0.4s, v0.2d, v0.2d
-rsubhn2 v0.8h, v0.4s, v0.4s
-saba v0.16b, v0.16b, v0.16b
-sabal v0.2d, v0.2s, v0.2s
-sabal v0.4s, v0.4h, v0.4h
-sabal v0.8h, v0.8b, v0.8b
-sabal2 v0.2d, v0.4s, v0.4s
-sabal2 v0.4s, v0.8h, v0.8h
-sabal2 v0.8h, v0.16b, v0.16b
-sabd v0.4h, v0.4h, v0.4h
-sabdl v0.2d, v0.2s, v0.2s
-sabdl v0.4s, v0.4h, v0.4h
-sabdl v0.8h, v0.8b, v0.8b
-sabdl2 v0.2d, v0.4s, v0.4s
-sabdl2 v0.4s, v0.8h, v0.8h
-sabdl2 v0.8h, v0.16b, v0.16b
-sadalp v0.1d, v0.2s
-sadalp v0.2d, v0.4s
-sadalp v0.2s, v0.4h
-sadalp v0.4h, v0.8b
-sadalp v0.4s, v0.8h
-sadalp v0.8h, v0.16b
-saddl v0.2d, v0.2s, v0.2s
-saddl v0.4s, v0.4h, v0.4h
-saddl v0.8h, v0.8b, v0.8b
-saddl2 v0.2d, v0.4s, v0.4s
-saddl2 v0.4s, v0.8h, v0.8h
-saddl2 v0.8h, v0.16b, v0.16b
-saddlp v0.1d, v0.2s
-saddlp v0.2d, v0.4s
-saddlp v0.2s, v0.4h
-saddlp v0.4h, v0.8b
-saddlp v0.4s, v0.8h
-saddlp v0.8h, v0.16b
-saddw v0.2d, v0.2d, v0.2s
-saddw v0.4s, v0.4s, v0.4h
-saddw v0.8h, v0.8h, v0.8b
-saddw2 v0.2d, v0.2d, v0.4s
-saddw2 v0.4s, v0.4s, v0.8h
-saddw2 v0.8h, v0.8h, v0.16b
-scvtf d21, d12
-scvtf d21, d12, #64
-scvtf s22, s13
-scvtf s22, s13, #32
-scvtf v0.2d, v0.2d
-scvtf v0.2d, v0.2d, #3
-scvtf v0.2s, v0.2s
-scvtf v0.2s, v0.2s, #3
-scvtf v0.4h, v0.4h
-scvtf v0.4s, v0.4s
-scvtf v0.4s, v0.4s, #3
-scvtf v0.8h, v0.8h
-shadd v0.8b, v0.8b, v0.8b
-shl d7, d10, #12
-shl v0.16b, v0.16b, #3
-shl v0.2d, v0.2d, #3
-shl v0.4h, v0.4h, #3
-shl v0.4s, v0.4s, #3
-shll v0.2d, v0.2s, #32
-shll v0.4s, v0.4h, #16
-shll v0.8h, v0.8b, #8
-shll v0.2d, v0.2s, #32
-shll v0.4s, v0.4h, #16
-shll v0.8h, v0.8b, #8
-shll2 v0.2d, v0.4s, #32
-shll2 v0.4s, v0.8h, #16
-shll2 v0.8h, v0.16b, #8
-shll2 v0.2d, v0.4s, #32
-shll2 v0.4s, v0.8h, #16
-shll2 v0.8h, v0.16b, #8
-shrn v0.2s, v0.2d, #3
-shrn v0.4h, v0.4s, #3
-shrn v0.8b, v0.8h, #3
-shrn2 v0.16b, v0.8h, #3
-shrn2 v0.4s, v0.2d, #3
-shrn2 v0.8h, v0.4s, #3
-shsub v0.2s, v0.2s, v0.2s
-shsub v0.4h, v0.4h, v0.4h
-sli d10, d14, #12
-sli v0.16b, v0.16b, #3
-sli v0.2d, v0.2d, #3
-sli v0.2s, v0.2s, #3
-sli v0.4h, v0.4h, #3
-sli v0.4s, v0.4s, #3
-sli v0.8b, v0.8b, #3
-sli v0.8h, v0.8h, #3
-smax v0.2s, v0.2s, v0.2s
-smax v0.4h, v0.4h, v0.4h
-smax v0.8b, v0.8b, v0.8b
-smaxp v0.2s, v0.2s, v0.2s
-smaxp v0.4h, v0.4h, v0.4h
-smaxp v0.8b, v0.8b, v0.8b
-smin v0.16b, v0.16b, v0.16b
-smin v0.4s, v0.4s, v0.4s
-smin v0.8h, v0.8h, v0.8h
-sminp v0.16b, v0.16b, v0.16b
-sminp v0.4s, v0.4s, v0.4s
-sminp v0.8h, v0.8h, v0.8h
-smlal v0.2d, v0.2s, v0.2s
-smlal v0.4s, v0.4h, v0.4h
-smlal v0.8h, v0.8b, v0.8b
-smlal2 v0.2d, v0.4s, v0.4s
-smlal2 v0.4s, v0.8h, v0.8h
-smlal2 v0.8h, v0.16b, v0.16b
-smlsl v0.2d, v0.2s, v0.2s
-smlsl v0.4s, v0.4h, v0.4h
-smlsl v0.8h, v0.8b, v0.8b
-smlsl2 v0.2d, v0.4s, v0.4s
-smlsl2 v0.4s, v0.8h, v0.8h
-smlsl2 v0.8h, v0.16b, v0.16b
-smull v0.2d, v0.2s, v0.2s
-smull v0.4s, v0.4h, v0.4h
-smull v0.8h, v0.8b, v0.8b
-smull2 v0.2d, v0.4s, v0.4s
-smull2 v0.4s, v0.8h, v0.8h
-smull2 v0.8h, v0.16b, v0.16b
-sqabs b19, b14
-sqabs d18, d12
-sqabs h21, h15
-sqabs s20, s12
-sqabs v0.16b, v0.16b
-sqabs v0.2d, v0.2d
-sqabs v0.2s, v0.2s
-sqabs v0.4h, v0.4h
-sqabs v0.4s, v0.4s
-sqabs v0.8b, v0.8b
-sqabs v0.8h, v0.8h
-sqadd b20, b11, b15
-sqadd v0.16b, v0.16b, v0.16b
-sqadd v0.2s, v0.2s, v0.2s
-sqdmlal d19, s24, s12
-sqdmlal d8, s9, v0.s[1]
-sqdmlal s0, h0, v0.h[3]
-sqdmlal s17, h27, h12
-sqdmlal v0.2d, v0.2s, v0.2s
-sqdmlal v0.4s, v0.4h, v0.4h
-sqdmlal2 v0.2d, v0.4s, v0.4s
-sqdmlal2 v0.4s, v0.8h, v0.8h
-sqdmlsl d12, s23, s13
-sqdmlsl d8, s9, v0.s[1]
-sqdmlsl s0, h0, v0.h[3]
-sqdmlsl s14, h12, h25
-sqdmlsl v0.2d, v0.2s, v0.2s
-sqdmlsl v0.4s, v0.4h, v0.4h
-sqdmlsl2 v0.2d, v0.4s, v0.4s
-sqdmlsl2 v0.4s, v0.8h, v0.8h
-sqdmulh h10, h11, h12
-sqdmulh h7, h15, v0.h[3]
-sqdmulh s15, s14, v0.s[1]
-sqdmulh s20, s21, s2
-sqdmulh v0.2s, v0.2s, v0.2s
-sqdmulh v0.4s, v0.4s, v0.4s
-sqdmull d1, s1, v0.s[1]
-sqdmull d15, s22, s12
-sqdmull s1, h1, v0.h[3]
-sqdmull s12, h22, h12
-sqdmull v0.2d, v0.2s, v0.2s
-sqdmull v0.4s, v0.4h, v0.4h
-sqdmull2 v0.2d, v0.4s, v0.4s
-sqdmull2 v0.4s, v0.8h, v0.8h
-sqneg b19, b14
-sqneg d18, d12
-sqneg h21, h15
-sqneg s20, s12
-sqneg v0.16b, v0.16b
-sqneg v0.2d, v0.2d
-sqneg v0.2s, v0.2s
-sqneg v0.4h, v0.4h
-sqneg v0.4s, v0.4s
-sqneg v0.8b, v0.8b
-sqneg v0.8h, v0.8h
-sqrdmulh h10, h11, h12
-sqrdmulh h7, h15, v0.h[3]
-sqrdmulh s15, s14, v0.s[1]
-sqrdmulh s20, s21, s2
-sqrdmulh v0.4h, v0.4h, v0.4h
-sqrdmulh v0.8h, v0.8h, v0.8h
-sqrshl d31, d31, d31
-sqrshl h3, h4, h15
-sqrshl v0.2s, v0.2s, v0.2s
-sqrshl v0.4h, v0.4h, v0.4h
-sqrshl v0.8b, v0.8b, v0.8b
-sqrshrn b10, h13, #2
-sqrshrn h15, s10, #6
-sqrshrn s15, d12, #9
-sqrshrn v0.2s, v0.2d, #3
-sqrshrn v0.4h, v0.4s, #3
-sqrshrn v0.8b, v0.8h, #3
-sqrshrn2 v0.16b, v0.8h, #3
-sqrshrn2 v0.4s, v0.2d, #3
-sqrshrn2 v0.8h, v0.4s, #3
-sqrshrun b17, h10, #6
-sqrshrun h10, s13, #15
-sqrshrun s22, d16, #31
-sqrshrun v0.2s, v0.2d, #3
-sqrshrun v0.4h, v0.4s, #3
-sqrshrun v0.8b, v0.8h, #3
-sqrshrun2 v0.16b, v0.8h, #3
-sqrshrun2 v0.4s, v0.2d, #3
-sqrshrun2 v0.8h, v0.4s, #3
-sqshl b11, b19, #7
-sqshl d15, d16, #51
-sqshl d31, d31, d31
-sqshl h13, h18, #11
-sqshl h3, h4, h15
-sqshl s14, s17, #22
-sqshl v0.16b, v0.16b, #3
-sqshl v0.2d, v0.2d, #3
-sqshl v0.2s, v0.2s, #3
-sqshl v0.2s, v0.2s, v0.2s
-sqshl v0.4h, v0.4h, #3
-sqshl v0.4h, v0.4h, v0.4h
-sqshl v0.4s, v0.4s, #3
-sqshl v0.8b, v0.8b, #3
-sqshl v0.8b, v0.8b, v0.8b
-sqshl v0.8h, v0.8h, #3
-sqshlu b15, b18, #6
-sqshlu d11, d13, #32
-sqshlu h19, h17, #6
-sqshlu s16, s14, #25
-sqshlu v0.16b, v0.16b, #3
-sqshlu v0.2d, v0.2d, #3
-sqshlu v0.2s, v0.2s, #3
-sqshlu v0.4h, v0.4h, #3
-sqshlu v0.4s, v0.4s, #3
-sqshlu v0.8b, v0.8b, #3
-sqshlu v0.8h, v0.8h, #3
-sqshrn b10, h15, #5
-sqshrn h17, s10, #4
-sqshrn s18, d10, #31
-sqshrn v0.2s, v0.2d, #3
-sqshrn v0.4h, v0.4s, #3
-sqshrn v0.8b, v0.8h, #3
-sqshrn2 v0.16b, v0.8h, #3
-sqshrn2 v0.4s, v0.2d, #3
-sqshrn2 v0.8h, v0.4s, #3
-sqshrun b15, h10, #7
-sqshrun h20, s14, #3
-sqshrun s10, d15, #15
-sqshrun v0.2s, v0.2d, #3
-sqshrun v0.4h, v0.4s, #3
-sqshrun v0.8b, v0.8h, #3
-sqshrun2 v0.16b, v0.8h, #3
-sqshrun2 v0.4s, v0.2d, #3
-sqshrun2 v0.8h, v0.4s, #3
-sqsub s20, s10, s7
-sqsub v0.2d, v0.2d, v0.2d
-sqsub v0.4s, v0.4s, v0.4s
-sqsub v0.8b, v0.8b, v0.8b
-sqxtn b18, h18
-sqxtn h20, s17
-sqxtn s19, d14
-sqxtn v0.2s, v0.2d
-sqxtn v0.4h, v0.4s
-sqxtn v0.8b, v0.8h
-sqxtn2 v0.16b, v0.8h
-sqxtn2 v0.4s, v0.2d
-sqxtn2 v0.8h, v0.4s
-sqxtun b19, h14
-sqxtun h21, s15
-sqxtun s20, d12
-sqxtun v0.2s, v0.2d
-sqxtun v0.4h, v0.4s
-sqxtun v0.8b, v0.8h
-sqxtun2 v0.16b, v0.8h
-sqxtun2 v0.4s, v0.2d
-sqxtun2 v0.8h, v0.4s
-srhadd v0.2s, v0.2s, v0.2s
-srhadd v0.4h, v0.4h, v0.4h
-srhadd v0.8b, v0.8b, v0.8b
-sri d10, d12, #14
-sri v0.16b, v0.16b, #3
-sri v0.2d, v0.2d, #3
-sri v0.2s, v0.2s, #3
-sri v0.4h, v0.4h, #3
-sri v0.4s, v0.4s, #3
-sri v0.8b, v0.8b, #3
-sri v0.8h, v0.8h, #3
-srshl d16, d16, d16
-srshl v0.2s, v0.2s, v0.2s
-srshl v0.4h, v0.4h, v0.4h
-srshl v0.8b, v0.8b, v0.8b
-srshr d19, d18, #7
-srshr v0.16b, v0.16b, #3
-srshr v0.2d, v0.2d, #3
-srshr v0.2s, v0.2s, #3
-srshr v0.4h, v0.4h, #3
-srshr v0.4s, v0.4s, #3
-srshr v0.8b, v0.8b, #3
-srshr v0.8h, v0.8h, #3
-srsra d15, d11, #19
-srsra v0.16b, v0.16b, #3
-srsra v0.2d, v0.2d, #3
-srsra v0.2s, v0.2s, #3
-srsra v0.4h, v0.4h, #3
-srsra v0.4s, v0.4s, #3
-srsra v0.8b, v0.8b, #3
-srsra v0.8h, v0.8h, #3
-sshl d31, d31, d31
-sshl v0.2d, v0.2d, v0.2d
-sshl v0.2s, v0.2s, v0.2s
-sshl v0.4h, v0.4h, v0.4h
-sshl v0.8b, v0.8b, v0.8b
-sshll v0.2d, v0.2s, #3
-sshll2 v0.4s, v0.8h, #3
-sshr d15, d16, #12
-sshr v0.16b, v0.16b, #3
-sshr v0.2d, v0.2d, #3
-sshr v0.2s, v0.2s, #3
-sshr v0.4h, v0.4h, #3
-sshr v0.4s, v0.4s, #3
-sshr v0.8b, v0.8b, #3
-sshr v0.8h, v0.8h, #3
-ssra d18, d12, #21
-ssra v0.16b, v0.16b, #3
-ssra v0.2d, v0.2d, #3
-ssra v0.2s, v0.2s, #3
-ssra v0.4h, v0.4h, #3
-ssra v0.4s, v0.4s, #3
-ssra v0.8b, v0.8b, #3
-ssra v0.8h, v0.8h, #3
-ssubl v0.2d, v0.2s, v0.2s
-ssubl v0.4s, v0.4h, v0.4h
-ssubl v0.8h, v0.8b, v0.8b
-ssubl2 v0.2d, v0.4s, v0.4s
-ssubl2 v0.4s, v0.8h, v0.8h
-ssubl2 v0.8h, v0.16b, v0.16b
-ssubw v0.2d, v0.2d, v0.2s
-ssubw v0.4s, v0.4s, v0.4h
-ssubw v0.8h, v0.8h, v0.8b
-ssubw2 v0.2d, v0.2d, v0.4s
-ssubw2 v0.4s, v0.4s, v0.8h
-ssubw2 v0.8h, v0.8h, v0.16b
-st1 { v0.16b }, [x0]
-st1 { v0.2d, v1.2d, v2.2d }, [x0], #48
-st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
-st1 { v0.4s, v1.4s }, [sp], #32
-st1 { v0.4s, v1.4s, v2.4s }, [sp]
-st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
-st1 { v0.8h }, [x15], x2
-st1 { v0.8h, v1.8h }, [x15]
-st1 { v0.d }[1], [x0]
-st1 { v0.d }[1], [x0], #8
-st2 { v0.16b, v1.16b }, [x0], x1
-st2 { v0.8b, v1.8b }, [x0]
-st2 { v0.s, v1.s }[3], [sp]
-st2 { v0.s, v1.s }[3], [sp], #8
-st3 { v0.4h, v1.4h, v2.4h }, [x15]
-st3 { v0.8h, v1.8h, v2.8h }, [x15], x2
-st3 { v0.h, v1.h, v2.h }[7], [x15]
-st3 { v0.h, v1.h, v2.h }[7], [x15], #6
-st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
-st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
-st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0]
-st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5
-sub d15, d5, d16
-sub v0.2d, v0.2d, v0.2d
-suqadd b19, b14
-suqadd d18, d22
-suqadd h20, h15
-suqadd s21, s12
-suqadd v0.16b, v0.16b
-suqadd v0.2d, v0.2d
-suqadd v0.2s, v0.2s
-suqadd v0.4h, v0.4h
-suqadd v0.4s, v0.4s
-suqadd v0.8b, v0.8b
-suqadd v0.8h, v0.8h
-tbl v0.16b, { v0.16b }, v0.16b
-tbl v0.16b, { v0.16b, v1.16b }, v0.16b
-tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
-tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
-tbl v0.8b, { v0.16b }, v0.8b
-tbl v0.8b, { v0.16b, v1.16b }, v0.8b
-tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
-tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
-tbx v0.16b, { v0.16b }, v0.16b
-tbx v0.16b, { v0.16b, v1.16b }, v0.16b
-tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
-tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
-tbx v0.8b, { v0.16b }, v0.8b
-tbx v0.8b, { v0.16b, v1.16b }, v0.8b
-tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
-tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
-trn1 v0.16b, v0.16b, v0.16b
-trn1 v0.2d, v0.2d, v0.2d
-trn1 v0.2s, v0.2s, v0.2s
-trn1 v0.4h, v0.4h, v0.4h
-trn1 v0.4s, v0.4s, v0.4s
-trn1 v0.8b, v0.8b, v0.8b
-trn1 v0.8h, v0.8h, v0.8h
-trn2 v0.16b, v0.16b, v0.16b
-trn2 v0.2d, v0.2d, v0.2d
-trn2 v0.2s, v0.2s, v0.2s
-trn2 v0.4h, v0.4h, v0.4h
-trn2 v0.4s, v0.4s, v0.4s
-trn2 v0.8b, v0.8b, v0.8b
-trn2 v0.8h, v0.8h, v0.8h
-uaba v0.8b, v0.8b, v0.8b
-uabal v0.2d, v0.2s, v0.2s
-uabal v0.4s, v0.4h, v0.4h
-uabal v0.8h, v0.8b, v0.8b
-uabal2 v0.2d, v0.4s, v0.4s
-uabal2 v0.4s, v0.8h, v0.8h
-uabal2 v0.8h, v0.16b, v0.16b
-uabd v0.4h, v0.4h, v0.4h
-uabdl v0.2d, v0.2s, v0.2s
-uabdl v0.4s, v0.4h, v0.4h
-uabdl v0.8h, v0.8b, v0.8b
-uabdl2 v0.2d, v0.4s, v0.4s
-uabdl2 v0.4s, v0.8h, v0.8h
-uabdl2 v0.8h, v0.16b, v0.16b
-uadalp v0.1d, v0.2s
-uadalp v0.2d, v0.4s
-uadalp v0.2s, v0.4h
-uadalp v0.4h, v0.8b
-uadalp v0.4s, v0.8h
-uadalp v0.8h, v0.16b
-uaddl v0.2d, v0.2s, v0.2s
-uaddl v0.4s, v0.4h, v0.4h
-uaddl v0.8h, v0.8b, v0.8b
-uaddl2 v0.2d, v0.4s, v0.4s
-uaddl2 v0.4s, v0.8h, v0.8h
-uaddl2 v0.8h, v0.16b, v0.16b
-uaddlp v0.1d, v0.2s
-uaddlp v0.2d, v0.4s
-uaddlp v0.2s, v0.4h
-uaddlp v0.4h, v0.8b
-uaddlp v0.4s, v0.8h
-uaddlp v0.8h, v0.16b
-uaddw v0.2d, v0.2d, v0.2s
-uaddw v0.4s, v0.4s, v0.4h
-uaddw v0.8h, v0.8h, v0.8b
-uaddw2 v0.2d, v0.2d, v0.4s
-uaddw2 v0.4s, v0.4s, v0.8h
-uaddw2 v0.8h, v0.8h, v0.16b
-ucvtf d21, d14
-ucvtf d21, d14, #64
-ucvtf s22, s13
-ucvtf s22, s13, #32
-ucvtf v0.2d, v0.2d
-ucvtf v0.2d, v0.2d, #3
-ucvtf v0.2s, v0.2s
-ucvtf v0.2s, v0.2s, #3
-ucvtf v0.4h, v0.4h
-ucvtf v0.4s, v0.4s
-ucvtf v0.4s, v0.4s, #3
-ucvtf v0.8h, v0.8h
-uhadd v0.16b, v0.16b, v0.16b
-uhadd v0.8h, v0.8h, v0.8h
-uhsub v0.4s, v0.4s, v0.4s
-umax v0.16b, v0.16b, v0.16b
-umax v0.4s, v0.4s, v0.4s
-umax v0.8h, v0.8h, v0.8h
-umaxp v0.16b, v0.16b, v0.16b
-umaxp v0.4s, v0.4s, v0.4s
-umaxp v0.8h, v0.8h, v0.8h
-umin v0.2s, v0.2s, v0.2s
-umin v0.4h, v0.4h, v0.4h
-umin v0.8b, v0.8b, v0.8b
-uminp v0.2s, v0.2s, v0.2s
-uminp v0.4h, v0.4h, v0.4h
-uminp v0.8b, v0.8b, v0.8b
-umlal v0.2d, v0.2s, v0.2s
-umlal v0.4s, v0.4h, v0.4h
-umlal v0.8h, v0.8b, v0.8b
-umlal2 v0.2d, v0.4s, v0.4s
-umlal2 v0.4s, v0.8h, v0.8h
-umlal2 v0.8h, v0.16b, v0.16b
-umlsl v0.2d, v0.2s, v0.2s
-umlsl v0.4s, v0.4h, v0.4h
-umlsl v0.8h, v0.8b, v0.8b
-umlsl2 v0.2d, v0.4s, v0.4s
-umlsl2 v0.4s, v0.8h, v0.8h
-umlsl2 v0.8h, v0.16b, v0.16b
-umull v0.2d, v0.2s, v0.2s
-umull v0.4s, v0.4h, v0.4h
-umull v0.8h, v0.8b, v0.8b
-umull2 v0.2d, v0.4s, v0.4s
-umull2 v0.4s, v0.8h, v0.8h
-umull2 v0.8h, v0.16b, v0.16b
-uqadd h0, h1, h5
-uqadd v0.8h, v0.8h, v0.8h
-uqrshl b11, b20, b30
-uqrshl s23, s20, s16
-uqrshl v0.16b, v0.16b, v0.16b
-uqrshl v0.4s, v0.4s, v0.4s
-uqrshl v0.4s, v0.4s, v0.4s
-uqrshl v0.8h, v0.8h, v0.8h
-uqrshrn b10, h12, #5
-uqrshrn h12, s10, #14
-uqrshrn s10, d10, #25
-uqrshrn v0.2s, v0.2d, #3
-uqrshrn v0.4h, v0.4s, #3
-uqrshrn v0.8b, v0.8h, #3
-uqrshrn2 v0.16b, v0.8h, #3
-uqrshrn2 v0.4s, v0.2d, #3
-uqrshrn2 v0.8h, v0.4s, #3
-uqshl b11, b20, b30
-uqshl b18, b15, #6
-uqshl d15, d12, #19
-uqshl h11, h18, #7
-uqshl s14, s19, #18
-uqshl s23, s20, s16
-uqshl v0.16b, v0.16b, #3
-uqshl v0.16b, v0.16b, v0.16b
-uqshl v0.2d, v0.2d, #3
-uqshl v0.2d, v0.2d, v0.2d
-uqshl v0.2s, v0.2s, #3
-uqshl v0.4h, v0.4h, #3
-uqshl v0.4s, v0.4s, #3
-uqshl v0.4s, v0.4s, v0.4s
-uqshl v0.8b, v0.8b, #3
-uqshl v0.8h, v0.8h, #3
-uqshl v0.8h, v0.8h, v0.8h
-uqshrn b12, h10, #7
-uqshrn h10, s14, #5
-uqshrn s10, d12, #13
-uqshrn v0.2s, v0.2d, #3
-uqshrn v0.4h, v0.4s, #3
-uqshrn v0.8b, v0.8h, #3
-uqshrn2 v0.16b, v0.8h, #3
-uqshrn2 v0.4s, v0.2d, #3
-uqshrn2 v0.8h, v0.4s, #3
-uqsub d16, d16, d16
-uqsub v0.4h, v0.4h, v0.4h
-uqxtn b18, h18
-uqxtn h20, s17
-uqxtn s19, d14
-uqxtn v0.2s, v0.2d
-uqxtn v0.4h, v0.4s
-uqxtn v0.8b, v0.8h
-uqxtn2 v0.16b, v0.8h
-uqxtn2 v0.4s, v0.2d
-uqxtn2 v0.8h, v0.4s
-urecpe v0.2s, v0.2s
-urecpe v0.4s, v0.4s
-urhadd v0.16b, v0.16b, v0.16b
-urhadd v0.4s, v0.4s, v0.4s
-urhadd v0.8h, v0.8h, v0.8h
-urshl d8, d7, d4
-urshl v0.16b, v0.16b, v0.16b
-urshl v0.2d, v0.2d, v0.2d
-urshl v0.4s, v0.4s, v0.4s
-urshl v0.8h, v0.8h, v0.8h
-urshr d20, d23, #31
-urshr v0.16b, v0.16b, #3
-urshr v0.2d, v0.2d, #3
-urshr v0.2s, v0.2s, #3
-urshr v0.4h, v0.4h, #3
-urshr v0.4s, v0.4s, #3
-urshr v0.8b, v0.8b, #3
-urshr v0.8h, v0.8h, #3
-ursqrte v0.2s, v0.2s
-ursqrte v0.4s, v0.4s
-ursra d18, d10, #13
-ursra v0.16b, v0.16b, #3
-ursra v0.2d, v0.2d, #3
-ursra v0.2s, v0.2s, #3
-ursra v0.4h, v0.4h, #3
-ursra v0.4s, v0.4s, #3
-ursra v0.8b, v0.8b, #3
-ursra v0.8h, v0.8h, #3
-ushl d0, d0, d0
-ushl v0.16b, v0.16b, v0.16b
-ushl v0.4s, v0.4s, v0.4s
-ushl v0.8h, v0.8h, v0.8h
-ushll v0.4s, v0.4h, #3
-ushll2 v0.8h, v0.16b, #3
-ushr d10, d17, #18
-ushr v0.16b, v0.16b, #3
-ushr v0.2d, v0.2d, #3
-ushr v0.2s, v0.2s, #3
-ushr v0.4h, v0.4h, #3
-ushr v0.4s, v0.4s, #3
-ushr v0.8b, v0.8b, #3
-ushr v0.8h, v0.8h, #3
-usqadd b19, b14
-usqadd d18, d22
-usqadd h20, h15
-usqadd s21, s12
-usqadd v0.16b, v0.16b
-usqadd v0.2d, v0.2d
-usqadd v0.2s, v0.2s
-usqadd v0.4h, v0.4h
-usqadd v0.4s, v0.4s
-usqadd v0.8b, v0.8b
-usqadd v0.8h, v0.8h
-usra d20, d13, #61
-usra v0.16b, v0.16b, #3
-usra v0.2d, v0.2d, #3
-usra v0.2s, v0.2s, #3
-usra v0.4h, v0.4h, #3
-usra v0.4s, v0.4s, #3
-usra v0.8b, v0.8b, #3
-usra v0.8h, v0.8h, #3
-usubl v0.2d, v0.2s, v0.2s
-usubl v0.4s, v0.4h, v0.4h
-usubl v0.8h, v0.8b, v0.8b
-usubl2 v0.2d, v0.4s, v0.4s
-usubl2 v0.4s, v0.8h, v0.8h
-usubl2 v0.8h, v0.16b, v0.16b
-usubw v0.2d, v0.2d, v0.2s
-usubw v0.4s, v0.4s, v0.4h
-usubw v0.8h, v0.8h, v0.8b
-usubw2 v0.2d, v0.2d, v0.4s
-usubw2 v0.4s, v0.4s, v0.8h
-usubw2 v0.8h, v0.8h, v0.16b
-uzp1 v0.16b, v0.16b, v0.16b
-uzp1 v0.2d, v0.2d, v0.2d
-uzp1 v0.2s, v0.2s, v0.2s
-uzp1 v0.4h, v0.4h, v0.4h
-uzp1 v0.4s, v0.4s, v0.4s
-uzp1 v0.8b, v0.8b, v0.8b
-uzp1 v0.8h, v0.8h, v0.8h
-uzp2 v0.16b, v0.16b, v0.16b
-uzp2 v0.2d, v0.2d, v0.2d
-uzp2 v0.2s, v0.2s, v0.2s
-uzp2 v0.4h, v0.4h, v0.4h
-uzp2 v0.4s, v0.4s, v0.4s
-uzp2 v0.8b, v0.8b, v0.8b
-uzp2 v0.8h, v0.8h, v0.8h
-xtn v0.2s, v0.2d
-xtn v0.4h, v0.4s
-xtn v0.8b, v0.8h
-xtn2 v0.16b, v0.8h
-xtn2 v0.4s, v0.2d
-xtn2 v0.8h, v0.4s
-zip1 v0.16b, v0.16b, v0.16b
-zip1 v0.2d, v0.2d, v0.2d
-zip1 v0.2s, v0.2s, v0.2s
-zip1 v0.4h, v0.4h, v0.4h
-zip1 v0.4s, v0.4s, v0.4s
-zip1 v0.8b, v0.8b, v0.8b
-zip1 v0.8h, v0.8h, v0.8h
-zip2 v0.16b, v0.16b, v0.16b
-zip2 v0.2d, v0.2d, v0.2d
-zip2 v0.2s, v0.2s, v0.2s
-zip2 v0.4h, v0.4h, v0.4h
-zip2 v0.4s, v0.4s, v0.4s
-zip2 v0.8b, v0.8b, v0.8b
-zip2 v0.8h, v0.8h, v0.8h
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -mattr=+aes -instruction-tables < %p/../Inputs/neon-instructions.s | FileCheck %s
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@@ -1086,14 +26,31 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 addhn2 v0.16b, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 addhn2 v0.4s, v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 addhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 addp v7.2s, v1.2s, v2.2s
# CHECK-NEXT: 1 3 0.50 addp v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 3 0.50 addp v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 addp d1, v14.2d
+# CHECK-NEXT: 1 3 1.00 addv s0, v0.4s
+# CHECK-NEXT: 1 3 1.00 addv h0, v0.4h
+# CHECK-NEXT: 1 3 1.00 addv h0, v0.8h
+# CHECK-NEXT: 1 3 1.00 addv b0, v0.8b
+# CHECK-NEXT: 1 3 1.00 addv b0, v0.16b
+# CHECK-NEXT: 1 3 0.50 aesd v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 aese v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 aesimc v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 aesmc v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 and v0.8b, v0.8b, v0.8b
# CHECK-NEXT: 1 3 0.50 bic v0.4h, #15, lsl #8
+# CHECK-NEXT: 1 3 0.50 bic v23.8h, #101
# CHECK-NEXT: 1 3 0.50 bic v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 bic v25.16b, v10.16b, v9.16b
+# CHECK-NEXT: 1 3 0.50 bic v24.2s, #70
+# CHECK-NEXT: 1 3 0.50 bit v5.8b, v12.8b, v22.8b
+# CHECK-NEXT: 1 3 0.50 bif v0.8b, v25.8b, v4.8b
# CHECK-NEXT: 1 3 0.50 bif v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 bit v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 bsl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 bsl v27.16b, v13.16b, v21.16b
# CHECK-NEXT: 1 3 0.50 cls v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 cls v0.2s, v0.2s
# CHECK-NEXT: 1 3 0.50 cls v0.4h, v0.4h
@@ -1106,28 +63,37 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 clz v0.4s, v0.4s
# CHECK-NEXT: 1 3 0.50 clz v0.8b, v0.8b
# CHECK-NEXT: 1 3 0.50 clz v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 cmeq v9.8h, v16.8h, v24.8h
+# CHECK-NEXT: 1 3 0.50 cmeq v14.4h, v18.4h, #0
# CHECK-NEXT: 1 3 0.50 cmeq d20, d21, #0
# CHECK-NEXT: 1 3 0.50 cmeq d20, d21, d22
# CHECK-NEXT: 1 3 0.50 cmeq v0.16b, v0.16b, #0
# CHECK-NEXT: 1 3 0.50 cmeq v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 cmge v22.8h, v16.8h, v3.8h
+# CHECK-NEXT: 1 3 0.50 cmge v22.16b, v30.16b, #0
# CHECK-NEXT: 1 3 0.50 cmge d20, d21, #0
# CHECK-NEXT: 1 3 0.50 cmge d20, d21, d22
# CHECK-NEXT: 1 3 0.50 cmge v0.4h, v0.4h, v0.4h
# CHECK-NEXT: 1 3 0.50 cmge v0.8b, v0.8b, #0
+# CHECK-NEXT: 1 3 0.50 cmgt v3.2d, v29.2d, v11.2d
# CHECK-NEXT: 1 3 0.50 cmgt d20, d21, #0
# CHECK-NEXT: 1 3 0.50 cmgt d20, d21, d22
# CHECK-NEXT: 1 3 0.50 cmgt v0.2s, v0.2s, #0
# CHECK-NEXT: 1 3 0.50 cmgt v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 cmhi v28.4h, v25.4h, v21.4h
# CHECK-NEXT: 1 3 0.50 cmhi d20, d21, d22
# CHECK-NEXT: 1 3 0.50 cmhi v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 cmhs d20, d21, d22
# CHECK-NEXT: 1 3 0.50 cmhs v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 cmle v21.2s, v19.2s, #0
# CHECK-NEXT: 1 3 0.50 cmle d20, d21, #0
# CHECK-NEXT: 1 3 0.50 cmle v0.2d, v0.2d, #0
+# CHECK-NEXT: 1 3 0.50 cmlt v26.4h, v12.4h, #0
# CHECK-NEXT: 1 3 0.50 cmlt d20, d21, #0
# CHECK-NEXT: 1 3 0.50 cmlt v0.8h, v0.8h, #0
# CHECK-NEXT: 1 3 0.50 cmtst d20, d21, d22
# CHECK-NEXT: 1 3 0.50 cmtst v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 cmtst v13.2d, v13.2d, v13.2d
# CHECK-NEXT: 1 3 0.50 cnt v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 cnt v0.8b, v0.8b
# CHECK-NEXT: 1 3 0.50 dup v0.16b, w28
@@ -1137,12 +103,26 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 dup v0.4s, w28
# CHECK-NEXT: 1 3 0.50 dup v0.8b, w28
# CHECK-NEXT: 1 3 0.50 dup v0.8h, w28
+# CHECK-NEXT: 1 3 0.50 mov b0, v0.b[1]
+# CHECK-NEXT: 1 3 0.50 mov d0, v0.d[1]
+# CHECK-NEXT: 1 3 0.50 mov h0, v0.h[1]
+# CHECK-NEXT: 1 3 0.50 mov s0, v0.s[1]
+# CHECK-NEXT: 1 3 0.50 dup v0.16b, v0.b[1]
+# CHECK-NEXT: 1 3 0.50 dup v0.2d, v0.d[1]
+# CHECK-NEXT: 1 3 0.50 dup v0.2s, v0.s[1]
+# CHECK-NEXT: 1 3 0.50 dup v0.4h, v0.h[1]
+# CHECK-NEXT: 1 3 0.50 dup v0.4s, v0.s[1]
+# CHECK-NEXT: 1 3 0.50 dup v0.8b, v0.b[1]
+# CHECK-NEXT: 1 3 0.50 dup v0.8h, v0.h[1]
# CHECK-NEXT: 1 3 0.50 eor v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 ext v0.16b, v0.16b, v0.16b, #3
# CHECK-NEXT: 1 3 0.50 ext v0.8b, v0.8b, v0.8b, #3
# CHECK-NEXT: 1 4 0.50 fabd d29, d24, d20
# CHECK-NEXT: 1 4 0.50 fabd s29, s24, s20
+# CHECK-NEXT: 1 4 0.50 fabd h27, h20, h17
+# CHECK-NEXT: 1 4 0.50 fabd v13.8h, v28.8h, v12.8h
# CHECK-NEXT: 1 4 0.50 fabd v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fabs h25, h7
# CHECK-NEXT: 1 4 0.50 fabs v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fabs v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fabs v0.4h, v0.4h
@@ -1150,39 +130,70 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fabs v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 facge d20, d21, d22
# CHECK-NEXT: 1 3 0.50 facge s10, s11, s12
+# CHECK-NEXT: 1 3 0.50 facge h24, h26, h29
+# CHECK-NEXT: 1 3 0.50 facge v25.4h, v16.4h, v11.4h
+# CHECK-NEXT: 1 3 0.50 facge v19.2s, v24.2s, v5.2s
# CHECK-NEXT: 1 3 0.50 facge v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 3 0.50 facgt d20, d21, d22
# CHECK-NEXT: 1 3 0.50 facgt s10, s11, s12
+# CHECK-NEXT: 1 3 0.50 facgt h0, h4, h10
# CHECK-NEXT: 1 3 0.50 facgt v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.50 facgt v22.8h, v14.8h, v31.8h
+# CHECK-NEXT: 1 3 0.50 facgt v22.4s, v8.4s, v2.4s
# CHECK-NEXT: 1 4 0.50 fadd v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 faddp h10, v19.2h
+# CHECK-NEXT: 1 4 0.50 faddp d11, v28.2d
# CHECK-NEXT: 1 4 0.50 faddp v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 faddp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 faddp v16.2d, v11.2d, v5.2d
+# CHECK-NEXT: 1 3 0.50 fcmeq h30, h6, h1
+# CHECK-NEXT: 1 3 0.50 fcmeq h19, h23, #0.0
# CHECK-NEXT: 1 3 0.50 fcmeq d20, d21, #0.0
# CHECK-NEXT: 1 3 0.50 fcmeq d20, d21, d22
# CHECK-NEXT: 1 3 0.50 fcmeq s10, s11, #0.0
# CHECK-NEXT: 1 3 0.50 fcmeq s10, s11, s12
# CHECK-NEXT: 1 3 0.50 fcmeq v0.2s, v0.2s, #0.0
# CHECK-NEXT: 1 3 0.50 fcmeq v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 fcmeq v12.4s, v11.4s, v26.4s
+# CHECK-NEXT: 1 3 0.50 fcmeq v18.2d, v17.2d, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmge h10, h23, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmge h1, h16, h12
# CHECK-NEXT: 1 3 0.50 fcmge d20, d21, #0.0
# CHECK-NEXT: 1 3 0.50 fcmge d20, d21, d22
# CHECK-NEXT: 1 3 0.50 fcmge s10, s11, #0.0
# CHECK-NEXT: 1 3 0.50 fcmge s10, s11, s12
# CHECK-NEXT: 1 3 0.50 fcmge v0.2d, v0.2d, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmge v17.2d, v11.2d, v13.2d
# CHECK-NEXT: 1 3 0.50 fcmge v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 fcmge v18.4h, v27.4h, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmge v20.8h, v19.8h, v22.8h
+# CHECK-NEXT: 1 3 0.50 fcmge v17.2s, v11.2s, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmgt h4, h5, h0
+# CHECK-NEXT: 1 3 0.50 fcmgt h0, h18, #0.0
# CHECK-NEXT: 1 3 0.50 fcmgt d20, d21, #0.0
# CHECK-NEXT: 1 3 0.50 fcmgt d20, d21, d22
# CHECK-NEXT: 1 3 0.50 fcmgt s10, s11, #0.0
# CHECK-NEXT: 1 3 0.50 fcmgt s10, s11, s12
# CHECK-NEXT: 1 3 0.50 fcmgt v0.4s, v0.4s, #0.0
# CHECK-NEXT: 1 3 0.50 fcmgt v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 fcmgt v24.8h, v24.8h, v28.8h
+# CHECK-NEXT: 1 3 0.50 fcmgt v0.8h, v11.8h, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmgt v19.2d, v31.2d, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmle v16.8h, v11.8h, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmle v22.4s, v30.4s, #0.0
# CHECK-NEXT: 1 3 0.50 fcmle d20, d21, #0.0
# CHECK-NEXT: 1 3 0.50 fcmle s10, s11, #0.0
# CHECK-NEXT: 1 3 0.50 fcmle v0.2d, v0.2d, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmle h18, h28, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmlt h23, h7, #0.0
# CHECK-NEXT: 1 3 0.50 fcmlt d20, d21, #0.0
# CHECK-NEXT: 1 3 0.50 fcmlt s10, s11, #0.0
# CHECK-NEXT: 1 3 0.50 fcmlt v0.4s, v0.4s, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmlt v8.4h, v2.4h, #0.0
+# CHECK-NEXT: 1 3 0.50 fcmlt v7.2d, v16.2d, #0.0
# CHECK-NEXT: 1 4 0.50 fcvtas d21, d14
# CHECK-NEXT: 1 4 0.50 fcvtas s12, s13
+# CHECK-NEXT: 1 4 0.50 fcvtas h12, h13
# CHECK-NEXT: 1 4 0.50 fcvtas v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fcvtas v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fcvtas v0.4h, v0.4h
@@ -1190,6 +201,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fcvtas v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fcvtau d21, d14
# CHECK-NEXT: 1 4 0.50 fcvtau s12, s13
+# CHECK-NEXT: 1 4 0.50 fcvtau h12, h13
# CHECK-NEXT: 1 4 0.50 fcvtau v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fcvtau v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fcvtau v0.4h, v0.4h
@@ -1201,6 +213,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fcvtl2 v0.4s, v0.8h
# CHECK-NEXT: 1 4 0.50 fcvtms d21, d14
# CHECK-NEXT: 1 4 0.50 fcvtms s22, s13
+# CHECK-NEXT: 1 4 0.50 fcvtms h22, h13
# CHECK-NEXT: 1 4 0.50 fcvtms v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fcvtms v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fcvtms v0.4h, v0.4h
@@ -1208,6 +221,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fcvtms v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fcvtmu d21, d14
# CHECK-NEXT: 1 4 0.50 fcvtmu s12, s13
+# CHECK-NEXT: 1 4 0.50 fcvtmu h12, h13
# CHECK-NEXT: 1 4 0.50 fcvtmu v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fcvtmu v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fcvtmu v0.4h, v0.4h
@@ -1219,6 +233,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fcvtn2 v0.8h, v0.4s
# CHECK-NEXT: 1 4 0.50 fcvtns d21, d14
# CHECK-NEXT: 1 4 0.50 fcvtns s22, s13
+# CHECK-NEXT: 1 4 0.50 fcvtns h22, h13
# CHECK-NEXT: 1 4 0.50 fcvtns v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fcvtns v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fcvtns v0.4h, v0.4h
@@ -1226,6 +241,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fcvtns v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fcvtnu d21, d14
# CHECK-NEXT: 1 4 0.50 fcvtnu s12, s13
+# CHECK-NEXT: 1 4 0.50 fcvtnu h12, h13
# CHECK-NEXT: 1 4 0.50 fcvtnu v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fcvtnu v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fcvtnu v0.4h, v0.4h
@@ -1233,6 +249,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fcvtnu v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fcvtps d21, d14
# CHECK-NEXT: 1 4 0.50 fcvtps s22, s13
+# CHECK-NEXT: 1 4 0.50 fcvtps h22, h13
# CHECK-NEXT: 1 4 0.50 fcvtps v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fcvtps v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fcvtps v0.4h, v0.4h
@@ -1240,6 +257,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fcvtps v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fcvtpu d21, d14
# CHECK-NEXT: 1 4 0.50 fcvtpu s12, s13
+# CHECK-NEXT: 1 4 0.50 fcvtpu h12, h13
# CHECK-NEXT: 1 4 0.50 fcvtpu v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fcvtpu v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fcvtpu v0.4h, v0.4h
@@ -1252,75 +270,132 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fcvtzs d21, d14
# CHECK-NEXT: 1 4 0.50 fcvtzs s12, s13
# CHECK-NEXT: 1 4 0.50 fcvtzs s21, s12, #1
+# CHECK-NEXT: 1 4 0.50 fcvtzs h21, h14
+# CHECK-NEXT: 1 4 0.50 fcvtzs h21, h12, #1
# CHECK-NEXT: 1 4 0.50 fcvtzs v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fcvtzs v0.2d, v0.2d, #3
# CHECK-NEXT: 1 4 0.50 fcvtzs v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fcvtzs v0.2s, v0.2s, #3
# CHECK-NEXT: 1 4 0.50 fcvtzs v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 fcvtzs v20.4h, v24.4h, #11
# CHECK-NEXT: 1 4 0.50 fcvtzs v0.4s, v0.4s
# CHECK-NEXT: 1 4 0.50 fcvtzs v0.4s, v0.4s, #3
# CHECK-NEXT: 1 4 0.50 fcvtzs v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 fcvtzs v18.8h, v10.8h, #7
# CHECK-NEXT: 1 4 0.50 fcvtzu d21, d12, #1
# CHECK-NEXT: 1 4 0.50 fcvtzu d21, d14
# CHECK-NEXT: 1 4 0.50 fcvtzu s12, s13
# CHECK-NEXT: 1 4 0.50 fcvtzu s21, s12, #1
+# CHECK-NEXT: 1 4 0.50 fcvtzu h12, h13
+# CHECK-NEXT: 1 4 0.50 fcvtzu h21, h12, #1
# CHECK-NEXT: 1 4 0.50 fcvtzu v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fcvtzu v0.2d, v0.2d, #3
# CHECK-NEXT: 1 4 0.50 fcvtzu v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fcvtzu v0.2s, v0.2s, #3
# CHECK-NEXT: 1 4 0.50 fcvtzu v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 fcvtzu v19.4h, v26.4h, #9
# CHECK-NEXT: 1 4 0.50 fcvtzu v0.4s, v0.4s
# CHECK-NEXT: 1 4 0.50 fcvtzu v0.4s, v0.4s, #3
# CHECK-NEXT: 1 4 0.50 fcvtzu v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 fcvtzu v27.8h, v6.8h, #11
+# CHECK-NEXT: 1 22 19.00 fdiv v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 13 10.00 fdiv v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 8 5.00 fdiv v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 13 10.00 fdiv v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 8 5.00 fdiv v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fmax v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fmax v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fmax v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 4 0.50 fmaxnm v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fmaxnm v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fmaxnm v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fmaxnmp h25, v19.2h
+# CHECK-NEXT: 1 4 0.50 fmaxnmp d17, v29.2d
# CHECK-NEXT: 1 4 0.50 fmaxnmp v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fmaxnmp v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fmaxnmp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 1.00 fmaxnmv h0, v13.4h
+# CHECK-NEXT: 1 4 1.00 fmaxnmv h12, v11.8h
+# CHECK-NEXT: 1 4 1.00 fmaxnmv s28, v31.4s
# CHECK-NEXT: 1 4 0.50 fmaxp v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fmaxp v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fmaxp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fmaxp h15, v25.2h
+# CHECK-NEXT: 1 4 0.50 fmaxp s6, v2.2s
+# CHECK-NEXT: 1 4 1.00 fmaxv h0, v0.4h
+# CHECK-NEXT: 1 4 1.00 fmaxv h0, v0.8h
+# CHECK-NEXT: 1 4 1.00 fmaxv s0, v0.4s
# CHECK-NEXT: 1 4 0.50 fmin v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fmin v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fmin v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 4 0.50 fminnm v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fminnm v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fminnm v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fminnmp h20, v14.2h
+# CHECK-NEXT: 1 4 0.50 fminnmp d15, v8.2d
# CHECK-NEXT: 1 4 0.50 fminnmp v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fminnmp v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fminnmp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 1.00 fminnmv h19, v25.4h
+# CHECK-NEXT: 1 4 1.00 fminnmv h23, v17.8h
+# CHECK-NEXT: 1 4 1.00 fminnmv s29, v17.4s
# CHECK-NEXT: 1 4 0.50 fminp v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fminp v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fminp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fminp h7, v10.2h
+# CHECK-NEXT: 1 4 0.50 fminp s17, v7.2s
+# CHECK-NEXT: 1 4 1.00 fminv h3, v30.4h
+# CHECK-NEXT: 1 4 1.00 fminv h29, v12.8h
+# CHECK-NEXT: 1 4 1.00 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 3 0.50 fmov v0.2d, #-1.25000000
# CHECK-NEXT: 1 3 0.50 fmov v0.2s, #13.00000000
# CHECK-NEXT: 1 3 0.50 fmov v0.4s, #1.00000000
+# CHECK-NEXT: 1 4 0.50 fmul h18, h4, v7.h[3]
+# CHECK-NEXT: 1 4 0.50 fmul v10.4h, v2.4h, v7.h[5]
+# CHECK-NEXT: 1 4 0.50 fmul v5.2s, v12.2s, v9.s[0]
+# CHECK-NEXT: 1 4 0.50 fmul v15.4s, v30.4s, v2.s[3]
+# CHECK-NEXT: 1 4 0.50 fmul v11.2d, v31.2d, v24.d[1]
+# CHECK-NEXT: 1 4 0.50 fmul h28, h14, h3
# CHECK-NEXT: 1 4 0.50 fmul d0, d1, v0.d[1]
# CHECK-NEXT: 1 4 0.50 fmul s0, s1, v0.s[3]
# CHECK-NEXT: 1 4 0.50 fmul v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fmulx d0, d4, v0.d[1]
# CHECK-NEXT: 1 4 0.50 fmulx d23, d11, d1
# CHECK-NEXT: 1 4 0.50 fmulx s20, s22, s15
+# CHECK-NEXT: 1 4 0.50 fmulx h18, h17, v7.h[1]
+# CHECK-NEXT: 1 4 0.50 fmulx h20, h25, h0
# CHECK-NEXT: 1 4 0.50 fmulx s3, s5, v0.s[3]
# CHECK-NEXT: 1 4 0.50 fmulx v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 4 0.50 fmulx v28.4h, v25.4h, v15.h[1]
+# CHECK-NEXT: 1 4 0.50 fmulx v3.2s, v22.2s, v23.s[3]
# CHECK-NEXT: 1 4 0.50 fmulx v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fmulx v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 fmulx v5.4s, v28.4s, v15.s[3]
+# CHECK-NEXT: 1 4 0.50 fmulx v22.2d, v18.2d, v25.d[1]
# CHECK-NEXT: 1 4 0.50 fneg v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 fneg v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 fneg v0.4h, v0.4h
# CHECK-NEXT: 1 4 0.50 fneg v0.4s, v0.4s
# CHECK-NEXT: 1 4 0.50 fneg v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 frecpe h20, h8
# CHECK-NEXT: 1 4 0.50 frecpe d13, d13
# CHECK-NEXT: 1 4 0.50 frecpe s19, s14
# CHECK-NEXT: 1 4 0.50 frecpe v0.2d, v0.2d
@@ -1328,9 +403,13 @@ zip2 v0.8h, v0.8h, v0.8h
# 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 4 0.50 frecpe v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 frecps h29, h19, h8
+# CHECK-NEXT: 1 4 0.50 frecpx h18, h11
+# CHECK-NEXT: 1 4 0.50 frecps v12.8h, v25.8h, v4.8h
# CHECK-NEXT: 1 4 0.50 frecps v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 4 0.50 frecps d22, d30, d21
# CHECK-NEXT: 1 4 0.50 frecps s21, s16, s13
+# CHECK-NEXT: 1 4 0.50 frecps v7.2d, v29.2d, v18.2d
# CHECK-NEXT: 1 4 0.50 frecpx d16, d19
# CHECK-NEXT: 1 4 0.50 frecpx s18, s10
# CHECK-NEXT: 1 4 0.50 frinta v0.2d, v0.2d
@@ -1368,13 +447,17 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 frintz v0.4h, v0.4h
# CHECK-NEXT: 1 4 0.50 frintz v0.4s, v0.4s
# CHECK-NEXT: 1 4 0.50 frintz v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 frsqrte h23, h26
# CHECK-NEXT: 1 4 0.50 frsqrte d21, d12
# CHECK-NEXT: 1 4 0.50 frsqrte s22, s13
# CHECK-NEXT: 1 4 0.50 frsqrte v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 frsqrte v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 frsqrte v0.4h, v0.4h
# CHECK-NEXT: 1 4 0.50 frsqrte v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 frsqrts v20.4s, v26.4s, v27.4s
+# CHECK-NEXT: 1 4 0.50 frsqrts v8.4h, v9.4h, v30.4h
# CHECK-NEXT: 1 4 0.50 frsqrte v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 frsqrts h28, h26, h1
# CHECK-NEXT: 1 4 0.50 frsqrts d8, d22, d18
# CHECK-NEXT: 1 4 0.50 frsqrts s21, s5, s12
# CHECK-NEXT: 1 4 0.50 frsqrts v0.2d, v0.2d, v0.2d
@@ -1383,61 +466,193 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 8 5.00 fsqrt v0.4h, v0.4h
# CHECK-NEXT: 1 12 9.00 fsqrt v0.4s, v0.4s
# CHECK-NEXT: 1 8 5.00 fsqrt v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 fsub v13.8h, v15.8h, v17.8h
# CHECK-NEXT: 1 4 0.50 fsub v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: 1 3 1.00 * ld1 { v0.16b }, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1 { v0.16b }, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1 { v0.16b, v1.16b }, [x14]
+# CHECK-NEXT: 1 4 2.00 * ld1 { v19.16b, v20.16b, v21.16b }, [x10]
+# CHECK-NEXT: 1 4 2.00 * ld1 { v13.16b, v14.16b, v15.16b, v16.16b }, [x9]
+# CHECK-NEXT: 1 3 0.50 * ld1 { v24.8h }, [x27]
+# CHECK-NEXT: 1 3 1.00 * ld1 { v1.8h, v2.8h }, [x27]
+# CHECK-NEXT: 2 3 1.00 * ld1 { v0.8h, v1.8h }, [sp], #32
+# CHECK-NEXT: 1 4 2.00 * ld1 { v21.8h, v22.8h, v23.8h }, [x22]
+# CHECK-NEXT: 1 4 2.00 * ld1 { v0.8h, v1.8h, v2.8h, v3.8h }, [x21]
+# CHECK-NEXT: 1 3 0.50 * ld1 { v3.4s }, [x4]
+# CHECK-NEXT: 1 3 1.00 * ld1 { v11.4s, v12.4s }, [x30]
+# CHECK-NEXT: 1 4 2.00 * ld1 { v0.4s, v1.4s, v2.4s }, [x24]
+# CHECK-NEXT: 1 4 2.00 * ld1 { v15.4s, v16.4s, v17.4s, v18.4s }, [x28]
+# CHECK-NEXT: 2 4 2.00 * ld1 { v0.4s, v1.4s, v2.4s }, [x0], #48
+# CHECK-NEXT: 1 3 0.50 * ld1 { v3.2d }, [x28]
+# CHECK-NEXT: 1 3 1.00 * ld1 { v13.2d, v14.2d }, [x13]
+# CHECK-NEXT: 1 4 2.00 * ld1 { v12.2d, v13.2d, v14.2d }, [x15]
# CHECK-NEXT: 2 4 2.00 * ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48
# CHECK-NEXT: 1 4 2.00 * ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
+# CHECK-NEXT: 2 3 0.50 * ld1 { v0.1d }, [x15], x2
+# CHECK-NEXT: 1 3 1.00 * ld1 { v27.1d, v28.1d }, [x7]
+# CHECK-NEXT: 1 4 2.00 * ld1 { v14.1d, v15.1d, v16.1d }, [x3]
+# CHECK-NEXT: 1 4 2.00 * ld1 { v22.1d, v23.1d, v24.1d, v25.1d }, [x4]
+# CHECK-NEXT: 1 3 1.00 * ld1 { v0.2s, v1.2s }, [x15]
+# CHECK-NEXT: 1 4 2.00 * ld1 { v16.2s, v17.2s, v18.2s }, [x27]
+# CHECK-NEXT: 1 4 2.00 * ld1 { v21.2s, v22.2s, v23.2s, v24.2s }, [x21]
+# CHECK-NEXT: 1 3 1.00 * ld1 { v25.4h, v26.4h }, [x3]
+# CHECK-NEXT: 1 4 2.00 * ld1 { v20.4h, v21.4h, v22.4h, v23.4h }, [x15]
+# CHECK-NEXT: 1 4 2.00 * ld1 { v0.4h, v1.4h, v2.4h }, [sp]
+# CHECK-NEXT: 1 3 1.00 * ld1 { v24.8b, v25.8b }, [x6]
+# CHECK-NEXT: 1 4 2.00 * ld1 { v7.8b, v8.8b, v9.8b }, [x12]
+# CHECK-NEXT: 1 4 2.00 * ld1 { v4.8b, v5.8b, v6.8b, v7.8b }, [x13]
# CHECK-NEXT: 2 3 1.00 * ld1 { v0.4s, v1.4s }, [sp], #32
# CHECK-NEXT: 1 4 2.00 * ld1 { v0.4s, v1.4s, v2.4s }, [sp]
# CHECK-NEXT: 2 4 2.00 * ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
-# CHECK-NEXT: 2 3 1.00 * ld1 { v0.8h }, [x15], x2
+# CHECK-NEXT: 1 3 0.50 * ld1 { v0.b }[7], [x0]
+# CHECK-NEXT: 2 3 0.50 * ld1 { v0.h }[3], [x0], #2
+# CHECK-NEXT: 1 3 0.50 * ld1 { v18.h }[3], [x1]
+# CHECK-NEXT: 1 3 0.50 * ld1 { v0.s }[1], [x15]
+# CHECK-NEXT: 2 3 0.50 * ld1 { v0.d }[0], [x15], #8
+# CHECK-NEXT: 1 3 0.50 * ld1 { v11.d }[0], [x13]
+# CHECK-NEXT: 2 3 0.50 * ld1 { v0.8h }, [x15], x2
# CHECK-NEXT: 1 3 1.00 * ld1 { v0.8h, v1.8h }, [x15]
-# CHECK-NEXT: 1 3 1.00 * ld1 { v0.b }[9], [x0]
-# CHECK-NEXT: 2 3 1.00 * ld1 { v0.b }[9], [x0], #1
-# CHECK-NEXT: 1 3 1.00 * ld1r { v0.16b }, [x0]
-# CHECK-NEXT: 2 3 1.00 * ld1r { v0.16b }, [x0], #1
-# CHECK-NEXT: 1 3 1.00 * ld1r { v0.8h }, [x15]
-# CHECK-NEXT: 2 3 1.00 * ld1r { v0.8h }, [x15], #2
+# CHECK-NEXT: 1 3 0.50 * ld1 { v0.b }[9], [x0]
+# CHECK-NEXT: 2 3 0.50 * ld1 { v0.b }[9], [x0], #1
+# CHECK-NEXT: 1 3 0.50 * ld1r { v0.16b }, [x0]
+# CHECK-NEXT: 2 3 0.50 * ld1r { v0.8h }, [x0], #2
+# CHECK-NEXT: 1 3 0.50 * ld1r { v0.4s }, [x15]
+# CHECK-NEXT: 1 3 0.50 * ld1r { v3.1d }, [x15]
+# CHECK-NEXT: 2 3 0.50 * ld1r { v0.2d }, [x15], x16
+# CHECK-NEXT: 1 3 0.50 * ld1r { v18.2d }, [x0]
+# CHECK-NEXT: 1 3 0.50 * ld1r { v8.8b }, [x23]
+# CHECK-NEXT: 1 3 0.50 * ld1r { v28.4h }, [x9]
+# CHECK-NEXT: 1 3 0.50 * ld1r { v3.8h }, [x16]
+# CHECK-NEXT: 1 3 0.50 * ld1r { v10.2s }, [x20]
+# CHECK-NEXT: 1 4 1.00 * ld2 { v0.4h, v1.4h }, [x21]
+# CHECK-NEXT: 1 4 1.00 * ld2 { v8.8h, v9.8h }, [x28]
+# CHECK-NEXT: 1 4 1.00 * ld2 { v2.2s, v3.2s }, [x16]
+# CHECK-NEXT: 1 4 1.00 * ld2 { v22.4s, v23.4s }, [x4]
+# CHECK-NEXT: 1 4 1.00 * ld2 { v22.2d, v23.2d }, [x17]
+# CHECK-NEXT: 1 4 4.00 * ld2 { v29.b, v30.b }[3], [x1]
+# CHECK-NEXT: 1 4 4.00 * ld2 { v26.s, v27.s }[1], [x17]
+# CHECK-NEXT: 1 4 4.00 * ld2 { v1.d, v2.d }[0], [x10]
+# CHECK-NEXT: 1 4 1.00 * ld2 { v0.16b, v1.16b }, [x0]
+# CHECK-NEXT: 1 4 1.00 * ld2 { v13.8b, v14.8b }, [x4]
+# CHECK-NEXT: 2 4 1.00 * ld2 { v0.8b, v1.8b }, [x0], #16
+# CHECK-NEXT: 2 3 0.50 * ld1r { v0.16b }, [x0], #1
+# CHECK-NEXT: 1 3 0.50 * ld1r { v0.8h }, [x15]
+# CHECK-NEXT: 2 3 0.50 * ld1r { v0.8h }, [x15], #2
# CHECK-NEXT: 2 4 1.00 * ld2 { v0.16b, v1.16b }, [x0], x1
# CHECK-NEXT: 1 4 1.00 * ld2 { v0.8b, v1.8b }, [x0]
# CHECK-NEXT: 1 4 4.00 * ld2 { v0.h, v1.h }[7], [x15]
+# CHECK-NEXT: 2 4 4.00 * ld2 { v0.h, v1.h }[7], [x15], x8
# CHECK-NEXT: 2 4 4.00 * ld2 { v0.h, v1.h }[7], [x15], #4
-# CHECK-NEXT: 1 3 2.00 * ld2r { v0.2d, v1.2d }, [x0]
-# CHECK-NEXT: 2 3 2.00 * ld2r { v0.2d, v1.2d }, [x0], #16
-# CHECK-NEXT: 1 3 2.00 * ld2r { v0.4s, v1.4s }, [sp]
-# CHECK-NEXT: 2 3 2.00 * ld2r { v0.4s, v1.4s }, [sp], #8
+# CHECK-NEXT: 1 3 1.00 * ld2r { v0.8b, v1.8b }, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld2r { v10.16b, v11.16b }, [x23]
+# CHECK-NEXT: 2 3 1.00 * ld2r { v0.4h, v1.4h }, [x0], #4
+# CHECK-NEXT: 1 3 1.00 * ld2r { v25.4h, v26.4h }, [x11]
+# CHECK-NEXT: 1 3 1.00 * ld2r { v23.8h, v24.8h }, [x10]
+# CHECK-NEXT: 1 3 1.00 * ld2r { v0.2s, v1.2s }, [sp]
+# CHECK-NEXT: 1 3 1.00 * ld2r { v8.4s, v9.4s }, [x17]
+# CHECK-NEXT: 2 3 1.00 * ld2r { v0.1d, v1.1d }, [sp], x8
+# CHECK-NEXT: 1 3 1.00 * ld2r { v9.1d, v10.1d }, [x25]
+# CHECK-NEXT: 1 3 1.00 * ld2r { v26.2d, v27.2d }, [x8]
+# CHECK-NEXT: 1 5 3.00 * ld3 { v8.8b, v9.8b, v10.8b }, [x0]
+# CHECK-NEXT: 1 5 3.00 * ld3 { v15.16b, v16.16b, v17.16b }, [x5]
+# CHECK-NEXT: 1 3 1.00 * ld2r { v0.2d, v1.2d }, [x0]
+# CHECK-NEXT: 2 3 1.00 * ld2r { v0.2d, v1.2d }, [x0], #16
+# CHECK-NEXT: 1 3 1.00 * ld2r { v0.4s, v1.4s }, [sp]
+# CHECK-NEXT: 2 3 1.00 * ld2r { v0.4s, v1.4s }, [sp], #8
# CHECK-NEXT: 1 5 3.00 * ld3 { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT: 2 5 3.00 * ld3 { v0.8h, v1.8h, v2.8h }, [x15], #48
+# CHECK-NEXT: 1 5 3.00 * ld3 { v7.8h, v8.8h, v9.8h }, [x21]
+# CHECK-NEXT: 1 5 3.00 * ld3 { v16.2s, v17.2s, v18.2s }, [x0]
+# CHECK-NEXT: 1 5 3.00 * ld3 { v12.4s, v13.4s, v14.4s }, [x25]
+# CHECK-NEXT: 1 5 5.00 * ld3 { v17.b, v18.b, v19.b }[2], [x27]
+# CHECK-NEXT: 1 5 5.00 * ld3 { v18.h, v19.h, v20.h }[5], [x16]
+# CHECK-NEXT: 1 5 3.00 * ld3 { v10.2d, v11.2d, v12.2d }, [x18]
# CHECK-NEXT: 2 5 3.00 * ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2
# CHECK-NEXT: 1 5 5.00 * ld3 { v0.s, v1.s, v2.s }[3], [sp]
# CHECK-NEXT: 2 5 5.00 * ld3 { v0.s, v1.s, v2.s }[3], [sp], x3
+# CHECK-NEXT: 1 5 5.00 * ld3 { v5.d, v6.d, v7.d }[1], [x14]
+# CHECK-NEXT: 1 4 2.00 * ld3r { v0.8b, v1.8b, v2.8b }, [x15]
+# CHECK-NEXT: 1 4 2.00 * ld3r { v17.16b, v18.16b, v19.16b }, [x3]
# CHECK-NEXT: 1 4 2.00 * ld3r { v0.4h, v1.4h, v2.4h }, [x15]
# CHECK-NEXT: 2 4 2.00 * ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6
+# CHECK-NEXT: 1 4 2.00 * ld3r { v3.4h, v4.4h, v5.4h }, [x1]
+# CHECK-NEXT: 1 4 2.00 * ld3r { v6.8h, v7.8h, v8.8h }, [x28]
+# CHECK-NEXT: 1 4 2.00 * ld3r { v0.2s, v1.2s, v2.2s }, [x0]
+# CHECK-NEXT: 1 4 2.00 * ld3r { v28.4s, v29.4s, v30.4s }, [x2]
+# CHECK-NEXT: 2 4 2.00 * ld3r { v0.1d, v1.1d, v2.1d }, [x0], x0
+# CHECK-NEXT: 1 4 2.00 * ld3r { v1.1d, v2.1d, v3.1d }, [x28]
+# CHECK-NEXT: 1 4 2.00 * ld3r { v8.2d, v9.2d, v10.2d }, [x3]
+# CHECK-NEXT: 1 5 3.00 * ld4 { v6.8b, v7.8b, v8.8b, v9.8b }, [x27]
+# CHECK-NEXT: 1 5 3.00 * ld4 { v11.16b, v12.16b, v13.16b, v14.16b }, [x5]
+# CHECK-NEXT: 1 5 3.00 * ld4 { v21.4h, v22.4h, v23.4h, v24.4h }, [x14]
+# CHECK-NEXT: 1 5 3.00 * ld4 { v9.8h, v10.8h, v11.8h, v12.8h }, [x1]
+# CHECK-NEXT: 1 5 3.00 * ld4 { v17.4s, v18.4s, v19.4s, v20.4s }, [x4]
# CHECK-NEXT: 1 4 2.00 * ld3r { v0.8b, v1.8b, v2.8b }, [x0]
# CHECK-NEXT: 2 4 2.00 * ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3
# CHECK-NEXT: 1 5 3.00 * ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
# CHECK-NEXT: 2 5 3.00 * ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
# CHECK-NEXT: 1 6 5.00 * ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0]
+# CHECK-NEXT: 1 5 3.00 * ld4 { v2.2d, v3.2d, v4.2d, v5.2d }, [x24]
+# CHECK-NEXT: 1 6 5.00 * ld4 { v4.b, v5.b, v6.b, v7.b }[12], [x27]
+# CHECK-NEXT: 1 6 5.00 * ld4 { v5.h, v6.h, v7.h, v8.h }[0], [x4]
# CHECK-NEXT: 2 6 5.00 * ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32
# CHECK-NEXT: 2 6 5.00 * ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0
+# CHECK-NEXT: 1 6 5.00 * ld4 { v0.s, v1.s, v2.s, v3.s }[0], [x26]
+# CHECK-NEXT: 1 4 2.00 * ld4r { v20.8b, v21.8b, v22.8b, v23.8b }, [x23]
+# CHECK-NEXT: 1 4 2.00 * ld4r { v1.16b, v2.16b, v3.16b, v4.16b }, [x25]
+# CHECK-NEXT: 1 4 2.00 * ld4r { v16.4h, v17.4h, v18.4h, v19.4h }, [x6]
# CHECK-NEXT: 1 4 2.00 * ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp]
+# CHECK-NEXT: 1 4 2.00 * ld4r { v0.2d, v1.2d, v2.2d, v3.2d }, [sp]
+# CHECK-NEXT: 1 4 2.00 * ld4r { v4.8h, v5.8h, v6.8h, v7.8h }, [x23]
+# CHECK-NEXT: 1 4 2.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [x30]
+# CHECK-NEXT: 2 4 2.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], #16
+# CHECK-NEXT: 1 4 2.00 * ld4r { v7.4s, v8.4s, v9.4s, v10.4s }, [x23]
+# CHECK-NEXT: 2 4 2.00 * ld4r { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], x8
# CHECK-NEXT: 2 4 2.00 * ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7
# CHECK-NEXT: 1 4 2.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
# CHECK-NEXT: 2 4 2.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30
# CHECK-NEXT: 1 4 0.50 mla v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 mla v15.8h, v22.8h, v4.h[3]
+# CHECK-NEXT: 1 4 0.50 mla v28.2s, v10.2s, v2.s[0]
# CHECK-NEXT: 1 4 0.50 mls v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: 1 4 0.50 mov b0, v0.b[15]
-# CHECK-NEXT: 1 4 0.50 mov d6, v0.d[1]
-# CHECK-NEXT: 1 4 0.50 mov h2, v0.h[5]
-# CHECK-NEXT: 1 4 0.50 mov s17, v0.s[2]
+# CHECK-NEXT: 1 4 0.50 mls v25.8h, v29.8h, v0.h[4]
+# CHECK-NEXT: 1 4 0.50 mls v22.2s, v29.2s, v0.s[3]
+# CHECK-NEXT: 1 4 0.50 mls v26.4s, v5.4s, v28.4s
+# CHECK-NEXT: 1 3 0.50 mov b0, v0.b[15]
+# CHECK-NEXT: 1 3 0.50 mov d6, v0.d[1]
+# CHECK-NEXT: 1 3 0.50 mov h2, v0.h[5]
+# CHECK-NEXT: 1 3 0.50 mov s17, v0.s[2]
+# CHECK-NEXT: 1 3 0.50 mov w8, v8.s[0]
+# CHECK-NEXT: 1 3 0.50 mov x30, v18.d[0]
+# CHECK-NEXT: 1 3 0.50 mov v2.b[0], v0.b[0]
+# CHECK-NEXT: 1 3 0.50 mov v2.h[1], v0.h[1]
+# CHECK-NEXT: 1 3 0.50 mov v2.s[2], v0.s[2]
+# CHECK-NEXT: 1 3 0.50 mov v2.d[1], v0.d[1]
+# CHECK-NEXT: 1 3 0.50 mov v0.b[0], w8
+# CHECK-NEXT: 1 3 0.50 mov v0.h[1], w8
+# CHECK-NEXT: 1 3 0.50 mov v0.s[2], w8
+# CHECK-NEXT: 1 3 0.50 mov v0.d[1], x8
# CHECK-NEXT: 1 3 0.50 mov v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 mov v0.8b, v0.8b
# CHECK-NEXT: 1 3 0.50 movi d15, #0xff00ff00ff00ff
# CHECK-NEXT: 1 3 0.50 movi v0.16b, #31
+# CHECK-NEXT: 1 3 0.50 movi v14.8h, #174
+# CHECK-NEXT: 1 3 0.50 movi v13.4h, #74, lsl #8
# CHECK-NEXT: 1 3 0.50 movi v0.2d, #0xff0000ff0000ffff
# CHECK-NEXT: 1 3 0.50 movi v0.2s, #8, msl #8
+# CHECK-NEXT: 1 3 0.50 movi v19.2s, #226
+# CHECK-NEXT: 1 3 0.50 movi v1.4s, #122, msl #8
# CHECK-NEXT: 1 3 0.50 movi v0.4s, #255, lsl #24
# CHECK-NEXT: 1 3 0.50 movi v0.8b, #255
# CHECK-NEXT: 1 4 0.50 mul v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 mul v26.4h, v20.4h, v14.h[5]
+# CHECK-NEXT: 1 4 0.50 mul v5.8h, v21.8h, v3.h[7]
+# CHECK-NEXT: 1 4 0.50 mul v29.2s, v10.2s, v3.s[1]
+# CHECK-NEXT: 1 4 0.50 mul v30.4s, v11.4s, v4.s[0]
+# CHECK-NEXT: 1 4 0.50 mul v30.4s, v11.4s, v4.4s
+# CHECK-NEXT: 1 4 0.50 mul v3.8h, v9.8h, v8.8h
+# CHECK-NEXT: 1 3 0.50 mvni v9.4h, #237
+# CHECK-NEXT: 1 3 0.50 mvni v8.8h, #171, lsl #8
+# CHECK-NEXT: 1 3 0.50 mvni v22.4s, #15, lsl #8
# CHECK-NEXT: 1 3 0.50 mvni v0.2s, #0
# CHECK-NEXT: 1 3 0.50 mvni v0.4s, #16, msl #16
# CHECK-NEXT: 1 3 0.50 neg d29, d24
@@ -1451,18 +666,21 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 mvn v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 mvn v0.8b, v0.8b
# CHECK-NEXT: 1 3 0.50 orn v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 orn v29.8b, v19.8b, v16.8b
# CHECK-NEXT: 1 3 0.50 mov v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 orr v9.4h, #18
# CHECK-NEXT: 1 3 0.50 orr v0.8h, #31
+# CHECK-NEXT: 1 3 0.50 orr v4.4s, #0
# CHECK-NEXT: 1 3 0.50 pmul v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 pmul v0.8b, v0.8b, v0.8b
# CHECK-NEXT: 1 3 0.50 pmull v0.8h, v0.8b, v0.8b
# CHECK-NEXT: 1 3 0.50 pmull2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: 1 6 1.50 raddhn v0.2s, v0.2d, v0.2d
-# CHECK-NEXT: 1 6 1.50 raddhn v0.4h, v0.4s, v0.4s
-# CHECK-NEXT: 1 6 1.50 raddhn v0.8b, v0.8h, v0.8h
-# CHECK-NEXT: 1 6 1.50 raddhn2 v0.16b, v0.8h, v0.8h
-# CHECK-NEXT: 1 6 1.50 raddhn2 v0.4s, v0.2d, v0.2d
-# CHECK-NEXT: 1 6 1.50 raddhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: 1 6 3.00 raddhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: 1 6 3.00 raddhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: 1 6 3.00 raddhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: 1 6 3.00 raddhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: 1 6 3.00 raddhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: 1 6 3.00 raddhn2 v0.8h, v0.4s, v0.4s
# CHECK-NEXT: 1 3 0.50 rbit v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 rbit v0.8b, v0.8b
# CHECK-NEXT: 1 3 0.50 rev16 v21.8b, v1.8b
@@ -1483,32 +701,33 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 rshrn2 v0.16b, v0.8h, #3
# CHECK-NEXT: 1 4 0.50 rshrn2 v0.4s, v0.2d, #3
# CHECK-NEXT: 1 4 0.50 rshrn2 v0.8h, v0.4s, #3
-# CHECK-NEXT: 1 6 1.50 rsubhn v0.2s, v0.2d, v0.2d
-# CHECK-NEXT: 1 6 1.50 rsubhn v0.4h, v0.4s, v0.4s
-# CHECK-NEXT: 1 6 1.50 rsubhn v0.8b, v0.8h, v0.8h
-# CHECK-NEXT: 1 6 1.50 rsubhn2 v0.16b, v0.8h, v0.8h
-# CHECK-NEXT: 1 6 1.50 rsubhn2 v0.4s, v0.2d, v0.2d
-# CHECK-NEXT: 1 6 1.50 rsubhn2 v0.8h, v0.4s, v0.4s
-# CHECK-NEXT: 1 5 1.50 saba v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: 1 5 1.50 sabal v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: 1 5 1.50 sabal v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: 1 5 1.50 sabal v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: 1 5 1.50 sabal2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: 1 5 1.50 sabal2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: 1 5 1.50 sabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 6 3.00 rsubhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: 1 6 3.00 rsubhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: 1 6 3.00 rsubhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: 1 6 3.00 rsubhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: 1 6 3.00 rsubhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: 1 6 3.00 rsubhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: 1 5 3.00 saba v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 5 3.00 sabal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 5 3.00 sabal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 5 3.00 sabal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 5 3.00 sabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 5 3.00 sabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 5 3.00 sabal2 v0.8h, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 sabd v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 sabd v12.2s, v11.2s, v27.2s
# CHECK-NEXT: 1 3 0.50 sabdl v0.2d, v0.2s, v0.2s
# CHECK-NEXT: 1 3 0.50 sabdl v0.4s, v0.4h, v0.4h
# CHECK-NEXT: 1 3 0.50 sabdl v0.8h, v0.8b, v0.8b
# CHECK-NEXT: 1 3 0.50 sabdl2 v0.2d, v0.4s, v0.4s
# CHECK-NEXT: 1 3 0.50 sabdl2 v0.4s, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 sabdl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: 1 5 1.50 sadalp v0.1d, v0.2s
-# CHECK-NEXT: 1 5 1.50 sadalp v0.2d, v0.4s
-# CHECK-NEXT: 1 5 1.50 sadalp v0.2s, v0.4h
-# CHECK-NEXT: 1 5 1.50 sadalp v0.4h, v0.8b
-# CHECK-NEXT: 1 5 1.50 sadalp v0.4s, v0.8h
-# CHECK-NEXT: 1 5 1.50 sadalp v0.8h, v0.16b
+# CHECK-NEXT: 1 5 3.00 sadalp v0.1d, v0.2s
+# CHECK-NEXT: 1 5 3.00 sadalp v0.2d, v0.4s
+# CHECK-NEXT: 1 5 3.00 sadalp v0.2s, v0.4h
+# CHECK-NEXT: 1 5 3.00 sadalp v0.4h, v0.8b
+# CHECK-NEXT: 1 5 3.00 sadalp v0.4s, v0.8h
+# CHECK-NEXT: 1 5 3.00 sadalp v0.8h, v0.16b
# CHECK-NEXT: 1 3 0.50 saddl v0.2d, v0.2s, v0.2s
# CHECK-NEXT: 1 3 0.50 saddl v0.4s, v0.4h, v0.4h
# CHECK-NEXT: 1 3 0.50 saddl v0.8h, v0.8b, v0.8b
@@ -1521,12 +740,19 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 saddlp v0.4h, v0.8b
# CHECK-NEXT: 1 3 0.50 saddlp v0.4s, v0.8h
# CHECK-NEXT: 1 3 0.50 saddlp v0.8h, v0.16b
+# CHECK-NEXT: 1 4 1.00 saddlv d0, v0.4s
+# CHECK-NEXT: 1 4 1.00 saddlv s0, v0.4h
+# CHECK-NEXT: 1 4 1.00 saddlv s0, v0.8h
+# CHECK-NEXT: 1 4 1.00 saddlv h0, v0.8b
+# CHECK-NEXT: 1 4 1.00 saddlv h0, v0.16b
# CHECK-NEXT: 1 3 0.50 saddw v0.2d, v0.2d, v0.2s
# CHECK-NEXT: 1 3 0.50 saddw v0.4s, v0.4s, v0.4h
# CHECK-NEXT: 1 3 0.50 saddw v0.8h, v0.8h, v0.8b
# CHECK-NEXT: 1 3 0.50 saddw2 v0.2d, v0.2d, v0.4s
# CHECK-NEXT: 1 3 0.50 saddw2 v0.4s, v0.4s, v0.8h
# CHECK-NEXT: 1 3 0.50 saddw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT: 1 4 0.50 scvtf h4, h8, #9
+# CHECK-NEXT: 1 4 0.50 scvtf h5, h14
# CHECK-NEXT: 1 4 0.50 scvtf d21, d12
# CHECK-NEXT: 1 4 0.50 scvtf d21, d12, #64
# CHECK-NEXT: 1 4 0.50 scvtf s22, s13
@@ -1538,22 +764,25 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 scvtf v0.4h, v0.4h
# CHECK-NEXT: 1 4 0.50 scvtf v0.4s, v0.4s
# CHECK-NEXT: 1 4 0.50 scvtf v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 scvtf v25.4h, v13.4h, #8
# CHECK-NEXT: 1 4 0.50 scvtf v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 scvtf v4.8h, v8.8h, #10
+# CHECK-NEXT: 1 4 0.50 sdot v0.2s, v0.8b, v0.4b[2]
+# CHECK-NEXT: 1 4 0.50 sdot v0.2s, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 sdot v0.4s, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 sdot v0.4s, v0.16b, v0.4b[2]
# CHECK-NEXT: 1 3 0.50 shadd v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 shadd v25.16b, v1.16b, v10.16b
# CHECK-NEXT: 1 3 0.50 shl d7, d10, #12
+# CHECK-NEXT: 1 3 0.50 shl v23.8b, v18.8b, #6
# CHECK-NEXT: 1 3 0.50 shl v0.16b, v0.16b, #3
# CHECK-NEXT: 1 3 0.50 shl v0.2d, v0.2d, #3
# CHECK-NEXT: 1 3 0.50 shl v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 3 0.50 shl v0.8h, v23.8h, #10
# CHECK-NEXT: 1 3 0.50 shl v0.4s, v0.4s, #3
-# CHECK-NEXT: 1 3 0.50 shll v0.2d, v0.2s, #32
# CHECK-NEXT: 1 3 0.50 shll v0.4s, v0.4h, #16
# CHECK-NEXT: 1 3 0.50 shll v0.8h, v0.8b, #8
# CHECK-NEXT: 1 3 0.50 shll v0.2d, v0.2s, #32
-# CHECK-NEXT: 1 3 0.50 shll v0.4s, v0.4h, #16
-# CHECK-NEXT: 1 3 0.50 shll v0.8h, v0.8b, #8
-# CHECK-NEXT: 1 3 0.50 shll2 v0.2d, v0.4s, #32
-# CHECK-NEXT: 1 3 0.50 shll2 v0.4s, v0.8h, #16
-# CHECK-NEXT: 1 3 0.50 shll2 v0.8h, v0.16b, #8
# CHECK-NEXT: 1 3 0.50 shll2 v0.2d, v0.4s, #32
# CHECK-NEXT: 1 3 0.50 shll2 v0.4s, v0.8h, #16
# CHECK-NEXT: 1 3 0.50 shll2 v0.8h, v0.16b, #8
@@ -1565,6 +794,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 shrn2 v0.8h, v0.4s, #3
# CHECK-NEXT: 1 3 0.50 shsub v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 3 0.50 shsub v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 shsub v15.8h, v5.8h, v27.8h
# CHECK-NEXT: 1 3 0.50 sli d10, d14, #12
# CHECK-NEXT: 1 3 0.50 sli v0.16b, v0.16b, #3
# CHECK-NEXT: 1 3 0.50 sli v0.2d, v0.2d, #3
@@ -1576,32 +806,56 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 smax v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 3 0.50 smax v0.4h, v0.4h, v0.4h
# CHECK-NEXT: 1 3 0.50 smax v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 smax v30.16b, v3.16b, v30.16b
# CHECK-NEXT: 1 3 0.50 smaxp v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 3 0.50 smaxp v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 smaxp v21.8h, v16.8h, v7.8h
# CHECK-NEXT: 1 3 0.50 smaxp v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 1.00 smaxv b0, v0.8b
+# CHECK-NEXT: 1 4 1.00 smaxv b0, v0.16b
+# CHECK-NEXT: 1 4 1.00 smaxv h0, v0.4h
+# CHECK-NEXT: 1 4 1.00 smaxv h0, v0.8h
+# CHECK-NEXT: 1 4 1.00 smaxv s0, v0.4s
# CHECK-NEXT: 1 3 0.50 smin v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 smin v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 3 0.50 smin v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 sminp v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 sminp v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 3 0.50 sminp v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 1.00 sminv b0, v0.8b
+# CHECK-NEXT: 1 4 1.00 sminv b0, v0.16b
+# CHECK-NEXT: 1 4 1.00 sminv h0, v0.4h
+# CHECK-NEXT: 1 4 1.00 sminv h0, v0.8h
+# CHECK-NEXT: 1 4 1.00 sminv s0, v0.4s
# CHECK-NEXT: 1 4 0.50 smlal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 smlal v0.2d, v25.2s, v1.s[1]
# CHECK-NEXT: 1 4 0.50 smlal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 smlal v16.4s, v9.4h, v11.h[4]
# CHECK-NEXT: 1 4 0.50 smlal v0.8h, v0.8b, v0.8b
# CHECK-NEXT: 1 4 0.50 smlal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 smlal2 v30.2d, v22.4s, v7.s[2]
# CHECK-NEXT: 1 4 0.50 smlal2 v0.4s, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 smlal2 v0.8h, v0.16b, v0.16b
# CHECK-NEXT: 1 4 0.50 smlsl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 smlsl v25.2d, v27.2s, v1.s[1]
# CHECK-NEXT: 1 4 0.50 smlsl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 smlsl v14.4s, v23.4h, v12.h[7]
# CHECK-NEXT: 1 4 0.50 smlsl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 smlal2 v1.4s, v9.8h, v0.h[6]
+# CHECK-NEXT: 1 4 0.50 smlsl2 v12.4s, v11.8h, v12.h[0]
# CHECK-NEXT: 1 4 0.50 smlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 smlsl2 v11.2d, v28.4s, v7.s[2]
# CHECK-NEXT: 1 4 0.50 smlsl2 v0.4s, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 smlsl2 v0.8h, v0.16b, v0.16b
# CHECK-NEXT: 1 4 0.50 smull v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 smull v31.2d, v23.2s, v6.s[2]
# CHECK-NEXT: 1 4 0.50 smull v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 smull v3.4s, v26.4h, v1.h[5]
# CHECK-NEXT: 1 4 0.50 smull v0.8h, v0.8b, v0.8b
# CHECK-NEXT: 1 4 0.50 smull2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 smull2 v11.2d, v1.4s, v7.s[0]
# CHECK-NEXT: 1 4 0.50 smull2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 smull2 v13.4s, v18.8h, v0.h[3]
# CHECK-NEXT: 1 4 0.50 smull2 v0.8h, v0.16b, v0.16b
# CHECK-NEXT: 1 4 0.50 sqabs b19, b14
# CHECK-NEXT: 1 4 0.50 sqabs d18, d12
@@ -1615,6 +869,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 sqabs v0.8b, v0.8b
# CHECK-NEXT: 1 4 0.50 sqabs v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 sqadd b20, b11, b15
+# CHECK-NEXT: 1 4 0.50 sqadd h12, h18, h10
# CHECK-NEXT: 1 4 0.50 sqadd v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 4 0.50 sqadd v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 sqdmlal d19, s24, s12
@@ -1622,17 +877,34 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 sqdmlal s0, h0, v0.h[3]
# CHECK-NEXT: 1 4 0.50 sqdmlal s17, h27, h12
# CHECK-NEXT: 1 4 0.50 sqdmlal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 sqdmlal v11.2d, v24.2s, v0.s[3]
# CHECK-NEXT: 1 4 0.50 sqdmlal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 sqdmlal v20.4s, v30.4h, v12.h[3]
# CHECK-NEXT: 1 4 0.50 sqdmlal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 sqdmlal2 v23.2d, v30.4s, v6.s[0]
# CHECK-NEXT: 1 4 0.50 sqdmlal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 sqdmlal2 v2.4s, v17.8h, v5.h[6]
+# CHECK-NEXT: 1 4 0.50 sqdmulh v8.4h, v16.4h, v5.h[4]
+# CHECK-NEXT: 1 4 0.50 sqdmulh v16.2s, v24.2s, v7.s[2]
+# CHECK-NEXT: 1 4 0.50 sqdmull v8.4s, v19.4h, v1.h[2]
+# CHECK-NEXT: 1 4 0.50 sqdmull v20.2d, v10.2s, v6.s[2]
+# CHECK-NEXT: 1 4 0.50 sqdmull2 v10.4s, v25.8h, v0.h[7]
+# CHECK-NEXT: 1 4 0.50 sqdmull2 v4.2d, v29.4s, v2.s[3]
+# CHECK-NEXT: 1 4 0.50 sqrdmulh v0.8h, v15.8h, v0.h[5]
+# CHECK-NEXT: 1 4 0.50 sqrdmulh v6.2s, v29.2s, v4.s[2]
+# CHECK-NEXT: 1 4 0.50 sqrdmulh v31.2s, v17.2s, v4.2s
# CHECK-NEXT: 1 4 0.50 sqdmlsl d12, s23, s13
# CHECK-NEXT: 1 4 0.50 sqdmlsl d8, s9, v0.s[1]
# CHECK-NEXT: 1 4 0.50 sqdmlsl s0, h0, v0.h[3]
# CHECK-NEXT: 1 4 0.50 sqdmlsl s14, h12, h25
# CHECK-NEXT: 1 4 0.50 sqdmlsl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 sqdmlsl v26.2d, v7.2s, v3.s[0]
# CHECK-NEXT: 1 4 0.50 sqdmlsl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 sqdmlsl v4.4s, v22.4h, v13.h[2]
# CHECK-NEXT: 1 4 0.50 sqdmlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 sqdmlsl2 v4.2d, v3.4s, v3.s[2]
# CHECK-NEXT: 1 4 0.50 sqdmlsl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 sqdmlsl2 v2.4s, v28.8h, v4.h[6]
# CHECK-NEXT: 1 4 0.50 sqdmulh h10, h11, h12
# CHECK-NEXT: 1 4 0.50 sqdmulh h7, h15, v0.h[3]
# CHECK-NEXT: 1 4 0.50 sqdmulh s15, s14, v0.s[1]
@@ -1658,6 +930,30 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 sqneg v0.4s, v0.4s
# CHECK-NEXT: 1 4 0.50 sqneg v0.8b, v0.8b
# CHECK-NEXT: 1 4 0.50 sqneg v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 sqrdmlah h0, h1, v2.h[3]
+# CHECK-NEXT: 1 4 0.50 sqrdmlah v0.4h, v1.4h, v2.h[3]
+# CHECK-NEXT: 1 4 0.50 sqrdmlah v0.8h, v1.8h, v2.h[3]
+# CHECK-NEXT: 1 4 0.50 sqrdmlah s0, s1, v2.s[1]
+# CHECK-NEXT: 1 4 0.50 sqrdmlah v0.2s, v1.2s, v2.s[1]
+# CHECK-NEXT: 1 4 0.50 sqrdmlah v0.4s, v1.4s, v2.s[1]
+# CHECK-NEXT: 1 4 0.50 sqrdmlah h0, h1, h2
+# CHECK-NEXT: 1 4 0.50 sqrdmlah v0.4h, v1.4h, v2.4h
+# CHECK-NEXT: 1 4 0.50 sqrdmlah v0.8h, v1.8h, v2.8h
+# CHECK-NEXT: 1 4 0.50 sqrdmlah s0, s1, s2
+# CHECK-NEXT: 1 4 0.50 sqrdmlah v0.2s, v1.2s, v2.2s
+# CHECK-NEXT: 1 4 0.50 sqrdmlah v0.4s, v1.4s, v2.4s
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh h0, h1, v2.h[3]
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh v0.4h, v1.4h, v2.h[3]
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh v0.8h, v1.8h, v2.h[3]
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh s0, s1, v2.s[1]
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh v0.2s, v1.2s, v2.s[1]
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh v0.4s, v1.4s, v2.s[1]
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh h0, h1, h2
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh v0.4h, v1.4h, v2.4h
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh v0.8h, v1.8h, v2.8h
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh s0, s1, s2
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh v0.2s, v1.2s, v2.2s
+# CHECK-NEXT: 1 4 0.50 sqrdmlsh v0.4s, v1.4s, v2.4s
# CHECK-NEXT: 1 4 0.50 sqrdmulh h10, h11, h12
# CHECK-NEXT: 1 4 0.50 sqrdmulh h7, h15, v0.h[3]
# CHECK-NEXT: 1 4 0.50 sqrdmulh s15, s14, v0.s[1]
@@ -1669,6 +965,9 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 sqrshl v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 sqrshl v0.4h, v0.4h, v0.4h
# CHECK-NEXT: 1 4 0.50 sqrshl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 sqshl s17, s4, s23
+# CHECK-NEXT: 1 4 0.50 sqsub b3, b13, b12
+# CHECK-NEXT: 1 4 0.50 sqsub v20.8h, v18.8h, v12.8h
# CHECK-NEXT: 1 4 0.50 sqrshrn b10, h13, #2
# CHECK-NEXT: 1 4 0.50 sqrshrn h15, s10, #6
# CHECK-NEXT: 1 4 0.50 sqrshrn s15, d12, #9
@@ -1694,6 +993,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 sqshl h3, h4, h15
# CHECK-NEXT: 1 4 0.50 sqshl s14, s17, #22
# CHECK-NEXT: 1 4 0.50 sqshl v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 4 0.50 sqshl v23.16b, v23.16b, v23.16b
# CHECK-NEXT: 1 4 0.50 sqshl v0.2d, v0.2d, #3
# CHECK-NEXT: 1 4 0.50 sqshl v0.2s, v0.2s, #3
# CHECK-NEXT: 1 4 0.50 sqshl v0.2s, v0.2s, v0.2s
@@ -1777,21 +1077,25 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 srshr v0.4s, v0.4s, #3
# CHECK-NEXT: 1 3 0.50 srshr v0.8b, v0.8b, #3
# CHECK-NEXT: 1 3 0.50 srshr v0.8h, v0.8h, #3
-# CHECK-NEXT: 1 5 1.50 srsra d15, d11, #19
-# CHECK-NEXT: 1 5 1.50 srsra v0.16b, v0.16b, #3
-# CHECK-NEXT: 1 5 1.50 srsra v0.2d, v0.2d, #3
-# CHECK-NEXT: 1 5 1.50 srsra v0.2s, v0.2s, #3
-# CHECK-NEXT: 1 5 1.50 srsra v0.4h, v0.4h, #3
-# CHECK-NEXT: 1 5 1.50 srsra v0.4s, v0.4s, #3
-# CHECK-NEXT: 1 5 1.50 srsra v0.8b, v0.8b, #3
-# CHECK-NEXT: 1 5 1.50 srsra v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 5 3.00 srsra d15, d11, #19
+# CHECK-NEXT: 1 5 3.00 srsra v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 5 3.00 srsra v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 5 3.00 srsra v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 5 3.00 srsra v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 5 3.00 srsra v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 5 3.00 srsra v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 5 3.00 srsra v0.8h, v0.8h, #3
# CHECK-NEXT: 1 3 0.50 sshl d31, d31, d31
# CHECK-NEXT: 1 3 0.50 sshl v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 3 0.50 sshl v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 3 0.50 sshl v0.4h, v0.4h, v0.4h
# CHECK-NEXT: 1 3 0.50 sshl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 sshll v9.8h, v2.8b, #0
+# CHECK-NEXT: 1 3 0.50 sshll v12.4s, v3.4h, #4
# CHECK-NEXT: 1 3 0.50 sshll v0.2d, v0.2s, #3
+# CHECK-NEXT: 1 3 0.50 sshll2 v28.8h, v12.16b, #7
# CHECK-NEXT: 1 3 0.50 sshll2 v0.4s, v0.8h, #3
+# CHECK-NEXT: 1 3 0.50 sshll2 v17.2d, v13.4s, #22
# CHECK-NEXT: 1 3 0.50 sshr d15, d16, #12
# CHECK-NEXT: 1 3 0.50 sshr v0.16b, v0.16b, #3
# CHECK-NEXT: 1 3 0.50 sshr v0.2d, v0.2d, #3
@@ -1820,30 +1124,96 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 ssubw2 v0.2d, v0.2d, v0.4s
# CHECK-NEXT: 1 3 0.50 ssubw2 v0.4s, v0.4s, v0.8h
# CHECK-NEXT: 1 3 0.50 ssubw2 v0.8h, v0.8h, v0.16b
-# CHECK-NEXT: 1 5 2.00 * st1 { v0.16b }, [x0]
-# CHECK-NEXT: 2 5 2.00 * st1 { v0.2d, v1.2d, v2.2d }, [x0], #48
-# CHECK-NEXT: 1 5 4.00 * st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
-# CHECK-NEXT: 2 5 2.00 * st1 { v0.4s, v1.4s }, [sp], #32
-# CHECK-NEXT: 1 5 2.00 * st1 { v0.4s, v1.4s, v2.4s }, [sp]
-# CHECK-NEXT: 2 5 4.00 * st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
-# CHECK-NEXT: 2 5 2.00 * st1 { v0.8h }, [x15], x2
-# CHECK-NEXT: 1 5 2.00 * st1 { v0.8h, v1.8h }, [x15]
+# CHECK-NEXT: 1 4 1.00 * st1 { v18.8b }, [x15]
+# CHECK-NEXT: 1 4 1.00 * st1 { v8.8b, v9.8b }, [x18]
+# CHECK-NEXT: 1 4 2.00 * st1 { v15.8b, v16.8b, v17.8b }, [x0]
+# CHECK-NEXT: 1 4 2.00 * st1 { v21.8b, v22.8b, v23.8b, v24.8b }, [x14]
+# CHECK-NEXT: 1 4 1.00 * st1 { v0.16b }, [x0]
+# CHECK-NEXT: 1 4 2.00 * st1 { v1.16b, v2.16b }, [x4]
+# CHECK-NEXT: 1 4 3.00 * st1 { v27.16b, v28.16b, v29.16b }, [x18]
+# CHECK-NEXT: 1 4 4.00 * st1 { v18.16b, v19.16b, v20.16b, v21.16b }, [x29]
+# CHECK-NEXT: 1 4 1.00 * st1 { v19.4h }, [x7]
+# CHECK-NEXT: 1 4 1.00 * st1 { v22.4h, v23.4h }, [x22]
+# CHECK-NEXT: 1 4 2.00 * st1 { v13.4h, v14.4h, v15.4h }, [x7]
+# CHECK-NEXT: 1 4 2.00 * st1 { v23.4h, v24.4h, v25.4h, v26.4h }, [x24]
+# CHECK-NEXT: 1 4 1.00 * st1 { v27.8h }, [x17]
+# CHECK-NEXT: 1 4 3.00 * st1 { v8.8h, v9.8h, v10.8h }, [x16]
+# CHECK-NEXT: 1 4 4.00 * st1 { v7.8h, v8.8h, v9.8h, v10.8h }, [x19]
+# CHECK-NEXT: 1 4 1.00 * st1 { v25.2s }, [x6]
+# CHECK-NEXT: 1 4 1.00 * st1 { v13.2s, v14.2s }, [x9]
+# CHECK-NEXT: 1 4 2.00 * st1 { v12.2s, v13.2s, v14.2s }, [x3]
+# CHECK-NEXT: 1 4 2.00 * st1 { v6.2s, v7.2s, v8.2s, v9.2s }, [x13]
+# CHECK-NEXT: 2 4 2.00 * st1 { v0.4s, v1.4s }, [sp], #32
+# CHECK-NEXT: 1 4 1.00 * st1 { v22.4s }, [x19]
+# CHECK-NEXT: 1 4 2.00 * st1 { v15.4s, v16.4s }, [x12]
+# CHECK-NEXT: 1 4 4.00 * st1 { v26.4s, v27.4s, v28.4s, v29.4s }, [x12]
+# CHECK-NEXT: 1 4 1.00 * st1 { v20.1d }, [x10]
+# CHECK-NEXT: 1 4 1.00 * st1 { v21.1d, v22.1d }, [x29]
+# CHECK-NEXT: 1 4 2.00 * st1 { v5.1d, v6.1d, v7.1d }, [x3]
+# CHECK-NEXT: 1 4 2.00 * st1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x10]
+# CHECK-NEXT: 1 4 2.00 * st1 { v26.2d, v27.2d }, [x28]
+# CHECK-NEXT: 2 4 3.00 * st1 { v0.2d, v1.2d, v2.2d }, [x0], #48
+# CHECK-NEXT: 1 4 3.00 * st1 { v13.2d, v14.2d, v15.2d }, [x27]
+# CHECK-NEXT: 1 4 4.00 * st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
+# CHECK-NEXT: 1 4 1.00 * st1 { v8.2d }, [x15]
+# CHECK-NEXT: 2 4 1.00 * st1 { v0.8h }, [x15], x2
+# CHECK-NEXT: 1 4 2.00 * st1 { v0.8h, v1.8h }, [x15]
+# CHECK-NEXT: 2 4 2.00 * st1 { v0.4s, v1.4s }, [sp], #32
+# CHECK-NEXT: 1 4 3.00 * st1 { v0.4s, v1.4s, v2.4s }, [sp]
+# CHECK-NEXT: 2 4 2.00 * st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
+# CHECK-NEXT: 1 4 1.00 * st1 { v1.b }[5], [x1]
+# CHECK-NEXT: 1 4 1.00 * st1 { v0.h }[2], [x1]
+# CHECK-NEXT: 1 4 1.00 * st1 { v31.s }[1], [x16]
+# CHECK-NEXT: 2 4 1.00 * st1 { v0.8h }, [x15], x2
+# CHECK-NEXT: 1 4 2.00 * st1 { v0.8h, v1.8h }, [x15]
# CHECK-NEXT: 1 4 1.00 * st1 { v0.d }[1], [x0]
# CHECK-NEXT: 2 4 1.00 * st1 { v0.d }[1], [x0], #8
-# CHECK-NEXT: 2 5 4.00 * st2 { v0.16b, v1.16b }, [x0], x1
-# CHECK-NEXT: 1 5 2.00 * st2 { v0.8b, v1.8b }, [x0]
+# CHECK-NEXT: 2 5 2.00 * st2 { v0.16b, v1.16b }, [x0], x1
+# CHECK-NEXT: 1 5 1.00 * st2 { v0.8b, v1.8b }, [x0]
+# CHECK-NEXT: 1 5 2.00 * st2 { v6.16b, v7.16b }, [x23]
+# CHECK-NEXT: 1 5 1.00 * st2 { v10.4h, v11.4h }, [x18]
+# CHECK-NEXT: 1 5 2.00 * st2 { v10.8h, v11.8h }, [x18]
+# CHECK-NEXT: 1 5 1.00 * st2 { v25.2s, v26.2s }, [x29]
+# CHECK-NEXT: 1 5 2.00 * st2 { v26.4s, v27.4s }, [x14]
+# CHECK-NEXT: 1 5 2.00 * st2 { v10.2d, v11.2d }, [x1]
+# CHECK-NEXT: 1 5 2.00 * st2 { v21.b, v22.b }[15], [x15]
+# CHECK-NEXT: 1 5 2.00 * st2 { v28.h, v29.h }[2], [x6]
# CHECK-NEXT: 1 5 2.00 * st2 { v0.s, v1.s }[3], [sp]
# CHECK-NEXT: 2 5 2.00 * st2 { v0.s, v1.s }[3], [sp], #8
+# CHECK-NEXT: 1 5 2.00 * st2 { v17.d, v18.d }[1], [x1]
+# CHECK-NEXT: 1 5 4.00 * st3 { v10.8b, v11.8b, v12.8b }, [x18]
+# CHECK-NEXT: 1 5 6.00 * st3 { v26.16b, v27.16b, v28.16b }, [x4]
# CHECK-NEXT: 1 5 4.00 * st3 { v0.4h, v1.4h, v2.4h }, [x15]
-# CHECK-NEXT: 2 5 4.00 * st3 { v0.8h, v1.8h, v2.8h }, [x15], x2
-# CHECK-NEXT: 1 5 2.00 * st3 { v0.h, v1.h, v2.h }[7], [x15]
-# CHECK-NEXT: 2 5 2.00 * st3 { v0.h, v1.h, v2.h }[7], [x15], #6
+# CHECK-NEXT: 2 5 6.00 * st3 { v0.8h, v1.8h, v2.8h }, [x15], x2
+# CHECK-NEXT: 1 5 6.00 * st3 { v0.8h, v1.8h, v2.8h }, [x0]
+# CHECK-NEXT: 1 5 4.00 * st3 { v19.2s, v20.2s, v21.2s }, [x30]
+# CHECK-NEXT: 1 5 6.00 * st3 { v24.4s, v25.4s, v26.4s }, [x8]
+# CHECK-NEXT: 1 5 6.00 * st3 { v24.2d, v25.2d, v26.2d }, [x25]
+# CHECK-NEXT: 1 5 4.00 * st3 { v8.b, v9.b, v10.b }[4], [x18]
+# CHECK-NEXT: 1 5 4.00 * st3 { v0.h, v1.h, v2.h }[7], [x15]
+# CHECK-NEXT: 2 5 4.00 * st3 { v0.h, v1.h, v2.h }[7], [x15], #6
+# CHECK-NEXT: 1 5 4.00 * st3 { v9.s, v10.s, v11.s }[2], [x20]
+# CHECK-NEXT: 1 5 4.00 * st3 { v16.d, v17.d, v18.d }[0], [x13]
+# CHECK-NEXT: 1 5 4.00 * st4 { v17.8b, v18.8b, v19.8b, v20.8b }, [x8]
+# CHECK-NEXT: 1 5 8.00 * st4 { v7.16b, v8.16b, v9.16b, v10.16b }, [x15]
+# CHECK-NEXT: 1 5 4.00 * st4 { v5.4h, v6.4h, v7.4h, v8.4h }, [x13]
+# CHECK-NEXT: 1 5 8.00 * st4 { v11.8h, v12.8h, v13.8h, v14.8h }, [x1]
# CHECK-NEXT: 1 5 4.00 * st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
-# CHECK-NEXT: 2 5 4.00 * st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
-# CHECK-NEXT: 1 5 2.00 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0]
-# CHECK-NEXT: 2 5 2.00 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5
+# CHECK-NEXT: 2 5 8.00 * st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
+# CHECK-NEXT: 1 5 8.00 * st4 { v21.4s, v22.4s, v23.4s, v24.4s }, [x6]
+# CHECK-NEXT: 1 5 8.00 * st4 { v25.2d, v26.2d, v27.2d, v28.2d }, [x16]
+# CHECK-NEXT: 1 5 8.00 * st4 { v0.b, v1.b, v2.b, v3.b }[15], [x0]
+# CHECK-NEXT: 1 5 8.00 * st4 { v5.h, v6.h, v7.h, v8.h }[4], [x13]
+# CHECK-NEXT: 1 5 8.00 * st4 { v22.s, v23.s, v24.s, v25.s }[0], [x7]
+# CHECK-NEXT: 1 5 8.00 * st4 { v23.d, v24.d, v25.d, v26.d }[1], [x5]
+# CHECK-NEXT: 1 5 8.00 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0]
+# CHECK-NEXT: 2 5 8.00 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5
+# CHECK-NEXT: 2 5 8.00 * st4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], x5
# CHECK-NEXT: 1 3 0.50 sub d15, d5, d16
# CHECK-NEXT: 1 3 0.50 sub v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.50 sub v15.2s, v14.2s, v11.2s
+# CHECK-NEXT: 1 4 0.50 subhn v7.4h, v10.4s, v13.4s
+# CHECK-NEXT: 1 4 0.50 subhn2 v24.4s, v24.2d, v8.2d
# CHECK-NEXT: 1 4 0.50 suqadd b19, b14
# CHECK-NEXT: 1 4 0.50 suqadd d18, d22
# CHECK-NEXT: 1 4 0.50 suqadd h20, h15
@@ -1856,55 +1226,57 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 suqadd v0.8b, v0.8b
# CHECK-NEXT: 1 4 0.50 suqadd v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 tbl v0.16b, { v0.16b }, v0.16b
-# CHECK-NEXT: 1 5 0.50 tbl v0.16b, { v0.16b, v1.16b }, v0.16b
-# CHECK-NEXT: 1 6 0.50 tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
-# CHECK-NEXT: 1 7 0.50 tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+# CHECK-NEXT: 1 5 2.00 tbl v0.16b, { v0.16b, v1.16b }, v0.16b
+# CHECK-NEXT: 1 6 3.00 tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+# CHECK-NEXT: 1 7 4.00 tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
# CHECK-NEXT: 1 4 0.50 tbl v0.8b, { v0.16b }, v0.8b
-# CHECK-NEXT: 1 5 0.50 tbl v0.8b, { v0.16b, v1.16b }, v0.8b
-# CHECK-NEXT: 1 6 0.50 tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
-# CHECK-NEXT: 1 7 0.50 tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
-# CHECK-NEXT: 1 5 0.50 tbx v0.16b, { v0.16b }, v0.16b
-# CHECK-NEXT: 1 6 0.50 tbx v0.16b, { v0.16b, v1.16b }, v0.16b
-# CHECK-NEXT: 1 7 0.50 tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
-# CHECK-NEXT: 1 8 0.50 tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
-# CHECK-NEXT: 1 5 0.50 tbx v0.8b, { v0.16b }, v0.8b
-# CHECK-NEXT: 1 6 0.50 tbx v0.8b, { v0.16b, v1.16b }, v0.8b
-# CHECK-NEXT: 1 7 0.50 tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
-# CHECK-NEXT: 1 8 0.50 tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
-# CHECK-NEXT: 1 4 0.50 trn1 v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: 1 4 0.50 trn1 v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: 1 4 0.50 trn1 v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: 1 4 0.50 trn1 v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: 1 4 0.50 trn1 v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: 1 4 0.50 trn1 v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: 1 4 0.50 trn1 v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: 1 4 0.50 trn2 v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: 1 4 0.50 trn2 v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: 1 4 0.50 trn2 v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: 1 4 0.50 trn2 v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: 1 4 0.50 trn2 v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: 1 4 0.50 trn2 v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: 1 4 0.50 trn2 v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: 1 5 1.50 uaba v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: 1 5 1.50 uabal v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: 1 5 1.50 uabal v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: 1 5 1.50 uabal v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: 1 5 1.50 uabal2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: 1 5 1.50 uabal2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: 1 5 1.50 uabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 5 2.00 tbl v0.8b, { v0.16b, v1.16b }, v0.8b
+# CHECK-NEXT: 1 6 3.00 tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+# CHECK-NEXT: 1 7 4.00 tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+# CHECK-NEXT: 1 5 2.00 tbx v0.16b, { v0.16b }, v0.16b
+# CHECK-NEXT: 1 6 3.00 tbx v0.16b, { v0.16b, v1.16b }, v0.16b
+# CHECK-NEXT: 1 7 4.00 tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+# CHECK-NEXT: 1 8 5.00 tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+# CHECK-NEXT: 1 5 2.00 tbx v0.8b, { v0.16b }, v0.8b
+# CHECK-NEXT: 1 6 3.00 tbx v0.8b, { v0.16b, v1.16b }, v0.8b
+# CHECK-NEXT: 1 7 4.00 tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+# CHECK-NEXT: 1 8 5.00 tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+# CHECK-NEXT: 1 3 0.50 trn1 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 trn1 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.50 trn1 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 trn1 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 trn1 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 trn1 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 trn1 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 trn2 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 trn2 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.50 trn2 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 trn2 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 trn2 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 trn2 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 trn2 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 5 3.00 uaba v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 5 3.00 uaba v13.16b, v14.16b, v19.16b
+# CHECK-NEXT: 1 5 3.00 uabal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 5 3.00 uabal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 5 3.00 uabal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 5 3.00 uabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 5 3.00 uabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 5 3.00 uabal2 v0.8h, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 uabd v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 uabd v23.4s, v4.4s, v30.4s
# CHECK-NEXT: 1 3 0.50 uabdl v0.2d, v0.2s, v0.2s
# CHECK-NEXT: 1 3 0.50 uabdl v0.4s, v0.4h, v0.4h
# CHECK-NEXT: 1 3 0.50 uabdl v0.8h, v0.8b, v0.8b
# CHECK-NEXT: 1 3 0.50 uabdl2 v0.2d, v0.4s, v0.4s
# CHECK-NEXT: 1 3 0.50 uabdl2 v0.4s, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 uabdl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: 1 5 1.50 uadalp v0.1d, v0.2s
-# CHECK-NEXT: 1 5 1.50 uadalp v0.2d, v0.4s
-# CHECK-NEXT: 1 5 1.50 uadalp v0.2s, v0.4h
-# CHECK-NEXT: 1 5 1.50 uadalp v0.4h, v0.8b
-# CHECK-NEXT: 1 5 1.50 uadalp v0.4s, v0.8h
-# CHECK-NEXT: 1 5 1.50 uadalp v0.8h, v0.16b
+# CHECK-NEXT: 1 5 3.00 uadalp v0.1d, v0.2s
+# CHECK-NEXT: 1 5 3.00 uadalp v0.2d, v0.4s
+# CHECK-NEXT: 1 5 3.00 uadalp v0.2s, v0.4h
+# CHECK-NEXT: 1 5 3.00 uadalp v0.4h, v0.8b
+# CHECK-NEXT: 1 5 3.00 uadalp v0.4s, v0.8h
+# CHECK-NEXT: 1 5 3.00 uadalp v0.8h, v0.16b
# CHECK-NEXT: 1 3 0.50 uaddl v0.2d, v0.2s, v0.2s
# CHECK-NEXT: 1 3 0.50 uaddl v0.4s, v0.4h, v0.4h
# CHECK-NEXT: 1 3 0.50 uaddl v0.8h, v0.8b, v0.8b
@@ -1917,14 +1289,23 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 uaddlp v0.4h, v0.8b
# CHECK-NEXT: 1 3 0.50 uaddlp v0.4s, v0.8h
# CHECK-NEXT: 1 3 0.50 uaddlp v0.8h, v0.16b
+# CHECK-NEXT: 1 4 1.00 uaddlv d0, v0.4s
+# CHECK-NEXT: 1 4 1.00 uaddlv s0, v0.4h
+# CHECK-NEXT: 1 4 1.00 uaddlv s0, v0.8h
+# CHECK-NEXT: 1 4 1.00 uaddlv h0, v0.8b
+# CHECK-NEXT: 1 4 1.00 uaddlv h0, v0.16b
# CHECK-NEXT: 1 3 0.50 uaddw v0.2d, v0.2d, v0.2s
# CHECK-NEXT: 1 3 0.50 uaddw v0.4s, v0.4s, v0.4h
# CHECK-NEXT: 1 3 0.50 uaddw v0.8h, v0.8h, v0.8b
# CHECK-NEXT: 1 3 0.50 uaddw2 v0.2d, v0.2d, v0.4s
# CHECK-NEXT: 1 3 0.50 uaddw2 v0.4s, v0.4s, v0.8h
# CHECK-NEXT: 1 3 0.50 uaddw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT: 1 4 0.50 ucvtf h17, x12
+# CHECK-NEXT: 1 4 0.50 ucvtf h22, h16, #11
+# CHECK-NEXT: 1 4 0.50 ucvtf h7, h21
# CHECK-NEXT: 1 4 0.50 ucvtf d21, d14
# CHECK-NEXT: 1 4 0.50 ucvtf d21, d14, #64
+# CHECK-NEXT: 1 4 0.50 ucvtf s8, x0
# CHECK-NEXT: 1 4 0.50 ucvtf s22, s13
# CHECK-NEXT: 1 4 0.50 ucvtf s22, s13, #32
# CHECK-NEXT: 1 4 0.50 ucvtf v0.2d, v0.2d
@@ -1934,9 +1315,16 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 ucvtf v0.4h, v0.4h
# CHECK-NEXT: 1 4 0.50 ucvtf v0.4s, v0.4s
# CHECK-NEXT: 1 4 0.50 ucvtf v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 ucvtf v18.4h, v11.4h, #7
# CHECK-NEXT: 1 4 0.50 ucvtf v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 ucvtf v22.8h, v20.8h, #10
+# CHECK-NEXT: 1 4 0.50 udot v0.2s, v0.8b, v0.4b[2]
+# CHECK-NEXT: 1 4 0.50 udot v0.2s, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 udot v0.4s, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.50 udot v0.4s, v0.16b, v0.4b[2]
# CHECK-NEXT: 1 3 0.50 uhadd v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 uhadd v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 uhsub v12.4h, v16.4h, v28.4h
# CHECK-NEXT: 1 3 0.50 uhsub v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 3 0.50 umax v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 umax v0.4s, v0.4s, v0.4s
@@ -1944,37 +1332,69 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 umaxp v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 umaxp v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 3 0.50 umaxp v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 1.00 umaxv b0, v0.8b
+# CHECK-NEXT: 1 4 1.00 umaxv b0, v0.16b
+# CHECK-NEXT: 1 4 1.00 umaxv h0, v0.4h
+# CHECK-NEXT: 1 4 1.00 umaxv h0, v0.8h
+# CHECK-NEXT: 1 4 1.00 umaxv s0, v0.4s
# CHECK-NEXT: 1 3 0.50 umin v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 3 0.50 umin v0.4h, v0.4h, v0.4h
# CHECK-NEXT: 1 3 0.50 umin v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 umin v0.16b, v26.16b, v2.16b
# CHECK-NEXT: 1 3 0.50 uminp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 uminp v28.4s, v16.4s, v15.4s
# CHECK-NEXT: 1 3 0.50 uminp v0.4h, v0.4h, v0.4h
# CHECK-NEXT: 1 3 0.50 uminp v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 1.00 uminv b0, v0.8b
+# CHECK-NEXT: 1 4 1.00 uminv b0, v0.16b
+# CHECK-NEXT: 1 4 1.00 uminv h0, v0.4h
+# CHECK-NEXT: 1 4 1.00 uminv h0, v0.8h
+# CHECK-NEXT: 1 4 1.00 uminv s0, v0.4s
# CHECK-NEXT: 1 4 0.50 umlal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 umlal v28.2d, v31.2s, v0.s[1]
# CHECK-NEXT: 1 4 0.50 umlal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 umlal v22.4s, v14.4h, v0.h[6]
# CHECK-NEXT: 1 4 0.50 umlal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.50 umlal2 v10.2d, v4.4s, v3.s[2]
+# CHECK-NEXT: 1 4 0.50 umlal2 v31.4s, v7.8h, v15.h[5]
# CHECK-NEXT: 1 4 0.50 umlal2 v0.2d, v0.4s, v0.4s
# CHECK-NEXT: 1 4 0.50 umlal2 v0.4s, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 umlal2 v0.8h, v0.16b, v0.16b
# CHECK-NEXT: 1 4 0.50 umlsl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 umlsl v20.2d, v20.2s, v2.s[0]
# CHECK-NEXT: 1 4 0.50 umlsl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 umlsl v21.4s, v12.4h, v7.h[5]
# CHECK-NEXT: 1 4 0.50 umlsl v0.8h, v0.8b, v0.8b
# CHECK-NEXT: 1 4 0.50 umlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 umlsl2 v30.2d, v23.4s, v1.s[2]
# CHECK-NEXT: 1 4 0.50 umlsl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 umlsl2 v27.4s, v28.8h, v6.h[4]
# CHECK-NEXT: 1 4 0.50 umlsl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 umov w6, v22.b[0]
+# CHECK-NEXT: 1 3 0.50 umov w0, v0.b[1]
+# CHECK-NEXT: 1 3 0.50 umov w10, v25.h[0]
+# CHECK-NEXT: 1 3 0.50 umov w0, v0.h[1]
+# CHECK-NEXT: 1 3 0.50 mov w0, v0.s[1]
+# CHECK-NEXT: 1 3 0.50 mov x0, v0.d[1]
# CHECK-NEXT: 1 4 0.50 umull v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.50 umull v22.2d, v28.2s, v6.s[1]
# CHECK-NEXT: 1 4 0.50 umull v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 umull v27.4s, v1.4h, v8.h[6]
# CHECK-NEXT: 1 4 0.50 umull v0.8h, v0.8b, v0.8b
# CHECK-NEXT: 1 4 0.50 umull2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.50 umull2 v28.2d, v21.4s, v1.s[0]
# CHECK-NEXT: 1 4 0.50 umull2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 umull2 v18.4s, v26.8h, v10.h[1]
# CHECK-NEXT: 1 4 0.50 umull2 v0.8h, v0.16b, v0.16b
# CHECK-NEXT: 1 4 0.50 uqadd h0, h1, h5
+# CHECK-NEXT: 1 4 0.50 uqadd s0, s24, s30
# CHECK-NEXT: 1 4 0.50 uqadd v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.50 uqadd v14.2d, v22.2d, v20.2d
# CHECK-NEXT: 1 4 0.50 uqrshl b11, b20, b30
# CHECK-NEXT: 1 4 0.50 uqrshl s23, s20, s16
+# CHECK-NEXT: 1 4 0.50 uqrshl v25.8b, v13.8b, v23.8b
# CHECK-NEXT: 1 4 0.50 uqrshl v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 4 0.50 uqrshl v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: 1 4 0.50 uqrshl v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 4 0.50 uqrshl v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 uqrshrn b10, h12, #5
# CHECK-NEXT: 1 4 0.50 uqrshrn h12, s10, #14
@@ -1997,6 +1417,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 uqshl v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 4 0.50 uqshl v0.2s, v0.2s, #3
# CHECK-NEXT: 1 4 0.50 uqshl v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 4 0.50 uqshl v8.4h, v17.4h, v13.4h
# CHECK-NEXT: 1 4 0.50 uqshl v0.4s, v0.4s, #3
# CHECK-NEXT: 1 4 0.50 uqshl v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 4 0.50 uqshl v0.8b, v0.8b, #3
@@ -2011,8 +1432,10 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 uqshrn2 v0.16b, v0.8h, #3
# CHECK-NEXT: 1 4 0.50 uqshrn2 v0.4s, v0.2d, #3
# CHECK-NEXT: 1 4 0.50 uqshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: 1 4 0.50 uqsub s16, s21, s6
# CHECK-NEXT: 1 4 0.50 uqsub d16, d16, d16
# CHECK-NEXT: 1 4 0.50 uqsub v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.50 uqsub v19.4s, v0.4s, v5.4s
# CHECK-NEXT: 1 4 0.50 uqxtn b18, h18
# CHECK-NEXT: 1 4 0.50 uqxtn h20, s17
# CHECK-NEXT: 1 4 0.50 uqxtn s19, d14
@@ -2027,7 +1450,9 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 2 0.50 urhadd v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 2 0.50 urhadd v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 2 0.50 urhadd v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.50 urhadd v16.2s, v19.2s, v2.2s
# CHECK-NEXT: 1 3 0.50 urshl d8, d7, d4
+# CHECK-NEXT: 1 3 0.50 urshl v31.8b, v5.8b, v3.8b
# CHECK-NEXT: 1 3 0.50 urshl v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 urshl v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 3 0.50 urshl v0.4s, v0.4s, v0.4s
@@ -2042,19 +1467,24 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 urshr v0.8h, v0.8h, #3
# CHECK-NEXT: 1 4 0.50 ursqrte v0.2s, v0.2s
# CHECK-NEXT: 1 4 0.50 ursqrte v0.4s, v0.4s
-# CHECK-NEXT: 1 5 1.50 ursra d18, d10, #13
-# CHECK-NEXT: 1 5 1.50 ursra v0.16b, v0.16b, #3
-# CHECK-NEXT: 1 5 1.50 ursra v0.2d, v0.2d, #3
-# CHECK-NEXT: 1 5 1.50 ursra v0.2s, v0.2s, #3
-# CHECK-NEXT: 1 5 1.50 ursra v0.4h, v0.4h, #3
-# CHECK-NEXT: 1 5 1.50 ursra v0.4s, v0.4s, #3
-# CHECK-NEXT: 1 5 1.50 ursra v0.8b, v0.8b, #3
-# CHECK-NEXT: 1 5 1.50 ursra v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 5 3.00 ursra d18, d10, #13
+# CHECK-NEXT: 1 5 3.00 ursra v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 5 3.00 ursra v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 5 3.00 ursra v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 5 3.00 ursra v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 5 3.00 ursra v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 5 3.00 ursra v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 5 3.00 ursra v0.8h, v0.8h, #3
# CHECK-NEXT: 1 3 0.50 ushl d0, d0, d0
+# CHECK-NEXT: 1 3 0.50 ushl v6.8b, v26.8b, v6.8b
# CHECK-NEXT: 1 3 0.50 ushl v0.16b, v0.16b, v0.16b
# CHECK-NEXT: 1 3 0.50 ushl v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 3 0.50 ushl v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 ushll v0.4s, v0.4h, #3
+# CHECK-NEXT: 1 3 0.50 ushll v18.8h, v24.8b, #4
+# CHECK-NEXT: 1 3 0.50 ushll v16.2d, v16.2s, #31
+# CHECK-NEXT: 1 3 0.50 ushll2 v31.2d, v12.4s, #11
+# CHECK-NEXT: 1 3 0.50 ushll2 v18.4s, v22.8h, #13
# CHECK-NEXT: 1 3 0.50 ushll2 v0.8h, v0.16b, #3
# CHECK-NEXT: 1 3 0.50 ushr d10, d17, #18
# CHECK-NEXT: 1 3 0.50 ushr v0.16b, v0.16b, #3
@@ -2064,6 +1494,16 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 ushr v0.4s, v0.4s, #3
# CHECK-NEXT: 1 3 0.50 ushr v0.8b, v0.8b, #3
# CHECK-NEXT: 1 3 0.50 ushr v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 3 0.50 U smov w15, v22.b[0]
+# CHECK-NEXT: 1 3 0.50 U smov w26, v27.h[0]
+# CHECK-NEXT: 1 3 0.50 U smov x21, v0.b[0]
+# CHECK-NEXT: 1 3 0.50 U smov x9, v27.h[0]
+# CHECK-NEXT: 1 3 0.50 U smov x15, v3.s[0]
+# CHECK-NEXT: 1 3 0.50 smov w0, v0.b[1]
+# CHECK-NEXT: 1 3 0.50 smov w0, v0.h[1]
+# CHECK-NEXT: 1 3 0.50 smov x0, v0.b[1]
+# CHECK-NEXT: 1 3 0.50 smov x0, v0.h[1]
+# CHECK-NEXT: 1 3 0.50 smov x0, v0.s[1]
# CHECK-NEXT: 1 4 0.50 usqadd b19, b14
# CHECK-NEXT: 1 4 0.50 usqadd d18, d22
# CHECK-NEXT: 1 4 0.50 usqadd h20, h15
@@ -2095,40 +1535,40 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 3 0.50 usubw2 v0.2d, v0.2d, v0.4s
# CHECK-NEXT: 1 3 0.50 usubw2 v0.4s, v0.4s, v0.8h
# CHECK-NEXT: 1 3 0.50 usubw2 v0.8h, v0.8h, v0.16b
-# CHECK-NEXT: 1 4 0.50 uzp1 v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: 1 4 0.50 uzp1 v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: 1 4 0.50 uzp1 v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: 1 4 0.50 uzp1 v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: 1 4 0.50 uzp1 v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: 1 4 0.50 uzp1 v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: 1 4 0.50 uzp1 v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: 1 4 0.50 uzp2 v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: 1 4 0.50 uzp2 v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: 1 4 0.50 uzp2 v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: 1 4 0.50 uzp2 v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: 1 4 0.50 uzp2 v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: 1 4 0.50 uzp2 v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: 1 4 0.50 uzp2 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 uzp1 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 uzp1 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.50 uzp1 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 uzp1 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 uzp1 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 uzp1 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 uzp1 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 uzp2 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 uzp2 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.50 uzp2 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 uzp2 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 uzp2 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 uzp2 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 uzp2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 xtn v0.2s, v0.2d
# CHECK-NEXT: 1 4 0.50 xtn v0.4h, v0.4s
# CHECK-NEXT: 1 4 0.50 xtn v0.8b, v0.8h
# CHECK-NEXT: 1 4 0.50 xtn2 v0.16b, v0.8h
# CHECK-NEXT: 1 4 0.50 xtn2 v0.4s, v0.2d
# CHECK-NEXT: 1 4 0.50 xtn2 v0.8h, v0.4s
-# CHECK-NEXT: 1 4 0.50 zip1 v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: 1 4 0.50 zip1 v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: 1 4 0.50 zip1 v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: 1 4 0.50 zip1 v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: 1 4 0.50 zip1 v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: 1 4 0.50 zip1 v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: 1 4 0.50 zip1 v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: 1 4 0.50 zip2 v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: 1 4 0.50 zip2 v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: 1 4 0.50 zip2 v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: 1 4 0.50 zip2 v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: 1 4 0.50 zip2 v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: 1 4 0.50 zip2 v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: 1 4 0.50 zip2 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 zip1 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 zip1 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.50 zip1 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 zip1 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 zip1 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 zip1 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 zip1 v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 3 0.50 zip2 v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.50 zip2 v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.50 zip2 v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.50 zip2 v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 3 0.50 zip2 v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.50 zip2 v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.50 zip2 v0.8h, v0.8h, v0.8h
# CHECK: Resources:
# CHECK-NEXT: [0] - C1NanoUnitALU0
@@ -2141,16 +1581,16 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: [7] - C1NanoUnitPAC
# CHECK-NEXT: [8] - C1NanoUnitVALU0
# CHECK-NEXT: [9] - C1NanoUnitVALU1
-# CHECK-NEXT: [10.0] - C1NanoUnitVMAC
-# CHECK-NEXT: [10.1] - C1NanoUnitVMAC
-# CHECK-NEXT: [11] - C1NanoUnitVMC
+# CHECK-NEXT: [10] - C1NanoUnitVMAC0
+# CHECK-NEXT: [11] - C1NanoUnitVMAC1
+# CHECK-NEXT: [12] - C1NanoUnitVMC
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11]
-# CHECK-NEXT: - - - - - 145.00 - - 545.50 545.50 4.50 4.50 57.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
+# CHECK-NEXT: - - - - 13.50 545.50 - - 632.00 598.00 117.00 117.00 96.00
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11] Instructions:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs d29, d24
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs v0.2d, v0.2d
@@ -2167,14 +1607,31 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addhn2 v0.16b, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addhn2 v0.4s, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addp v7.2s, v1.2s, v2.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addp v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addp v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addp d1, v14.2d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - addv s0, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - addv h0, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - addv h0, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - addv b0, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - addv b0, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aesd v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aese v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aesimc v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aesmc v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - and v0.8b, v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic v0.4h, #15, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic v23.8h, #101
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic v25.16b, v10.16b, v9.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bic v24.2s, #70
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bit v5.8b, v12.8b, v22.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bif v0.8b, v25.8b, v4.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bif v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bit v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bsl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bsl v27.16b, v13.16b, v21.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cls v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cls v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cls v0.4h, v0.4h
@@ -2187,28 +1644,37 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clz v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clz v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clz v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmeq v9.8h, v16.8h, v24.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmeq v14.4h, v18.4h, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmeq d20, d21, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmeq d20, d21, d22
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmeq v0.16b, v0.16b, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmeq v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmge v22.8h, v16.8h, v3.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmge v22.16b, v30.16b, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmge d20, d21, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmge d20, d21, d22
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmge v0.4h, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmge v0.8b, v0.8b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmgt v3.2d, v29.2d, v11.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmgt d20, d21, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmgt d20, d21, d22
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmgt v0.2s, v0.2s, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmgt v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmhi v28.4h, v25.4h, v21.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmhi d20, d21, d22
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmhi v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmhs d20, d21, d22
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmhs v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmle v21.2s, v19.2s, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmle d20, d21, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmle v0.2d, v0.2d, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmlt v26.4h, v12.4h, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmlt d20, d21, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmlt v0.8h, v0.8h, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmtst d20, d21, d22
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmtst v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmtst v13.2d, v13.2d, v13.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnt v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnt v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dup v0.16b, w28
@@ -2218,12 +1684,26 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dup v0.4s, w28
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dup v0.8b, w28
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dup v0.8h, w28
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov b0, v0.b[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov d0, v0.d[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov h0, v0.h[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov s0, v0.s[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dup v0.16b, v0.b[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dup v0.2d, v0.d[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dup v0.2s, v0.s[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dup v0.4h, v0.h[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dup v0.4s, v0.s[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dup v0.8b, v0.b[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dup v0.8h, v0.h[1]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ext v0.16b, v0.16b, v0.16b, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ext v0.8b, v0.8b, v0.8b, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabd d29, d24, d20
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabd s29, s24, s20
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabd h27, h20, h17
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabd v13.8h, v28.8h, v12.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabd v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs h25, h7
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs v0.4h, v0.4h
@@ -2231,39 +1711,70 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge d20, d21, d22
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge s10, s11, s12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge h24, h26, h29
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge v25.4h, v16.4h, v11.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge v19.2s, v24.2s, v5.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt d20, d21, d22
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt s10, s11, s12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt h0, h4, h10
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt v22.8h, v14.8h, v31.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt v22.4s, v8.4s, v2.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp h10, v19.2h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp d11, v28.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp v16.2d, v11.2d, v5.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq h30, h6, h1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq h19, h23, #0.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq d20, d21, #0.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq d20, d21, d22
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq s10, s11, #0.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq s10, s11, s12
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq v0.2s, v0.2s, #0.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq v12.4s, v11.4s, v26.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq v18.2d, v17.2d, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge h10, h23, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge h1, h16, h12
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge d20, d21, #0.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge d20, d21, d22
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge s10, s11, #0.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge s10, s11, s12
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge v0.2d, v0.2d, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge v17.2d, v11.2d, v13.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge v18.4h, v27.4h, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge v20.8h, v19.8h, v22.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge v17.2s, v11.2s, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt h4, h5, h0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt h0, h18, #0.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt d20, d21, #0.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt d20, d21, d22
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt s10, s11, #0.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt s10, s11, s12
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt v0.4s, v0.4s, #0.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt v24.8h, v24.8h, v28.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt v0.8h, v11.8h, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt v19.2d, v31.2d, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmle v16.8h, v11.8h, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmle v22.4s, v30.4s, #0.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmle d20, d21, #0.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmle s10, s11, #0.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmle v0.2d, v0.2d, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmle h18, h28, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmlt h23, h7, #0.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmlt d20, d21, #0.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmlt s10, s11, #0.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmlt v0.4s, v0.4s, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmlt v8.4h, v2.4h, #0.0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmlt v7.2d, v16.2d, #0.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas d21, d14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas s12, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas h12, h13
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas v0.4h, v0.4h
@@ -2271,6 +1782,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtas v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau d21, d14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau s12, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau h12, h13
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtau v0.4h, v0.4h
@@ -2282,6 +1794,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtl2 v0.4s, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms d21, d14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms s22, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms h22, h13
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms v0.4h, v0.4h
@@ -2289,6 +1802,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtms v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu d21, d14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu s12, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu h12, h13
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtmu v0.4h, v0.4h
@@ -2300,6 +1814,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtn2 v0.8h, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns d21, d14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns s22, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns h22, h13
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns v0.4h, v0.4h
@@ -2307,6 +1822,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtns v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu d21, d14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu s12, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu h12, h13
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu v0.4h, v0.4h
@@ -2314,6 +1830,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtnu v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps d21, d14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps s22, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps h22, h13
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps v0.4h, v0.4h
@@ -2321,6 +1838,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtps v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu d21, d14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu s12, s13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu h12, h13
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtpu v0.4h, v0.4h
@@ -2333,87 +1851,148 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs d21, d14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs s12, s13
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs s21, s12, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs h21, h14
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs h21, h12, #1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs v0.2d, v0.2d, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs v0.2s, v0.2s, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs v20.4h, v24.4h, #11
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs v0.4s, v0.4s, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzs v18.8h, v10.8h, #7
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu d21, d12, #1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu d21, d14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu s12, s13
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu s21, s12, #1
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu h12, h13
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu h21, h12, #1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v0.2d, v0.2d, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v0.2s, v0.2s, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v19.4h, v26.4h, #9
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v0.4s, v0.4s, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v27.8h, v6.8h, #11
+# CHECK-NEXT: - - - - - - - - - - - - 19.00 fdiv v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - - - - - 10.00 fdiv v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - - - 5.00 fdiv v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - - - 10.00 fdiv v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - - - 5.00 fdiv v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnm v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnmp h25, v19.2h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnmp d17, v29.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnmp v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnmp v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnmp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmaxnmv h0, v13.4h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmaxnmv h12, v11.8h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmaxnmv s28, v31.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxp v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxp v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxp h15, v25.2h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxp s6, v2.2s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmaxv h0, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmaxv h0, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmaxv s0, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnm v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnmp h20, v14.2h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnmp d15, v8.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnmp v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnmp v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnmp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fminnmv h19, v25.4h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fminnmv h23, v17.8h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fminnmv s29, v17.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminp v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminp v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminp h7, v10.2h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminp s17, v7.2s
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fminv h3, v30.4h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fminv h29, v12.8h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - fminv s16, v19.4s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla d0, d1, v0.d[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla h23, h24, v15.h[4]
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla s0, s1, v0.s[3]
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla v29.8h, v15.8h, v10.h[4]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla v2.2s, v16.2s, v28.s[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla v14.4s, v14.4s, v5.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla v1.4s, v24.4s, v12.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla v10.2d, v14.2d, v21.d[1]
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmls d0, d4, v0.d[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmls h8, h14, v7.h[4]
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmls s3, s5, v0.s[3]
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmls v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmls v30.8h, v18.8h, v4.h[6]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmls v10.2s, v27.2s, v0.s[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmls v27.4s, v7.4s, v24.s[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmls v10.2d, v22.2d, v29.d[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmls v6.8h, v15.8h, v23.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov v0.2d, #-1.25000000
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov v0.2s, #13.00000000
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov v0.4s, #1.00000000
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmul d0, d1, v0.d[1]
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmul s0, s1, v0.s[3]
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmul v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmulx d0, d4, v0.d[1]
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmulx d23, d11, d1
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmulx s20, s22, s15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmulx s3, s5, v0.s[3]
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmulx v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmulx v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmulx v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul h18, h4, v7.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul v10.4h, v2.4h, v7.h[5]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul v5.2s, v12.2s, v9.s[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul v15.4s, v30.4s, v2.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul v11.2d, v31.2d, v24.d[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul h28, h14, h3
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul d0, d1, v0.d[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul s0, s1, v0.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmul v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmulx d0, d4, v0.d[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmulx d23, d11, d1
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmulx s20, s22, s15
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmulx h18, h17, v7.h[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmulx h20, h25, h0
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmulx s3, s5, v0.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmulx v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmulx v28.4h, v25.4h, v15.h[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmulx v3.2s, v22.2s, v23.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmulx v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmulx v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmulx v5.4s, v28.4s, v15.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmulx v22.2d, v18.2d, v25.d[1]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fneg v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecpe d13, d13
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecpe s19, s14
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecpe v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecpe v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecpe v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecpe v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecpe v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecps v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecps d22, d30, d21
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecps s21, s16, s13
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecpx d16, d19
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frecpx s18, s10
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecpe h20, h8
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecpe d13, d13
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecpe s19, s14
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecpe v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecpe v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecpe v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecpe v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecpe v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecps h29, h19, h8
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecpx h18, h11
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecps v12.8h, v25.8h, v4.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecps v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecps d22, d30, d21
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecps s21, s16, s13
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecps v7.2d, v29.2d, v18.2d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecpx d16, d19
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frecpx s18, s10
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinta v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinta v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frinta v0.4h, v0.4h
@@ -2449,13 +2028,17 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintz v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintz v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frintz v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frsqrte d21, d12
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frsqrte s22, s13
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frsqrte v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frsqrte v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frsqrte v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frsqrte v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - frsqrte v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrte h23, h26
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrte d21, d12
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrte s22, s13
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrte v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrte v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrte v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrte v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrts v20.4s, v26.4s, v27.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrts v8.4h, v9.4h, v30.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrte v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrts h28, h26, h1
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrts d8, d22, d18
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrts s21, s5, s12
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrts v0.2d, v0.2d, v0.2d
@@ -2464,61 +2047,193 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - - - - - 5.00 fsqrt v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - - - - - 9.00 fsqrt v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - - - - - 5.00 fsqrt v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub v13.8h, v15.8h, v17.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v0.16b }, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1 { v0.16b }, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v0.16b, v1.16b }, [x14]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v19.16b, v20.16b, v21.16b }, [x10]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v13.16b, v14.16b, v15.16b, v16.16b }, [x9]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1 { v24.8h }, [x27]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v1.8h, v2.8h }, [x27]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v0.8h, v1.8h }, [sp], #32
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v21.8h, v22.8h, v23.8h }, [x22]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v0.8h, v1.8h, v2.8h, v3.8h }, [x21]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1 { v3.4s }, [x4]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v11.4s, v12.4s }, [x30]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v0.4s, v1.4s, v2.4s }, [x24]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v15.4s, v16.4s, v17.4s, v18.4s }, [x28]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v0.4s, v1.4s, v2.4s }, [x0], #48
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1 { v3.2d }, [x28]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v13.2d, v14.2d }, [x13]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v12.2d, v13.2d, v14.2d }, [x15]
# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48
# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1 { v0.1d }, [x15], x2
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v27.1d, v28.1d }, [x7]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v14.1d, v15.1d, v16.1d }, [x3]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v22.1d, v23.1d, v24.1d, v25.1d }, [x4]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v0.2s, v1.2s }, [x15]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v16.2s, v17.2s, v18.2s }, [x27]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v21.2s, v22.2s, v23.2s, v24.2s }, [x21]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v25.4h, v26.4h }, [x3]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v20.4h, v21.4h, v22.4h, v23.4h }, [x15]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v0.4h, v1.4h, v2.4h }, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v24.8b, v25.8b }, [x6]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v7.8b, v8.8b, v9.8b }, [x12]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v4.8b, v5.8b, v6.8b, v7.8b }, [x13]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v0.4s, v1.4s }, [sp], #32
# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v0.4s, v1.4s, v2.4s }, [sp]
# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v0.8h }, [x15], x2
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1 { v0.b }[7], [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1 { v0.h }[3], [x0], #2
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1 { v18.h }[3], [x1]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1 { v0.s }[1], [x15]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1 { v0.d }[0], [x15], #8
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1 { v11.d }[0], [x13]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1 { v0.8h }, [x15], x2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v0.8h, v1.8h }, [x15]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v0.b }[9], [x0]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1 { v0.b }[9], [x0], #1
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1r { v0.16b }, [x0]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1r { v0.16b }, [x0], #1
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1r { v0.8h }, [x15]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1r { v0.8h }, [x15], #2
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1 { v0.b }[9], [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1 { v0.b }[9], [x0], #1
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1r { v0.16b }, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1r { v0.8h }, [x0], #2
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1r { v0.4s }, [x15]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1r { v3.1d }, [x15]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1r { v0.2d }, [x15], x16
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1r { v18.2d }, [x0]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1r { v8.8b }, [x23]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1r { v28.4h }, [x9]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1r { v3.8h }, [x16]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1r { v10.2s }, [x20]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2 { v0.4h, v1.4h }, [x21]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2 { v8.8h, v9.8h }, [x28]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2 { v2.2s, v3.2s }, [x16]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2 { v22.4s, v23.4s }, [x4]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2 { v22.2d, v23.2d }, [x17]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld2 { v29.b, v30.b }[3], [x1]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld2 { v26.s, v27.s }[1], [x17]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld2 { v1.d, v2.d }[0], [x10]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2 { v0.16b, v1.16b }, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2 { v13.8b, v14.8b }, [x4]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2 { v0.8b, v1.8b }, [x0], #16
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1r { v0.16b }, [x0], #1
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1r { v0.8h }, [x15]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1r { v0.8h }, [x15], #2
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2 { v0.16b, v1.16b }, [x0], x1
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2 { v0.8b, v1.8b }, [x0]
# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld2 { v0.h, v1.h }[7], [x15]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld2 { v0.h, v1.h }[7], [x15], x8
# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld2 { v0.h, v1.h }[7], [x15], #4
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2r { v0.2d, v1.2d }, [x0]
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2r { v0.2d, v1.2d }, [x0], #16
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2r { v0.4s, v1.4s }, [sp]
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2r { v0.4s, v1.4s }, [sp], #8
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2r { v0.8b, v1.8b }, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2r { v10.16b, v11.16b }, [x23]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2r { v0.4h, v1.4h }, [x0], #4
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2r { v25.4h, v26.4h }, [x11]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2r { v23.8h, v24.8h }, [x10]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2r { v0.2s, v1.2s }, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2r { v8.4s, v9.4s }, [x17]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2r { v0.1d, v1.1d }, [sp], x8
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2r { v9.1d, v10.1d }, [x25]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2r { v26.2d, v27.2d }, [x8]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3 { v8.8b, v9.8b, v10.8b }, [x0]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3 { v15.16b, v16.16b, v17.16b }, [x5]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2r { v0.2d, v1.2d }, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2r { v0.2d, v1.2d }, [x0], #16
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2r { v0.4s, v1.4s }, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2r { v0.4s, v1.4s }, [sp], #8
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3 { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3 { v0.8h, v1.8h, v2.8h }, [x15], #48
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3 { v7.8h, v8.8h, v9.8h }, [x21]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3 { v16.2s, v17.2s, v18.2s }, [x0]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3 { v12.4s, v13.4s, v14.4s }, [x25]
+# CHECK-NEXT: - - - - - 5.00 - - - - - - - ld3 { v17.b, v18.b, v19.b }[2], [x27]
+# CHECK-NEXT: - - - - - 5.00 - - - - - - - ld3 { v18.h, v19.h, v20.h }[5], [x16]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3 { v10.2d, v11.2d, v12.2d }, [x18]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2
# CHECK-NEXT: - - - - - 5.00 - - - - - - - ld3 { v0.s, v1.s, v2.s }[3], [sp]
# CHECK-NEXT: - - - - - 5.00 - - - - - - - ld3 { v0.s, v1.s, v2.s }[3], [sp], x3
+# CHECK-NEXT: - - - - - 5.00 - - - - - - - ld3 { v5.d, v6.d, v7.d }[1], [x14]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld3r { v0.8b, v1.8b, v2.8b }, [x15]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld3r { v17.16b, v18.16b, v19.16b }, [x3]
# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld3r { v0.4h, v1.4h, v2.4h }, [x15]
# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld3r { v3.4h, v4.4h, v5.4h }, [x1]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld3r { v6.8h, v7.8h, v8.8h }, [x28]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld3r { v0.2s, v1.2s, v2.2s }, [x0]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld3r { v28.4s, v29.4s, v30.4s }, [x2]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld3r { v0.1d, v1.1d, v2.1d }, [x0], x0
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld3r { v1.1d, v2.1d, v3.1d }, [x28]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld3r { v8.2d, v9.2d, v10.2d }, [x3]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4 { v6.8b, v7.8b, v8.8b, v9.8b }, [x27]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4 { v11.16b, v12.16b, v13.16b, v14.16b }, [x5]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4 { v21.4h, v22.4h, v23.4h, v24.4h }, [x14]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4 { v9.8h, v10.8h, v11.8h, v12.8h }, [x1]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4 { v17.4s, v18.4s, v19.4s, v20.4s }, [x4]
# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld3r { v0.8b, v1.8b, v2.8b }, [x0]
# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
# CHECK-NEXT: - - - - - 5.00 - - - - - - - ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4 { v2.2d, v3.2d, v4.2d, v5.2d }, [x24]
+# CHECK-NEXT: - - - - - 5.00 - - - - - - - ld4 { v4.b, v5.b, v6.b, v7.b }[12], [x27]
+# CHECK-NEXT: - - - - - 5.00 - - - - - - - ld4 { v5.h, v6.h, v7.h, v8.h }[0], [x4]
# CHECK-NEXT: - - - - - 5.00 - - - - - - - ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32
# CHECK-NEXT: - - - - - 5.00 - - - - - - - ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0
+# CHECK-NEXT: - - - - - 5.00 - - - - - - - ld4 { v0.s, v1.s, v2.s, v3.s }[0], [x26]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld4r { v20.8b, v21.8b, v22.8b, v23.8b }, [x23]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld4r { v1.16b, v2.16b, v3.16b, v4.16b }, [x25]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld4r { v16.4h, v17.4h, v18.4h, v19.4h }, [x6]
# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld4r { v0.2d, v1.2d, v2.2d, v3.2d }, [sp]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld4r { v4.8h, v5.8h, v6.8h, v7.8h }, [x23]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [x30]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], #16
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld4r { v7.4s, v8.4s, v9.4s, v10.4s }, [x23]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld4r { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], x8
# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7
# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mla v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mls v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla v15.8h, v22.8h, v4.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla v28.2s, v10.2s, v2.s[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mls v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mls v25.8h, v29.8h, v0.h[4]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mls v22.2s, v29.2s, v0.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mls v26.4s, v5.4s, v28.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov b0, v0.b[15]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov d6, v0.d[1]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov h2, v0.h[5]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov s17, v0.s[2]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov w8, v8.s[0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov x30, v18.d[0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov v2.b[0], v0.b[0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov v2.h[1], v0.h[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov v2.s[2], v0.s[2]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov v2.d[1], v0.d[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov v0.b[0], w8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov v0.h[1], w8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov v0.s[2], w8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov v0.d[1], x8
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movi d15, #0xff00ff00ff00ff
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movi v0.16b, #31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movi v14.8h, #174
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movi v13.4h, #74, lsl #8
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movi v0.2d, #0xff0000ff0000ffff
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movi v0.2s, #8, msl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movi v19.2s, #226
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movi v1.4s, #122, msl #8
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movi v0.4s, #255, lsl #24
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - movi v0.8b, #255
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mul v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul v26.4h, v20.4h, v14.h[5]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul v5.8h, v21.8h, v3.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul v29.2s, v10.2s, v3.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul v30.4s, v11.4s, v4.s[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul v30.4s, v11.4s, v4.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mul v3.8h, v9.8h, v8.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mvni v9.4h, #237
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mvni v8.8h, #171, lsl #8
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mvni v22.4s, #15, lsl #8
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mvni v0.2s, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mvni v0.4s, #16, msl #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg d29, d24
@@ -2532,18 +2247,21 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mvn v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mvn v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orn v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orn v29.8b, v19.8b, v16.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr v9.4h, #18
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr v0.8h, #31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - orr v4.4s, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmul v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmul v0.8b, v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmull v0.8h, v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmull2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - raddhn v0.2s, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - raddhn v0.4h, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - raddhn v0.8b, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - raddhn2 v0.16b, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - raddhn2 v0.4s, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - raddhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhn2 v0.8h, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev16 v21.8b, v1.8b
@@ -2564,32 +2282,33 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrn2 v0.16b, v0.8h, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrn2 v0.4s, v0.2d, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrn2 v0.8h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - rsubhn v0.2s, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - rsubhn v0.4h, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - rsubhn v0.8b, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - rsubhn2 v0.16b, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - rsubhn2 v0.4s, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - rsubhn2 v0.8h, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - saba v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabal v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabal v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabal v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabal2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabal2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - saba v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - sabal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - sabal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - sabal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - sabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - sabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - sabal2 v0.8h, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd v12.2s, v11.2s, v27.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl v0.2d, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl v0.4s, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl v0.8h, v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl2 v0.2d, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl2 v0.4s, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sadalp v0.1d, v0.2s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sadalp v0.2d, v0.4s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sadalp v0.2s, v0.4h
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sadalp v0.4h, v0.8b
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sadalp v0.4s, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sadalp v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - sadalp v0.1d, v0.2s
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - sadalp v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - sadalp v0.2s, v0.4h
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - sadalp v0.4h, v0.8b
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - sadalp v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - sadalp v0.8h, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddl v0.2d, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddl v0.4s, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddl v0.8h, v0.8b, v0.8b
@@ -2602,12 +2321,19 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlp v0.4h, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlp v0.4s, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlp v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - saddlv d0, v0.4s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - saddlv s0, v0.4h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - saddlv s0, v0.8h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - saddlv h0, v0.8b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - saddlv h0, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddw v0.2d, v0.2d, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddw v0.4s, v0.4s, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddw v0.8h, v0.8h, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddw2 v0.2d, v0.2d, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddw2 v0.4s, v0.4s, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf h4, h8, #9
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf h5, h14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf d21, d12
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf d21, d12, #64
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf s22, s13
@@ -2619,22 +2345,25 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf v25.4h, v13.4h, #8
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - scvtf v4.8h, v8.8h, #10
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sdot v0.2s, v0.8b, v0.4b[2]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sdot v0.2s, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sdot v0.4s, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sdot v0.4s, v0.16b, v0.4b[2]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shadd v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shadd v25.16b, v1.16b, v10.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shl d7, d10, #12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shl v23.8b, v18.8b, #6
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shl v0.16b, v0.16b, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shl v0.2d, v0.2d, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shl v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shl v0.8h, v23.8h, #10
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shl v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll v0.2d, v0.2s, #32
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll v0.4s, v0.4h, #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll v0.8h, v0.8b, #8
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll v0.2d, v0.2s, #32
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll v0.4s, v0.4h, #16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll v0.8h, v0.8b, #8
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll2 v0.2d, v0.4s, #32
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll2 v0.4s, v0.8h, #16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll2 v0.8h, v0.16b, #8
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll2 v0.2d, v0.4s, #32
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll2 v0.4s, v0.8h, #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shll2 v0.8h, v0.16b, #8
@@ -2646,6 +2375,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shrn2 v0.8h, v0.4s, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shsub v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shsub v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shsub v15.8h, v5.8h, v27.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli d10, d14, #12
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli v0.16b, v0.16b, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli v0.2d, v0.2d, #3
@@ -2657,33 +2387,57 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax v0.4h, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax v30.16b, v3.16b, v30.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smaxp v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smaxp v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smaxp v21.8h, v16.8h, v7.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smaxp v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - smaxv b0, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - smaxv b0, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - smaxv h0, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - smaxv h0, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - smaxv s0, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sminp v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sminp v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sminp v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlal v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlal v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlal v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlal2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlal2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlal2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlsl v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlsl v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlsl v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlsl2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlsl2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smlsl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smull v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smull v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smull v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smull2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smull2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smull2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sminv b0, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sminv b0, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sminv h0, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sminv h0, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - sminv s0, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlal v0.2d, v25.2s, v1.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlal v16.4s, v9.4h, v11.h[4]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlal2 v30.2d, v22.4s, v7.s[2]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlsl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlsl v25.2d, v27.2s, v1.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlsl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlsl v14.4s, v23.4h, v12.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlsl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlal2 v1.4s, v9.8h, v0.h[6]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlsl2 v12.4s, v11.8h, v12.h[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlsl2 v11.2d, v28.4s, v7.s[2]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlsl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlsl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smull v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smull v31.2d, v23.2s, v6.s[2]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smull v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smull v3.4s, v26.4h, v1.h[5]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smull v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smull2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smull2 v11.2d, v1.4s, v7.s[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smull2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smull2 v13.4s, v18.8h, v0.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smull2 v0.8h, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs b19, b14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs d18, d12
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs h21, h15
@@ -2696,38 +2450,56 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqabs v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd b20, b11, b15
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd h12, h18, h10
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqadd v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlal d19, s24, s12
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlal d8, s9, v0.s[1]
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlal s0, h0, v0.h[3]
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlal s17, h27, h12
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlal v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlal v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlal2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlal2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlsl d12, s23, s13
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlsl d8, s9, v0.s[1]
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlsl s0, h0, v0.h[3]
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlsl s14, h12, h25
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlsl v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlsl v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlsl2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmlsl2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmulh h10, h11, h12
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmulh h7, h15, v0.h[3]
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmulh s15, s14, v0.s[1]
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmulh s20, s21, s2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmulh v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmulh v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmull d1, s1, v0.s[1]
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmull d15, s22, s12
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmull s1, h1, v0.h[3]
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmull s12, h22, h12
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmull v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmull v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmull2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdmull2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlal d19, s24, s12
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlal d8, s9, v0.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlal s0, h0, v0.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlal s17, h27, h12
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlal v11.2d, v24.2s, v0.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlal v20.4s, v30.4h, v12.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlal2 v23.2d, v30.4s, v6.s[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlal2 v2.4s, v17.8h, v5.h[6]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmulh v8.4h, v16.4h, v5.h[4]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmulh v16.2s, v24.2s, v7.s[2]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmull v8.4s, v19.4h, v1.h[2]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmull v20.2d, v10.2s, v6.s[2]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmull2 v10.4s, v25.8h, v0.h[7]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmull2 v4.2d, v29.4s, v2.s[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmulh v0.8h, v15.8h, v0.h[5]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmulh v6.2s, v29.2s, v4.s[2]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmulh v31.2s, v17.2s, v4.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlsl d12, s23, s13
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlsl d8, s9, v0.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlsl s0, h0, v0.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlsl s14, h12, h25
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlsl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlsl v26.2d, v7.2s, v3.s[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlsl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlsl v4.4s, v22.4h, v13.h[2]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlsl2 v4.2d, v3.4s, v3.s[2]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlsl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmlsl2 v2.4s, v28.8h, v4.h[6]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmulh h10, h11, h12
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmulh h7, h15, v0.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmulh s15, s14, v0.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmulh s20, s21, s2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmulh v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmulh v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmull d1, s1, v0.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmull d15, s22, s12
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmull s1, h1, v0.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmull s12, h22, h12
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmull v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmull v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmull2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmull2 v0.4s, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg b19, b14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg d18, d12
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg h21, h15
@@ -2739,17 +2511,44 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqneg v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrdmulh h10, h11, h12
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrdmulh h7, h15, v0.h[3]
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrdmulh s15, s14, v0.s[1]
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrdmulh s20, s21, s2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrdmulh v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrdmulh v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah h0, h1, v2.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah v0.4h, v1.4h, v2.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah v0.8h, v1.8h, v2.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah s0, s1, v2.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah v0.2s, v1.2s, v2.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah v0.4s, v1.4s, v2.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah h0, h1, h2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah v0.4h, v1.4h, v2.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah v0.8h, v1.8h, v2.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah s0, s1, s2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah v0.2s, v1.2s, v2.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlah v0.4s, v1.4s, v2.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh h0, h1, v2.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh v0.4h, v1.4h, v2.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh v0.8h, v1.8h, v2.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh s0, s1, v2.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh v0.2s, v1.2s, v2.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh v0.4s, v1.4s, v2.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh h0, h1, h2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh v0.4h, v1.4h, v2.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh v0.8h, v1.8h, v2.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh s0, s1, s2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh v0.2s, v1.2s, v2.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmlsh v0.4s, v1.4s, v2.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmulh h10, h11, h12
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmulh h7, h15, v0.h[3]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmulh s15, s14, v0.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmulh s20, s21, s2
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmulh v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqrdmulh v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshl d31, d31, d31
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshl h3, h4, h15
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshl v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshl v0.4h, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl s17, s4, s23
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub b3, b13, b12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqsub v20.8h, v18.8h, v12.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrn b10, h13, #2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrn h15, s10, #6
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqrshrn s15, d12, #9
@@ -2775,6 +2574,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl h3, h4, h15
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl s14, s17, #22
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl v23.16b, v23.16b, v23.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl v0.2d, v0.2d, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl v0.2s, v0.2s, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqshl v0.2s, v0.2s, v0.2s
@@ -2858,21 +2658,25 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr v0.4s, v0.4s, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr v0.8b, v0.8b, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr v0.8h, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra d15, d11, #19
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - srsra d15, d11, #19
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - srsra v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - srsra v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - srsra v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - srsra v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - srsra v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - srsra v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - srsra v0.8h, v0.8h, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshl d31, d31, d31
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshl v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshl v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshl v0.4h, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshll v9.8h, v2.8b, #0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshll v12.4s, v3.4h, #4
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshll v0.2d, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshll2 v28.8h, v12.16b, #7
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshll2 v0.4s, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshll2 v17.2d, v13.4s, #22
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshr d15, d16, #12
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshr v0.16b, v0.16b, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshr v0.2d, v0.2d, #3
@@ -2901,30 +2705,96 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubw2 v0.2d, v0.2d, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubw2 v0.4s, v0.4s, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ssubw2 v0.8h, v0.8h, v0.16b
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v0.16b }, [x0]
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v0.2d, v1.2d, v2.2d }, [x0], #48
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v18.8b }, [x15]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v8.8b, v9.8b }, [x18]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v15.8b, v16.8b, v17.8b }, [x0]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v21.8b, v22.8b, v23.8b, v24.8b }, [x14]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v0.16b }, [x0]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v1.16b, v2.16b }, [x4]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - st1 { v27.16b, v28.16b, v29.16b }, [x18]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st1 { v18.16b, v19.16b, v20.16b, v21.16b }, [x29]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v19.4h }, [x7]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v22.4h, v23.4h }, [x22]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v13.4h, v14.4h, v15.4h }, [x7]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v23.4h, v24.4h, v25.4h, v26.4h }, [x24]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v27.8h }, [x17]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - st1 { v8.8h, v9.8h, v10.8h }, [x16]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st1 { v7.8h, v8.8h, v9.8h, v10.8h }, [x19]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v25.2s }, [x6]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v13.2s, v14.2s }, [x9]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v12.2s, v13.2s, v14.2s }, [x3]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v6.2s, v7.2s, v8.2s, v9.2s }, [x13]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v0.4s, v1.4s }, [sp], #32
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v22.4s }, [x19]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v15.4s, v16.4s }, [x12]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st1 { v26.4s, v27.4s, v28.4s, v29.4s }, [x12]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v20.1d }, [x10]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v21.1d, v22.1d }, [x29]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v5.1d, v6.1d, v7.1d }, [x3]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x10]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v26.2d, v27.2d }, [x28]
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - st1 { v0.2d, v1.2d, v2.2d }, [x0], #48
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - st1 { v13.2d, v14.2d, v15.2d }, [x27]
# CHECK-NEXT: - - - - - 4.00 - - - - - - - st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v8.2d }, [x15]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v0.8h }, [x15], x2
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v0.8h, v1.8h }, [x15]
# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v0.4s, v1.4s }, [sp], #32
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v0.4s, v1.4s, v2.4s }, [sp]
-# CHECK-NEXT: - - - - - 4.00 - - - - - - - st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v0.8h }, [x15], x2
+# CHECK-NEXT: - - - - - 3.00 - - - - - - - st1 { v0.4s, v1.4s, v2.4s }, [sp]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v1.b }[5], [x1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v0.h }[2], [x1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v31.s }[1], [x16]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v0.8h }, [x15], x2
# CHECK-NEXT: - - - - - 2.00 - - - - - - - st1 { v0.8h, v1.8h }, [x15]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v0.d }[1], [x0]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - st1 { v0.d }[1], [x0], #8
-# CHECK-NEXT: - - - - - 4.00 - - - - - - - st2 { v0.16b, v1.16b }, [x0], x1
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2 { v0.8b, v1.8b }, [x0]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2 { v0.16b, v1.16b }, [x0], x1
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st2 { v0.8b, v1.8b }, [x0]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2 { v6.16b, v7.16b }, [x23]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st2 { v10.4h, v11.4h }, [x18]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2 { v10.8h, v11.8h }, [x18]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - st2 { v25.2s, v26.2s }, [x29]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2 { v26.4s, v27.4s }, [x14]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2 { v10.2d, v11.2d }, [x1]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2 { v21.b, v22.b }[15], [x15]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2 { v28.h, v29.h }[2], [x6]
# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2 { v0.s, v1.s }[3], [sp]
# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2 { v0.s, v1.s }[3], [sp], #8
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - st2 { v17.d, v18.d }[1], [x1]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st3 { v10.8b, v11.8b, v12.8b }, [x18]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3 { v26.16b, v27.16b, v28.16b }, [x4]
# CHECK-NEXT: - - - - - 4.00 - - - - - - - st3 { v0.4h, v1.4h, v2.4h }, [x15]
-# CHECK-NEXT: - - - - - 4.00 - - - - - - - st3 { v0.8h, v1.8h, v2.8h }, [x15], x2
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - st3 { v0.h, v1.h, v2.h }[7], [x15]
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - st3 { v0.h, v1.h, v2.h }[7], [x15], #6
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3 { v0.8h, v1.8h, v2.8h }, [x15], x2
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3 { v0.8h, v1.8h, v2.8h }, [x0]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st3 { v19.2s, v20.2s, v21.2s }, [x30]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3 { v24.4s, v25.4s, v26.4s }, [x8]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - st3 { v24.2d, v25.2d, v26.2d }, [x25]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st3 { v8.b, v9.b, v10.b }[4], [x18]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st3 { v0.h, v1.h, v2.h }[7], [x15]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st3 { v0.h, v1.h, v2.h }[7], [x15], #6
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st3 { v9.s, v10.s, v11.s }[2], [x20]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st3 { v16.d, v17.d, v18.d }[0], [x13]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st4 { v17.8b, v18.8b, v19.8b, v20.8b }, [x8]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4 { v7.16b, v8.16b, v9.16b, v10.16b }, [x15]
+# CHECK-NEXT: - - - - - 4.00 - - - - - - - st4 { v5.4h, v6.4h, v7.4h, v8.4h }, [x13]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4 { v11.8h, v12.8h, v13.8h, v14.8h }, [x1]
# CHECK-NEXT: - - - - - 4.00 - - - - - - - st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
-# CHECK-NEXT: - - - - - 4.00 - - - - - - - st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0]
-# CHECK-NEXT: - - - - - 2.00 - - - - - - - st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4 { v21.4s, v22.4s, v23.4s, v24.4s }, [x6]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4 { v25.2d, v26.2d, v27.2d, v28.2d }, [x16]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4 { v0.b, v1.b, v2.b, v3.b }[15], [x0]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4 { v5.h, v6.h, v7.h, v8.h }[4], [x13]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4 { v22.s, v23.s, v24.s, v25.s }[0], [x7]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4 { v23.d, v24.d, v25.d, v26.d }[1], [x5]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0]
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5
+# CHECK-NEXT: - - - - - 8.00 - - - - - - - st4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], x5
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub d15, d5, d16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sub v15.2s, v14.2s, v11.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subhn v7.4h, v10.4s, v13.4s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - subhn2 v24.4s, v24.2d, v8.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd b19, b14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd d18, d22
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd h20, h15
@@ -2937,21 +2807,21 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl v0.16b, { v0.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl v0.16b, { v0.16b, v1.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - tbl v0.16b, { v0.16b, v1.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl v0.8b, { v0.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl v0.8b, { v0.16b, v1.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx v0.16b, { v0.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx v0.16b, { v0.16b, v1.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx v0.8b, { v0.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx v0.8b, { v0.16b, v1.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - tbl v0.8b, { v0.16b, v1.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - tbx v0.16b, { v0.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - tbx v0.16b, { v0.16b, v1.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - - 4.00 - - - tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 5.00 - - - - tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - - 2.00 - - - tbx v0.8b, { v0.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - tbx v0.8b, { v0.16b, v1.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - - 4.00 - - - tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 5.00 - - - - tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 v0.2s, v0.2s, v0.2s
@@ -2966,26 +2836,28 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 v0.8b, v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uaba v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabal v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabal v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabal v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabal2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabal2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - uaba v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - uaba v13.16b, v14.16b, v19.16b
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - uabal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - uabal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - uabal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - uabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - uabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - uabal2 v0.8h, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd v23.4s, v4.4s, v30.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl v0.2d, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl v0.4s, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl v0.8h, v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl2 v0.2d, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl2 v0.4s, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uadalp v0.1d, v0.2s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uadalp v0.2d, v0.4s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uadalp v0.2s, v0.4h
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uadalp v0.4h, v0.8b
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uadalp v0.4s, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uadalp v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - uadalp v0.1d, v0.2s
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - uadalp v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - uadalp v0.2s, v0.4h
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - uadalp v0.4h, v0.8b
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - uadalp v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - uadalp v0.8h, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddl v0.2d, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddl v0.4s, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddl v0.8h, v0.8b, v0.8b
@@ -2998,14 +2870,23 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlp v0.4h, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlp v0.4s, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlp v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - uaddlv d0, v0.4s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - uaddlv s0, v0.4h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - uaddlv s0, v0.8h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - uaddlv h0, v0.8b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - uaddlv h0, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddw v0.2d, v0.2d, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddw v0.4s, v0.4s, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddw v0.8h, v0.8h, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddw2 v0.2d, v0.2d, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddw2 v0.4s, v0.4s, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf h17, x12
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf h22, h16, #11
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf h7, h21
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf d21, d14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf d21, d14, #64
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf s8, x0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf s22, s13
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf s22, s13, #32
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf v0.2d, v0.2d
@@ -3015,9 +2896,16 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf v18.4h, v11.4h, #7
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ucvtf v22.8h, v20.8h, #10
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - udot v0.2s, v0.8b, v0.4b[2]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - udot v0.2s, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - udot v0.4s, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - udot v0.4s, v0.16b, v0.4b[2]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhadd v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhadd v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhsub v12.4h, v16.4h, v28.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uhsub v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umax v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umax v0.4s, v0.4s, v0.4s
@@ -3025,37 +2913,69 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umaxp v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umaxp v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umaxp v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - umaxv b0, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - umaxv b0, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - umaxv h0, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - umaxv h0, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - umaxv s0, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umin v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umin v0.4h, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umin v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umin v0.16b, v26.16b, v2.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uminp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uminp v28.4s, v16.4s, v15.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uminp v0.4h, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uminp v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlal v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlal v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlal v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlal2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlal2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlal2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlsl v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlsl v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlsl v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlsl2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlsl2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umlsl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umull v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umull v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umull v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umull2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umull2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umull2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uminv b0, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uminv b0, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uminv h0, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uminv h0, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - uminv s0, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlal v28.2d, v31.2s, v0.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlal v22.4s, v14.4h, v0.h[6]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlal2 v10.2d, v4.4s, v3.s[2]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlal2 v31.4s, v7.8h, v15.h[5]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlsl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlsl v20.2d, v20.2s, v2.s[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlsl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlsl v21.4s, v12.4h, v7.h[5]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlsl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlsl2 v30.2d, v23.4s, v1.s[2]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlsl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlsl2 v27.4s, v28.8h, v6.h[4]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlsl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umov w6, v22.b[0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umov w0, v0.b[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umov w10, v25.h[0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umov w0, v0.h[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov w0, v0.s[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - mov x0, v0.d[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umull v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umull v22.2d, v28.2s, v6.s[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umull v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umull v27.4s, v1.4h, v8.h[6]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umull v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umull2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umull2 v28.2d, v21.4s, v1.s[0]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umull2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umull2 v18.4s, v26.8h, v10.h[1]
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umull2 v0.8h, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd h0, h1, h5
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd s0, s24, s30
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd v14.2d, v22.2d, v20.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshl b11, b20, b30
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshl s23, s20, s16
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshl v25.8b, v13.8b, v23.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshl v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshl v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshl v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshl v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrn b10, h12, #5
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqrshrn h12, s10, #14
@@ -3078,6 +2998,7 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl v0.2s, v0.2s, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl v8.4h, v17.4h, v13.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl v0.4s, v0.4s, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshl v0.8b, v0.8b, #3
@@ -3092,8 +3013,10 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrn2 v0.16b, v0.8h, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrn2 v0.4s, v0.2d, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub s16, s21, s6
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub d16, d16, d16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqsub v19.4s, v0.4s, v5.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtn b18, h18
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtn h20, s17
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtn s19, d14
@@ -3103,12 +3026,14 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtn2 v0.16b, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtn2 v0.4s, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqxtn2 v0.8h, v0.4s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urecpe v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urecpe v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - urecpe v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - urecpe v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urhadd v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urhadd v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urhadd v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urhadd v16.2s, v19.2s, v2.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshl d8, d7, d4
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshl v31.8b, v5.8b, v3.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshl v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshl v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshl v0.4s, v0.4s, v0.4s
@@ -3121,21 +3046,26 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr v0.4s, v0.4s, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr v0.8b, v0.8b, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr v0.8h, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursqrte v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ursqrte v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra d18, d10, #13
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - ursqrte v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - ursqrte v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - ursra d18, d10, #13
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - ursra v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - ursra v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - ursra v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - ursra v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - ursra v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - ursra v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - ursra v0.8h, v0.8h, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushl d0, d0, d0
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushl v6.8b, v26.8b, v6.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushl v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushl v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushl v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushll v0.4s, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushll v18.8h, v24.8b, #4
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushll v16.2d, v16.2s, #31
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushll2 v31.2d, v12.4s, #11
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushll2 v18.4s, v22.8h, #13
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushll2 v0.8h, v0.16b, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushr d10, d17, #18
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushr v0.16b, v0.16b, #3
@@ -3145,6 +3075,16 @@ zip2 v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushr v0.4s, v0.4s, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushr v0.8b, v0.8b, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushr v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smov w15, v22.b[0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smov w26, v27.h[0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smov x21, v0.b[0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smov x9, v27.h[0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smov x15, v3.s[0]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smov w0, v0.b[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smov w0, v0.h[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smov x0, v0.b[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smov x0, v0.h[1]
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smov x0, v0.s[1]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usqadd b19, b14
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usqadd d18, d22
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - usqadd h20, h15
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-ptraut-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-ptraut-instructions.s
new file mode 100644
index 0000000000000..7ea528acd365c
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-ptraut-instructions.s
@@ -0,0 +1,146 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -instruction-tables < %p/../Inputs/ptraut-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 4 1.00 U pacia1716
+# CHECK-NEXT: 1 4 1.00 U pacib1716
+# CHECK-NEXT: 1 4 1.00 U autia1716
+# CHECK-NEXT: 1 4 1.00 U autib1716
+# CHECK-NEXT: 1 4 1.00 U paciaz
+# CHECK-NEXT: 1 4 1.00 U paciasp
+# CHECK-NEXT: 1 4 1.00 U pacibz
+# CHECK-NEXT: 1 4 1.00 U pacibsp
+# CHECK-NEXT: 1 4 1.00 U autiaz
+# CHECK-NEXT: 1 4 1.00 U autiasp
+# CHECK-NEXT: 1 4 1.00 U autibz
+# CHECK-NEXT: 1 4 1.00 U autibsp
+# CHECK-NEXT: 1 4 1.00 U pacia x0, x1
+# CHECK-NEXT: 1 4 1.00 U autia x0, x1
+# CHECK-NEXT: 1 4 1.00 U pacda x0, x1
+# CHECK-NEXT: 1 4 1.00 U autda x0, x1
+# CHECK-NEXT: 1 4 1.00 U pacib x0, x1
+# CHECK-NEXT: 1 4 1.00 U autib x0, x1
+# CHECK-NEXT: 1 4 1.00 U pacdb x0, x1
+# CHECK-NEXT: 1 4 1.00 U autdb x0, x1
+# CHECK-NEXT: 1 5 1.00 pacga x0, x1, x2
+# CHECK-NEXT: 1 4 1.00 U paciza x0
+# CHECK-NEXT: 1 4 1.00 U autiza x0
+# CHECK-NEXT: 1 4 1.00 U pacdza x0
+# CHECK-NEXT: 1 4 1.00 U autdza x0
+# CHECK-NEXT: 1 4 1.00 U pacizb x0
+# CHECK-NEXT: 1 4 1.00 U autizb x0
+# CHECK-NEXT: 1 4 1.00 U pacdzb x0
+# CHECK-NEXT: 1 4 1.00 U autdzb x0
+# CHECK-NEXT: 1 4 1.00 xpaci x0
+# CHECK-NEXT: 1 4 1.00 xpacd x0
+# CHECK-NEXT: 1 4 1.00 U xpaclri
+# CHECK-NEXT: 2 1 1.00 U braa x0, x1
+# CHECK-NEXT: 2 1 1.00 U brab x0, x1
+# CHECK-NEXT: 2 1 1.00 U blraa x0, x1
+# CHECK-NEXT: 2 1 1.00 U blrab x0, x1
+# CHECK-NEXT: 2 1 1.00 U braaz x0
+# CHECK-NEXT: 2 1 1.00 U brabz x0
+# CHECK-NEXT: 2 1 1.00 U blraaz x0
+# CHECK-NEXT: 2 1 1.00 U blrabz x0
+# CHECK-NEXT: 2 1 1.00 U retaa
+# CHECK-NEXT: 2 1 1.00 U retab
+# CHECK-NEXT: 1 2 1.00 * U ldraa x0, [x1, #4088]
+# CHECK-NEXT: 1 2 1.00 * U ldraa x0, [x1, #-4096]
+# CHECK-NEXT: 1 2 1.00 * U ldrab x0, [x1, #4088]
+# CHECK-NEXT: 1 2 1.00 * U ldrab x0, [x1, #-4096]
+# CHECK-NEXT: 1 2 1.00 * U ldraa x0, [x1, #4088]!
+# CHECK-NEXT: 1 2 1.00 * U ldraa x0, [x1, #-4096]!
+# CHECK-NEXT: 1 2 1.00 * U ldrab x0, [x1, #4088]!
+# CHECK-NEXT: 1 2 1.00 * U ldrab x0, [x1, #-4096]!
+# CHECK-NEXT: 1 2 1.00 * U ldraa x0, [x1]
+# CHECK-NEXT: 1 2 1.00 * U ldrab x0, [x1]
+# CHECK-NEXT: 1 2 1.00 * U ldraa x0, [x1, #0]!
+# CHECK-NEXT: 1 2 1.00 * U ldrab x0, [x1, #0]!
+# CHECK-NEXT: 1 2 1.00 * U ldraa xzr, [sp, #-4096]!
+# CHECK-NEXT: 1 2 1.00 * U ldrab xzr, [sp, #-4096]!
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - C1NanoUnitALU0
+# CHECK-NEXT: [1] - C1NanoUnitALU1
+# CHECK-NEXT: [2] - C1NanoUnitB
+# CHECK-NEXT: [3] - C1NanoUnitDiv
+# CHECK-NEXT: [4] - C1NanoUnitLd1
+# CHECK-NEXT: [5] - C1NanoUnitLdSt
+# CHECK-NEXT: [6] - C1NanoUnitMAC
+# CHECK-NEXT: [7] - C1NanoUnitPAC
+# CHECK-NEXT: [8] - C1NanoUnitVALU0
+# CHECK-NEXT: [9] - C1NanoUnitVALU1
+# CHECK-NEXT: [10] - C1NanoUnitVMAC0
+# CHECK-NEXT: [11] - C1NanoUnitVMAC1
+# CHECK-NEXT: [12] - C1NanoUnitVMC
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
+# CHECK-NEXT: - - 10.00 - - - - 56.00 - - - - -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacia1716
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacib1716
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autia1716
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autib1716
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - paciaz
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - paciasp
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacibz
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacibsp
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autiaz
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autiasp
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autibz
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autibsp
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacia x0, x1
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autia x0, x1
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacda x0, x1
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autda x0, x1
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacib x0, x1
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autib x0, x1
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacdb x0, x1
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autdb x0, x1
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacga x0, x1, x2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - paciza x0
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autiza x0
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacdza x0
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autdza x0
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacizb x0
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autizb x0
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - pacdzb x0
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - autdzb x0
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - xpaci x0
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - xpacd x0
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - xpaclri
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - braa x0, x1
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - brab x0, x1
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - blraa x0, x1
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - blrab x0, x1
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - braaz x0
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - brabz x0
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - blraaz x0
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - blrabz x0
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - retaa
+# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - - retab
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldraa x0, [x1, #4088]
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldraa x0, [x1, #-4096]
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldrab x0, [x1, #4088]
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldrab x0, [x1, #-4096]
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldraa x0, [x1, #4088]!
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldraa x0, [x1, #-4096]!
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldrab x0, [x1, #4088]!
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldrab x0, [x1, #-4096]!
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldraa x0, [x1]
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldrab x0, [x1]
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldraa x0, [x1, #0]!
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldrab x0, [x1, #0]!
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldraa xzr, [sp, #-4096]!
+# CHECK-NEXT: - - - - - - - 1.00 - - - - - ldrab xzr, [sp, #-4096]!
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-rcpc-immo-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-rcpc-immo-instructions.s
new file mode 100644
index 0000000000000..e9044762700b9
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-rcpc-immo-instructions.s
@@ -0,0 +1,61 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -instruction-tables < %p/../Inputs/rcpc-immo-instructions.s | FileCheck %s
+-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 * ldapur w7, [x24]
+# CHECK-NEXT: 1 2 0.50 * ldapur x20, [x13]
+# CHECK-NEXT: 1 2 0.50 * ldapurb w13, [x17]
+# CHECK-NEXT: 1 2 0.50 * ldapurh w3, [x22]
+# CHECK-NEXT: 1 2 0.50 * U ldapursb w7, [x8]
+# CHECK-NEXT: 1 2 0.50 * U ldapursb x29, [x7]
+# CHECK-NEXT: 1 2 0.50 * U ldapursh w17, [x19]
+# CHECK-NEXT: 1 2 0.50 * U ldapursh x3, [x3]
+# CHECK-NEXT: 1 2 0.50 * U ldapursw x3, [x18]
+# CHECK-NEXT: 1 1 1.00 * stlur w3, [x27]
+# CHECK-NEXT: 1 1 1.00 * stlur x23, [x25]
+# CHECK-NEXT: 1 1 1.00 * stlurb w30, [x17]
+# CHECK-NEXT: 1 1 1.00 * stlurh w9, [x29]
+
+# CHECK: Resources:
+# CHECK-NEXT: [0] - C1NanoUnitALU0
+# CHECK-NEXT: [1] - C1NanoUnitALU1
+# CHECK-NEXT: [2] - C1NanoUnitB
+# CHECK-NEXT: [3] - C1NanoUnitDiv
+# CHECK-NEXT: [4] - C1NanoUnitLd1
+# CHECK-NEXT: [5] - C1NanoUnitLdSt
+# CHECK-NEXT: [6] - C1NanoUnitMAC
+# CHECK-NEXT: [7] - C1NanoUnitPAC
+# CHECK-NEXT: [8] - C1NanoUnitVALU0
+# CHECK-NEXT: [9] - C1NanoUnitVALU1
+# CHECK-NEXT: [10] - C1NanoUnitVMAC0
+# CHECK-NEXT: [11] - C1NanoUnitVMAC1
+# CHECK-NEXT: [12] - C1NanoUnitVMC
+
+# CHECK: Resource pressure per iteration:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
+# CHECK-NEXT: - - - - 4.50 8.50 - - - - - - -
+
+# CHECK: Resource pressure by instruction:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldapur w7, [x24]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldapur x20, [x13]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldapurb w13, [x17]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldapurh w3, [x22]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldapursb w7, [x8]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldapursb x29, [x7]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldapursh w17, [x19]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldapursh x3, [x3]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldapursw x3, [x18]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stlur w3, [x27]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stlur x23, [x25]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stlurb w30, [x17]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - stlurh w9, [x29]
diff --git a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
similarity index 77%
rename from llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s
rename to llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
index 3a07c75ee664c..d621193eb2a93 100644
--- a/llvm/test/tools/llvm-mca/AArch64/C1/Nano-sve-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
@@ -1,3415 +1,5 @@
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
-# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -mattr=+sve2-aes,+sve2-sha3,+sve2-sm4 -instruction-tables < %s | FileCheck %s
-
-abs z0.b, p0/m, z0.b
-abs z0.d, p0/m, z0.d
-abs z0.h, p0/m, z0.h
-abs z0.s, p0/m, z0.s
-abs z31.b, p7/m, z31.b
-abs z31.d, p7/m, z31.d
-abs z31.h, p7/m, z31.h
-abs z31.s, p7/m, z31.s
-adclb z0.d, z1.d, z31.d
-adclb z0.s, z1.s, z31.s
-adclt z0.d, z1.d, z31.d
-adclt z0.s, z1.s, z31.s
-add z0.b, p0/m, z0.b, z0.b
-add z0.b, z0.b, #0
-add z0.b, z0.b, z0.b
-add z0.d, p0/m, z0.d, z0.d
-add z0.d, z0.d, #0
-add z0.d, z0.d, #0, lsl #8
-add z0.d, z0.d, z0.d
-add z0.h, p0/m, z0.h, z0.h
-add z0.h, z0.h, #0
-add z0.h, z0.h, #0, lsl #8
-add z0.h, z0.h, z0.h
-add z0.s, p0/m, z0.s, z0.s
-add z0.s, z0.s, #0
-add z0.s, z0.s, #0, lsl #8
-add z0.s, z0.s, z0.s
-add z0.s, z1.s, z2.s
-add z21.b, p5/m, z21.b, z10.b
-add z21.b, z10.b, z21.b
-add z21.d, p5/m, z21.d, z10.d
-add z21.d, z10.d, z21.d
-add z21.h, p5/m, z21.h, z10.h
-add z21.h, z10.h, z21.h
-add z21.s, p5/m, z21.s, z10.s
-add z21.s, z10.s, z21.s
-add z23.b, p3/m, z23.b, z13.b
-add z23.b, z13.b, z8.b
-add z23.d, p3/m, z23.d, z13.d
-add z23.d, z13.d, z8.d
-add z23.h, p3/m, z23.h, z13.h
-add z23.h, z13.h, z8.h
-add z23.s, p3/m, z23.s, z13.s
-add z23.s, z13.s, z8.s
-add z31.b, p7/m, z31.b, z31.b
-add z31.b, z31.b, #255
-add z31.b, z31.b, z31.b
-add z31.d, p7/m, z31.d, z31.d
-add z31.d, z31.d, #65280
-add z31.d, z31.d, z31.d
-add z31.h, p7/m, z31.h, z31.h
-add z31.h, z31.h, #65280
-add z31.h, z31.h, z31.h
-add z31.s, p7/m, z31.s, z31.s
-add z31.s, z31.s, #65280
-add z31.s, z31.s, z31.s
-addhnb z0.b, z1.h, z31.h
-addhnb z0.h, z1.s, z31.s
-addhnb z0.s, z1.d, z31.d
-addhnt z0.b, z1.h, z31.h
-addhnt z0.h, z1.s, z31.s
-addhnt z0.s, z1.d, z31.d
-addp z0.b, p0/m, z0.b, z1.b
-addp z0.h, p0/m, z0.h, z1.h
-addp z29.s, p7/m, z29.s, z30.s
-addp z31.d, p7/m, z31.d, z30.d
-addpl sp, sp, #31
-addpl x0, x0, #-32
-addpl x21, x21, #0
-addpl x23, x8, #-1
-addvl sp, sp, #31
-addvl x0, x0, #-32
-addvl x21, x21, #0
-addvl x23, x8, #-1
-adr z0.d, [z0.d, z0.d, lsl #1]
-adr z0.d, [z0.d, z0.d, lsl #2]
-adr z0.d, [z0.d, z0.d, lsl #3]
-adr z0.d, [z0.d, z0.d, sxtw #1]
-adr z0.d, [z0.d, z0.d, sxtw #2]
-adr z0.d, [z0.d, z0.d, sxtw #3]
-adr z0.d, [z0.d, z0.d, sxtw]
-adr z0.d, [z0.d, z0.d, uxtw #1]
-adr z0.d, [z0.d, z0.d, uxtw #2]
-adr z0.d, [z0.d, z0.d, uxtw #3]
-adr z0.d, [z0.d, z0.d, uxtw]
-adr z0.d, [z0.d, z0.d]
-adr z0.s, [z0.s, z0.s, lsl #1]
-adr z0.s, [z0.s, z0.s, lsl #2]
-adr z0.s, [z0.s, z0.s, lsl #3]
-adr z0.s, [z0.s, z0.s]
-aesd z0.b, z0.b, z31.b
-aese z0.b, z0.b, z31.b
-aesimc z0.b, z0.b
-aesimc z31.b, z31.b
-aesmc z0.b, z0.b
-aesmc z31.b, z31.b
-and p0.b, p0/z, p0.b, p1.b
-and z0.d, z0.d, #0x6
-and z0.d, z0.d, #0xfffffffffffffff9
-and z0.d, z0.d, z0.d
-and z0.s, z0.s, #0x6
-and z0.s, z0.s, #0xfffffff9
-and z23.d, z13.d, z8.d
-and z23.h, z23.h, #0x6
-and z23.h, z23.h, #0xfff9
-and z31.b, p7/m, z31.b, z31.b
-and z31.d, p7/m, z31.d, z31.d
-and z31.h, p7/m, z31.h, z31.h
-and z31.s, p7/m, z31.s, z31.s
-and z5.b, z5.b, #0x6
-and z5.b, z5.b, #0xf9
-ands p0.b, p0/z, p0.b, p1.b
-andv b0, p7, z31.b
-andv d0, p7, z31.d
-andv h0, p7, z31.h
-andv s0, p7, z31.s
-asr z0.b, p0/m, z0.b, #1
-asr z0.b, p0/m, z0.b, z0.b
-asr z0.b, p0/m, z0.b, z1.d
-asr z0.b, z0.b, #1
-asr z0.b, z1.b, z2.d
-asr z0.d, p0/m, z0.d, #1
-asr z0.d, p0/m, z0.d, z0.d
-asr z0.d, z0.d, #1
-asr z0.h, p0/m, z0.h, #1
-asr z0.h, p0/m, z0.h, z0.h
-asr z0.h, p0/m, z0.h, z1.d
-asr z0.h, z0.h, #1
-asr z0.h, z1.h, z2.d
-asr z0.s, p0/m, z0.s, #1
-asr z0.s, p0/m, z0.s, z0.s
-asr z0.s, p0/m, z0.s, z1.d
-asr z0.s, z0.s, #1
-asr z0.s, z1.s, z2.d
-asr z31.b, p0/m, z31.b, #8
-asr z31.b, z31.b, #8
-asr z31.d, p0/m, z31.d, #64
-asr z31.d, z31.d, #64
-asr z31.h, p0/m, z31.h, #16
-asr z31.h, z31.h, #16
-asr z31.s, p0/m, z31.s, #32
-asr z31.s, z31.s, #32
-asrd z0.b, p0/m, z0.b, #1
-asrd z0.d, p0/m, z0.d, #1
-asrd z0.h, p0/m, z0.h, #1
-asrd z0.s, p0/m, z0.s, #1
-asrd z31.b, p0/m, z31.b, #8
-asrd z31.d, p0/m, z31.d, #64
-asrd z31.h, p0/m, z31.h, #16
-asrd z31.s, p0/m, z31.s, #32
-asrr z0.b, p0/m, z0.b, z0.b
-asrr z0.d, p0/m, z0.d, z0.d
-asrr z0.h, p0/m, z0.h, z0.h
-asrr z0.s, p0/m, z0.s, z0.s
-bcax z29.d, z29.d, z30.d, z31.d
-bdep z0.b, z1.b, z31.b
-bdep z0.d, z1.d, z31.d
-bdep z0.h, z1.h, z31.h
-bdep z0.s, z1.s, z31.s
-bext z0.b, z1.b, z31.b
-bext z0.d, z1.d, z31.d
-bext z0.h, z1.h, z31.h
-bext z0.s, z1.s, z31.s
-bfcvt z0.h, p0/m, z1.s
-bfcvtnt z0.h, p0/m, z1.s
-bfdot z0.s, z1.h, z2.h
-bfdot z0.s, z1.h, z2.h[0]
-bfdot z0.s, z1.h, z2.h[3]
-bfmlalb z0.s, z1.h, z2.h
-bfmlalb z0.s, z1.h, z2.h[0]
-bfmlalb z0.s, z1.h, z2.h[7]
-bfmlalb z10.s, z21.h, z14.h
-bfmlalb z21.s, z14.h, z3.h[2]
-bfmlalt z0.s, z1.h, z2.h
-bfmlalt z0.s, z1.h, z2.h[0]
-bfmlalt z0.s, z1.h, z2.h[7]
-bfmlalt z0.s, z1.h, z7.h[7]
-bfmlalt z14.s, z10.h, z21.h
-bfmmla z0.s, z1.h, z2.h
-bgrp z0.b, z1.b, z31.b
-bgrp z0.d, z1.d, z31.d
-bgrp z0.h, z1.h, z31.h
-bgrp z0.s, z1.s, z31.s
-bic p0.b, p0/z, p0.b, p0.b
-bic p15.b, p15/z, p15.b, p15.b
-bic z0.d, z0.d, z0.d
-bic z23.d, z13.d, z8.d
-bic z31.b, p7/m, z31.b, z31.b
-bic z31.d, p7/m, z31.d, z31.d
-bic z31.h, p7/m, z31.h, z31.h
-bic z31.s, p7/m, z31.s, z31.s
-bics p0.b, p0/z, p0.b, p0.b
-bics p15.b, p15/z, p15.b, p15.b
-brka p0.b, p15/m, p15.b
-brka p0.b, p15/z, p15.b
-brkas p0.b, p15/z, p15.b
-brkb p0.b, p15/m, p15.b
-brkb p0.b, p15/z, p15.b
-brkbs p0.b, p15/z, p15.b
-brkn p0.b, p15/z, p1.b, p0.b
-brkn p15.b, p15/z, p15.b, p15.b
-brkns p0.b, p15/z, p1.b, p0.b
-brkns p15.b, p15/z, p15.b, p15.b
-brkpa p0.b, p15/z, p1.b, p2.b
-brkpa p15.b, p15/z, p15.b, p15.b
-brkpas p0.b, p15/z, p1.b, p2.b
-brkpas p15.b, p15/z, p15.b, p15.b
-brkpb p0.b, p15/z, p1.b, p2.b
-brkpb p15.b, p15/z, p15.b, p15.b
-brkpbs p0.b, p15/z, p1.b, p2.b
-brkpbs p15.b, p15/z, p15.b, p15.b
-bsl z0.d, z0.d, z1.d, z2.d
-bsl1n z0.d, z0.d, z1.d, z2.d
-bsl2n z0.d, z0.d, z1.d, z2.d
-cadd z0.b, z0.b, z0.b, #90
-cadd z0.d, z0.d, z0.d, #90
-cadd z0.h, z0.h, z0.h, #90
-cadd z0.s, z0.s, z0.s, #90
-cadd z31.b, z31.b, z31.b, #270
-cadd z31.d, z31.d, z31.d, #270
-cadd z31.h, z31.h, z31.h, #270
-cadd z31.s, z31.s, z31.s, #270
-cdot z0.d, z1.h, z15.h[1], #0
-cdot z0.d, z1.h, z31.h, #0
-cdot z0.d, z1.h, z31.h, #180
-cdot z0.d, z1.h, z31.h, #270
-cdot z0.d, z1.h, z31.h, #90
-cdot z0.s, z1.b, z31.b, #0
-cdot z0.s, z1.b, z7.b[3], #0
-cdot z29.d, z30.h, z0.h[0], #180
-cdot z31.d, z30.h, z7.h[1], #270
-cdot z5.d, z6.h, z3.h[0], #90
-clasta b0, p7, b0, z31.b
-clasta d0, p7, d0, z31.d
-clasta h0, p7, h0, z31.h
-clasta s0, p7, s0, z31.s
-clasta w0, p7, w0, z31.b
-clasta w0, p7, w0, z31.h
-clasta w0, p7, w0, z31.s
-clasta x0, p7, x0, z31.d
-clasta z0.b, p7, z0.b, z31.b
-clasta z0.d, p7, z0.d, z31.d
-clasta z0.h, p7, z0.h, z31.h
-clasta z0.s, p7, z0.s, z31.s
-clastb b0, p7, b0, z31.b
-clastb d0, p7, d0, z31.d
-clastb h0, p7, h0, z31.h
-clastb s0, p7, s0, z31.s
-clastb w0, p7, w0, z31.b
-clastb w0, p7, w0, z31.h
-clastb w0, p7, w0, z31.s
-clastb x0, p7, x0, z31.d
-clastb z0.b, p7, z0.b, z31.b
-clastb z0.d, p7, z0.d, z31.d
-clastb z0.h, p7, z0.h, z31.h
-clastb z0.s, p7, z0.s, z31.s
-cls z31.b, p7/m, z31.b
-cls z31.d, p7/m, z31.d
-cls z31.h, p7/m, z31.h
-cls z31.s, p7/m, z31.s
-clz z31.b, p7/m, z31.b
-clz z31.d, p7/m, z31.d
-clz z31.h, p7/m, z31.h
-clz z31.s, p7/m, z31.s
-cmla z0.b, z1.b, z2.b, #0
-cmla z0.d, z1.d, z2.d, #0
-cmla z0.h, z1.h, z2.h, #0
-cmla z0.h, z1.h, z2.h[0], #0
-cmla z0.s, z1.s, z2.s, #0
-cmla z0.s, z1.s, z2.s[0], #0
-cmla z15.b, z16.b, z17.b, #270
-cmla z15.d, z16.d, z17.d, #270
-cmla z15.h, z16.h, z17.h, #270
-cmla z15.s, z16.s, z17.s, #270
-cmla z29.b, z30.b, z31.b, #90
-cmla z29.d, z30.d, z31.d, #90
-cmla z29.h, z30.h, z31.h, #90
-cmla z29.s, z30.s, z31.s, #90
-cmla z31.b, z31.b, z31.b, #180
-cmla z31.d, z31.d, z31.d, #180
-cmla z31.h, z30.h, z7.h[0], #180
-cmla z31.h, z31.h, z31.h, #180
-cmla z31.s, z30.s, z7.s[0], #180
-cmla z31.s, z31.s, z31.s, #180
-cmpeq p0.b, p0/z, z0.b, #-16
-cmpeq p0.b, p0/z, z0.b, #15
-cmpeq p0.b, p0/z, z0.b, z0.b
-cmpeq p0.b, p0/z, z0.b, z0.d
-cmpeq p0.d, p0/z, z0.d, #-16
-cmpeq p0.d, p0/z, z0.d, #15
-cmpeq p0.d, p0/z, z0.d, z0.d
-cmpeq p0.h, p0/z, z0.h, #-16
-cmpeq p0.h, p0/z, z0.h, #15
-cmpeq p0.h, p0/z, z0.h, z0.d
-cmpeq p0.h, p0/z, z0.h, z0.h
-cmpeq p0.s, p0/z, z0.s, #-16
-cmpeq p0.s, p0/z, z0.s, #15
-cmpeq p0.s, p0/z, z0.s, z0.d
-cmpeq p0.s, p0/z, z0.s, z0.s
-cmpge p0.b, p0/z, z0.b, #-16
-cmpge p0.b, p0/z, z0.b, #15
-cmpge p0.b, p0/z, z0.b, z0.b
-cmpge p0.b, p0/z, z0.b, z0.d
-cmpge p0.b, p0/z, z1.b, z0.b
-cmpge p0.d, p0/z, z0.d, #-16
-cmpge p0.d, p0/z, z0.d, #15
-cmpge p0.d, p0/z, z0.d, z0.d
-cmpge p0.d, p0/z, z1.d, z0.d
-cmpge p0.h, p0/z, z0.h, #-16
-cmpge p0.h, p0/z, z0.h, #15
-cmpge p0.h, p0/z, z0.h, z0.d
-cmpge p0.h, p0/z, z0.h, z0.h
-cmpge p0.h, p0/z, z1.h, z0.h
-cmpge p0.s, p0/z, z0.s, #-16
-cmpge p0.s, p0/z, z0.s, #15
-cmpge p0.s, p0/z, z0.s, z0.d
-cmpge p0.s, p0/z, z0.s, z0.s
-cmpge p0.s, p0/z, z1.s, z0.s
-cmpgt p0.b, p0/z, z0.b, #-16
-cmpgt p0.b, p0/z, z0.b, #15
-cmpgt p0.b, p0/z, z0.b, z0.b
-cmpgt p0.b, p0/z, z0.b, z0.d
-cmpgt p0.b, p0/z, z1.b, z0.b
-cmpgt p0.d, p0/z, z0.d, #-16
-cmpgt p0.d, p0/z, z0.d, #15
-cmpgt p0.d, p0/z, z0.d, z0.d
-cmpgt p0.d, p0/z, z1.d, z0.d
-cmpgt p0.h, p0/z, z0.h, #-16
-cmpgt p0.h, p0/z, z0.h, #15
-cmpgt p0.h, p0/z, z0.h, z0.d
-cmpgt p0.h, p0/z, z0.h, z0.h
-cmpgt p0.h, p0/z, z1.h, z0.h
-cmpgt p0.s, p0/z, z0.s, #-16
-cmpgt p0.s, p0/z, z0.s, #15
-cmpgt p0.s, p0/z, z0.s, z0.d
-cmpgt p0.s, p0/z, z0.s, z0.s
-cmpgt p0.s, p0/z, z1.s, z0.s
-cmphi p0.b, p0/z, z0.b, #0
-cmphi p0.b, p0/z, z0.b, #127
-cmphi p0.b, p0/z, z0.b, z0.b
-cmphi p0.b, p0/z, z0.b, z0.d
-cmphi p0.b, p0/z, z1.b, z0.b
-cmphi p0.d, p0/z, z0.d, #0
-cmphi p0.d, p0/z, z0.d, #127
-cmphi p0.d, p0/z, z0.d, z0.d
-cmphi p0.d, p0/z, z1.d, z0.d
-cmphi p0.h, p0/z, z0.h, #0
-cmphi p0.h, p0/z, z0.h, #127
-cmphi p0.h, p0/z, z0.h, z0.d
-cmphi p0.h, p0/z, z0.h, z0.h
-cmphi p0.h, p0/z, z1.h, z0.h
-cmphi p0.s, p0/z, z0.s, #0
-cmphi p0.s, p0/z, z0.s, #127
-cmphi p0.s, p0/z, z0.s, z0.d
-cmphi p0.s, p0/z, z0.s, z0.s
-cmphi p0.s, p0/z, z1.s, z0.s
-cmphs p0.b, p0/z, z0.b, #0
-cmphs p0.b, p0/z, z0.b, #127
-cmphs p0.b, p0/z, z0.b, z0.b
-cmphs p0.b, p0/z, z0.b, z0.d
-cmphs p0.b, p0/z, z1.b, z0.b
-cmphs p0.d, p0/z, z0.d, #0
-cmphs p0.d, p0/z, z0.d, #127
-cmphs p0.d, p0/z, z0.d, z0.d
-cmphs p0.d, p0/z, z1.d, z0.d
-cmphs p0.h, p0/z, z0.h, #0
-cmphs p0.h, p0/z, z0.h, #127
-cmphs p0.h, p0/z, z0.h, z0.d
-cmphs p0.h, p0/z, z0.h, z0.h
-cmphs p0.h, p0/z, z1.h, z0.h
-cmphs p0.s, p0/z, z0.s, #0
-cmphs p0.s, p0/z, z0.s, #127
-cmphs p0.s, p0/z, z0.s, z0.d
-cmphs p0.s, p0/z, z0.s, z0.s
-cmphs p0.s, p0/z, z1.s, z0.s
-cmple p0.b, p0/z, z0.b, #-16
-cmple p0.b, p0/z, z0.b, #15
-cmple p0.b, p0/z, z0.b, z0.d
-cmple p0.d, p0/z, z0.d, #-16
-cmple p0.d, p0/z, z0.d, #15
-cmple p0.h, p0/z, z0.h, #-16
-cmple p0.h, p0/z, z0.h, #15
-cmple p0.h, p0/z, z0.h, z0.d
-cmple p0.s, p0/z, z0.s, #-16
-cmple p0.s, p0/z, z0.s, #15
-cmple p0.s, p0/z, z0.s, z0.d
-cmplo p0.b, p0/z, z0.b, #0
-cmplo p0.b, p0/z, z0.b, #127
-cmplo p0.b, p0/z, z0.b, z0.d
-cmplo p0.d, p0/z, z0.d, #0
-cmplo p0.d, p0/z, z0.d, #127
-cmplo p0.h, p0/z, z0.h, #0
-cmplo p0.h, p0/z, z0.h, #127
-cmplo p0.h, p0/z, z0.h, z0.d
-cmplo p0.s, p0/z, z0.s, #0
-cmplo p0.s, p0/z, z0.s, #127
-cmplo p0.s, p0/z, z0.s, z0.d
-cmpls p0.b, p0/z, z0.b, #0
-cmpls p0.b, p0/z, z0.b, #127
-cmpls p0.b, p0/z, z0.b, z0.d
-cmpls p0.d, p0/z, z0.d, #0
-cmpls p0.d, p0/z, z0.d, #127
-cmpls p0.h, p0/z, z0.h, #0
-cmpls p0.h, p0/z, z0.h, #127
-cmpls p0.h, p0/z, z0.h, z0.d
-cmpls p0.s, p0/z, z0.s, #0
-cmpls p0.s, p0/z, z0.s, #127
-cmpls p0.s, p0/z, z0.s, z0.d
-cmplt p0.b, p0/z, z0.b, #-16
-cmplt p0.b, p0/z, z0.b, #15
-cmplt p0.b, p0/z, z0.b, z0.d
-cmplt p0.d, p0/z, z0.d, #-16
-cmplt p0.d, p0/z, z0.d, #15
-cmplt p0.h, p0/z, z0.h, #-16
-cmplt p0.h, p0/z, z0.h, #15
-cmplt p0.h, p0/z, z0.h, z0.d
-cmplt p0.s, p0/z, z0.s, #-16
-cmplt p0.s, p0/z, z0.s, #15
-cmplt p0.s, p0/z, z0.s, z0.d
-cmpne p0.b, p0/z, z0.b, #-16
-cmpne p0.b, p0/z, z0.b, #15
-cmpne p0.b, p0/z, z0.b, z0.b
-cmpne p0.b, p0/z, z0.b, z0.d
-cmpne p0.d, p0/z, z0.d, #-16
-cmpne p0.d, p0/z, z0.d, #15
-cmpne p0.d, p0/z, z0.d, z0.d
-cmpne p0.h, p0/z, z0.h, #-16
-cmpne p0.h, p0/z, z0.h, #15
-cmpne p0.h, p0/z, z0.h, z0.d
-cmpne p0.h, p0/z, z0.h, z0.h
-cmpne p0.s, p0/z, z0.s, #-16
-cmpne p0.s, p0/z, z0.s, #15
-cmpne p0.s, p0/z, z0.s, z0.d
-cmpne p0.s, p0/z, z0.s, z0.s
-cnot z31.b, p7/m, z31.b
-cnot z31.d, p7/m, z31.d
-cnot z31.h, p7/m, z31.h
-cnot z31.s, p7/m, z31.s
-cnt z31.b, p7/m, z31.b
-cnt z31.d, p7/m, z31.d
-cnt z31.h, p7/m, z31.h
-cnt z31.s, p7/m, z31.s
-cntb x0
-cntb x0, #28
-cntb x0, all, mul #16
-cntb x0, pow2
-cntd x0
-cntd x0, #28
-cntd x0, all, mul #16
-cntd x0, pow2
-cnth x0
-cnth x0, #28
-cnth x0, all, mul #16
-cnth x0, pow2
-cntp x0, p15, p0.b
-cntp x0, p15, p0.d
-cntp x0, p15, p0.h
-cntp x0, p15, p0.s
-cntw x0
-cntw x0, #28
-cntw x0, all, mul #16
-cntw x0, pow2
-compact z31.d, p7, z31.d
-compact z31.s, p7, z31.s
-ctermeq w30, wzr
-ctermeq wzr, w30
-ctermeq x30, xzr
-ctermeq xzr, x30
-ctermne w30, wzr
-ctermne wzr, w30
-ctermne x30, xzr
-ctermne xzr, x30
-decb x0
-decb x0, #14
-decb x0, all, mul #16
-decb x0, pow2
-decb x0, vl1
-decd x0
-decd x0, #14
-decd x0, all, mul #16
-decd x0, pow2
-decd x0, vl1
-dech x0
-dech x0, #14
-dech x0, all, mul #16
-dech x0, pow2
-dech x0, vl1
-decp x0, p0.b
-decp x0, p0.d
-decp x0, p0.h
-decp x0, p0.s
-decp xzr, p15.b
-decp xzr, p15.d
-decp xzr, p15.h
-decp xzr, p15.s
-decp z31.d, p15.d
-decp z31.h, p15.h
-decp z31.s, p15.s
-decw x0
-decw x0, #14
-decw x0, all, mul #16
-decw x0, pow2
-decw x0, vl1
-dupm z0.d, #0xfffffffffffffff9
-dupm z0.s, #0xfffffff9
-dupm z23.h, #0xfff9
-dupm z5.b, #0xf9
-eor p0.b, p0/z, p0.b, p1.b
-eor z0.d, z0.d, #0x6
-eor z0.d, z0.d, #0xfffffffffffffff9
-eor z0.d, z0.d, z0.d
-eor z0.s, z0.s, #0x6
-eor z0.s, z0.s, #0xfffffff9
-eor z23.d, z13.d, z8.d
-eor z23.h, z23.h, #0x6
-eor z23.h, z23.h, #0xfff9
-eor z31.b, p7/m, z31.b, z31.b
-eor z31.d, p7/m, z31.d, z31.d
-eor z31.h, p7/m, z31.h, z31.h
-eor z31.s, p7/m, z31.s, z31.s
-eor z5.b, z5.b, #0x6
-eor z5.b, z5.b, #0xf9
-eor3 z29.d, z29.d, z30.d, z31.d
-eorbt z0.b, z1.b, z31.b
-eorbt z0.d, z1.d, z31.d
-eorbt z0.h, z1.h, z31.h
-eorbt z0.s, z1.s, z31.s
-eors p0.b, p0/z, p0.b, p1.b
-eortb z0.b, z1.b, z31.b
-eortb z0.d, z1.d, z31.d
-eortb z0.h, z1.h, z31.h
-eortb z0.s, z1.s, z31.s
-eorv b0, p7, z31.b
-eorv d0, p7, z31.d
-eorv h0, p7, z31.h
-eorv s0, p7, z31.s
-ext z0.b, { z1.b, z2.b }, #0
-ext z31.b, z31.b, z0.b, #0
-ext z31.b, z31.b, z0.b, #255
-ext z31.b, { z30.b, z31.b }, #255
-fabd z0.d, p7/m, z0.d, z31.d
-fabd z0.h, p7/m, z0.h, z31.h
-fabd z0.s, p7/m, z0.s, z31.s
-fabs z31.d, p7/m, z31.d
-fabs z31.h, p7/m, z31.h
-fabs z31.s, p7/m, z31.s
-facge p0.d, p0/z, z0.d, z1.d
-facge p0.d, p0/z, z1.d, z0.d
-facge p0.h, p0/z, z0.h, z1.h
-facge p0.h, p0/z, z1.h, z0.h
-facge p0.s, p0/z, z0.s, z1.s
-facge p0.s, p0/z, z1.s, z0.s
-facgt p0.d, p0/z, z0.d, z1.d
-facgt p0.d, p0/z, z1.d, z0.d
-facgt p0.h, p0/z, z0.h, z1.h
-facgt p0.h, p0/z, z1.h, z0.h
-facgt p0.s, p0/z, z0.s, z1.s
-facgt p0.s, p0/z, z1.s, z0.s
-fadd z0.d, p0/m, z0.d, #0.5
-fadd z0.d, p7/m, z0.d, z31.d
-fadd z0.d, z1.d, z31.d
-fadd z0.h, p0/m, z0.h, #0.5
-fadd z0.h, p7/m, z0.h, z31.h
-fadd z0.h, z1.h, z31.h
-fadd z0.s, p0/m, z0.s, #0.5
-fadd z0.s, p7/m, z0.s, z31.s
-fadd z0.s, z1.s, z31.s
-fadd z31.d, p7/m, z31.d, #1.0
-fadd z31.h, p7/m, z31.h, #1.0
-fadd z31.s, p7/m, z31.s, #1.0
-fadda d0, p7, d0, z31.d
-fadda h0, p7, h0, z31.h
-fadda s0, p7, s0, z31.s
-faddp z0.h, p0/m, z0.h, z1.h
-faddp z29.s, p3/m, z29.s, z30.s
-faddp z31.d, p7/m, z31.d, z30.d
-faddv d0, p7, z31.d
-faddv h0, p7, z31.h
-faddv s0, p7, z31.s
-fcadd z0.d, p0/m, z0.d, z0.d, #90
-fcadd z0.h, p0/m, z0.h, z0.h, #90
-fcadd z0.s, p0/m, z0.s, z0.s, #90
-fcadd z31.d, p7/m, z31.d, z31.d, #270
-fcadd z31.h, p7/m, z31.h, z31.h, #270
-fcadd z31.s, p7/m, z31.s, z31.s, #270
-fcmeq p0.d, p0/z, z0.d, #0.0
-fcmeq p0.d, p0/z, z0.d, z1.d
-fcmeq p0.h, p0/z, z0.h, #0.0
-fcmeq p0.h, p0/z, z0.h, z1.h
-fcmeq p0.s, p0/z, z0.s, #0.0
-fcmeq p0.s, p0/z, z0.s, z1.s
-fcmge p0.d, p0/z, z0.d, #0.0
-fcmge p0.d, p0/z, z0.d, z1.d
-fcmge p0.d, p0/z, z1.d, z0.d
-fcmge p0.h, p0/z, z0.h, #0.0
-fcmge p0.h, p0/z, z0.h, z1.h
-fcmge p0.h, p0/z, z1.h, z0.h
-fcmge p0.s, p0/z, z0.s, #0.0
-fcmge p0.s, p0/z, z0.s, z1.s
-fcmge p0.s, p0/z, z1.s, z0.s
-fcmgt p0.d, p0/z, z0.d, #0.0
-fcmgt p0.d, p0/z, z0.d, z1.d
-fcmgt p0.d, p0/z, z1.d, z0.d
-fcmgt p0.h, p0/z, z0.h, #0.0
-fcmgt p0.h, p0/z, z0.h, z1.h
-fcmgt p0.h, p0/z, z1.h, z0.h
-fcmgt p0.s, p0/z, z0.s, #0.0
-fcmgt p0.s, p0/z, z0.s, z1.s
-fcmgt p0.s, p0/z, z1.s, z0.s
-fcmla z0.d, p0/m, z0.d, z0.d, #0
-fcmla z0.d, p0/m, z1.d, z2.d, #90
-fcmla z0.h, p0/m, z0.h, z0.h, #0
-fcmla z0.h, p0/m, z1.h, z2.h, #90
-fcmla z0.h, z0.h, z0.h[0], #0
-fcmla z0.s, p0/m, z0.s, z0.s, #0
-fcmla z0.s, p0/m, z1.s, z2.s, #90
-fcmla z21.s, z10.s, z5.s[1], #90
-fcmla z23.s, z13.s, z8.s[0], #270
-fcmla z29.d, p7/m, z30.d, z31.d, #180
-fcmla z29.h, p7/m, z30.h, z31.h, #180
-fcmla z29.s, p7/m, z30.s, z31.s, #180
-fcmla z31.d, p7/m, z31.d, z31.d, #270
-fcmla z31.h, p7/m, z31.h, z31.h, #270
-fcmla z31.h, z31.h, z7.h[3], #270
-fcmla z31.s, p7/m, z31.s, z31.s, #270
-fcmle p0.d, p0/z, z0.d, #0.0
-fcmle p0.h, p0/z, z0.h, #0.0
-fcmle p0.s, p0/z, z0.s, #0.0
-fcmlt p0.d, p0/z, z0.d, #0.0
-fcmlt p0.h, p0/z, z0.h, #0.0
-fcmlt p0.s, p0/z, z0.s, #0.0
-fcmne p0.d, p0/z, z0.d, #0.0
-fcmne p0.d, p0/z, z0.d, z1.d
-fcmne p0.h, p0/z, z0.h, #0.0
-fcmne p0.h, p0/z, z0.h, z1.h
-fcmne p0.s, p0/z, z0.s, #0.0
-fcmne p0.s, p0/z, z0.s, z1.s
-fcmuo p0.d, p0/z, z0.d, z1.d
-fcmuo p0.h, p0/z, z0.h, z1.h
-fcmuo p0.s, p0/z, z0.s, z1.s
-fcvt z0.d, p0/m, z0.h
-fcvt z0.d, p0/m, z0.s
-fcvt z0.h, p0/m, z0.d
-fcvt z0.h, p0/m, z0.s
-fcvt z0.s, p0/m, z0.d
-fcvt z0.s, p0/m, z0.h
-fcvtlt z0.s, p0/m, z1.h
-fcvtlt z30.d, p7/m, z31.s
-fcvtnt z0.h, p0/m, z1.s
-fcvtnt z30.s, p7/m, z31.d
-fcvtx z0.s, p0/m, z0.d
-fcvtx z30.s, p7/m, z31.d
-fcvtxnt z0.s, p0/m, z1.d
-fcvtxnt z30.s, p7/m, z31.d
-fcvtzs z0.d, p0/m, z0.d
-fcvtzs z0.d, p0/m, z0.h
-fcvtzs z0.d, p0/m, z0.s
-fcvtzs z0.h, p0/m, z0.h
-fcvtzs z0.s, p0/m, z0.d
-fcvtzs z0.s, p0/m, z0.h
-fcvtzs z0.s, p0/m, z0.s
-fcvtzu z0.d, p0/m, z0.d
-fcvtzu z0.d, p0/m, z0.h
-fcvtzu z0.d, p0/m, z0.s
-fcvtzu z0.h, p0/m, z0.h
-fcvtzu z0.s, p0/m, z0.d
-fcvtzu z0.s, p0/m, z0.h
-fcvtzu z0.s, p0/m, z0.s
-fdiv z0.d, p7/m, z0.d, z31.d
-fdiv z0.h, p7/m, z0.h, z31.h
-fdiv z0.s, p7/m, z0.s, z31.s
-fdivr z0.d, p7/m, z0.d, z31.d
-fdivr z0.h, p7/m, z0.h, z31.h
-fdivr z0.s, p7/m, z0.s, z31.s
-fexpa z0.d, z31.d
-fexpa z0.h, z31.h
-fexpa z0.s, z31.s
-flogb z31.d, p7/m, z31.d
-flogb z31.h, p7/m, z31.h
-flogb z31.s, p7/m, z31.s
-fmad z0.d, p7/m, z1.d, z31.d
-fmad z0.h, p7/m, z1.h, z31.h
-fmad z0.s, p7/m, z1.s, z31.s
-fmax z0.d, p0/m, z0.d, #0.0
-fmax z0.d, p7/m, z0.d, z31.d
-fmax z0.h, p0/m, z0.h, #0.0
-fmax z0.h, p7/m, z0.h, z31.h
-fmax z0.s, p0/m, z0.s, #0.0
-fmax z0.s, p7/m, z0.s, z31.s
-fmax z31.d, p7/m, z31.d, #1.0
-fmax z31.h, p7/m, z31.h, #1.0
-fmax z31.s, p7/m, z31.s, #1.0
-fmaxnm z0.d, p0/m, z0.d, #0.0
-fmaxnm z0.d, p7/m, z0.d, z31.d
-fmaxnm z0.h, p0/m, z0.h, #0.0
-fmaxnm z0.h, p7/m, z0.h, z31.h
-fmaxnm z0.s, p0/m, z0.s, #0.0
-fmaxnm z0.s, p7/m, z0.s, z31.s
-fmaxnm z31.d, p7/m, z31.d, #1.0
-fmaxnm z31.h, p7/m, z31.h, #1.0
-fmaxnm z31.s, p7/m, z31.s, #1.0
-fmaxnmp z0.h, p0/m, z0.h, z1.h
-fmaxnmp z29.s, p3/m, z29.s, z30.s
-fmaxnmp z31.d, p7/m, z31.d, z30.d
-fmaxnmv d0, p7, z31.d
-fmaxnmv h0, p7, z31.h
-fmaxnmv s0, p7, z31.s
-fmaxp z0.h, p0/m, z0.h, z1.h
-fmaxp z29.s, p3/m, z29.s, z30.s
-fmaxp z31.d, p7/m, z31.d, z30.d
-fmaxv d0, p7, z31.d
-fmaxv h0, p7, z31.h
-fmaxv s0, p7, z31.s
-fmin z0.d, p0/m, z0.d, #0.0
-fmin z0.d, p7/m, z0.d, z31.d
-fmin z0.h, p0/m, z0.h, #0.0
-fmin z0.h, p7/m, z0.h, z31.h
-fmin z0.s, p0/m, z0.s, #0.0
-fmin z0.s, p7/m, z0.s, z31.s
-fmin z31.d, p7/m, z31.d, #1.0
-fmin z31.h, p7/m, z31.h, #1.0
-fmin z31.s, p7/m, z31.s, #1.0
-fminnm z0.d, p0/m, z0.d, #0.0
-fminnm z0.d, p7/m, z0.d, z31.d
-fminnm z0.h, p0/m, z0.h, #0.0
-fminnm z0.h, p7/m, z0.h, z31.h
-fminnm z0.s, p0/m, z0.s, #0.0
-fminnm z0.s, p7/m, z0.s, z31.s
-fminnm z31.d, p7/m, z31.d, #1.0
-fminnm z31.h, p7/m, z31.h, #1.0
-fminnm z31.s, p7/m, z31.s, #1.0
-fminnmp z0.h, p0/m, z0.h, z1.h
-fminnmp z29.s, p3/m, z29.s, z30.s
-fminnmp z31.d, p7/m, z31.d, z30.d
-fminnmv d0, p7, z31.d
-fminnmv h0, p7, z31.h
-fminnmv s0, p7, z31.s
-fminp z0.h, p0/m, z0.h, z1.h
-fminp z29.s, p3/m, z29.s, z30.s
-fminp z31.d, p7/m, z31.d, z30.d
-fminv d0, p7, z31.d
-fminv h0, p7, z31.h
-fminv s0, p7, z31.s
-fmla z0.d, p7/m, z1.d, z31.d
-fmla z0.d, z1.d, z7.d[1]
-fmla z0.h, p7/m, z1.h, z31.h
-fmla z0.h, z1.h, z7.h[7]
-fmla z0.s, p7/m, z1.s, z31.s
-fmla z0.s, z1.s, z7.s[3]
-fmlalb z0.s, z1.h, z7.h[0]
-fmlalb z29.s, z30.h, z31.h
-fmlalb z30.s, z31.h, z7.h[7]
-fmlalt z0.s, z1.h, z7.h[0]
-fmlalt z29.s, z30.h, z31.h
-fmlalt z30.s, z31.h, z7.h[7]
-fmls z0.d, p7/m, z1.d, z31.d
-fmls z0.d, z1.d, z7.d[1]
-fmls z0.h, p7/m, z1.h, z31.h
-fmls z0.h, z1.h, z7.h[7]
-fmls z0.s, p7/m, z1.s, z31.s
-fmls z0.s, z1.s, z7.s[3]
-fmlslb z0.s, z1.h, z7.h[0]
-fmlslb z29.s, z30.h, z31.h
-fmlslb z30.s, z31.h, z7.h[7]
-fmlslt z0.s, z1.h, z7.h[0]
-fmlslt z29.s, z30.h, z31.h
-fmlslt z30.s, z31.h, z7.h[7]
-fmov z0.d, #-10.00000000
-fmov z0.d, #0.12500000
-fmov z0.d, p0/m, #-10.00000000
-fmov z0.d, p0/m, #0.12500000
-fmov z0.h, #-0.12500000
-fmov z0.h, p0/m, #-0.12500000
-fmov z0.s, #-0.12500000
-fmov z0.s, p0/m, #-0.12500000
-fmsb z0.d, p7/m, z1.d, z31.d
-fmsb z0.h, p7/m, z1.h, z31.h
-fmsb z0.s, p7/m, z1.s, z31.s
-fmul z0.d, p0/m, z0.d, #0.5
-fmul z0.d, p7/m, z0.d, z31.d
-fmul z0.d, z0.d, z0.d[0]
-fmul z0.d, z1.d, z31.d
-fmul z0.h, p0/m, z0.h, #0.5
-fmul z0.h, p7/m, z0.h, z31.h
-fmul z0.h, z0.h, z0.h[0]
-fmul z0.h, z1.h, z31.h
-fmul z0.s, p0/m, z0.s, #0.5
-fmul z0.s, p7/m, z0.s, z31.s
-fmul z0.s, z0.s, z0.s[0]
-fmul z0.s, z1.s, z31.s
-fmul z31.d, p7/m, z31.d, #2.0
-fmul z31.d, z31.d, z15.d[1]
-fmul z31.h, p7/m, z31.h, #2.0
-fmul z31.h, z31.h, z7.h[7]
-fmul z31.s, p7/m, z31.s, #2.0
-fmul z31.s, z31.s, z7.s[3]
-fmulx z0.d, p7/m, z0.d, z31.d
-fmulx z0.h, p7/m, z0.h, z31.h
-fmulx z0.s, p7/m, z0.s, z31.s
-fneg z31.d, p7/m, z31.d
-fneg z31.h, p7/m, z31.h
-fneg z31.s, p7/m, z31.s
-fnmad z0.d, p7/m, z1.d, z31.d
-fnmad z0.h, p7/m, z1.h, z31.h
-fnmad z0.s, p7/m, z1.s, z31.s
-fnmla z0.d, p7/m, z1.d, z31.d
-fnmla z0.h, p7/m, z1.h, z31.h
-fnmla z0.s, p7/m, z1.s, z31.s
-fnmls z0.d, p7/m, z1.d, z31.d
-fnmls z0.h, p7/m, z1.h, z31.h
-fnmls z0.s, p7/m, z1.s, z31.s
-fnmsb z0.d, p7/m, z1.d, z31.d
-fnmsb z0.h, p7/m, z1.h, z31.h
-fnmsb z0.s, p7/m, z1.s, z31.s
-frecpe z0.d, z31.d
-frecpe z0.h, z31.h
-frecpe z0.s, z31.s
-frecps z0.d, z1.d, z31.d
-frecps z0.h, z1.h, z31.h
-frecps z0.s, z1.s, z31.s
-frecpx z31.d, p7/m, z31.d
-frecpx z31.h, p7/m, z31.h
-frecpx z31.s, p7/m, z31.s
-frinta z31.d, p7/m, z31.d
-frinta z31.h, p7/m, z31.h
-frinta z31.s, p7/m, z31.s
-frinti z31.d, p7/m, z31.d
-frinti z31.h, p7/m, z31.h
-frinti z31.s, p7/m, z31.s
-frintm z31.d, p7/m, z31.d
-frintm z31.h, p7/m, z31.h
-frintm z31.s, p7/m, z31.s
-frintn z31.d, p7/m, z31.d
-frintn z31.h, p7/m, z31.h
-frintn z31.s, p7/m, z31.s
-frintp z31.d, p7/m, z31.d
-frintp z31.h, p7/m, z31.h
-frintp z31.s, p7/m, z31.s
-frintx z31.d, p7/m, z31.d
-frintx z31.h, p7/m, z31.h
-frintx z31.s, p7/m, z31.s
-frintz z31.d, p7/m, z31.d
-frintz z31.h, p7/m, z31.h
-frintz z31.s, p7/m, z31.s
-frsqrte z0.d, z31.d
-frsqrte z0.h, z31.h
-frsqrte z0.s, z31.s
-frsqrts z0.d, z1.d, z31.d
-frsqrts z0.h, z1.h, z31.h
-frsqrts z0.s, z1.s, z31.s
-fscale z0.d, p7/m, z0.d, z31.d
-fscale z0.h, p7/m, z0.h, z31.h
-fscale z0.s, p7/m, z0.s, z31.s
-fsqrt z31.d, p7/m, z31.d
-fsqrt z31.h, p7/m, z31.h
-fsqrt z31.s, p7/m, z31.s
-fsub z0.d, p0/m, z0.d, #0.5
-fsub z0.d, p7/m, z0.d, z31.d
-fsub z0.d, z1.d, z31.d
-fsub z0.h, p0/m, z0.h, #0.5
-fsub z0.h, p7/m, z0.h, z31.h
-fsub z0.h, z1.h, z31.h
-fsub z0.s, p0/m, z0.s, #0.5
-fsub z0.s, p7/m, z0.s, z31.s
-fsub z0.s, z1.s, z31.s
-fsub z31.d, p7/m, z31.d, #1.0
-fsub z31.h, p7/m, z31.h, #1.0
-fsub z31.s, p7/m, z31.s, #1.0
-fsubr z0.d, p0/m, z0.d, #0.5
-fsubr z0.d, p7/m, z0.d, z31.d
-fsubr z0.h, p0/m, z0.h, #0.5
-fsubr z0.h, p7/m, z0.h, z31.h
-fsubr z0.s, p0/m, z0.s, #0.5
-fsubr z0.s, p7/m, z0.s, z31.s
-fsubr z31.d, p7/m, z31.d, #1.0
-fsubr z31.h, p7/m, z31.h, #1.0
-fsubr z31.s, p7/m, z31.s, #1.0
-ftmad z0.d, z0.d, z31.d, #7
-ftmad z0.h, z0.h, z31.h, #7
-ftmad z0.s, z0.s, z31.s, #7
-ftsmul z0.d, z1.d, z31.d
-ftsmul z0.h, z1.h, z31.h
-ftsmul z0.s, z1.s, z31.s
-ftssel z0.d, z1.d, z31.d
-ftssel z0.h, z1.h, z31.h
-ftssel z0.s, z1.s, z31.s
-histcnt z0.s, p0/z, z1.s, z2.s
-histcnt z29.d, p7/z, z30.d, z31.d
-histseg z0.b, z1.b, z31.b
-incb x0
-incb x0, #14
-incb x0, all, mul #16
-incb x0, pow2
-incb x0, vl1
-incd x0
-incd x0, #14
-incd x0, all, mul #16
-incd x0, pow2
-incd x0, vl1
-incd z0.d
-incd z0.d, all, mul #16
-inch x0
-inch x0, #14
-inch x0, all, mul #16
-inch x0, pow2
-inch x0, vl1
-inch z0.h
-inch z0.h, all, mul #16
-incp x0, p0.b
-incp x0, p0.d
-incp x0, p0.h
-incp x0, p0.s
-incp xzr, p15.b
-incp xzr, p15.d
-incp xzr, p15.h
-incp xzr, p15.s
-incp z31.d, p15.d
-incp z31.h, p15.h
-incp z31.s, p15.s
-incw x0
-incw x0, #14
-incw x0, all, mul #16
-incw x0, pow2
-incw x0, vl1
-incw z0.s
-incw z0.s, all, mul #16
-index z0.b, #0, #0
-index z0.d, #0, #0
-index z0.h, #0, #0
-index z0.h, w0, w0
-index z0.s, #0, #0
-index z21.b, w10, w21
-index z21.d, x10, x21
-index z21.s, w10, w21
-index z23.b, #13, w8
-index z23.b, w13, #8
-index z23.d, #13, x8
-index z23.d, x13, #8
-index z23.h, #13, w8
-index z23.h, w13, #8
-index z23.s, #13, w8
-index z23.s, w13, #8
-index z31.b, #-1, #-1
-index z31.b, #-1, wzr
-index z31.b, wzr, #-1
-index z31.b, wzr, wzr
-index z31.d, #-1, #-1
-index z31.d, #-1, xzr
-index z31.d, xzr, #-1
-index z31.d, xzr, xzr
-index z31.h, #-1, #-1
-index z31.h, #-1, wzr
-index z31.h, wzr, #-1
-index z31.h, wzr, wzr
-index z31.s, #-1, #-1
-index z31.s, #-1, wzr
-index z31.s, wzr, #-1
-index z31.s, wzr, wzr
-insr z0.b, w0
-insr z0.d, x0
-insr z0.h, w0
-insr z0.s, w0
-insr z31.b, b31
-insr z31.b, wzr
-insr z31.d, d31
-insr z31.d, xzr
-insr z31.h, h31
-insr z31.h, wzr
-insr z31.s, s31
-insr z31.s, wzr
-lasta b0, p7, z31.b
-lasta d0, p7, z31.d
-lasta h0, p7, z31.h
-lasta s0, p7, z31.s
-lasta w0, p7, z31.b
-lasta w0, p7, z31.h
-lasta w0, p7, z31.s
-lasta x0, p7, z31.d
-lastb b0, p7, z31.b
-lastb d0, p7, z31.d
-lastb h0, p7, z31.h
-lastb s0, p7, z31.s
-lastb w0, p7, z31.b
-lastb w0, p7, z31.h
-lastb w0, p7, z31.s
-lastb x0, p7, z31.d
-ld1b { z0.b }, p0/z, [sp, x0]
-ld1b { z0.b }, p0/z, [x0, x0]
-ld1b { z0.b }, p0/z, [x0]
-ld1b { z0.d }, p0/z, [x0]
-ld1b { z0.d }, p0/z, [z0.d]
-ld1b { z0.h }, p0/z, [x0]
-ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
-ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
-ld1b { z0.s }, p0/z, [x0]
-ld1b { z0.s }, p0/z, [z0.s]
-ld1b { z21.b }, p5/z, [x10, #5, mul vl]
-ld1b { z21.d }, p5/z, [x10, #5, mul vl]
-ld1b { z21.d }, p5/z, [x10, z21.d, sxtw]
-ld1b { z21.d }, p5/z, [x10, z21.d, uxtw]
-ld1b { z21.h }, p5/z, [x10, #5, mul vl]
-ld1b { z21.s }, p5/z, [x10, #5, mul vl]
-ld1b { z21.s }, p5/z, [x10, x21]
-ld1b { z23.d }, p3/z, [x13, x8]
-ld1b { z31.b }, p7/z, [sp, #-1, mul vl]
-ld1b { z31.d }, p7/z, [sp, #-1, mul vl]
-ld1b { z31.d }, p7/z, [sp, z31.d]
-ld1b { z31.d }, p7/z, [z31.d, #31]
-ld1b { z31.h }, p7/z, [sp, #-1, mul vl]
-ld1b { z31.s }, p7/z, [sp, #-1, mul vl]
-ld1b { z31.s }, p7/z, [z31.s, #31]
-ld1b { z5.h }, p3/z, [x17, x16]
-ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
-ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
-ld1d { z0.d }, p0/z, [x0]
-ld1d { z0.d }, p0/z, [z0.d]
-ld1d { z21.d }, p5/z, [x10, #5, mul vl]
-ld1d { z21.d }, p5/z, [x10, z21.d, sxtw]
-ld1d { z21.d }, p5/z, [x10, z21.d, uxtw]
-ld1d { z23.d }, p3/z, [sp, x8, lsl #3]
-ld1d { z23.d }, p3/z, [x13, x8, lsl #3]
-ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
-ld1d { z31.d }, p7/z, [sp, #-1, mul vl]
-ld1d { z31.d }, p7/z, [sp, z31.d]
-ld1d { z31.d }, p7/z, [z31.d, #248]
-ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-ld1h { z0.d }, p0/z, [x0]
-ld1h { z0.d }, p0/z, [z0.d]
-ld1h { z0.h }, p0/z, [x0]
-ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
-ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
-ld1h { z0.s }, p0/z, [x0]
-ld1h { z0.s }, p0/z, [z0.s]
-ld1h { z21.d }, p5/z, [x10, #5, mul vl]
-ld1h { z21.d }, p5/z, [x10, z21.d, sxtw]
-ld1h { z21.d }, p5/z, [x10, z21.d, uxtw]
-ld1h { z21.h }, p5/z, [x10, #5, mul vl]
-ld1h { z21.s }, p5/z, [x10, #5, mul vl]
-ld1h { z21.s }, p5/z, [x10, x21, lsl #1]
-ld1h { z23.d }, p3/z, [x13, x8, lsl #1]
-ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
-ld1h { z31.d }, p7/z, [sp, #-1, mul vl]
-ld1h { z31.d }, p7/z, [sp, z31.d]
-ld1h { z31.d }, p7/z, [z31.d, #62]
-ld1h { z31.h }, p7/z, [sp, #-1, mul vl]
-ld1h { z31.s }, p7/z, [sp, #-1, mul vl]
-ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-ld1h { z31.s }, p7/z, [z31.s, #62]
-ld1h { z5.h }, p3/z, [sp, x16, lsl #1]
-ld1h { z5.h }, p3/z, [x17, x16, lsl #1]
-ld1rb { z0.b }, p0/z, [x0]
-ld1rb { z0.d }, p0/z, [x0]
-ld1rb { z0.h }, p0/z, [x0]
-ld1rb { z0.s }, p0/z, [x0]
-ld1rb { z31.b }, p7/z, [sp, #63]
-ld1rb { z31.d }, p7/z, [sp, #63]
-ld1rb { z31.h }, p7/z, [sp, #63]
-ld1rb { z31.s }, p7/z, [sp, #63]
-ld1rd { z0.d }, p0/z, [x0]
-ld1rd { z31.d }, p7/z, [sp, #504]
-ld1rh { z0.d }, p0/z, [x0]
-ld1rh { z0.h }, p0/z, [x0]
-ld1rh { z0.s }, p0/z, [x0]
-ld1rh { z31.d }, p7/z, [sp, #126]
-ld1rh { z31.h }, p7/z, [sp, #126]
-ld1rh { z31.s }, p7/z, [sp, #126]
-ld1rqb { z0.b }, p0/z, [x0, x0]
-ld1rqb { z0.b }, p0/z, [x0]
-ld1rqb { z21.b }, p5/z, [x10, #112]
-ld1rqb { z23.b }, p3/z, [x13, #-128]
-ld1rqb { z31.b }, p7/z, [sp, #-16]
-ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3]
-ld1rqd { z0.d }, p0/z, [x0]
-ld1rqd { z23.d }, p3/z, [x13, #-128]
-ld1rqd { z23.d }, p3/z, [x13, #112]
-ld1rqd { z31.d }, p7/z, [sp, #-16]
-ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1]
-ld1rqh { z0.h }, p0/z, [x0]
-ld1rqh { z23.h }, p3/z, [x13, #-128]
-ld1rqh { z23.h }, p3/z, [x13, #112]
-ld1rqh { z31.h }, p7/z, [sp, #-16]
-ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2]
-ld1rqw { z0.s }, p0/z, [x0]
-ld1rqw { z23.s }, p3/z, [x13, #-128]
-ld1rqw { z23.s }, p3/z, [x13, #112]
-ld1rqw { z31.s }, p7/z, [sp, #-16]
-ld1rsb { z0.d }, p0/z, [x0]
-ld1rsb { z0.h }, p0/z, [x0]
-ld1rsb { z0.s }, p0/z, [x0]
-ld1rsb { z31.d }, p7/z, [sp, #63]
-ld1rsb { z31.h }, p7/z, [sp, #63]
-ld1rsb { z31.s }, p7/z, [sp, #63]
-ld1rsh { z0.d }, p0/z, [x0]
-ld1rsh { z0.s }, p0/z, [x0]
-ld1rsh { z31.d }, p7/z, [sp, #126]
-ld1rsh { z31.s }, p7/z, [sp, #126]
-ld1rsw { z0.d }, p0/z, [x0]
-ld1rsw { z31.d }, p7/z, [sp, #252]
-ld1rw { z0.d }, p0/z, [x0]
-ld1rw { z0.s }, p0/z, [x0]
-ld1rw { z31.d }, p7/z, [sp, #252]
-ld1rw { z31.s }, p7/z, [sp, #252]
-ld1sb { z0.d }, p0/z, [x0]
-ld1sb { z0.d }, p0/z, [z0.d]
-ld1sb { z0.h }, p0/z, [sp, x0]
-ld1sb { z0.h }, p0/z, [x0, x0]
-ld1sb { z0.h }, p0/z, [x0]
-ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
-ld1sb { z0.s }, p0/z, [x0]
-ld1sb { z0.s }, p0/z, [z0.s]
-ld1sb { z21.d }, p5/z, [x10, #5, mul vl]
-ld1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
-ld1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
-ld1sb { z21.h }, p5/z, [x10, #5, mul vl]
-ld1sb { z21.s }, p5/z, [x10, #5, mul vl]
-ld1sb { z21.s }, p5/z, [x10, x21]
-ld1sb { z23.d }, p3/z, [x13, x8]
-ld1sb { z31.d }, p7/z, [sp, #-1, mul vl]
-ld1sb { z31.d }, p7/z, [sp, z31.d]
-ld1sb { z31.d }, p7/z, [z31.d, #31]
-ld1sb { z31.h }, p7/z, [sp, #-1, mul vl]
-ld1sb { z31.s }, p7/z, [sp, #-1, mul vl]
-ld1sb { z31.s }, p7/z, [z31.s, #31]
-ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-ld1sh { z0.d }, p0/z, [x0]
-ld1sh { z0.d }, p0/z, [z0.d]
-ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
-ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
-ld1sh { z0.s }, p0/z, [x0]
-ld1sh { z0.s }, p0/z, [z0.s]
-ld1sh { z21.d }, p5/z, [x10, #5, mul vl]
-ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
-ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
-ld1sh { z21.s }, p5/z, [sp, x21, lsl #1]
-ld1sh { z21.s }, p5/z, [x10, #5, mul vl]
-ld1sh { z21.s }, p5/z, [x10, x21, lsl #1]
-ld1sh { z23.d }, p3/z, [x13, x8, lsl #1]
-ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
-ld1sh { z31.d }, p7/z, [sp, #-1, mul vl]
-ld1sh { z31.d }, p7/z, [sp, z31.d]
-ld1sh { z31.d }, p7/z, [z31.d, #62]
-ld1sh { z31.s }, p7/z, [sp, #-1, mul vl]
-ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-ld1sh { z31.s }, p7/z, [z31.s, #62]
-ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-ld1sw { z0.d }, p0/z, [x0]
-ld1sw { z0.d }, p0/z, [z0.d]
-ld1sw { z21.d }, p5/z, [x10, #5, mul vl]
-ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
-ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
-ld1sw { z23.d }, p3/z, [sp, x8, lsl #2]
-ld1sw { z23.d }, p3/z, [x13, x8, lsl #2]
-ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
-ld1sw { z31.d }, p7/z, [sp, #-1, mul vl]
-ld1sw { z31.d }, p7/z, [sp, z31.d]
-ld1sw { z31.d }, p7/z, [z31.d, #124]
-ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-ld1w { z0.d }, p0/z, [x0]
-ld1w { z0.d }, p0/z, [z0.d]
-ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
-ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
-ld1w { z0.s }, p0/z, [x0]
-ld1w { z0.s }, p0/z, [z0.s]
-ld1w { z21.d }, p5/z, [x10, #5, mul vl]
-ld1w { z21.d }, p5/z, [x10, z21.d, sxtw]
-ld1w { z21.d }, p5/z, [x10, z21.d, uxtw]
-ld1w { z21.s }, p5/z, [sp, x21, lsl #2]
-ld1w { z21.s }, p5/z, [x10, #5, mul vl]
-ld1w { z21.s }, p5/z, [x10, x21, lsl #2]
-ld1w { z23.d }, p3/z, [x13, x8, lsl #2]
-ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
-ld1w { z31.d }, p7/z, [sp, #-1, mul vl]
-ld1w { z31.d }, p7/z, [sp, z31.d]
-ld1w { z31.d }, p7/z, [z31.d, #124]
-ld1w { z31.s }, p7/z, [sp, #-1, mul vl]
-ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
-ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
-ld1w { z31.s }, p7/z, [z31.s, #124]
-ld2b { z0.b, z1.b }, p0/z, [x0, x0]
-ld2b { z0.b, z1.b }, p0/z, [x0]
-ld2b { z21.b, z22.b }, p5/z, [x10, #10, mul vl]
-ld2b { z23.b, z24.b }, p3/z, [x13, #-16, mul vl]
-ld2b { z5.b, z6.b }, p3/z, [x17, x16]
-ld2d { z0.d, z1.d }, p0/z, [x0, x0, lsl #3]
-ld2d { z0.d, z1.d }, p0/z, [x0]
-ld2d { z21.d, z22.d }, p5/z, [x10, #10, mul vl]
-ld2d { z23.d, z24.d }, p3/z, [x13, #-16, mul vl]
-ld2d { z5.d, z6.d }, p3/z, [x17, x16, lsl #3]
-ld2h { z0.h, z1.h }, p0/z, [x0, x0, lsl #1]
-ld2h { z0.h, z1.h }, p0/z, [x0]
-ld2h { z21.h, z22.h }, p5/z, [x10, #10, mul vl]
-ld2h { z23.h, z24.h }, p3/z, [x13, #-16, mul vl]
-ld2h { z5.h, z6.h }, p3/z, [x17, x16, lsl #1]
-ld2w { z0.s, z1.s }, p0/z, [x0, x0, lsl #2]
-ld2w { z0.s, z1.s }, p0/z, [x0]
-ld2w { z21.s, z22.s }, p5/z, [x10, #10, mul vl]
-ld2w { z23.s, z24.s }, p3/z, [x13, #-16, mul vl]
-ld2w { z5.s, z6.s }, p3/z, [x17, x16, lsl #2]
-ld3b { z0.b, z1.b, z2.b }, p0/z, [x0, x0]
-ld3b { z0.b, z1.b, z2.b }, p0/z, [x0]
-ld3b { z21.b, z22.b, z23.b }, p5/z, [x10, #15, mul vl]
-ld3b { z23.b, z24.b, z25.b }, p3/z, [x13, #-24, mul vl]
-ld3b { z5.b, z6.b, z7.b }, p3/z, [x17, x16]
-ld3d { z0.d, z1.d, z2.d }, p0/z, [x0, x0, lsl #3]
-ld3d { z0.d, z1.d, z2.d }, p0/z, [x0]
-ld3d { z21.d, z22.d, z23.d }, p5/z, [x10, #15, mul vl]
-ld3d { z23.d, z24.d, z25.d }, p3/z, [x13, #-24, mul vl]
-ld3d { z5.d, z6.d, z7.d }, p3/z, [x17, x16, lsl #3]
-ld3h { z0.h, z1.h, z2.h }, p0/z, [x0, x0, lsl #1]
-ld3h { z0.h, z1.h, z2.h }, p0/z, [x0]
-ld3h { z21.h, z22.h, z23.h }, p5/z, [x10, #15, mul vl]
-ld3h { z23.h, z24.h, z25.h }, p3/z, [x13, #-24, mul vl]
-ld3h { z5.h, z6.h, z7.h }, p3/z, [x17, x16, lsl #1]
-ld3w { z0.s, z1.s, z2.s }, p0/z, [x0, x0, lsl #2]
-ld3w { z0.s, z1.s, z2.s }, p0/z, [x0]
-ld3w { z21.s, z22.s, z23.s }, p5/z, [x10, #15, mul vl]
-ld3w { z23.s, z24.s, z25.s }, p3/z, [x13, #-24, mul vl]
-ld3w { z5.s, z6.s, z7.s }, p3/z, [x17, x16, lsl #2]
-ld4b { z0.b, z1.b, z2.b, z3.b }, p0/z, [x0, x0]
-ld4b { z0.b, z1.b, z2.b, z3.b }, p0/z, [x0]
-ld4b { z21.b, z22.b, z23.b, z24.b }, p5/z, [x10, #20, mul vl]
-ld4b { z23.b, z24.b, z25.b, z26.b }, p3/z, [x13, #-32, mul vl]
-ld4b { z5.b, z6.b, z7.b, z8.b }, p3/z, [x17, x16]
-ld4d { z0.d, z1.d, z2.d, z3.d }, p0/z, [x0, x0, lsl #3]
-ld4d { z0.d, z1.d, z2.d, z3.d }, p0/z, [x0]
-ld4d { z21.d, z22.d, z23.d, z24.d }, p5/z, [x10, #20, mul vl]
-ld4d { z23.d, z24.d, z25.d, z26.d }, p3/z, [x13, #-32, mul vl]
-ld4d { z5.d, z6.d, z7.d, z8.d }, p3/z, [x17, x16, lsl #3]
-ld4h { z0.h, z1.h, z2.h, z3.h }, p0/z, [x0, x0, lsl #1]
-ld4h { z0.h, z1.h, z2.h, z3.h }, p0/z, [x0]
-ld4h { z21.h, z22.h, z23.h, z24.h }, p5/z, [x10, #20, mul vl]
-ld4h { z23.h, z24.h, z25.h, z26.h }, p3/z, [x13, #-32, mul vl]
-ld4h { z5.h, z6.h, z7.h, z8.h }, p3/z, [x17, x16, lsl #1]
-ld4w { z0.s, z1.s, z2.s, z3.s }, p0/z, [x0, x0, lsl #2]
-ld4w { z0.s, z1.s, z2.s, z3.s }, p0/z, [x0]
-ld4w { z21.s, z22.s, z23.s, z24.s }, p5/z, [x10, #20, mul vl]
-ld4w { z23.s, z24.s, z25.s, z26.s }, p3/z, [x13, #-32, mul vl]
-ld4w { z5.s, z6.s, z7.s, z8.s }, p3/z, [x17, x16, lsl #2]
-ldff1b { z0.d }, p0/z, [x0, x0]
-ldff1b { z0.d }, p0/z, [z0.d]
-ldff1b { z0.h }, p0/z, [x0, x0]
-ldff1b { z0.s }, p0/z, [x0, x0]
-ldff1b { z0.s }, p0/z, [x0, z0.s, sxtw]
-ldff1b { z0.s }, p0/z, [x0, z0.s, uxtw]
-ldff1b { z0.s }, p0/z, [z0.s]
-ldff1b { z21.d }, p5/z, [x10, z21.d, sxtw]
-ldff1b { z21.d }, p5/z, [x10, z21.d, uxtw]
-ldff1b { z31.b }, p7/z, [sp]
-ldff1b { z31.d }, p7/z, [sp, z31.d]
-ldff1b { z31.d }, p7/z, [sp]
-ldff1b { z31.d }, p7/z, [z31.d, #31]
-ldff1b { z31.h }, p7/z, [sp]
-ldff1b { z31.s }, p7/z, [sp]
-ldff1b { z31.s }, p7/z, [z31.s, #31]
-ldff1d { z0.d }, p0/z, [x0, x0, lsl #3]
-ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
-ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
-ldff1d { z0.d }, p0/z, [z0.d]
-ldff1d { z21.d }, p5/z, [x10, z21.d, sxtw]
-ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw]
-ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
-ldff1d { z31.d }, p7/z, [sp, z31.d]
-ldff1d { z31.d }, p7/z, [sp]
-ldff1d { z31.d }, p7/z, [z31.d, #248]
-ldff1h { z0.d }, p0/z, [x0, x0, lsl #1]
-ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-ldff1h { z0.d }, p0/z, [z0.d]
-ldff1h { z0.h }, p0/z, [x0, x0, lsl #1]
-ldff1h { z0.s }, p0/z, [x0, x0, lsl #1]
-ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw]
-ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw]
-ldff1h { z0.s }, p0/z, [z0.s]
-ldff1h { z21.d }, p5/z, [x10, z21.d, sxtw]
-ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw]
-ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
-ldff1h { z31.d }, p7/z, [sp, z31.d]
-ldff1h { z31.d }, p7/z, [sp]
-ldff1h { z31.d }, p7/z, [z31.d, #62]
-ldff1h { z31.h }, p7/z, [sp]
-ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-ldff1h { z31.s }, p7/z, [sp]
-ldff1h { z31.s }, p7/z, [z31.s, #62]
-ldff1sb { z0.d }, p0/z, [x0, x0]
-ldff1sb { z0.d }, p0/z, [z0.d]
-ldff1sb { z0.h }, p0/z, [x0, x0]
-ldff1sb { z0.s }, p0/z, [x0, x0]
-ldff1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
-ldff1sb { z0.s }, p0/z, [x0, z0.s, uxtw]
-ldff1sb { z0.s }, p0/z, [z0.s]
-ldff1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
-ldff1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
-ldff1sb { z31.d }, p7/z, [sp, z31.d]
-ldff1sb { z31.d }, p7/z, [sp]
-ldff1sb { z31.d }, p7/z, [z31.d, #31]
-ldff1sb { z31.h }, p7/z, [sp]
-ldff1sb { z31.s }, p7/z, [sp]
-ldff1sb { z31.s }, p7/z, [z31.s, #31]
-ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1]
-ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-ldff1sh { z0.d }, p0/z, [z0.d]
-ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1]
-ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
-ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
-ldff1sh { z0.s }, p0/z, [z0.s]
-ldff1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
-ldff1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
-ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
-ldff1sh { z31.d }, p7/z, [sp, z31.d]
-ldff1sh { z31.d }, p7/z, [sp]
-ldff1sh { z31.d }, p7/z, [z31.d, #62]
-ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-ldff1sh { z31.s }, p7/z, [sp]
-ldff1sh { z31.s }, p7/z, [z31.s, #62]
-ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2]
-ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-ldff1sw { z0.d }, p0/z, [z0.d]
-ldff1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
-ldff1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
-ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
-ldff1sw { z31.d }, p7/z, [sp, z31.d]
-ldff1sw { z31.d }, p7/z, [sp]
-ldff1sw { z31.d }, p7/z, [z31.d, #124]
-ldff1w { z0.d }, p0/z, [x0, x0, lsl #2]
-ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-ldff1w { z0.d }, p0/z, [z0.d]
-ldff1w { z0.s }, p0/z, [x0, x0, lsl #2]
-ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw]
-ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw]
-ldff1w { z0.s }, p0/z, [z0.s]
-ldff1w { z21.d }, p5/z, [x10, z21.d, sxtw]
-ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw]
-ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
-ldff1w { z31.d }, p7/z, [sp, z31.d]
-ldff1w { z31.d }, p7/z, [sp]
-ldff1w { z31.d }, p7/z, [z31.d, #124]
-ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
-ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
-ldff1w { z31.s }, p7/z, [sp]
-ldff1w { z31.s }, p7/z, [z31.s, #124]
-ldnf1b { z0.b }, p0/z, [x0]
-ldnf1b { z0.d }, p0/z, [x0]
-ldnf1b { z0.h }, p0/z, [x0]
-ldnf1b { z0.s }, p0/z, [x0]
-ldnf1b { z21.b }, p5/z, [x10, #5, mul vl]
-ldnf1b { z21.d }, p5/z, [x10, #5, mul vl]
-ldnf1b { z21.h }, p5/z, [x10, #5, mul vl]
-ldnf1b { z21.s }, p5/z, [x10, #5, mul vl]
-ldnf1b { z31.b }, p7/z, [sp, #-1, mul vl]
-ldnf1b { z31.d }, p7/z, [sp, #-1, mul vl]
-ldnf1b { z31.h }, p7/z, [sp, #-1, mul vl]
-ldnf1b { z31.s }, p7/z, [sp, #-1, mul vl]
-ldnf1d { z0.d }, p0/z, [x0]
-ldnf1d { z21.d }, p5/z, [x10, #5, mul vl]
-ldnf1d { z31.d }, p7/z, [sp, #-1, mul vl]
-ldnf1h { z0.d }, p0/z, [x0]
-ldnf1h { z0.h }, p0/z, [x0]
-ldnf1h { z0.s }, p0/z, [x0]
-ldnf1h { z21.d }, p5/z, [x10, #5, mul vl]
-ldnf1h { z21.h }, p5/z, [x10, #5, mul vl]
-ldnf1h { z21.s }, p5/z, [x10, #5, mul vl]
-ldnf1h { z31.d }, p7/z, [sp, #-1, mul vl]
-ldnf1h { z31.h }, p7/z, [sp, #-1, mul vl]
-ldnf1h { z31.s }, p7/z, [sp, #-1, mul vl]
-ldnf1sb { z0.d }, p0/z, [x0]
-ldnf1sb { z0.h }, p0/z, [x0]
-ldnf1sb { z0.s }, p0/z, [x0]
-ldnf1sb { z21.d }, p5/z, [x10, #5, mul vl]
-ldnf1sb { z21.h }, p5/z, [x10, #5, mul vl]
-ldnf1sb { z21.s }, p5/z, [x10, #5, mul vl]
-ldnf1sb { z31.d }, p7/z, [sp, #-1, mul vl]
-ldnf1sb { z31.h }, p7/z, [sp, #-1, mul vl]
-ldnf1sb { z31.s }, p7/z, [sp, #-1, mul vl]
-ldnf1sh { z0.d }, p0/z, [x0]
-ldnf1sh { z0.s }, p0/z, [x0]
-ldnf1sh { z21.d }, p5/z, [x10, #5, mul vl]
-ldnf1sh { z21.s }, p5/z, [x10, #5, mul vl]
-ldnf1sh { z31.d }, p7/z, [sp, #-1, mul vl]
-ldnf1sh { z31.s }, p7/z, [sp, #-1, mul vl]
-ldnf1sw { z0.d }, p0/z, [x0]
-ldnf1sw { z21.d }, p5/z, [x10, #5, mul vl]
-ldnf1sw { z31.d }, p7/z, [sp, #-1, mul vl]
-ldnf1w { z0.d }, p0/z, [x0]
-ldnf1w { z0.s }, p0/z, [x0]
-ldnf1w { z21.d }, p5/z, [x10, #5, mul vl]
-ldnf1w { z21.s }, p5/z, [x10, #5, mul vl]
-ldnf1w { z31.d }, p7/z, [sp, #-1, mul vl]
-ldnf1w { z31.s }, p7/z, [sp, #-1, mul vl]
-ldnt1b { z0.b }, p0/z, [x0, x0]
-ldnt1b { z0.b }, p0/z, [x0]
-ldnt1b { z0.d }, p0/z, [z1.d]
-ldnt1b { z0.s }, p0/z, [z1.s]
-ldnt1b { z21.b }, p5/z, [x10, #7, mul vl]
-ldnt1b { z23.b }, p3/z, [x13, #-8, mul vl]
-ldnt1b { z31.d }, p7/z, [z31.d, x0]
-ldnt1b { z31.d }, p7/z, [z31.d]
-ldnt1b { z31.s }, p7/z, [z31.s, x0]
-ldnt1b { z31.s }, p7/z, [z31.s]
-ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3]
-ldnt1d { z0.d }, p0/z, [x0]
-ldnt1d { z0.d }, p0/z, [z1.d]
-ldnt1d { z21.d }, p5/z, [x10, #7, mul vl]
-ldnt1d { z23.d }, p3/z, [x13, #-8, mul vl]
-ldnt1d { z31.d }, p7/z, [z31.d, x0]
-ldnt1d { z31.d }, p7/z, [z31.d]
-ldnt1h { z0.d }, p0/z, [z1.d]
-ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1]
-ldnt1h { z0.h }, p0/z, [x0]
-ldnt1h { z0.s }, p0/z, [z1.s]
-ldnt1h { z21.h }, p5/z, [x10, #7, mul vl]
-ldnt1h { z23.h }, p3/z, [x13, #-8, mul vl]
-ldnt1h { z31.d }, p7/z, [z31.d, x0]
-ldnt1h { z31.d }, p7/z, [z31.d]
-ldnt1h { z31.s }, p7/z, [z31.s, x0]
-ldnt1h { z31.s }, p7/z, [z31.s]
-ldnt1sb { z0.d }, p0/z, [z1.d]
-ldnt1sb { z0.s }, p0/z, [z1.s]
-ldnt1sb { z31.d }, p7/z, [z31.d, x0]
-ldnt1sb { z31.d }, p7/z, [z31.d]
-ldnt1sb { z31.s }, p7/z, [z31.s, x0]
-ldnt1sb { z31.s }, p7/z, [z31.s]
-ldnt1sh { z0.d }, p0/z, [z1.d]
-ldnt1sh { z0.s }, p0/z, [z1.s]
-ldnt1sh { z31.d }, p7/z, [z31.d, x0]
-ldnt1sh { z31.d }, p7/z, [z31.d]
-ldnt1sh { z31.s }, p7/z, [z31.s, x0]
-ldnt1sh { z31.s }, p7/z, [z31.s]
-ldnt1sw { z0.d }, p0/z, [z1.d]
-ldnt1sw { z31.d }, p7/z, [z31.d, x0]
-ldnt1sw { z31.d }, p7/z, [z31.d]
-ldnt1w { z0.d }, p0/z, [z1.d]
-ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2]
-ldnt1w { z0.s }, p0/z, [x0]
-ldnt1w { z0.s }, p0/z, [z1.s]
-ldnt1w { z21.s }, p5/z, [x10, #7, mul vl]
-ldnt1w { z23.s }, p3/z, [x13, #-8, mul vl]
-ldnt1w { z31.d }, p7/z, [z31.d, x0]
-ldnt1w { z31.d }, p7/z, [z31.d]
-ldnt1w { z31.s }, p7/z, [z31.s, x0]
-ldnt1w { z31.s }, p7/z, [z31.s]
-ldr p0, [x0]
-ldr p5, [x10, #255, mul vl]
-ldr p7, [x13, #-256, mul vl]
-ldr z0, [x0]
-ldr z23, [x13, #255, mul vl]
-ldr z31, [sp, #-256, mul vl]
-lsl z0.b, p0/m, z0.b, #0
-lsl z0.b, p0/m, z0.b, z0.b
-lsl z0.b, p0/m, z0.b, z1.d
-lsl z0.b, z0.b, #0
-lsl z0.b, z1.b, z2.d
-lsl z0.d, p0/m, z0.d, #0
-lsl z0.d, p0/m, z0.d, z0.d
-lsl z0.d, z0.d, #0
-lsl z0.h, p0/m, z0.h, #0
-lsl z0.h, p0/m, z0.h, z0.h
-lsl z0.h, p0/m, z0.h, z1.d
-lsl z0.h, z0.h, #0
-lsl z0.h, z1.h, z2.d
-lsl z0.s, p0/m, z0.s, #0
-lsl z0.s, p0/m, z0.s, z0.s
-lsl z0.s, p0/m, z0.s, z1.d
-lsl z0.s, z0.s, #0
-lsl z0.s, z1.s, z2.d
-lsl z31.b, p0/m, z31.b, #7
-lsl z31.b, z31.b, #7
-lsl z31.d, p0/m, z31.d, #63
-lsl z31.d, z31.d, #63
-lsl z31.h, p0/m, z31.h, #15
-lsl z31.h, z31.h, #15
-lsl z31.s, p0/m, z31.s, #31
-lsl z31.s, z31.s, #31
-lslr z0.b, p0/m, z0.b, z0.b
-lslr z0.d, p0/m, z0.d, z0.d
-lslr z0.h, p0/m, z0.h, z0.h
-lslr z0.s, p0/m, z0.s, z0.s
-lsr z0.b, p0/m, z0.b, #1
-lsr z0.b, p0/m, z0.b, z0.b
-lsr z0.b, p0/m, z0.b, z1.d
-lsr z0.b, z0.b, #1
-lsr z0.b, z1.b, z2.d
-lsr z0.d, p0/m, z0.d, #1
-lsr z0.d, p0/m, z0.d, z0.d
-lsr z0.d, z0.d, #1
-lsr z0.h, p0/m, z0.h, #1
-lsr z0.h, p0/m, z0.h, z0.h
-lsr z0.h, p0/m, z0.h, z1.d
-lsr z0.h, z0.h, #1
-lsr z0.h, z1.h, z2.d
-lsr z0.s, p0/m, z0.s, #1
-lsr z0.s, p0/m, z0.s, z0.s
-lsr z0.s, p0/m, z0.s, z1.d
-lsr z0.s, z0.s, #1
-lsr z0.s, z1.s, z2.d
-lsr z31.b, p0/m, z31.b, #8
-lsr z31.b, z31.b, #8
-lsr z31.d, p0/m, z31.d, #64
-lsr z31.d, z31.d, #64
-lsr z31.h, p0/m, z31.h, #16
-lsr z31.h, z31.h, #16
-lsr z31.s, p0/m, z31.s, #32
-lsr z31.s, z31.s, #32
-lsrr z0.b, p0/m, z0.b, z0.b
-lsrr z0.d, p0/m, z0.d, z0.d
-lsrr z0.h, p0/m, z0.h, z0.h
-lsrr z0.s, p0/m, z0.s, z0.s
-mad z0.b, p7/m, z1.b, z31.b
-mad z0.d, p7/m, z1.d, z31.d
-mad z0.h, p7/m, z1.h, z31.h
-mad z0.s, p7/m, z1.s, z31.s
-match p0.b, p0/z, z0.b, z0.b
-match p0.h, p0/z, z0.h, z0.h
-match p15.b, p7/z, z30.b, z31.b
-match p15.h, p7/z, z30.h, z31.h
-mla z0.b, p7/m, z1.b, z31.b
-mla z0.d, p7/m, z1.d, z31.d
-mla z0.d, z1.d, z7.d[1]
-mla z0.h, p7/m, z1.h, z31.h
-mla z0.h, z1.h, z7.h[7]
-mla z0.s, p7/m, z1.s, z31.s
-mla z0.s, z1.s, z7.s[3]
-mls z0.b, p7/m, z1.b, z31.b
-mls z0.d, p7/m, z1.d, z31.d
-mls z0.d, z1.d, z7.d[1]
-mls z0.h, p7/m, z1.h, z31.h
-mls z0.h, z1.h, z7.h[7]
-mls z0.s, p7/m, z1.s, z31.s
-mls z0.s, z1.s, z7.s[3]
-mov p0.b, p0.b
-mov p0.b, p0/m, p0.b
-mov p0.b, p0/z, p0.b
-mov p15.b, p15.b
-mov p15.b, p15/m, p15.b
-mov p15.b, p15/z, p15.b
-mov z0.b, #127
-mov z0.b, b0
-mov z0.b, p0/m, b0
-mov z0.b, p0/m, w0
-mov z0.b, p0/z, #127
-mov z0.b, w0
-mov z0.d, #0
-mov z0.d, #0xe0000000000003ff
-mov z0.d, #0xffffffffffff7fff
-mov z0.d, #32768
-mov z0.d, d0
-mov z0.d, p0/m, d0
-mov z0.d, p0/m, x0
-mov z0.d, x0
-mov z0.d, z0.d
-mov z0.h, #-256
-mov z0.h, #-32768
-mov z0.h, #0
-mov z0.h, #32512
-mov z0.h, #32767
-mov z0.h, h0
-mov z0.h, p0/m, h0
-mov z0.h, p0/m, w0
-mov z0.h, p0/z, #32512
-mov z0.h, w0
-mov z0.q, q0
-mov z0.s, #0
-mov z0.s, #0xffff7fff
-mov z0.s, #32768
-mov z0.s, p0/m, s0
-mov z0.s, p0/m, w0
-mov z0.s, s0
-mov z0.s, w0
-mov z21.d, #-128
-mov z21.d, #-32768
-mov z21.d, #127
-mov z21.d, #32512
-mov z21.d, p0/z, #-128
-mov z21.d, p0/z, #-32768
-mov z21.d, p0/z, #127
-mov z21.d, p0/z, #32512
-mov z21.d, p15/m, #-128
-mov z21.d, p15/m, #-32768
-mov z21.h, #-128
-mov z21.h, #-32768
-mov z21.h, #127
-mov z21.h, #32512
-mov z21.h, p0/z, #-128
-mov z21.h, p0/z, #-32768
-mov z21.h, p0/z, #127
-mov z21.h, p0/z, #32512
-mov z21.h, p15/m, #-128
-mov z21.h, p15/m, #-32768
-mov z21.s, #-128
-mov z21.s, #-32768
-mov z21.s, #127
-mov z21.s, #32512
-mov z21.s, p0/z, #-128
-mov z21.s, p0/z, #-32768
-mov z21.s, p0/z, #127
-mov z21.s, p0/z, #32512
-mov z21.s, p15/m, #-128
-mov z21.s, p15/m, #-32768
-mov z31.b, p15/m, z31.b
-mov z31.b, p7/m, b31
-movprfx z31, z6
-mov z31.b, p7/m, wsp
-mov z31.b, wsp
-mov z31.b, z31.b[63]
-mov z31.d, p15/m, z31.d
-mov z31.d, p7/m, d31
-movprfx z31.d, p7/z, z6.d
-mov z31.d, p7/m, sp
-mov z31.d, sp
-mov z31.d, z0.d
-mov z31.d, z31.d[7]
-mov z31.h, p15/m, z31.h
-mov z31.h, p7/m, h31
-mov z31.h, p7/m, wsp
-mov z31.h, wsp
-mov z31.h, z31.h[31]
-mov z31.s, p15/m, z31.s
-mov z31.s, p7/m, s31
-mov z31.s, p7/m, wsp
-mov z31.s, wsp
-mov z31.s, z31.s[15]
-mov z5.b, #-1
-mov z5.b, #-128
-mov z5.b, #127
-mov z5.b, p0/z, #-1
-mov z5.b, p0/z, #-128
-mov z5.b, p0/z, #127
-mov z5.b, p15/m, #-128
-mov z5.d, #-6
-mov z5.h, #-6
-mov z5.q, z17.q[3]
-mov z5.s, #-6
-movs p0.b, p0.b
-movs p0.b, p0/z, p0.b
-movs p15.b, p15.b
-movs p15.b, p15/z, p15.b
-mrs x3, ID_AA64ZFR0_EL1
-mrs x3, ZCR_EL1
-mrs x3, ZCR_EL12
-mrs x3, ZCR_EL2
-mrs x3, ZCR_EL3
-msb z0.b, p7/m, z1.b, z31.b
-msb z0.d, p7/m, z1.d, z31.d
-msb z0.h, p7/m, z1.h, z31.h
-msb z0.s, p7/m, z1.s, z31.s
-msr ZCR_EL1, x3
-msr ZCR_EL12, x3
-msr ZCR_EL2, x3
-msr ZCR_EL3, x3
-mul z0.b, p7/m, z0.b, z31.b
-mul z0.b, z1.b, z2.b
-mul z0.d, p7/m, z0.d, z31.d
-mul z0.d, z1.d, z15.d[1]
-mul z0.h, p7/m, z0.h, z31.h
-mul z0.h, z1.h, z2.h
-mul z0.h, z1.h, z7.h[7]
-mul z0.s, p7/m, z0.s, z31.s
-mul z0.s, z1.s, z7.s[3]
-mul z29.s, z30.s, z31.s
-mul z31.b, z31.b, #-128
-mul z31.b, z31.b, #127
-mul z31.d, z31.d, #-128
-mul z31.d, z31.d, #127
-mul z31.d, z31.d, z31.d
-mul z31.h, z31.h, #-128
-mul z31.h, z31.h, #127
-mul z31.s, z31.s, #-128
-mul z31.s, z31.s, #127
-nand p0.b, p0/z, p0.b, p0.b
-nand p15.b, p15/z, p15.b, p15.b
-nands p0.b, p0/z, p0.b, p0.b
-nands p15.b, p15/z, p15.b, p15.b
-nbsl z0.d, z0.d, z1.d, z2.d
-neg z0.b, p0/m, z0.b
-neg z0.d, p0/m, z0.d
-neg z0.h, p0/m, z0.h
-neg z0.s, p0/m, z0.s
-neg z31.b, p7/m, z31.b
-neg z31.d, p7/m, z31.d
-neg z31.h, p7/m, z31.h
-neg z31.s, p7/m, z31.s
-nmatch p0.b, p0/z, z0.b, z0.b
-nmatch p0.h, p0/z, z0.h, z0.h
-nmatch p15.b, p7/z, z30.b, z31.b
-nmatch p15.h, p7/z, z30.h, z31.h
-nor p0.b, p0/z, p0.b, p0.b
-nor p15.b, p15/z, p15.b, p15.b
-nors p0.b, p0/z, p0.b, p0.b
-nors p15.b, p15/z, p15.b, p15.b
-not p0.b, p0/z, p0.b
-not p15.b, p15/z, p15.b
-not z31.b, p7/m, z31.b
-not z31.d, p7/m, z31.d
-not z31.h, p7/m, z31.h
-not z31.s, p7/m, z31.s
-nots p0.b, p0/z, p0.b
-nots p15.b, p15/z, p15.b
-orn p0.b, p0/z, p0.b, p0.b
-orn p15.b, p15/z, p15.b, p15.b
-orns p0.b, p0/z, p0.b, p0.b
-orns p15.b, p15/z, p15.b, p15.b
-orr p0.b, p0/z, p0.b, p1.b
-orr z0.d, z0.d, #0x6
-orr z0.d, z0.d, #0xfffffffffffffff9
-orr z0.s, z0.s, #0x6
-orr z0.s, z0.s, #0xfffffff9
-orr z23.d, z13.d, z8.d
-orr z23.h, z23.h, #0x6
-orr z23.h, z23.h, #0xfff9
-orr z31.b, p7/m, z31.b, z31.b
-orr z31.d, p7/m, z31.d, z31.d
-orr z31.h, p7/m, z31.h, z31.h
-orr z31.s, p7/m, z31.s, z31.s
-orr z5.b, z5.b, #0x6
-orr z5.b, z5.b, #0xf9
-orrs p0.b, p0/z, p0.b, p1.b
-orv b0, p7, z31.b
-orv d0, p7, z31.d
-orv h0, p7, z31.h
-orv s0, p7, z31.s
-pfalse p15.b
-pfirst p0.b, p15, p0.b
-pfirst p15.b, p15, p15.b
-pmul z0.b, z1.b, z2.b
-pmul z29.b, z30.b, z31.b
-pmullb z0.h, z1.b, z2.b
-pmullb z29.q, z30.d, z31.d
-pmullb z31.d, z31.s, z31.s
-pmullt z0.h, z1.b, z2.b
-pmullt z29.q, z30.d, z31.d
-pmullt z31.d, z31.s, z31.s
-pnext p0.b, p15, p0.b
-pnext p0.d, p15, p0.d
-pnext p0.h, p15, p0.h
-pnext p0.s, p15, p0.s
-pnext p15.b, p15, p15.b
-prfb #14, p0, [x0]
-prfb #15, p0, [x0]
-prfb #6, p0, [x0]
-prfb #7, p0, [x0]
-prfb #7, p3, [z13.s, #31]
-prfb #7, p3, [z13.s]
-prfb pldl1keep, p0, [x0, z0.d, uxtw]
-prfb pldl1keep, p0, [x0, z0.d]
-prfb pldl1keep, p0, [x0, z0.s, uxtw]
-prfb pldl1keep, p0, [x0]
-prfb pldl1strm, p0, [x0, #-32, mul vl]
-prfb pldl1strm, p0, [x0, #31, mul vl]
-prfb pldl1strm, p0, [x0]
-prfb pldl2keep, p0, [x0]
-prfb pldl2strm, p0, [x0]
-prfb pldl3keep, p0, [x0]
-prfb pldl3strm, p0, [x0]
-prfb pldl3strm, p5, [x10, z21.d, sxtw]
-prfb pldl3strm, p5, [x10, z21.s, uxtw]
-prfb pldl3strm, p5, [z10.d, #31]
-prfb pldl3strm, p5, [z10.d]
-prfb pstl1keep, p0, [x0]
-prfb pstl1strm, p0, [x0]
-prfb pstl2keep, p0, [x0]
-prfb pstl2strm, p0, [x0]
-prfb pstl3keep, p0, [x0]
-prfb pstl3strm, p0, [x0]
-prfd #14, p0, [x0]
-prfd #15, p0, [x0]
-prfd #15, p7, [z31.d, #248]
-prfd #15, p7, [z31.d]
-prfd #15, p7, [z31.s, #248]
-prfd #15, p7, [z31.s]
-prfd #6, p0, [x0]
-prfd #7, p0, [x0]
-prfd pldl1keep, p0, [x0, z0.d, lsl #3]
-prfd pldl1keep, p0, [x0, z0.d, sxtw #3]
-prfd pldl1keep, p0, [x0, z0.d, uxtw #3]
-prfd pldl1keep, p0, [x0, z0.s, sxtw #3]
-prfd pldl1keep, p0, [x0, z0.s, uxtw #3]
-prfd pldl1keep, p0, [x0]
-prfd pldl1strm, p0, [x0, #-32, mul vl]
-prfd pldl1strm, p0, [x0, #31, mul vl]
-prfd pldl1strm, p0, [x0]
-prfd pldl2keep, p0, [x0]
-prfd pldl2strm, p0, [x0]
-prfd pldl3keep, p0, [x0]
-prfd pldl3strm, p0, [x0]
-prfd pstl1keep, p0, [x0]
-prfd pstl1strm, p0, [x0]
-prfd pstl2keep, p0, [x0]
-prfd pstl2strm, p0, [x0]
-prfd pstl3keep, p0, [x0]
-prfd pstl3strm, p0, [x0]
-prfh #14, p0, [x0]
-prfh #15, p0, [x0]
-prfh #15, p7, [z31.d, #62]
-prfh #15, p7, [z31.d]
-prfh #15, p7, [z31.s, #62]
-prfh #15, p7, [z31.s]
-prfh #6, p0, [x0]
-prfh #7, p0, [x0]
-prfh pldl1keep, p0, [x0, z0.d, lsl #1]
-prfh pldl1keep, p0, [x0]
-prfh pldl1strm, p0, [x0, #-32, mul vl]
-prfh pldl1strm, p0, [x0, #31, mul vl]
-prfh pldl1strm, p0, [x0]
-prfh pldl2keep, p0, [x0]
-prfh pldl2strm, p0, [x0]
-prfh pldl3keep, p0, [x0]
-prfh pldl3strm, p0, [x0]
-prfh pldl3strm, p5, [x10, z21.d, sxtw #1]
-prfh pldl3strm, p5, [x10, z21.d, uxtw #1]
-prfh pldl3strm, p5, [x10, z21.s, sxtw #1]
-prfh pldl3strm, p5, [x10, z21.s, uxtw #1]
-prfh pstl1keep, p0, [x0]
-prfh pstl1strm, p0, [x0]
-prfh pstl2keep, p0, [x0]
-prfh pstl2strm, p0, [x0]
-prfh pstl3keep, p0, [x0]
-prfh pstl3strm, p0, [x0]
-prfw #14, p0, [x0]
-prfw #15, p0, [x0]
-prfw #15, p7, [z31.d, #124]
-prfw #15, p7, [z31.d]
-prfw #15, p7, [z31.s, #124]
-prfw #15, p7, [z31.s]
-prfw #6, p0, [x0]
-prfw #7, p0, [x0]
-prfw #7, p3, [x13, z8.d, uxtw #2]
-prfw pldl1keep, p0, [x0, z0.d, sxtw #2]
-prfw pldl1keep, p0, [x0, z0.s, uxtw #2]
-prfw pldl1keep, p0, [x0]
-prfw pldl1strm, p0, [x0, #-32, mul vl]
-prfw pldl1strm, p0, [x0, #31, mul vl]
-prfw pldl1strm, p0, [x0]
-prfw pldl2keep, p0, [x0]
-prfw pldl2strm, p0, [x0]
-prfw pldl3keep, p0, [x0]
-prfw pldl3strm, p0, [x0]
-prfw pldl3strm, p5, [x10, z21.d, lsl #2]
-prfw pldl3strm, p5, [x10, z21.s, sxtw #2]
-prfw pstl1keep, p0, [x0]
-prfw pstl1strm, p0, [x0]
-prfw pstl2keep, p0, [x0]
-prfw pstl2strm, p0, [x0]
-prfw pstl3keep, p0, [x0]
-prfw pstl3strm, p0, [x0]
-ptest p15, p0.b
-ptest p15, p15.b
-ptrue p0.b, pow2
-ptrue p0.d, pow2
-ptrue p0.h, pow2
-ptrue p0.s, pow2
-ptrue p15.b
-ptrue p15.d
-ptrue p15.h
-ptrue p15.s
-ptrue p7.s
-ptrue p7.s, #14
-ptrue p7.s, #15
-ptrue p7.s, #16
-ptrue p7.s, #17
-ptrue p7.s, #18
-ptrue p7.s, #19
-ptrue p7.s, #20
-ptrue p7.s, #21
-ptrue p7.s, #22
-ptrue p7.s, #23
-ptrue p7.s, #24
-ptrue p7.s, #25
-ptrue p7.s, #26
-ptrue p7.s, #27
-ptrue p7.s, #28
-ptrue p7.s, mul3
-ptrue p7.s, mul4
-ptrue p7.s, vl1
-ptrue p7.s, vl128
-ptrue p7.s, vl16
-ptrue p7.s, vl2
-ptrue p7.s, vl256
-ptrue p7.s, vl3
-ptrue p7.s, vl32
-ptrue p7.s, vl4
-ptrue p7.s, vl5
-ptrue p7.s, vl6
-ptrue p7.s, vl64
-ptrue p7.s, vl7
-ptrue p7.s, vl8
-ptrues p0.b, pow2
-ptrues p0.d, pow2
-ptrues p0.h, pow2
-ptrues p0.s, pow2
-ptrues p15.b
-ptrues p15.d
-ptrues p15.h
-ptrues p15.s
-ptrues p7.s
-ptrues p7.s, #14
-ptrues p7.s, #15
-ptrues p7.s, #16
-ptrues p7.s, #17
-ptrues p7.s, #18
-ptrues p7.s, #19
-ptrues p7.s, #20
-ptrues p7.s, #21
-ptrues p7.s, #22
-ptrues p7.s, #23
-ptrues p7.s, #24
-ptrues p7.s, #25
-ptrues p7.s, #26
-ptrues p7.s, #27
-ptrues p7.s, #28
-ptrues p7.s, mul3
-ptrues p7.s, mul4
-ptrues p7.s, vl1
-ptrues p7.s, vl128
-ptrues p7.s, vl16
-ptrues p7.s, vl2
-ptrues p7.s, vl256
-ptrues p7.s, vl3
-ptrues p7.s, vl32
-ptrues p7.s, vl4
-ptrues p7.s, vl5
-ptrues p7.s, vl6
-ptrues p7.s, vl64
-ptrues p7.s, vl7
-ptrues p7.s, vl8
-punpkhi p0.h, p0.b
-punpkhi p15.h, p15.b
-punpklo p0.h, p0.b
-punpklo p15.h, p15.b
-raddhnb z0.b, z1.h, z31.h
-raddhnb z0.h, z1.s, z31.s
-raddhnb z0.s, z1.d, z31.d
-raddhnt z0.b, z1.h, z31.h
-raddhnt z0.h, z1.s, z31.s
-raddhnt z0.s, z1.d, z31.d
-rax1 z0.d, z1.d, z31.d
-rbit z0.b, p7/m, z31.b
-rbit z0.d, p7/m, z31.d
-rbit z0.h, p7/m, z31.h
-rbit z0.s, p7/m, z31.s
-rdffr p0.b
-rdffr p0.b, p0/z
-rdffr p15.b
-rdffr p15.b, p15/z
-rdffrs p0.b, p0/z
-rdffrs p15.b, p15/z
-rdvl x0, #0
-rdvl x21, #-32
-rdvl x23, #31
-rdvl xzr, #-1
-rev z0.b, z31.b
-rev z0.d, z31.d
-rev z0.h, z31.h
-rev z0.s, z31.s
-revb z0.d, p7/m, z31.d
-revb z0.h, p7/m, z31.h
-revb z0.s, p7/m, z31.s
-revh z0.d, p7/m, z31.d
-revh z0.s, p7/m, z31.s
-revw z0.d, p7/m, z31.d
-rshrnb z0.b, z0.h, #1
-rshrnb z0.h, z0.s, #1
-rshrnb z0.s, z0.d, #1
-rshrnb z31.b, z31.h, #8
-rshrnb z31.h, z31.s, #16
-rshrnb z31.s, z31.d, #32
-rshrnt z0.b, z0.h, #1
-rshrnt z0.h, z0.s, #1
-rshrnt z0.s, z0.d, #1
-rshrnt z31.b, z31.h, #8
-rshrnt z31.h, z31.s, #16
-rshrnt z31.s, z31.d, #32
-rsubhnb z0.b, z1.h, z31.h
-rsubhnb z0.h, z1.s, z31.s
-rsubhnb z0.s, z1.d, z31.d
-rsubhnt z0.b, z1.h, z31.h
-rsubhnt z0.h, z1.s, z31.s
-rsubhnt z0.s, z1.d, z31.d
-saba z0.b, z1.b, z31.b
-saba z0.d, z1.d, z31.d
-saba z0.h, z1.h, z31.h
-saba z0.s, z1.s, z31.s
-sabalb z0.d, z1.s, z31.s
-sabalb z0.h, z1.b, z31.b
-sabalb z0.s, z1.h, z31.h
-sabalt z0.d, z1.s, z31.s
-sabalt z0.h, z1.b, z31.b
-sabalt z0.s, z1.h, z31.h
-sabd z31.b, p7/m, z31.b, z31.b
-sabd z31.d, p7/m, z31.d, z31.d
-sabd z31.h, p7/m, z31.h, z31.h
-sabd z31.s, p7/m, z31.s, z31.s
-sabdlb z0.h, z1.b, z2.b
-sabdlb z29.s, z30.h, z31.h
-sabdlb z31.d, z31.s, z31.s
-sabdlt z0.h, z1.b, z2.b
-sabdlt z29.s, z30.h, z31.h
-sabdlt z31.d, z31.s, z31.s
-sadalp z0.h, p0/m, z1.b
-sadalp z29.s, p0/m, z30.h
-sadalp z30.d, p7/m, z31.s
-saddlb z0.h, z1.b, z2.b
-saddlb z29.s, z30.h, z31.h
-saddlb z31.d, z31.s, z31.s
-saddlbt z0.d, z1.s, z31.s
-saddlbt z0.h, z1.b, z31.b
-saddlbt z0.s, z1.h, z31.h
-saddlt z0.h, z1.b, z2.b
-saddlt z29.s, z30.h, z31.h
-saddlt z31.d, z31.s, z31.s
-saddv d0, p7, z31.b
-saddv d0, p7, z31.h
-saddv d0, p7, z31.s
-saddwb z0.h, z1.h, z2.b
-saddwb z29.s, z30.s, z31.h
-saddwb z31.d, z31.d, z31.s
-saddwt z0.h, z1.h, z2.b
-saddwt z29.s, z30.s, z31.h
-saddwt z31.d, z31.d, z31.s
-sbclb z0.d, z1.d, z31.d
-sbclb z0.s, z1.s, z31.s
-sbclt z0.d, z1.d, z31.d
-sbclt z0.s, z1.s, z31.s
-scvtf z0.d, p0/m, z0.d
-scvtf z0.d, p0/m, z0.s
-scvtf z0.h, p0/m, z0.d
-scvtf z0.h, p0/m, z0.h
-scvtf z0.h, p0/m, z0.s
-scvtf z0.s, p0/m, z0.d
-scvtf z0.s, p0/m, z0.s
-sdiv z0.d, p7/m, z0.d, z31.d
-sdiv z0.s, p7/m, z0.s, z31.s
-sdivr z0.d, p7/m, z0.d, z31.d
-sdivr z0.s, p7/m, z0.s, z31.s
-sdot z0.d, z1.h, z15.h[1]
-sdot z0.d, z1.h, z31.h
-sdot z0.s, z1.b, z31.b
-sdot z0.s, z1.b, z7.b[3]
-sel z23.b, p11, z13.b, z8.b
-sel z23.d, p11, z13.d, z8.d
-sel z23.h, p11, z13.h, z8.h
-sel z23.s, p11, z13.s, z8.s
-setffr
-shadd z0.b, p0/m, z0.b, z1.b
-shadd z0.h, p0/m, z0.h, z1.h
-shadd z29.s, p7/m, z29.s, z30.s
-shadd z31.d, p7/m, z31.d, z30.d
-shrnb z0.b, z0.h, #1
-shrnb z0.h, z0.s, #1
-shrnb z0.s, z0.d, #1
-shrnb z31.b, z31.h, #8
-shrnb z31.h, z31.s, #16
-shrnb z31.s, z31.d, #32
-shrnt z0.b, z0.h, #1
-shrnt z0.h, z0.s, #1
-shrnt z0.s, z0.d, #1
-shrnt z31.b, z31.h, #8
-shrnt z31.h, z31.s, #16
-shrnt z31.s, z31.d, #32
-shsub z0.b, p0/m, z0.b, z1.b
-shsub z0.h, p0/m, z0.h, z1.h
-shsub z29.s, p7/m, z29.s, z30.s
-shsub z31.d, p7/m, z31.d, z30.d
-shsubr z0.b, p0/m, z0.b, z1.b
-shsubr z0.h, p0/m, z0.h, z1.h
-shsubr z29.s, p7/m, z29.s, z30.s
-shsubr z31.d, p7/m, z31.d, z30.d
-sli z0.b, z0.b, #0
-sli z0.d, z0.d, #0
-sli z0.h, z0.h, #0
-sli z0.s, z0.s, #0
-sli z31.b, z31.b, #7
-sli z31.d, z31.d, #63
-sli z31.h, z31.h, #15
-sli z31.s, z31.s, #31
-sm4e z0.s, z0.s, z31.s
-sm4ekey z0.s, z1.s, z31.s
-smax z0.b, z0.b, #-128
-smax z0.d, z0.d, #-128
-smax z0.h, z0.h, #-128
-smax z0.s, z0.s, #-128
-smax z31.b, p7/m, z31.b, z31.b
-smax z31.b, z31.b, #127
-smax z31.d, p7/m, z31.d, z31.d
-smax z31.d, z31.d, #127
-smax z31.h, p7/m, z31.h, z31.h
-smax z31.h, z31.h, #127
-smax z31.s, p7/m, z31.s, z31.s
-smax z31.s, z31.s, #127
-smaxp z0.b, p0/m, z0.b, z1.b
-smaxp z0.h, p0/m, z0.h, z1.h
-smaxp z29.s, p7/m, z29.s, z30.s
-smaxp z31.d, p7/m, z31.d, z30.d
-smaxv b0, p7, z31.b
-smaxv d0, p7, z31.d
-smaxv h0, p7, z31.h
-smaxv s0, p7, z31.s
-smin z0.b, z0.b, #-128
-smin z0.d, z0.d, #-128
-smin z0.h, z0.h, #-128
-smin z0.s, z0.s, #-128
-smin z31.b, p7/m, z31.b, z31.b
-smin z31.b, z31.b, #127
-smin z31.d, p7/m, z31.d, z31.d
-smin z31.d, z31.d, #127
-smin z31.h, p7/m, z31.h, z31.h
-smin z31.h, z31.h, #127
-smin z31.s, p7/m, z31.s, z31.s
-smin z31.s, z31.s, #127
-sminp z0.b, p0/m, z0.b, z1.b
-sminp z0.h, p0/m, z0.h, z1.h
-sminp z29.s, p7/m, z29.s, z30.s
-sminp z31.d, p7/m, z31.d, z30.d
-sminv b0, p7, z31.b
-sminv d0, p7, z31.d
-sminv h0, p7, z31.h
-sminv s0, p7, z31.s
-smlalb z0.d, z1.s, z15.s[1]
-smlalb z0.d, z1.s, z31.s
-smlalb z0.h, z1.b, z31.b
-smlalb z0.s, z1.h, z31.h
-smlalb z0.s, z1.h, z7.h[7]
-smlalt z0.d, z1.s, z15.s[1]
-smlalt z0.d, z1.s, z31.s
-smlalt z0.h, z1.b, z31.b
-smlalt z0.s, z1.h, z31.h
-smlalt z0.s, z1.h, z7.h[7]
-smlslb z0.d, z1.s, z15.s[1]
-smlslb z0.d, z1.s, z31.s
-smlslb z0.h, z1.b, z31.b
-smlslb z0.s, z1.h, z31.h
-smlslb z0.s, z1.h, z7.h[7]
-smlslt z0.d, z1.s, z15.s[1]
-smlslt z0.d, z1.s, z31.s
-smlslt z0.h, z1.b, z31.b
-smlslt z0.s, z1.h, z31.h
-smlslt z0.s, z1.h, z7.h[7]
-smmla z0.s, z1.b, z2.b
-smulh z0.b, p7/m, z0.b, z31.b
-smulh z0.b, z1.b, z2.b
-smulh z0.d, p7/m, z0.d, z31.d
-smulh z0.h, p7/m, z0.h, z31.h
-smulh z0.h, z1.h, z2.h
-smulh z0.s, p7/m, z0.s, z31.s
-smulh z29.s, z30.s, z31.s
-smulh z31.d, z31.d, z31.d
-smullb z0.d, z1.s, z15.s[1]
-smullb z0.h, z1.b, z2.b
-smullb z0.s, z1.h, z7.h[7]
-smullb z29.s, z30.h, z31.h
-smullb z31.d, z31.s, z31.s
-smullt z0.d, z1.s, z15.s[1]
-smullt z0.h, z1.b, z2.b
-smullt z0.s, z1.h, z7.h[7]
-smullt z29.s, z30.h, z31.h
-smullt z31.d, z31.s, z31.s
-splice z29.b, p7, { z30.b, z31.b }
-splice z29.d, p7, { z30.d, z31.d }
-splice z29.h, p7, { z30.h, z31.h }
-splice z29.s, p7, { z30.s, z31.s }
-splice z31.b, p7, z31.b, z31.b
-splice z31.d, p7, z31.d, z31.d
-splice z31.h, p7, z31.h, z31.h
-splice z31.s, p7, z31.s, z31.s
-sqabs z31.b, p7/m, z31.b
-sqabs z31.d, p7/m, z31.d
-sqabs z31.h, p7/m, z31.h
-sqabs z31.s, p7/m, z31.s
-sqadd z0.b, p0/m, z0.b, z1.b
-sqadd z0.b, z0.b, #0
-sqadd z0.b, z0.b, z0.b
-sqadd z0.d, z0.d, #0
-sqadd z0.d, z0.d, #0, lsl #8
-sqadd z0.d, z0.d, z0.d
-sqadd z0.h, p0/m, z0.h, z1.h
-sqadd z0.h, z0.h, #0
-sqadd z0.h, z0.h, #0, lsl #8
-sqadd z0.h, z0.h, z0.h
-sqadd z0.s, z0.s, #0
-sqadd z0.s, z0.s, #0, lsl #8
-sqadd z0.s, z0.s, z0.s
-sqadd z29.s, p7/m, z29.s, z30.s
-sqadd z31.b, z31.b, #255
-sqadd z31.d, p7/m, z31.d, z30.d
-sqadd z31.d, z31.d, #65280
-sqadd z31.h, z31.h, #65280
-sqadd z31.s, z31.s, #65280
-sqcadd z0.b, z0.b, z0.b, #90
-sqcadd z0.d, z0.d, z0.d, #90
-sqcadd z0.h, z0.h, z0.h, #90
-sqcadd z0.s, z0.s, z0.s, #90
-sqcadd z31.b, z31.b, z31.b, #270
-sqcadd z31.d, z31.d, z31.d, #270
-sqcadd z31.h, z31.h, z31.h, #270
-sqcadd z31.s, z31.s, z31.s, #270
-sqdecb x0
-sqdecb x0, #14
-sqdecb x0, all, mul #16
-sqdecb x0, pow2
-sqdecb x0, vl1
-sqdecb x0, w0
-sqdecb x0, w0, all, mul #16
-sqdecb x0, w0, pow2
-sqdecb x0, w0, pow2, mul #16
-sqdecd x0
-sqdecd x0, #14
-sqdecd x0, all, mul #16
-sqdecd x0, pow2
-sqdecd x0, vl1
-sqdecd x0, w0
-sqdecd x0, w0, all, mul #16
-sqdecd x0, w0, pow2
-sqdecd x0, w0, pow2, mul #16
-sqdecd z0.d
-sqdecd z0.d, all, mul #16
-sqdecd z0.d, pow2
-sqdecd z0.d, pow2, mul #16
-sqdech x0
-sqdech x0, #14
-sqdech x0, all, mul #16
-sqdech x0, pow2
-sqdech x0, vl1
-sqdech x0, w0
-sqdech x0, w0, all, mul #16
-sqdech x0, w0, pow2
-sqdech x0, w0, pow2, mul #16
-sqdech z0.h
-sqdech z0.h, all, mul #16
-sqdech z0.h, pow2
-sqdech z0.h, pow2, mul #16
-sqdecp x0, p0.b
-sqdecp x0, p0.d
-sqdecp x0, p0.h
-sqdecp x0, p0.s
-sqdecp xzr, p15.b, wzr
-sqdecp xzr, p15.d, wzr
-sqdecp xzr, p15.h, wzr
-sqdecp xzr, p15.s, wzr
-sqdecp z0.d, p0.d
-sqdecp z0.h, p0.h
-sqdecp z0.s, p0.s
-sqdecw x0
-sqdecw x0, #14
-sqdecw x0, all, mul #16
-sqdecw x0, pow2
-sqdecw x0, vl1
-sqdecw x0, w0
-sqdecw x0, w0, all, mul #16
-sqdecw x0, w0, pow2
-sqdecw x0, w0, pow2, mul #16
-sqdecw z0.s
-sqdecw z0.s, all, mul #16
-sqdecw z0.s, pow2
-sqdecw z0.s, pow2, mul #16
-sqdmlalb z0.d, z1.s, z15.s[3]
-sqdmlalb z0.d, z1.s, z31.s
-sqdmlalb z0.h, z1.b, z31.b
-sqdmlalb z0.s, z1.h, z31.h
-sqdmlalb z0.s, z1.h, z7.h[7]
-sqdmlalbt z0.d, z1.s, z31.s
-sqdmlalbt z0.h, z1.b, z31.b
-sqdmlalbt z0.s, z1.h, z31.h
-sqdmlalt z0.d, z1.s, z15.s[3]
-sqdmlalt z0.d, z1.s, z31.s
-sqdmlalt z0.h, z1.b, z31.b
-sqdmlalt z0.s, z1.h, z31.h
-sqdmlalt z0.s, z1.h, z7.h[7]
-sqdmlslb z0.d, z1.s, z15.s[3]
-sqdmlslb z0.d, z1.s, z31.s
-sqdmlslb z0.h, z1.b, z31.b
-sqdmlslb z0.s, z1.h, z31.h
-sqdmlslb z0.s, z1.h, z7.h[7]
-sqdmlslbt z0.d, z1.s, z31.s
-sqdmlslbt z0.h, z1.b, z31.b
-sqdmlslbt z0.s, z1.h, z31.h
-sqdmlslt z0.d, z1.s, z15.s[3]
-sqdmlslt z0.d, z1.s, z31.s
-sqdmlslt z0.h, z1.b, z31.b
-sqdmlslt z0.s, z1.h, z31.h
-sqdmlslt z0.s, z1.h, z7.h[7]
-sqdmulh z0.b, z1.b, z2.b
-sqdmulh z0.d, z1.d, z15.d[1]
-sqdmulh z0.h, z1.h, z2.h
-sqdmulh z0.h, z1.h, z7.h[7]
-sqdmulh z0.s, z1.s, z7.s[3]
-sqdmulh z29.s, z30.s, z31.s
-sqdmulh z31.d, z31.d, z31.d
-sqdmullb z0.d, z1.s, z15.s[1]
-sqdmullb z0.h, z1.b, z2.b
-sqdmullb z0.s, z1.h, z7.h[7]
-sqdmullb z29.s, z30.h, z31.h
-sqdmullb z31.d, z31.s, z31.s
-sqdmullt z0.d, z1.s, z15.s[1]
-sqdmullt z0.h, z1.b, z2.b
-sqdmullt z0.s, z1.h, z7.h[7]
-sqdmullt z29.s, z30.h, z31.h
-sqdmullt z31.d, z31.s, z31.s
-sqincb x0
-sqincb x0, #14
-sqincb x0, all, mul #16
-sqincb x0, pow2
-sqincb x0, vl1
-sqincb x0, w0
-sqincb x0, w0, all, mul #16
-sqincb x0, w0, pow2
-sqincb x0, w0, pow2, mul #16
-sqincd x0
-sqincd x0, #14
-sqincd x0, all, mul #16
-sqincd x0, pow2
-sqincd x0, vl1
-sqincd x0, w0
-sqincd x0, w0, all, mul #16
-sqincd x0, w0, pow2
-sqincd x0, w0, pow2, mul #16
-sqincd z0.d
-sqincd z0.d, all, mul #16
-sqincd z0.d, pow2
-sqincd z0.d, pow2, mul #16
-sqinch x0
-sqinch x0, #14
-sqinch x0, all, mul #16
-sqinch x0, pow2
-sqinch x0, vl1
-sqinch x0, w0
-sqinch x0, w0, all, mul #16
-sqinch x0, w0, pow2
-sqinch x0, w0, pow2, mul #16
-sqinch z0.h
-sqinch z0.h, all, mul #16
-sqinch z0.h, pow2
-sqinch z0.h, pow2, mul #16
-sqincp x0, p0.b
-sqincp x0, p0.d
-sqincp x0, p0.h
-sqincp x0, p0.s
-sqincp xzr, p15.b, wzr
-sqincp xzr, p15.d, wzr
-sqincp xzr, p15.h, wzr
-sqincp xzr, p15.s, wzr
-sqincp z0.d, p0.d
-sqincp z0.h, p0.h
-sqincp z0.s, p0.s
-sqincw x0
-sqincw x0, #14
-sqincw x0, all, mul #16
-sqincw x0, pow2
-sqincw x0, vl1
-sqincw x0, w0
-sqincw x0, w0, all, mul #16
-sqincw x0, w0, pow2
-sqincw x0, w0, pow2, mul #16
-sqincw z0.s
-sqincw z0.s, all, mul #16
-sqincw z0.s, pow2
-sqincw z0.s, pow2, mul #16
-sqneg z31.b, p7/m, z31.b
-sqneg z31.d, p7/m, z31.d
-sqneg z31.h, p7/m, z31.h
-sqneg z31.s, p7/m, z31.s
-sqrdcmlah z0.b, z1.b, z2.b, #0
-sqrdcmlah z0.d, z1.d, z2.d, #0
-sqrdcmlah z0.h, z1.h, z2.h, #0
-sqrdcmlah z0.h, z1.h, z2.h[0], #0
-sqrdcmlah z0.s, z1.s, z2.s, #0
-sqrdcmlah z0.s, z1.s, z2.s[0], #0
-sqrdcmlah z15.b, z16.b, z17.b, #270
-sqrdcmlah z15.d, z16.d, z17.d, #270
-sqrdcmlah z15.h, z16.h, z17.h, #270
-sqrdcmlah z15.s, z16.s, z17.s, #270
-sqrdcmlah z29.b, z30.b, z31.b, #90
-sqrdcmlah z29.d, z30.d, z31.d, #90
-sqrdcmlah z29.h, z30.h, z31.h, #90
-sqrdcmlah z29.s, z30.s, z31.s, #90
-sqrdcmlah z31.b, z31.b, z31.b, #180
-sqrdcmlah z31.d, z31.d, z31.d, #180
-sqrdcmlah z31.h, z30.h, z7.h[0], #180
-sqrdcmlah z31.h, z31.h, z31.h, #180
-sqrdcmlah z31.s, z30.s, z7.s[0], #180
-sqrdcmlah z31.s, z31.s, z31.s, #180
-sqrdmlah z0.b, z1.b, z31.b
-sqrdmlah z0.d, z1.d, z15.d[1]
-sqrdmlah z0.d, z1.d, z31.d
-sqrdmlah z0.h, z1.h, z31.h
-sqrdmlah z0.h, z1.h, z7.h[7]
-sqrdmlah z0.s, z1.s, z31.s
-sqrdmlah z0.s, z1.s, z7.s[3]
-sqrdmlsh z0.b, z1.b, z31.b
-sqrdmlsh z0.d, z1.d, z15.d[1]
-sqrdmlsh z0.d, z1.d, z31.d
-sqrdmlsh z0.h, z1.h, z31.h
-sqrdmlsh z0.h, z1.h, z7.h[7]
-sqrdmlsh z0.s, z1.s, z31.s
-sqrdmlsh z0.s, z1.s, z7.s[3]
-sqrdmulh z0.b, z1.b, z2.b
-sqrdmulh z0.d, z1.d, z15.d[1]
-sqrdmulh z0.h, z1.h, z2.h
-sqrdmulh z0.h, z1.h, z7.h[7]
-sqrdmulh z0.s, z1.s, z7.s[3]
-sqrdmulh z29.s, z30.s, z31.s
-sqrdmulh z31.d, z31.d, z31.d
-sqrshl z0.b, p0/m, z0.b, z1.b
-sqrshl z0.h, p0/m, z0.h, z1.h
-sqrshl z29.s, p7/m, z29.s, z30.s
-sqrshl z31.d, p7/m, z31.d, z30.d
-sqrshlr z0.b, p0/m, z0.b, z1.b
-sqrshlr z0.h, p0/m, z0.h, z1.h
-sqrshlr z29.s, p7/m, z29.s, z30.s
-sqrshlr z31.d, p7/m, z31.d, z30.d
-sqrshrnb z0.b, z0.h, #1
-sqrshrnb z0.h, z0.s, #1
-sqrshrnb z0.s, z0.d, #1
-sqrshrnb z31.b, z31.h, #8
-sqrshrnb z31.h, z31.s, #16
-sqrshrnb z31.s, z31.d, #32
-sqrshrnt z0.b, z0.h, #1
-sqrshrnt z0.h, z0.s, #1
-sqrshrnt z0.s, z0.d, #1
-sqrshrnt z31.b, z31.h, #8
-sqrshrnt z31.h, z31.s, #16
-sqrshrnt z31.s, z31.d, #32
-sqrshrunb z0.b, z0.h, #1
-sqrshrunb z0.h, z0.s, #1
-sqrshrunb z0.s, z0.d, #1
-sqrshrunb z31.b, z31.h, #8
-sqrshrunb z31.h, z31.s, #16
-sqrshrunb z31.s, z31.d, #32
-sqrshrunt z0.b, z0.h, #1
-sqrshrunt z0.h, z0.s, #1
-sqrshrunt z0.s, z0.d, #1
-sqrshrunt z31.b, z31.h, #8
-sqrshrunt z31.h, z31.s, #16
-sqrshrunt z31.s, z31.d, #32
-sqshl z0.b, p0/m, z0.b, #0
-sqshl z0.b, p0/m, z0.b, z1.b
-sqshl z0.d, p0/m, z0.d, #0
-sqshl z0.h, p0/m, z0.h, #0
-sqshl z0.h, p0/m, z0.h, z1.h
-sqshl z0.s, p0/m, z0.s, #0
-sqshl z29.s, p7/m, z29.s, z30.s
-sqshl z31.b, p0/m, z31.b, #7
-sqshl z31.d, p0/m, z31.d, #63
-sqshl z31.d, p7/m, z31.d, z30.d
-sqshl z31.h, p0/m, z31.h, #15
-sqshl z31.s, p0/m, z31.s, #31
-sqshlr z0.b, p0/m, z0.b, z1.b
-sqshlr z0.h, p0/m, z0.h, z1.h
-sqshlr z29.s, p7/m, z29.s, z30.s
-sqshlr z31.d, p7/m, z31.d, z30.d
-sqshlu z0.b, p0/m, z0.b, #0
-sqshlu z0.d, p0/m, z0.d, #0
-sqshlu z0.h, p0/m, z0.h, #0
-sqshlu z0.s, p0/m, z0.s, #0
-sqshlu z31.b, p0/m, z31.b, #7
-sqshlu z31.d, p0/m, z31.d, #63
-sqshlu z31.h, p0/m, z31.h, #15
-sqshlu z31.s, p0/m, z31.s, #31
-sqshrnb z0.b, z0.h, #1
-sqshrnb z0.h, z0.s, #1
-sqshrnb z0.s, z0.d, #1
-sqshrnb z31.b, z31.h, #8
-sqshrnb z31.h, z31.s, #16
-sqshrnb z31.s, z31.d, #32
-sqshrnt z0.b, z0.h, #1
-sqshrnt z0.h, z0.s, #1
-sqshrnt z0.s, z0.d, #1
-sqshrnt z31.b, z31.h, #8
-sqshrnt z31.h, z31.s, #16
-sqshrnt z31.s, z31.d, #32
-sqshrunb z0.b, z0.h, #1
-sqshrunb z0.h, z0.s, #1
-sqshrunb z0.s, z0.d, #1
-sqshrunb z31.b, z31.h, #8
-sqshrunb z31.h, z31.s, #16
-sqshrunb z31.s, z31.d, #32
-sqshrunt z0.b, z0.h, #1
-sqshrunt z0.h, z0.s, #1
-sqshrunt z0.s, z0.d, #1
-sqshrunt z31.b, z31.h, #8
-sqshrunt z31.h, z31.s, #16
-sqshrunt z31.s, z31.d, #32
-sqsub z0.b, p0/m, z0.b, z1.b
-sqsub z0.b, z0.b, #0
-sqsub z0.b, z0.b, z0.b
-sqsub z0.d, z0.d, #0
-sqsub z0.d, z0.d, #0, lsl #8
-sqsub z0.d, z0.d, z0.d
-sqsub z0.h, p0/m, z0.h, z1.h
-sqsub z0.h, z0.h, #0
-sqsub z0.h, z0.h, #0, lsl #8
-sqsub z0.h, z0.h, z0.h
-sqsub z0.s, z0.s, #0
-sqsub z0.s, z0.s, #0, lsl #8
-sqsub z0.s, z0.s, z0.s
-sqsub z29.s, p7/m, z29.s, z30.s
-sqsub z31.b, z31.b, #255
-sqsub z31.d, p7/m, z31.d, z30.d
-sqsub z31.d, z31.d, #65280
-sqsub z31.h, z31.h, #65280
-sqsub z31.s, z31.s, #65280
-sqsubr z0.b, p0/m, z0.b, z1.b
-sqsubr z0.h, p0/m, z0.h, z1.h
-sqsubr z29.s, p7/m, z29.s, z30.s
-sqsubr z31.d, p7/m, z31.d, z30.d
-sqxtnb z0.b, z31.h
-sqxtnb z0.h, z31.s
-sqxtnb z0.s, z31.d
-sqxtnt z0.b, z31.h
-sqxtnt z0.h, z31.s
-sqxtnt z0.s, z31.d
-sqxtunb z0.b, z31.h
-sqxtunb z0.h, z31.s
-sqxtunb z0.s, z31.d
-sqxtunt z0.b, z31.h
-sqxtunt z0.h, z31.s
-sqxtunt z0.s, z31.d
-srhadd z0.b, p0/m, z0.b, z1.b
-srhadd z0.h, p0/m, z0.h, z1.h
-srhadd z29.s, p7/m, z29.s, z30.s
-srhadd z31.d, p7/m, z31.d, z30.d
-sri z0.b, z0.b, #1
-sri z0.d, z0.d, #1
-sri z0.h, z0.h, #1
-sri z0.s, z0.s, #1
-sri z31.b, z31.b, #8
-sri z31.d, z31.d, #64
-sri z31.h, z31.h, #16
-sri z31.s, z31.s, #32
-srshl z0.b, p0/m, z0.b, z1.b
-srshl z0.h, p0/m, z0.h, z1.h
-srshl z29.s, p7/m, z29.s, z30.s
-srshl z31.d, p7/m, z31.d, z30.d
-srshlr z0.b, p0/m, z0.b, z1.b
-srshlr z0.h, p0/m, z0.h, z1.h
-srshlr z29.s, p7/m, z29.s, z30.s
-srshlr z31.d, p7/m, z31.d, z30.d
-srshr z0.b, p0/m, z0.b, #1
-srshr z0.d, p0/m, z0.d, #1
-srshr z0.h, p0/m, z0.h, #1
-srshr z0.s, p0/m, z0.s, #1
-srshr z31.b, p0/m, z31.b, #8
-srshr z31.d, p0/m, z31.d, #64
-srshr z31.h, p0/m, z31.h, #16
-srshr z31.s, p0/m, z31.s, #32
-srsra z0.b, z0.b, #1
-srsra z0.d, z0.d, #1
-srsra z0.h, z0.h, #1
-srsra z0.s, z0.s, #1
-srsra z31.b, z31.b, #8
-srsra z31.d, z31.d, #64
-srsra z31.h, z31.h, #16
-srsra z31.s, z31.s, #32
-sshllb z0.d, z0.s, #0
-sshllb z0.h, z0.b, #0
-sshllb z0.s, z0.h, #0
-sshllb z31.d, z31.s, #31
-sshllb z31.h, z31.b, #7
-sshllb z31.s, z31.h, #15
-sshllt z0.d, z0.s, #0
-sshllt z0.h, z0.b, #0
-sshllt z0.s, z0.h, #0
-sshllt z31.d, z31.s, #31
-sshllt z31.h, z31.b, #7
-sshllt z31.s, z31.h, #15
-ssra z0.b, z0.b, #1
-ssra z0.d, z0.d, #1
-ssra z0.h, z0.h, #1
-ssra z0.s, z0.s, #1
-ssra z31.b, z31.b, #8
-ssra z31.d, z31.d, #64
-ssra z31.h, z31.h, #16
-ssra z31.s, z31.s, #32
-ssublb z0.h, z1.b, z2.b
-ssublb z29.s, z30.h, z31.h
-ssublb z31.d, z31.s, z31.s
-ssublbt z0.d, z1.s, z31.s
-ssublbt z0.h, z1.b, z31.b
-ssublbt z0.s, z1.h, z31.h
-ssublt z0.h, z1.b, z2.b
-ssublt z29.s, z30.h, z31.h
-ssublt z31.d, z31.s, z31.s
-ssubltb z0.d, z1.s, z31.s
-ssubltb z0.h, z1.b, z31.b
-ssubltb z0.s, z1.h, z31.h
-ssubwb z0.h, z1.h, z2.b
-ssubwb z29.s, z30.s, z31.h
-ssubwb z31.d, z31.d, z31.s
-ssubwt z0.h, z1.h, z2.b
-ssubwt z29.s, z30.s, z31.h
-ssubwt z31.d, z31.d, z31.s
-st1b { z0.b }, p0, [x0, x0]
-st1b { z0.b }, p0, [x0]
-st1b { z0.d }, p0, [x0, x0]
-st1b { z0.d }, p0, [x0, z0.d, sxtw]
-st1b { z0.d }, p0, [x0, z0.d, uxtw]
-st1b { z0.d }, p0, [x0, z0.d]
-st1b { z0.d }, p0, [x0]
-st1b { z0.d }, p7, [z0.d]
-st1b { z0.h }, p0, [x0, x0]
-st1b { z0.h }, p0, [x0]
-st1b { z0.s }, p0, [x0, x0]
-st1b { z0.s }, p0, [x0, z0.s, sxtw]
-st1b { z0.s }, p0, [x0, z0.s, uxtw]
-st1b { z0.s }, p0, [x0]
-st1b { z0.s }, p7, [z0.s]
-st1b { z21.b }, p5, [x10, #5, mul vl]
-st1b { z21.d }, p5, [x10, #5, mul vl]
-st1b { z21.h }, p5, [x10, #5, mul vl]
-st1b { z21.s }, p5, [x10, #5, mul vl]
-st1b { z31.b }, p7, [sp, #-1, mul vl]
-st1b { z31.d }, p7, [sp, #-1, mul vl]
-st1b { z31.d }, p7, [z31.d, #31]
-st1b { z31.h }, p7, [sp, #-1, mul vl]
-st1b { z31.s }, p7, [sp, #-1, mul vl]
-st1b { z31.s }, p7, [z31.s, #31]
-st1d { z0.d }, p0, [x0, x0, lsl #3]
-st1d { z0.d }, p0, [x0, z0.d, lsl #3]
-st1d { z0.d }, p0, [x0, z0.d, sxtw #3]
-st1d { z0.d }, p0, [x0, z0.d, sxtw]
-st1d { z0.d }, p0, [x0, z0.d, uxtw #3]
-st1d { z0.d }, p0, [x0, z0.d, uxtw]
-st1d { z0.d }, p0, [x0, z0.d]
-st1d { z0.d }, p0, [x0]
-st1d { z0.d }, p7, [z0.d]
-st1d { z21.d }, p5, [x10, #5, mul vl]
-st1d { z31.d }, p7, [sp, #-1, mul vl]
-st1d { z31.d }, p7, [z31.d, #248]
-st1h { z0.d }, p0, [x0, x0, lsl #1]
-st1h { z0.d }, p0, [x0, z0.d, lsl #1]
-st1h { z0.d }, p0, [x0, z0.d, sxtw #1]
-st1h { z0.d }, p0, [x0, z0.d, sxtw]
-st1h { z0.d }, p0, [x0, z0.d, uxtw #1]
-st1h { z0.d }, p0, [x0, z0.d, uxtw]
-st1h { z0.d }, p0, [x0, z0.d]
-st1h { z0.d }, p0, [x0]
-st1h { z0.d }, p7, [z0.d]
-st1h { z0.h }, p0, [x0, x0, lsl #1]
-st1h { z0.h }, p0, [x0]
-st1h { z0.s }, p0, [x0, x0, lsl #1]
-st1h { z0.s }, p0, [x0, z0.s, sxtw #1]
-st1h { z0.s }, p0, [x0, z0.s, sxtw]
-st1h { z0.s }, p0, [x0, z0.s, uxtw #1]
-st1h { z0.s }, p0, [x0, z0.s, uxtw]
-st1h { z0.s }, p0, [x0]
-st1h { z0.s }, p7, [z0.s]
-st1h { z21.d }, p5, [x10, #5, mul vl]
-st1h { z21.h }, p5, [x10, #5, mul vl]
-st1h { z21.s }, p5, [x10, #5, mul vl]
-st1h { z31.d }, p7, [sp, #-1, mul vl]
-st1h { z31.d }, p7, [z31.d, #62]
-st1h { z31.h }, p7, [sp, #-1, mul vl]
-st1h { z31.s }, p7, [sp, #-1, mul vl]
-st1h { z31.s }, p7, [z31.s, #62]
-st1w { z0.d }, p0, [x0, x0, lsl #2]
-st1w { z0.d }, p0, [x0, z0.d, lsl #2]
-st1w { z0.d }, p0, [x0, z0.d, sxtw #2]
-st1w { z0.d }, p0, [x0, z0.d, sxtw]
-st1w { z0.d }, p0, [x0, z0.d, uxtw #2]
-st1w { z0.d }, p0, [x0, z0.d, uxtw]
-st1w { z0.d }, p0, [x0, z0.d]
-st1w { z0.d }, p0, [x0]
-st1w { z0.d }, p7, [z0.d]
-st1w { z0.s }, p0, [x0, x0, lsl #2]
-st1w { z0.s }, p0, [x0, z0.s, sxtw #2]
-st1w { z0.s }, p0, [x0, z0.s, sxtw]
-st1w { z0.s }, p0, [x0, z0.s, uxtw #2]
-st1w { z0.s }, p0, [x0, z0.s, uxtw]
-st1w { z0.s }, p0, [x0]
-st1w { z0.s }, p7, [z0.s]
-st1w { z21.d }, p5, [x10, #5, mul vl]
-st1w { z21.s }, p5, [x10, #5, mul vl]
-st1w { z31.d }, p7, [sp, #-1, mul vl]
-st1w { z31.d }, p7, [z31.d, #124]
-st1w { z31.s }, p7, [sp, #-1, mul vl]
-st1w { z31.s }, p7, [z31.s, #124]
-st2b { z0.b, z1.b }, p0, [x0, x0]
-st2b { z0.b, z1.b }, p0, [x0]
-st2b { z21.b, z22.b }, p5, [x10, #10, mul vl]
-st2b { z23.b, z24.b }, p3, [x13, #-16, mul vl]
-st2b { z5.b, z6.b }, p3, [x17, x16]
-st2d { z0.d, z1.d }, p0, [x0, x0, lsl #3]
-st2d { z0.d, z1.d }, p0, [x0]
-st2d { z21.d, z22.d }, p5, [x10, #10, mul vl]
-st2d { z23.d, z24.d }, p3, [x13, #-16, mul vl]
-st2d { z5.d, z6.d }, p3, [x17, x16, lsl #3]
-st2h { z0.h, z1.h }, p0, [x0, x0, lsl #1]
-st2h { z0.h, z1.h }, p0, [x0]
-st2h { z21.h, z22.h }, p5, [x10, #10, mul vl]
-st2h { z23.h, z24.h }, p3, [x13, #-16, mul vl]
-st2h { z5.h, z6.h }, p3, [x17, x16, lsl #1]
-st2w { z0.s, z1.s }, p0, [x0, x0, lsl #2]
-st2w { z0.s, z1.s }, p0, [x0]
-st2w { z21.s, z22.s }, p5, [x10, #10, mul vl]
-st2w { z23.s, z24.s }, p3, [x13, #-16, mul vl]
-st2w { z5.s, z6.s }, p3, [x17, x16, lsl #2]
-st3b { z0.b, z1.b, z2.b }, p0, [x0, x0]
-st3b { z0.b, z1.b, z2.b }, p0, [x0]
-st3b { z21.b, z22.b, z23.b }, p5, [x10, #15, mul vl]
-st3b { z23.b, z24.b, z25.b }, p3, [x13, #-24, mul vl]
-st3b { z5.b, z6.b, z7.b }, p3, [x17, x16]
-st3d { z0.d, z1.d, z2.d }, p0, [x0, x0, lsl #3]
-st3d { z0.d, z1.d, z2.d }, p0, [x0]
-st3d { z21.d, z22.d, z23.d }, p5, [x10, #15, mul vl]
-st3d { z23.d, z24.d, z25.d }, p3, [x13, #-24, mul vl]
-st3d { z5.d, z6.d, z7.d }, p3, [x17, x16, lsl #3]
-st3h { z0.h, z1.h, z2.h }, p0, [x0, x0, lsl #1]
-st3h { z0.h, z1.h, z2.h }, p0, [x0]
-st3h { z21.h, z22.h, z23.h }, p5, [x10, #15, mul vl]
-st3h { z23.h, z24.h, z25.h }, p3, [x13, #-24, mul vl]
-st3h { z5.h, z6.h, z7.h }, p3, [x17, x16, lsl #1]
-st3w { z0.s, z1.s, z2.s }, p0, [x0, x0, lsl #2]
-st3w { z0.s, z1.s, z2.s }, p0, [x0]
-st3w { z21.s, z22.s, z23.s }, p5, [x10, #15, mul vl]
-st3w { z23.s, z24.s, z25.s }, p3, [x13, #-24, mul vl]
-st3w { z5.s, z6.s, z7.s }, p3, [x17, x16, lsl #2]
-st4b { z0.b, z1.b, z2.b, z3.b }, p0, [x0, x0]
-st4b { z0.b, z1.b, z2.b, z3.b }, p0, [x0]
-st4b { z21.b, z22.b, z23.b, z24.b }, p5, [x10, #20, mul vl]
-st4b { z23.b, z24.b, z25.b, z26.b }, p3, [x13, #-32, mul vl]
-st4b { z5.b, z6.b, z7.b, z8.b }, p3, [x17, x16]
-st4d { z0.d, z1.d, z2.d, z3.d }, p0, [x0, x0, lsl #3]
-st4d { z0.d, z1.d, z2.d, z3.d }, p0, [x0]
-st4d { z21.d, z22.d, z23.d, z24.d }, p5, [x10, #20, mul vl]
-st4d { z23.d, z24.d, z25.d, z26.d }, p3, [x13, #-32, mul vl]
-st4d { z5.d, z6.d, z7.d, z8.d }, p3, [x17, x16, lsl #3]
-st4h { z0.h, z1.h, z2.h, z3.h }, p0, [x0, x0, lsl #1]
-st4h { z0.h, z1.h, z2.h, z3.h }, p0, [x0]
-st4h { z21.h, z22.h, z23.h, z24.h }, p5, [x10, #20, mul vl]
-st4h { z23.h, z24.h, z25.h, z26.h }, p3, [x13, #-32, mul vl]
-st4h { z5.h, z6.h, z7.h, z8.h }, p3, [x17, x16, lsl #1]
-st4w { z0.s, z1.s, z2.s, z3.s }, p0, [x0, x0, lsl #2]
-st4w { z0.s, z1.s, z2.s, z3.s }, p0, [x0]
-st4w { z21.s, z22.s, z23.s, z24.s }, p5, [x10, #20, mul vl]
-st4w { z23.s, z24.s, z25.s, z26.s }, p3, [x13, #-32, mul vl]
-st4w { z5.s, z6.s, z7.s, z8.s }, p3, [x17, x16, lsl #2]
-stnt1b { z0.b }, p0, [x0, x0]
-stnt1b { z0.b }, p0, [x0]
-stnt1b { z0.d }, p0, [z1.d]
-stnt1b { z0.s }, p0, [z1.s]
-stnt1b { z21.b }, p5, [x10, #7, mul vl]
-stnt1b { z23.b }, p3, [x13, #-8, mul vl]
-stnt1b { z31.d }, p7, [z31.d, x0]
-stnt1b { z31.d }, p7, [z31.d]
-stnt1b { z31.s }, p7, [z31.s, x0]
-stnt1b { z31.s }, p7, [z31.s]
-stnt1d { z0.d }, p0, [x0, x0, lsl #3]
-stnt1d { z0.d }, p0, [x0]
-stnt1d { z0.d }, p0, [z1.d]
-stnt1d { z21.d }, p5, [x10, #7, mul vl]
-stnt1d { z23.d }, p3, [x13, #-8, mul vl]
-stnt1d { z31.d }, p7, [z31.d, x0]
-stnt1d { z31.d }, p7, [z31.d]
-stnt1h { z0.d }, p0, [z1.d]
-stnt1h { z0.h }, p0, [x0, x0, lsl #1]
-stnt1h { z0.h }, p0, [x0]
-stnt1h { z0.s }, p0, [z1.s]
-stnt1h { z21.h }, p5, [x10, #7, mul vl]
-stnt1h { z23.h }, p3, [x13, #-8, mul vl]
-stnt1h { z31.d }, p7, [z31.d, x0]
-stnt1h { z31.d }, p7, [z31.d]
-stnt1h { z31.s }, p7, [z31.s, x0]
-stnt1h { z31.s }, p7, [z31.s]
-stnt1w { z0.d }, p0, [z1.d]
-stnt1w { z0.s }, p0, [x0, x0, lsl #2]
-stnt1w { z0.s }, p0, [x0]
-stnt1w { z0.s }, p0, [z1.s]
-stnt1w { z21.s }, p5, [x10, #7, mul vl]
-stnt1w { z23.s }, p3, [x13, #-8, mul vl]
-stnt1w { z31.d }, p7, [z31.d, x0]
-stnt1w { z31.d }, p7, [z31.d]
-stnt1w { z31.s }, p7, [z31.s, x0]
-stnt1w { z31.s }, p7, [z31.s]
-str p0, [x0]
-str p15, [sp, #-256, mul vl]
-str p5, [x10, #255, mul vl]
-str z0, [x0]
-str z21, [x10, #-256, mul vl]
-str z31, [sp, #255, mul vl]
-sub z0.b, p0/m, z0.b, z0.b
-sub z0.b, z0.b, #0
-sub z0.b, z0.b, z0.b
-sub z0.d, p0/m, z0.d, z0.d
-sub z0.d, z0.d, #0
-sub z0.d, z0.d, #0, lsl #8
-sub z0.d, z0.d, z0.d
-sub z0.h, p0/m, z0.h, z0.h
-sub z0.h, z0.h, #0
-sub z0.h, z0.h, #0, lsl #8
-sub z0.h, z0.h, z0.h
-sub z0.s, p0/m, z0.s, z0.s
-sub z0.s, z0.s, #0
-sub z0.s, z0.s, #0, lsl #8
-sub z0.s, z0.s, z0.s
-sub z21.b, p5/m, z21.b, z10.b
-sub z21.b, z10.b, z21.b
-sub z21.d, p5/m, z21.d, z10.d
-sub z21.d, z10.d, z21.d
-sub z21.h, p5/m, z21.h, z10.h
-sub z21.h, z10.h, z21.h
-sub z21.s, p5/m, z21.s, z10.s
-sub z21.s, z10.s, z21.s
-sub z23.b, p3/m, z23.b, z13.b
-sub z23.b, z13.b, z8.b
-sub z23.d, p3/m, z23.d, z13.d
-sub z23.d, z13.d, z8.d
-sub z23.h, p3/m, z23.h, z13.h
-sub z23.h, z13.h, z8.h
-sub z23.s, p3/m, z23.s, z13.s
-sub z23.s, z13.s, z8.s
-sub z31.b, p7/m, z31.b, z31.b
-sub z31.b, z31.b, #255
-sub z31.b, z31.b, z31.b
-sub z31.d, p7/m, z31.d, z31.d
-sub z31.d, z31.d, #65280
-sub z31.d, z31.d, z31.d
-sub z31.h, p7/m, z31.h, z31.h
-sub z31.h, z31.h, #65280
-sub z31.h, z31.h, z31.h
-sub z31.s, p7/m, z31.s, z31.s
-sub z31.s, z31.s, #65280
-sub z31.s, z31.s, z31.s
-subhnb z0.b, z1.h, z31.h
-subhnb z0.h, z1.s, z31.s
-subhnb z0.s, z1.d, z31.d
-subhnt z0.b, z1.h, z31.h
-subhnt z0.h, z1.s, z31.s
-subhnt z0.s, z1.d, z31.d
-subr z0.b, p0/m, z0.b, z0.b
-subr z0.b, z0.b, #0
-subr z0.d, p0/m, z0.d, z0.d
-subr z0.d, z0.d, #0
-subr z0.d, z0.d, #0, lsl #8
-subr z0.h, p0/m, z0.h, z0.h
-subr z0.h, z0.h, #0
-subr z0.h, z0.h, #0, lsl #8
-subr z0.s, p0/m, z0.s, z0.s
-subr z0.s, z0.s, #0
-subr z0.s, z0.s, #0, lsl #8
-subr z31.b, z31.b, #255
-subr z31.d, z31.d, #65280
-subr z31.h, z31.h, #65280
-subr z31.s, z31.s, #65280
-sunpkhi z31.d, z31.s
-sunpkhi z31.h, z31.b
-sunpkhi z31.s, z31.h
-sunpklo z31.d, z31.s
-sunpklo z31.h, z31.b
-sunpklo z31.s, z31.h
-suqadd z0.b, p0/m, z0.b, z1.b
-suqadd z0.h, p0/m, z0.h, z1.h
-suqadd z29.s, p7/m, z29.s, z30.s
-suqadd z31.d, p7/m, z31.d, z30.d
-sxtb z0.d, p0/m, z0.d
-sxtb z0.h, p0/m, z0.h
-sxtb z0.s, p0/m, z0.s
-sxtb z31.d, p7/m, z31.d
-sxtb z31.h, p7/m, z31.h
-sxtb z31.s, p7/m, z31.s
-sxth z0.d, p0/m, z0.d
-sxth z0.s, p0/m, z0.s
-sxth z31.d, p7/m, z31.d
-sxth z31.s, p7/m, z31.s
-sxtw z0.d, p0/m, z0.d
-sxtw z31.d, p7/m, z31.d
-tbl z28.b, { z29.b, z30.b }, z31.b
-tbl z28.d, { z29.d, z30.d }, z31.d
-tbl z28.h, { z29.h, z30.h }, z31.h
-tbl z28.s, { z29.s, z30.s }, z31.s
-tbl z31.b, { z31.b }, z31.b
-tbl z31.d, { z31.d }, z31.d
-tbl z31.h, { z31.h }, z31.h
-tbl z31.s, { z31.s }, z31.s
-tbx z31.b, z31.b, z31.b
-tbx z31.d, z31.d, z31.d
-tbx z31.h, z31.h, z31.h
-tbx z31.s, z31.s, z31.s
-trn1 p15.b, p15.b, p15.b
-trn1 p15.d, p15.d, p15.d
-trn1 p15.h, p15.h, p15.h
-trn1 p15.s, p15.s, p15.s
-trn1 z31.b, z31.b, z31.b
-trn1 z31.d, z31.d, z31.d
-trn1 z31.h, z31.h, z31.h
-trn1 z31.s, z31.s, z31.s
-trn2 p15.b, p15.b, p15.b
-trn2 p15.d, p15.d, p15.d
-trn2 p15.h, p15.h, p15.h
-trn2 p15.s, p15.s, p15.s
-trn2 z31.b, z31.b, z31.b
-trn2 z31.d, z31.d, z31.d
-trn2 z31.h, z31.h, z31.h
-trn2 z31.s, z31.s, z31.s
-uaba z0.b, z1.b, z31.b
-uaba z0.d, z1.d, z31.d
-uaba z0.h, z1.h, z31.h
-uaba z0.s, z1.s, z31.s
-uabalb z0.d, z1.s, z31.s
-uabalb z0.h, z1.b, z31.b
-uabalb z0.s, z1.h, z31.h
-uabalt z0.d, z1.s, z31.s
-uabalt z0.h, z1.b, z31.b
-uabalt z0.s, z1.h, z31.h
-uabd z31.b, p7/m, z31.b, z31.b
-uabd z31.d, p7/m, z31.d, z31.d
-uabd z31.h, p7/m, z31.h, z31.h
-uabd z31.s, p7/m, z31.s, z31.s
-uabdlb z0.h, z1.b, z2.b
-uabdlb z29.s, z30.h, z31.h
-uabdlb z31.d, z31.s, z31.s
-uabdlt z0.h, z1.b, z2.b
-uabdlt z29.s, z30.h, z31.h
-uabdlt z31.d, z31.s, z31.s
-uadalp z0.h, p0/m, z1.b
-uadalp z29.s, p0/m, z30.h
-uadalp z30.d, p7/m, z31.s
-uaddlb z0.h, z1.b, z2.b
-uaddlb z29.s, z30.h, z31.h
-uaddlb z31.d, z31.s, z31.s
-uaddlt z0.h, z1.b, z2.b
-uaddlt z29.s, z30.h, z31.h
-uaddlt z31.d, z31.s, z31.s
-uaddv d0, p7, z31.b
-uaddv d0, p7, z31.d
-uaddv d0, p7, z31.h
-uaddv d0, p7, z31.s
-uaddwb z0.h, z1.h, z2.b
-uaddwb z29.s, z30.s, z31.h
-uaddwb z31.d, z31.d, z31.s
-uaddwt z0.h, z1.h, z2.b
-uaddwt z29.s, z30.s, z31.h
-uaddwt z31.d, z31.d, z31.s
-ucvtf z0.d, p0/m, z0.d
-ucvtf z0.d, p0/m, z0.s
-ucvtf z0.h, p0/m, z0.d
-ucvtf z0.h, p0/m, z0.h
-ucvtf z0.h, p0/m, z0.s
-ucvtf z0.s, p0/m, z0.d
-ucvtf z0.s, p0/m, z0.s
-udiv z0.d, p7/m, z0.d, z31.d
-udiv z0.s, p7/m, z0.s, z31.s
-udivr z0.d, p7/m, z0.d, z31.d
-udivr z0.s, p7/m, z0.s, z31.s
-udot z0.d, z1.h, z15.h[1]
-udot z0.d, z1.h, z31.h
-udot z0.s, z1.b, z31.b
-udot z0.s, z1.b, z7.b[3]
-uhadd z0.b, p0/m, z0.b, z1.b
-uhadd z0.h, p0/m, z0.h, z1.h
-uhadd z29.s, p7/m, z29.s, z30.s
-uhadd z31.d, p7/m, z31.d, z30.d
-uhsub z0.b, p0/m, z0.b, z1.b
-uhsub z0.h, p0/m, z0.h, z1.h
-uhsub z29.s, p7/m, z29.s, z30.s
-uhsub z31.d, p7/m, z31.d, z30.d
-uhsubr z0.b, p0/m, z0.b, z1.b
-uhsubr z0.h, p0/m, z0.h, z1.h
-uhsubr z29.s, p7/m, z29.s, z30.s
-uhsubr z31.d, p7/m, z31.d, z30.d
-umax z0.b, z0.b, #0
-umax z31.b, p7/m, z31.b, z31.b
-umax z31.b, z31.b, #255
-umax z31.d, p7/m, z31.d, z31.d
-umax z31.h, p7/m, z31.h, z31.h
-umax z31.s, p7/m, z31.s, z31.s
-umaxp z0.b, p0/m, z0.b, z1.b
-umaxp z0.h, p0/m, z0.h, z1.h
-umaxp z29.s, p7/m, z29.s, z30.s
-umaxp z31.d, p7/m, z31.d, z30.d
-umaxv b0, p7, z31.b
-umaxv d0, p7, z31.d
-umaxv h0, p7, z31.h
-umaxv s0, p7, z31.s
-umin z0.b, z0.b, #0
-umin z31.b, p7/m, z31.b, z31.b
-umin z31.b, z31.b, #255
-umin z31.d, p7/m, z31.d, z31.d
-umin z31.h, p7/m, z31.h, z31.h
-umin z31.s, p7/m, z31.s, z31.s
-uminp z0.b, p0/m, z0.b, z1.b
-uminp z0.h, p0/m, z0.h, z1.h
-uminp z29.s, p7/m, z29.s, z30.s
-uminp z31.d, p7/m, z31.d, z30.d
-uminv b0, p7, z31.b
-uminv d0, p7, z31.d
-uminv h0, p7, z31.h
-uminv s0, p7, z31.s
-umlalb z0.d, z1.s, z15.s[1]
-umlalb z0.d, z1.s, z31.s
-umlalb z0.h, z1.b, z31.b
-umlalb z0.s, z1.h, z31.h
-umlalb z0.s, z1.h, z7.h[7]
-umlalt z0.d, z1.s, z15.s[1]
-umlalt z0.d, z1.s, z31.s
-umlalt z0.h, z1.b, z31.b
-umlalt z0.s, z1.h, z31.h
-umlalt z0.s, z1.h, z7.h[7]
-umlslb z0.d, z1.s, z15.s[1]
-umlslb z0.d, z1.s, z31.s
-umlslb z0.h, z1.b, z31.b
-umlslb z0.s, z1.h, z31.h
-umlslb z0.s, z1.h, z7.h[7]
-umlslt z0.d, z1.s, z15.s[1]
-umlslt z0.d, z1.s, z31.s
-umlslt z0.h, z1.b, z31.b
-umlslt z0.s, z1.h, z31.h
-umlslt z0.s, z1.h, z7.h[7]
-ummla z0.s, z1.b, z2.b
-umulh z0.b, p7/m, z0.b, z31.b
-umulh z0.b, z1.b, z2.b
-umulh z0.d, p7/m, z0.d, z31.d
-umulh z0.h, p7/m, z0.h, z31.h
-umulh z0.h, z1.h, z2.h
-umulh z0.s, p7/m, z0.s, z31.s
-umulh z29.s, z30.s, z31.s
-umulh z31.d, z31.d, z31.d
-umullb z0.d, z1.s, z15.s[1]
-umullb z0.h, z1.b, z2.b
-umullb z0.s, z1.h, z7.h[7]
-umullb z29.s, z30.h, z31.h
-umullb z31.d, z31.s, z31.s
-umullt z0.d, z1.s, z15.s[1]
-umullt z0.h, z1.b, z2.b
-umullt z0.s, z1.h, z7.h[7]
-umullt z29.s, z30.h, z31.h
-umullt z31.d, z31.s, z31.s
-uqadd z0.b, p0/m, z0.b, z1.b
-uqadd z0.b, z0.b, #0
-uqadd z0.b, z0.b, z0.b
-uqadd z0.d, z0.d, #0
-uqadd z0.d, z0.d, #0, lsl #8
-uqadd z0.d, z0.d, z0.d
-uqadd z0.h, p0/m, z0.h, z1.h
-uqadd z0.h, z0.h, #0
-uqadd z0.h, z0.h, #0, lsl #8
-uqadd z0.h, z0.h, z0.h
-uqadd z0.s, z0.s, #0
-uqadd z0.s, z0.s, #0, lsl #8
-uqadd z0.s, z0.s, z0.s
-uqadd z29.s, p7/m, z29.s, z30.s
-uqadd z31.b, z31.b, #255
-uqadd z31.d, p7/m, z31.d, z30.d
-uqadd z31.d, z31.d, #65280
-uqadd z31.h, z31.h, #65280
-uqadd z31.s, z31.s, #65280
-uqdecb w0
-uqdecb w0, all, mul #16
-uqdecb w0, pow2
-uqdecb w0, pow2, mul #16
-uqdecb x0
-uqdecb x0, #14
-uqdecb x0, all, mul #16
-uqdecb x0, pow2
-uqdecb x0, vl1
-uqdecd w0
-uqdecd w0, all, mul #16
-uqdecd w0, pow2
-uqdecd w0, pow2, mul #16
-uqdecd x0
-uqdecd x0, #14
-uqdecd x0, all, mul #16
-uqdecd x0, pow2
-uqdecd x0, vl1
-uqdecd z0.d
-uqdecd z0.d, all, mul #16
-uqdecd z0.d, pow2
-uqdecd z0.d, pow2, mul #16
-uqdech w0
-uqdech w0, all, mul #16
-uqdech w0, pow2
-uqdech w0, pow2, mul #16
-uqdech x0
-uqdech x0, #14
-uqdech x0, all, mul #16
-uqdech x0, pow2
-uqdech x0, vl1
-uqdech z0.h
-uqdech z0.h, all, mul #16
-uqdech z0.h, pow2
-uqdech z0.h, pow2, mul #16
-uqdecp wzr, p15.b
-uqdecp wzr, p15.d
-uqdecp wzr, p15.h
-uqdecp wzr, p15.s
-uqdecp x0, p0.b
-uqdecp x0, p0.d
-uqdecp x0, p0.h
-uqdecp x0, p0.s
-uqdecp z0.d, p0.d
-uqdecp z0.h, p0.h
-uqdecp z0.s, p0.s
-uqdecw w0
-uqdecw w0, all, mul #16
-uqdecw w0, pow2
-uqdecw w0, pow2, mul #16
-uqdecw x0
-uqdecw x0, #14
-uqdecw x0, all, mul #16
-uqdecw x0, pow2
-uqdecw x0, vl1
-uqdecw z0.s
-uqdecw z0.s, all, mul #16
-uqdecw z0.s, pow2
-uqdecw z0.s, pow2, mul #16
-uqincb w0
-uqincb w0, all, mul #16
-uqincb w0, pow2
-uqincb w0, pow2, mul #16
-uqincb x0
-uqincb x0, #14
-uqincb x0, all, mul #16
-uqincb x0, pow2
-uqincb x0, vl1
-uqincd w0
-uqincd w0, all, mul #16
-uqincd w0, pow2
-uqincd w0, pow2, mul #16
-uqincd x0
-uqincd x0, #14
-uqincd x0, all, mul #16
-uqincd x0, pow2
-uqincd x0, vl1
-uqincd z0.d
-uqincd z0.d, all, mul #16
-uqincd z0.d, pow2
-uqincd z0.d, pow2, mul #16
-uqinch w0
-uqinch w0, all, mul #16
-uqinch w0, pow2
-uqinch w0, pow2, mul #16
-uqinch x0
-uqinch x0, #14
-uqinch x0, all, mul #16
-uqinch x0, pow2
-uqinch x0, vl1
-uqinch z0.h
-uqinch z0.h, all, mul #16
-uqinch z0.h, pow2
-uqinch z0.h, pow2, mul #16
-uqincp wzr, p15.b
-uqincp wzr, p15.d
-uqincp wzr, p15.h
-uqincp wzr, p15.s
-uqincp x0, p0.b
-uqincp x0, p0.d
-uqincp x0, p0.h
-uqincp x0, p0.s
-uqincp z0.d, p0.d
-uqincp z0.h, p0.h
-uqincp z0.s, p0.s
-uqincw w0
-uqincw w0, all, mul #16
-uqincw w0, pow2
-uqincw w0, pow2, mul #16
-uqincw x0
-uqincw x0, #14
-uqincw x0, all, mul #16
-uqincw x0, pow2
-uqincw x0, vl1
-uqincw z0.s
-uqincw z0.s, all, mul #16
-uqincw z0.s, pow2
-uqincw z0.s, pow2, mul #16
-uqrshl z0.b, p0/m, z0.b, z1.b
-uqrshl z0.h, p0/m, z0.h, z1.h
-uqrshl z29.s, p7/m, z29.s, z30.s
-uqrshl z31.d, p7/m, z31.d, z30.d
-uqrshlr z0.b, p0/m, z0.b, z1.b
-uqrshlr z0.h, p0/m, z0.h, z1.h
-uqrshlr z29.s, p7/m, z29.s, z30.s
-uqrshlr z31.d, p7/m, z31.d, z30.d
-uqrshrnb z0.b, z0.h, #1
-uqrshrnb z0.h, z0.s, #1
-uqrshrnb z0.s, z0.d, #1
-uqrshrnb z31.b, z31.h, #8
-uqrshrnb z31.h, z31.s, #16
-uqrshrnb z31.s, z31.d, #32
-uqrshrnt z0.b, z0.h, #1
-uqrshrnt z0.h, z0.s, #1
-uqrshrnt z0.s, z0.d, #1
-uqrshrnt z31.b, z31.h, #8
-uqrshrnt z31.h, z31.s, #16
-uqrshrnt z31.s, z31.d, #32
-uqshl z0.b, p0/m, z0.b, #0
-uqshl z0.b, p0/m, z0.b, z1.b
-uqshl z0.d, p0/m, z0.d, #0
-uqshl z0.h, p0/m, z0.h, #0
-uqshl z0.h, p0/m, z0.h, z1.h
-uqshl z0.s, p0/m, z0.s, #0
-uqshl z29.s, p7/m, z29.s, z30.s
-uqshl z31.b, p0/m, z31.b, #7
-uqshl z31.d, p0/m, z31.d, #63
-uqshl z31.d, p7/m, z31.d, z30.d
-uqshl z31.h, p0/m, z31.h, #15
-uqshl z31.s, p0/m, z31.s, #31
-uqshlr z0.b, p0/m, z0.b, z1.b
-uqshlr z0.h, p0/m, z0.h, z1.h
-uqshlr z29.s, p7/m, z29.s, z30.s
-uqshlr z31.d, p7/m, z31.d, z30.d
-uqshrnb z0.b, z0.h, #1
-uqshrnb z0.h, z0.s, #1
-uqshrnb z0.s, z0.d, #1
-uqshrnb z31.b, z31.h, #8
-uqshrnb z31.h, z31.s, #16
-uqshrnb z31.s, z31.d, #32
-uqshrnt z0.b, z0.h, #1
-uqshrnt z0.h, z0.s, #1
-uqshrnt z0.s, z0.d, #1
-uqshrnt z31.b, z31.h, #8
-uqshrnt z31.h, z31.s, #16
-uqshrnt z31.s, z31.d, #32
-uqsub z0.b, p0/m, z0.b, z1.b
-uqsub z0.b, z0.b, #0
-uqsub z0.b, z0.b, z0.b
-uqsub z0.d, z0.d, #0
-uqsub z0.d, z0.d, #0, lsl #8
-uqsub z0.d, z0.d, z0.d
-uqsub z0.h, p0/m, z0.h, z1.h
-uqsub z0.h, z0.h, #0
-uqsub z0.h, z0.h, #0, lsl #8
-uqsub z0.h, z0.h, z0.h
-uqsub z0.s, z0.s, #0
-uqsub z0.s, z0.s, #0, lsl #8
-uqsub z0.s, z0.s, z0.s
-uqsub z29.s, p7/m, z29.s, z30.s
-uqsub z31.b, z31.b, #255
-uqsub z31.d, p7/m, z31.d, z30.d
-uqsub z31.d, z31.d, #65280
-uqsub z31.h, z31.h, #65280
-uqsub z31.s, z31.s, #65280
-uqsubr z0.b, p0/m, z0.b, z1.b
-uqsubr z0.h, p0/m, z0.h, z1.h
-uqsubr z29.s, p7/m, z29.s, z30.s
-uqsubr z31.d, p7/m, z31.d, z30.d
-uqxtnb z0.b, z31.h
-uqxtnb z0.h, z31.s
-uqxtnb z0.s, z31.d
-uqxtnt z0.b, z31.h
-uqxtnt z0.h, z31.s
-uqxtnt z0.s, z31.d
-urecpe z31.s, p7/m, z31.s
-urhadd z0.b, p0/m, z0.b, z1.b
-urhadd z0.h, p0/m, z0.h, z1.h
-urhadd z29.s, p7/m, z29.s, z30.s
-urhadd z31.d, p7/m, z31.d, z30.d
-urshl z0.b, p0/m, z0.b, z1.b
-urshl z0.h, p0/m, z0.h, z1.h
-urshl z29.s, p7/m, z29.s, z30.s
-urshl z31.d, p7/m, z31.d, z30.d
-urshlr z0.b, p0/m, z0.b, z1.b
-urshlr z0.h, p0/m, z0.h, z1.h
-urshlr z29.s, p7/m, z29.s, z30.s
-urshlr z31.d, p7/m, z31.d, z30.d
-urshr z0.b, p0/m, z0.b, #1
-urshr z0.d, p0/m, z0.d, #1
-urshr z0.h, p0/m, z0.h, #1
-urshr z0.s, p0/m, z0.s, #1
-urshr z31.b, p0/m, z31.b, #8
-urshr z31.d, p0/m, z31.d, #64
-urshr z31.h, p0/m, z31.h, #16
-urshr z31.s, p0/m, z31.s, #32
-ursqrte z31.s, p7/m, z31.s
-ursra z0.b, z0.b, #1
-ursra z0.d, z0.d, #1
-ursra z0.h, z0.h, #1
-ursra z0.s, z0.s, #1
-ursra z31.b, z31.b, #8
-ursra z31.d, z31.d, #64
-ursra z31.h, z31.h, #16
-ursra z31.s, z31.s, #32
-ushllb z0.d, z0.s, #0
-ushllb z0.h, z0.b, #0
-ushllb z0.s, z0.h, #0
-ushllb z31.d, z31.s, #31
-ushllb z31.h, z31.b, #7
-ushllb z31.s, z31.h, #15
-ushllt z0.d, z0.s, #0
-ushllt z0.h, z0.b, #0
-ushllt z0.s, z0.h, #0
-ushllt z31.d, z31.s, #31
-ushllt z31.h, z31.b, #7
-ushllt z31.s, z31.h, #15
-usmmla z0.s, z1.b, z2.b
-usqadd z0.b, p0/m, z0.b, z1.b
-usqadd z0.h, p0/m, z0.h, z1.h
-usqadd z29.s, p7/m, z29.s, z30.s
-usqadd z31.d, p7/m, z31.d, z30.d
-usra z0.b, z0.b, #1
-usra z0.d, z0.d, #1
-usra z0.h, z0.h, #1
-usra z0.s, z0.s, #1
-usra z31.b, z31.b, #8
-usra z31.d, z31.d, #64
-usra z31.h, z31.h, #16
-usra z31.s, z31.s, #32
-usublb z0.h, z1.b, z2.b
-usublb z29.s, z30.h, z31.h
-usublb z31.d, z31.s, z31.s
-usublt z0.h, z1.b, z2.b
-usublt z29.s, z30.h, z31.h
-usublt z31.d, z31.s, z31.s
-usubwb z0.h, z1.h, z2.b
-usubwb z29.s, z30.s, z31.h
-usubwb z31.d, z31.d, z31.s
-usubwt z0.h, z1.h, z2.b
-usubwt z29.s, z30.s, z31.h
-usubwt z31.d, z31.d, z31.s
-uunpkhi z31.d, z31.s
-uunpkhi z31.h, z31.b
-uunpkhi z31.s, z31.h
-uunpklo z31.d, z31.s
-uunpklo z31.h, z31.b
-uunpklo z31.s, z31.h
-uxtb z0.d, p0/m, z0.d
-uxtb z0.h, p0/m, z0.h
-uxtb z0.s, p0/m, z0.s
-uxtb z31.d, p7/m, z31.d
-uxtb z31.h, p7/m, z31.h
-uxtb z31.s, p7/m, z31.s
-uxth z0.d, p0/m, z0.d
-uxth z0.s, p0/m, z0.s
-uxth z31.d, p7/m, z31.d
-uxth z31.s, p7/m, z31.s
-uxtw z0.d, p0/m, z0.d
-uxtw z31.d, p7/m, z31.d
-uzp1 p15.b, p15.b, p15.b
-uzp1 p15.d, p15.d, p15.d
-uzp1 p15.h, p15.h, p15.h
-uzp1 p15.s, p15.s, p15.s
-uzp1 z31.b, z31.b, z31.b
-uzp1 z31.d, z31.d, z31.d
-uzp1 z31.h, z31.h, z31.h
-uzp1 z31.s, z31.s, z31.s
-uzp2 p15.b, p15.b, p15.b
-uzp2 p15.d, p15.d, p15.d
-uzp2 p15.h, p15.h, p15.h
-uzp2 p15.s, p15.s, p15.s
-uzp2 z31.b, z31.b, z31.b
-uzp2 z31.d, z31.d, z31.d
-uzp2 z31.h, z31.h, z31.h
-uzp2 z31.s, z31.s, z31.s
-whilege p15.b, w0, wzr
-whilege p15.b, wzr, w0
-whilege p15.b, x0, xzr
-whilege p15.b, xzr, x0
-whilege p15.d, w0, wzr
-whilege p15.d, x0, xzr
-whilege p15.h, w0, wzr
-whilege p15.h, x0, xzr
-whilege p15.s, w0, wzr
-whilege p15.s, x0, xzr
-whilerw p15.b, x30, x30
-whilerw p15.d, x30, x30
-whilerw p15.h, x30, x30
-whilerw p15.s, x30, x30
-whilewr p15.b, x30, x30
-whilewr p15.d, x30, x30
-whilewr p15.h, x30, x30
-whilewr p15.s, x30, x30
-wrffr p0.b
-wrffr p15.b
-xar z0.b, z0.b, z1.b, #1
-xar z0.d, z0.d, z1.d, #1
-xar z0.h, z0.h, z1.h, #1
-xar z0.s, z0.s, z1.s, #1
-xar z31.b, z31.b, z30.b, #8
-xar z31.d, z31.d, z30.d, #64
-xar z31.h, z31.h, z30.h, #16
-xar z31.s, z31.s, z30.s, #32
-zip1 p0.b, p0.b, p0.b
-zip1 p0.d, p0.d, p0.d
-zip1 p0.h, p0.h, p0.h
-zip1 p0.s, p0.s, p0.s
-zip1 p15.b, p15.b, p15.b
-zip1 p15.d, p15.d, p15.d
-zip1 p15.h, p15.h, p15.h
-zip1 p15.s, p15.s, p15.s
-zip1 z0.b, z0.b, z0.b
-zip1 z0.d, z0.d, z0.d
-zip1 z0.h, z0.h, z0.h
-zip1 z0.s, z0.s, z0.s
-zip1 z31.b, z31.b, z31.b
-zip1 z31.d, z31.d, z31.d
-zip1 z31.h, z31.h, z31.h
-zip1 z31.s, z31.s, z31.s
-zip2 p0.b, p0.b, p0.b
-zip2 p0.d, p0.d, p0.d
-zip2 p0.h, p0.h, p0.h
-zip2 p0.s, p0.s, p0.s
-zip2 p15.b, p15.b, p15.b
-zip2 p15.d, p15.d, p15.d
-zip2 p15.h, p15.h, p15.h
-zip2 p15.s, p15.s, p15.s
-zip2 z0.b, z0.b, z0.b
-zip2 z0.d, z0.d, z0.d
-zip2 z0.h, z0.h, z0.h
-zip2 z0.s, z0.s, z0.s
-zip2 z31.b, z31.b, z31.b
-zip2 z31.d, z31.d, z31.d
-zip2 z31.h, z31.h, z31.h
-zip2 z31.s, z31.s, z31.s
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-nano -mattr=+sve2-aes,+sve2-sha3,+sve2-sm4 -instruction-tables < %p/../Inputs/sve-instructions.s | FileCheck %s
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
@@ -3598,7 +188,7 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 bfmlalt z0.s, z1.h, z2.h[7]
# CHECK-NEXT: 1 4 0.50 bfmlalt z0.s, z1.h, z7.h[7]
# CHECK-NEXT: 1 4 0.50 bfmlalt z14.s, z10.h, z21.h
-# CHECK-NEXT: 2 14 0.50 bfmmla z0.s, z1.h, z2.h
+# CHECK-NEXT: 2 14 1.00 bfmmla z0.s, z1.h, z2.h
# CHECK-NEXT: 1 13 11.00 bgrp z0.b, z1.b, z31.b
# CHECK-NEXT: 1 68 66.00 bgrp z0.d, z1.d, z31.d
# CHECK-NEXT: 1 21 19.00 bgrp z0.h, z1.h, z31.h
@@ -3656,10 +246,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 clasta d0, p7, d0, z31.d
# CHECK-NEXT: 1 4 0.50 clasta h0, p7, h0, z31.h
# CHECK-NEXT: 1 4 0.50 clasta s0, p7, s0, z31.s
-# CHECK-NEXT: 1 4 2.00 clasta w0, p7, w0, z31.b
-# CHECK-NEXT: 1 4 2.00 clasta w0, p7, w0, z31.h
-# CHECK-NEXT: 1 4 2.00 clasta w0, p7, w0, z31.s
-# CHECK-NEXT: 1 4 2.00 clasta x0, p7, x0, z31.d
+# CHECK-NEXT: 1 4 4.00 clasta w0, p7, w0, z31.b
+# CHECK-NEXT: 1 4 4.00 clasta w0, p7, w0, z31.h
+# CHECK-NEXT: 1 4 4.00 clasta w0, p7, w0, z31.s
+# CHECK-NEXT: 1 4 4.00 clasta x0, p7, x0, z31.d
# CHECK-NEXT: 1 4 0.50 clasta z0.b, p7, z0.b, z31.b
# CHECK-NEXT: 1 4 0.50 clasta z0.d, p7, z0.d, z31.d
# CHECK-NEXT: 1 4 0.50 clasta z0.h, p7, z0.h, z31.h
@@ -3668,10 +258,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 clastb d0, p7, d0, z31.d
# CHECK-NEXT: 1 4 0.50 clastb h0, p7, h0, z31.h
# CHECK-NEXT: 1 4 0.50 clastb s0, p7, s0, z31.s
-# CHECK-NEXT: 1 4 2.00 clastb w0, p7, w0, z31.b
-# CHECK-NEXT: 1 4 2.00 clastb w0, p7, w0, z31.h
-# CHECK-NEXT: 1 4 2.00 clastb w0, p7, w0, z31.s
-# CHECK-NEXT: 1 4 2.00 clastb x0, p7, x0, z31.d
+# CHECK-NEXT: 1 4 4.00 clastb w0, p7, w0, z31.b
+# CHECK-NEXT: 1 4 4.00 clastb w0, p7, w0, z31.h
+# CHECK-NEXT: 1 4 4.00 clastb w0, p7, w0, z31.s
+# CHECK-NEXT: 1 4 4.00 clastb x0, p7, x0, z31.d
# CHECK-NEXT: 1 4 0.50 clastb z0.b, p7, z0.b, z31.b
# CHECK-NEXT: 1 4 0.50 clastb z0.d, p7, z0.d, z31.d
# CHECK-NEXT: 1 4 0.50 clastb z0.h, p7, z0.h, z31.h
@@ -3704,209 +294,209 @@ zip2 z31.s, z31.s, z31.s
# 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 5 0.50 cmpeq p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: 1 5 0.50 cmpeq p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: 1 5 0.50 cmpeq p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: 1 5 0.50 cmpeq p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpeq p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: 1 5 0.50 cmpeq p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: 1 5 0.50 cmpeq p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpeq p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: 1 5 0.50 cmpeq p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: 1 5 0.50 cmpeq p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpeq p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: 1 5 0.50 cmpeq p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: 1 5 0.50 cmpeq p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: 1 5 0.50 cmpeq p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpeq p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: 1 5 0.50 cmpge p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: 1 5 0.50 cmpge p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: 1 5 0.50 cmpge p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: 1 5 0.50 cmpge p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpge p0.b, p0/z, z1.b, z0.b
-# CHECK-NEXT: 1 5 0.50 cmpge p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: 1 5 0.50 cmpge p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: 1 5 0.50 cmpge p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpge p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpge p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: 1 5 0.50 cmpge p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: 1 5 0.50 cmpge p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpge p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: 1 5 0.50 cmpge p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: 1 5 0.50 cmpge p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: 1 5 0.50 cmpge p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: 1 5 0.50 cmpge p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpge p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: 1 5 0.50 cmpge p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.b, p0/z, z1.b, z0.b
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: 1 5 0.50 cmpgt p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: 1 5 0.50 cmphi p0.b, p0/z, z0.b, #0
-# CHECK-NEXT: 1 5 0.50 cmphi p0.b, p0/z, z0.b, #127
-# CHECK-NEXT: 1 5 0.50 cmphi p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: 1 5 0.50 cmphi p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: 1 5 0.50 cmphi p0.b, p0/z, z1.b, z0.b
-# CHECK-NEXT: 1 5 0.50 cmphi p0.d, p0/z, z0.d, #0
-# CHECK-NEXT: 1 5 0.50 cmphi p0.d, p0/z, z0.d, #127
-# CHECK-NEXT: 1 5 0.50 cmphi p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: 1 5 0.50 cmphi p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: 1 5 0.50 cmphi p0.h, p0/z, z0.h, #0
-# CHECK-NEXT: 1 5 0.50 cmphi p0.h, p0/z, z0.h, #127
-# CHECK-NEXT: 1 5 0.50 cmphi p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: 1 5 0.50 cmphi p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: 1 5 0.50 cmphi p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: 1 5 0.50 cmphi p0.s, p0/z, z0.s, #0
-# CHECK-NEXT: 1 5 0.50 cmphi p0.s, p0/z, z0.s, #127
-# CHECK-NEXT: 1 5 0.50 cmphi p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: 1 5 0.50 cmphi p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: 1 5 0.50 cmphi p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: 1 5 0.50 cmphs p0.b, p0/z, z0.b, #0
-# CHECK-NEXT: 1 5 0.50 cmphs p0.b, p0/z, z0.b, #127
-# CHECK-NEXT: 1 5 0.50 cmphs p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: 1 5 0.50 cmphs p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: 1 5 0.50 cmphs p0.b, p0/z, z1.b, z0.b
-# CHECK-NEXT: 1 5 0.50 cmphs p0.d, p0/z, z0.d, #0
-# CHECK-NEXT: 1 5 0.50 cmphs p0.d, p0/z, z0.d, #127
-# CHECK-NEXT: 1 5 0.50 cmphs p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: 1 5 0.50 cmphs p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: 1 5 0.50 cmphs p0.h, p0/z, z0.h, #0
-# CHECK-NEXT: 1 5 0.50 cmphs p0.h, p0/z, z0.h, #127
-# CHECK-NEXT: 1 5 0.50 cmphs p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: 1 5 0.50 cmphs p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: 1 5 0.50 cmphs p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: 1 5 0.50 cmphs p0.s, p0/z, z0.s, #0
-# CHECK-NEXT: 1 5 0.50 cmphs p0.s, p0/z, z0.s, #127
-# CHECK-NEXT: 1 5 0.50 cmphs p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: 1 5 0.50 cmphs p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: 1 5 0.50 cmphs p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: 1 5 0.50 cmple p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: 1 5 0.50 cmple p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: 1 5 0.50 cmple p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: 1 5 0.50 cmple p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: 1 5 0.50 cmple p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: 1 5 0.50 cmple p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: 1 5 0.50 cmple p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: 1 5 0.50 cmple p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: 1 5 0.50 cmple p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: 1 5 0.50 cmple p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: 1 5 0.50 cmple p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: 1 5 0.50 cmplo p0.b, p0/z, z0.b, #0
-# CHECK-NEXT: 1 5 0.50 cmplo p0.b, p0/z, z0.b, #127
-# CHECK-NEXT: 1 5 0.50 cmplo p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: 1 5 0.50 cmplo p0.d, p0/z, z0.d, #0
-# CHECK-NEXT: 1 5 0.50 cmplo p0.d, p0/z, z0.d, #127
-# CHECK-NEXT: 1 5 0.50 cmplo p0.h, p0/z, z0.h, #0
-# CHECK-NEXT: 1 5 0.50 cmplo p0.h, p0/z, z0.h, #127
-# CHECK-NEXT: 1 5 0.50 cmplo p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: 1 5 0.50 cmplo p0.s, p0/z, z0.s, #0
-# CHECK-NEXT: 1 5 0.50 cmplo p0.s, p0/z, z0.s, #127
-# CHECK-NEXT: 1 5 0.50 cmplo p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpls p0.b, p0/z, z0.b, #0
-# CHECK-NEXT: 1 5 0.50 cmpls p0.b, p0/z, z0.b, #127
-# CHECK-NEXT: 1 5 0.50 cmpls p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpls p0.d, p0/z, z0.d, #0
-# CHECK-NEXT: 1 5 0.50 cmpls p0.d, p0/z, z0.d, #127
-# CHECK-NEXT: 1 5 0.50 cmpls p0.h, p0/z, z0.h, #0
-# CHECK-NEXT: 1 5 0.50 cmpls p0.h, p0/z, z0.h, #127
-# CHECK-NEXT: 1 5 0.50 cmpls p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpls p0.s, p0/z, z0.s, #0
-# CHECK-NEXT: 1 5 0.50 cmpls p0.s, p0/z, z0.s, #127
-# CHECK-NEXT: 1 5 0.50 cmpls p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: 1 5 0.50 cmplt p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: 1 5 0.50 cmplt p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: 1 5 0.50 cmplt p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: 1 5 0.50 cmplt p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: 1 5 0.50 cmplt p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: 1 5 0.50 cmplt p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: 1 5 0.50 cmplt p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: 1 5 0.50 cmplt p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: 1 5 0.50 cmplt p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: 1 5 0.50 cmplt p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: 1 5 0.50 cmplt p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpne p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: 1 5 0.50 cmpne p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: 1 5 0.50 cmpne p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: 1 5 0.50 cmpne p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpne p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: 1 5 0.50 cmpne p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: 1 5 0.50 cmpne p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpne p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: 1 5 0.50 cmpne p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: 1 5 0.50 cmpne p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpne p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: 1 5 0.50 cmpne p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: 1 5 0.50 cmpne p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: 1 5 0.50 cmpne p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: 1 5 0.50 cmpne p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: 1 5 1.00 cmpeq p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: 1 5 1.00 cmpeq p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: 1 5 1.00 cmpeq p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: 1 5 1.00 cmpeq p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpeq p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: 1 5 1.00 cmpeq p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: 1 5 1.00 cmpeq p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpeq p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: 1 5 1.00 cmpeq p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: 1 5 1.00 cmpeq p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpeq p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: 1 5 1.00 cmpeq p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: 1 5 1.00 cmpeq p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: 1 5 1.00 cmpeq p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpeq p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: 1 5 1.00 cmpge p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: 1 5 1.00 cmpge p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: 1 5 1.00 cmpge p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: 1 5 1.00 cmpge p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpge p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: 1 5 1.00 cmpge p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: 1 5 1.00 cmpge p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: 1 5 1.00 cmpge p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpge p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: 1 5 1.00 cmpge p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: 1 5 1.00 cmpge p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpge p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: 1 5 1.00 cmpge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 5 1.00 cmpge p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: 1 5 1.00 cmpge p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: 1 5 1.00 cmpge p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpge p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: 1 5 1.00 cmpge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: 1 5 1.00 cmpgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 5 1.00 cmphi p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: 1 5 1.00 cmphi p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: 1 5 1.00 cmphi p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: 1 5 1.00 cmphi p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 1.00 cmphi p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: 1 5 1.00 cmphi p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: 1 5 1.00 cmphi p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: 1 5 1.00 cmphi p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: 1 5 1.00 cmphi p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 5 1.00 cmphi p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: 1 5 1.00 cmphi p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: 1 5 1.00 cmphi p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 1.00 cmphi p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: 1 5 1.00 cmphi p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 5 1.00 cmphi p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: 1 5 1.00 cmphi p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: 1 5 1.00 cmphi p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 1.00 cmphi p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: 1 5 1.00 cmphi p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 5 1.00 cmphs p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: 1 5 1.00 cmphs p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: 1 5 1.00 cmphs p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: 1 5 1.00 cmphs p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 1.00 cmphs p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: 1 5 1.00 cmphs p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: 1 5 1.00 cmphs p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: 1 5 1.00 cmphs p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: 1 5 1.00 cmphs p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 5 1.00 cmphs p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: 1 5 1.00 cmphs p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: 1 5 1.00 cmphs p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 1.00 cmphs p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: 1 5 1.00 cmphs p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 5 1.00 cmphs p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: 1 5 1.00 cmphs p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: 1 5 1.00 cmphs p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 1.00 cmphs p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: 1 5 1.00 cmphs p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 5 1.00 cmple p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: 1 5 1.00 cmple p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: 1 5 1.00 cmple p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 1.00 cmple p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: 1 5 1.00 cmple p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: 1 5 1.00 cmple p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: 1 5 1.00 cmple p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: 1 5 1.00 cmple p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 1.00 cmple p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: 1 5 1.00 cmple p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: 1 5 1.00 cmple p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 1.00 cmplo p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: 1 5 1.00 cmplo p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: 1 5 1.00 cmplo p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 1.00 cmplo p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: 1 5 1.00 cmplo p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: 1 5 1.00 cmplo p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: 1 5 1.00 cmplo p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: 1 5 1.00 cmplo p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 1.00 cmplo p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: 1 5 1.00 cmplo p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: 1 5 1.00 cmplo p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpls p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: 1 5 1.00 cmpls p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: 1 5 1.00 cmpls p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpls p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: 1 5 1.00 cmpls p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: 1 5 1.00 cmpls p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: 1 5 1.00 cmpls p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: 1 5 1.00 cmpls p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpls p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: 1 5 1.00 cmpls p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: 1 5 1.00 cmpls p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 1.00 cmplt p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: 1 5 1.00 cmplt p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: 1 5 1.00 cmplt p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 1.00 cmplt p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: 1 5 1.00 cmplt p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: 1 5 1.00 cmplt p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: 1 5 1.00 cmplt p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: 1 5 1.00 cmplt p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 1.00 cmplt p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: 1 5 1.00 cmplt p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: 1 5 1.00 cmplt p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpne p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: 1 5 1.00 cmpne p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: 1 5 1.00 cmpne p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: 1 5 1.00 cmpne p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpne p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: 1 5 1.00 cmpne p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: 1 5 1.00 cmpne p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpne p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: 1 5 1.00 cmpne p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: 1 5 1.00 cmpne p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpne p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: 1 5 1.00 cmpne p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: 1 5 1.00 cmpne p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: 1 5 1.00 cmpne p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: 1 5 1.00 cmpne p0.s, p0/z, z0.s, z0.s
# CHECK-NEXT: 1 3 0.50 cnot z31.b, p7/m, z31.b
# CHECK-NEXT: 1 3 0.50 cnot z31.d, p7/m, z31.d
# CHECK-NEXT: 1 3 0.50 cnot z31.h, p7/m, z31.h
# CHECK-NEXT: 1 3 0.50 cnot z31.s, p7/m, z31.s
# CHECK-NEXT: 1 3 0.50 cnt z31.b, p7/m, z31.b
-# CHECK-NEXT: 1 9 3.50 cnt z31.d, p7/m, z31.d
+# CHECK-NEXT: 1 9 7.00 cnt z31.d, p7/m, z31.d
# CHECK-NEXT: 1 3 0.50 cnt z31.h, p7/m, z31.h
-# CHECK-NEXT: 1 6 2.00 cnt z31.s, p7/m, z31.s
-# CHECK-NEXT: 1 1 0.50 cntb x0
-# CHECK-NEXT: 1 1 0.50 cntb x0, #28
-# CHECK-NEXT: 1 1 0.50 cntb x0, all, mul #16
-# CHECK-NEXT: 1 1 0.50 cntb x0, pow2
-# CHECK-NEXT: 1 1 0.50 cntd x0
-# CHECK-NEXT: 1 1 0.50 cntd x0, #28
-# CHECK-NEXT: 1 1 0.50 cntd x0, all, mul #16
-# CHECK-NEXT: 1 1 0.50 cntd x0, pow2
-# CHECK-NEXT: 1 1 0.50 cnth x0
-# CHECK-NEXT: 1 1 0.50 cnth x0, #28
-# CHECK-NEXT: 1 1 0.50 cnth x0, all, mul #16
-# CHECK-NEXT: 1 1 0.50 cnth x0, pow2
+# CHECK-NEXT: 1 6 4.00 cnt z31.s, p7/m, z31.s
+# CHECK-NEXT: 1 1 1.00 cntb x0
+# CHECK-NEXT: 1 1 1.00 cntb x0, #28
+# CHECK-NEXT: 1 1 1.00 cntb x0, all, mul #16
+# CHECK-NEXT: 1 1 1.00 cntb x0, pow2
+# CHECK-NEXT: 1 1 1.00 cntd x0
+# CHECK-NEXT: 1 1 1.00 cntd x0, #28
+# CHECK-NEXT: 1 1 1.00 cntd x0, all, mul #16
+# CHECK-NEXT: 1 1 1.00 cntd x0, pow2
+# CHECK-NEXT: 1 1 1.00 cnth x0
+# CHECK-NEXT: 1 1 1.00 cnth x0, #28
+# CHECK-NEXT: 1 1 1.00 cnth x0, all, mul #16
+# CHECK-NEXT: 1 1 1.00 cnth x0, pow2
# CHECK-NEXT: 1 1 1.00 cntp x0, p15, p0.b
# CHECK-NEXT: 1 1 1.00 cntp x0, p15, p0.d
# CHECK-NEXT: 1 1 1.00 cntp x0, p15, p0.h
# CHECK-NEXT: 1 1 1.00 cntp x0, p15, p0.s
-# CHECK-NEXT: 1 1 0.50 cntw x0
-# CHECK-NEXT: 1 1 0.50 cntw x0, #28
-# CHECK-NEXT: 1 1 0.50 cntw x0, all, mul #16
-# CHECK-NEXT: 1 1 0.50 cntw x0, pow2
+# CHECK-NEXT: 1 1 1.00 cntw x0
+# CHECK-NEXT: 1 1 1.00 cntw x0, #28
+# CHECK-NEXT: 1 1 1.00 cntw x0, all, mul #16
+# CHECK-NEXT: 1 1 1.00 cntw x0, pow2
# CHECK-NEXT: 1 4 0.50 compact z31.d, p7, z31.d
# CHECK-NEXT: 1 4 0.50 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.50 decb x0
-# CHECK-NEXT: 1 1 0.50 decb x0, #14
-# CHECK-NEXT: 1 1 0.50 decb x0, all, mul #16
-# CHECK-NEXT: 1 1 0.50 decb x0, pow2
-# CHECK-NEXT: 1 1 0.50 decb x0, vl1
-# CHECK-NEXT: 1 1 0.50 decd x0
-# CHECK-NEXT: 1 1 0.50 decd x0, #14
-# CHECK-NEXT: 1 1 0.50 decd x0, all, mul #16
-# CHECK-NEXT: 1 1 0.50 decd x0, pow2
-# CHECK-NEXT: 1 1 0.50 decd x0, vl1
-# CHECK-NEXT: 1 1 0.50 dech x0
-# CHECK-NEXT: 1 1 0.50 dech x0, #14
-# CHECK-NEXT: 1 1 0.50 dech x0, all, mul #16
-# CHECK-NEXT: 1 1 0.50 dech x0, pow2
-# CHECK-NEXT: 1 1 0.50 dech x0, vl1
+# CHECK-NEXT: 1 1 1.00 ctermeq w30, wzr
+# CHECK-NEXT: 1 1 1.00 ctermeq wzr, w30
+# CHECK-NEXT: 1 1 1.00 ctermeq x30, xzr
+# CHECK-NEXT: 1 1 1.00 ctermeq xzr, x30
+# CHECK-NEXT: 1 1 1.00 ctermne w30, wzr
+# CHECK-NEXT: 1 1 1.00 ctermne wzr, w30
+# CHECK-NEXT: 1 1 1.00 ctermne x30, xzr
+# CHECK-NEXT: 1 1 1.00 ctermne xzr, x30
+# CHECK-NEXT: 1 1 1.00 decb x0
+# CHECK-NEXT: 1 1 1.00 decb x0, #14
+# CHECK-NEXT: 1 1 1.00 decb x0, all, mul #16
+# CHECK-NEXT: 1 1 1.00 decb x0, pow2
+# CHECK-NEXT: 1 1 1.00 decb x0, vl1
+# CHECK-NEXT: 1 1 1.00 decd x0
+# CHECK-NEXT: 1 1 1.00 decd x0, #14
+# CHECK-NEXT: 1 1 1.00 decd x0, all, mul #16
+# CHECK-NEXT: 1 1 1.00 decd x0, pow2
+# CHECK-NEXT: 1 1 1.00 decd x0, vl1
+# CHECK-NEXT: 1 1 1.00 dech x0
+# CHECK-NEXT: 1 1 1.00 dech x0, #14
+# CHECK-NEXT: 1 1 1.00 dech x0, all, mul #16
+# CHECK-NEXT: 1 1 1.00 dech x0, pow2
+# CHECK-NEXT: 1 1 1.00 dech x0, vl1
# CHECK-NEXT: 1 1 1.00 decp x0, p0.b
# CHECK-NEXT: 1 1 1.00 decp x0, p0.d
# CHECK-NEXT: 1 1 1.00 decp x0, p0.h
@@ -3918,11 +508,11 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 1.00 decp z31.d, p15.d
# CHECK-NEXT: 1 3 1.00 decp z31.h, p15.h
# CHECK-NEXT: 1 3 1.00 decp z31.s, p15.s
-# CHECK-NEXT: 1 1 0.50 decw x0
-# CHECK-NEXT: 1 1 0.50 decw x0, #14
-# CHECK-NEXT: 1 1 0.50 decw x0, all, mul #16
-# CHECK-NEXT: 1 1 0.50 decw x0, pow2
-# CHECK-NEXT: 1 1 0.50 decw x0, vl1
+# CHECK-NEXT: 1 1 1.00 decw x0
+# CHECK-NEXT: 1 1 1.00 decw x0, #14
+# CHECK-NEXT: 1 1 1.00 decw x0, all, mul #16
+# CHECK-NEXT: 1 1 1.00 decw x0, pow2
+# CHECK-NEXT: 1 1 1.00 decw x0, vl1
# CHECK-NEXT: 1 4 0.50 dupm z0.d, #0xfffffffffffffff9
# CHECK-NEXT: 1 4 0.50 dupm z0.s, #0xfffffff9
# CHECK-NEXT: 1 4 0.50 dupm z23.h, #0xfff9
@@ -3966,18 +556,18 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 fabs z31.d, p7/m, z31.d
# CHECK-NEXT: 1 4 0.50 fabs z31.h, p7/m, z31.h
# CHECK-NEXT: 1 4 0.50 fabs z31.s, p7/m, z31.s
-# CHECK-NEXT: 1 4 0.50 facge p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: 1 4 0.50 facge p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: 1 4 0.50 facge p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: 1 4 0.50 facge p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: 1 4 0.50 facge p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: 1 4 0.50 facge p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: 1 4 0.50 facgt p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: 1 4 0.50 facgt p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: 1 4 0.50 facgt p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: 1 4 0.50 facgt p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: 1 4 0.50 facgt p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: 1 4 0.50 facgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 4 1.00 facge p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 1.00 facge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 4 1.00 facge p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 facge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 4 1.00 facge p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 1.00 facge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 4 1.00 facgt p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 1.00 facgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 4 1.00 facgt p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 facgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 4 1.00 facgt p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 1.00 facgt p0.s, p0/z, z1.s, z0.s
# CHECK-NEXT: 1 4 0.50 fadd z0.d, p0/m, z0.d, #0.5
# CHECK-NEXT: 1 4 0.50 fadd z0.d, p7/m, z0.d, z31.d
# CHECK-NEXT: 1 4 0.50 fadd z0.d, z1.d, z31.d
@@ -3990,9 +580,9 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 fadd z31.d, p7/m, z31.d, #1.0
# CHECK-NEXT: 1 4 0.50 fadd z31.h, p7/m, z31.h, #1.0
# CHECK-NEXT: 1 4 0.50 fadd z31.s, p7/m, z31.s, #1.0
-# CHECK-NEXT: 1 8 1.50 fadda d0, p7, d0, z31.d
-# CHECK-NEXT: 1 32 12.50 fadda h0, p7, h0, z31.h
-# CHECK-NEXT: 1 16 4.50 fadda s0, p7, s0, z31.s
+# CHECK-NEXT: 1 8 3.00 fadda d0, p7, d0, z31.d
+# CHECK-NEXT: 1 32 25.00 fadda h0, p7, h0, z31.h
+# CHECK-NEXT: 1 16 9.00 fadda s0, p7, s0, z31.s
# CHECK-NEXT: 1 4 0.50 faddp z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: 1 4 0.50 faddp z29.s, p3/m, z29.s, z30.s
# CHECK-NEXT: 1 4 0.50 faddp z31.d, p7/m, z31.d, z30.d
@@ -4005,30 +595,30 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 fcadd z31.d, p7/m, z31.d, z31.d, #270
# CHECK-NEXT: 1 4 0.50 fcadd z31.h, p7/m, z31.h, z31.h, #270
# CHECK-NEXT: 1 4 0.50 fcadd z31.s, p7/m, z31.s, z31.s, #270
-# CHECK-NEXT: 1 4 0.50 fcmeq p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmeq p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: 1 4 0.50 fcmeq p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmeq p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: 1 4 0.50 fcmeq p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmeq p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: 1 4 0.50 fcmge p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmge p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: 1 4 0.50 fcmge p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: 1 4 0.50 fcmge p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmge p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: 1 4 0.50 fcmge p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: 1 4 0.50 fcmge p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmge p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: 1 4 0.50 fcmge p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: 1 4 0.50 fcmgt p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmgt p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: 1 4 0.50 fcmgt p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: 1 4 0.50 fcmgt p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmgt p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: 1 4 0.50 fcmgt p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: 1 4 0.50 fcmgt p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmgt p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: 1 4 0.50 fcmgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 4 1.00 fcmeq p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmeq p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 1.00 fcmeq p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmeq p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 fcmeq p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmeq p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 1.00 fcmge p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmge p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 1.00 fcmge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 4 1.00 fcmge p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmge p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 fcmge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 4 1.00 fcmge p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmge p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 1.00 fcmge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: 1 4 1.00 fcmgt p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmgt p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 1.00 fcmgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: 1 4 1.00 fcmgt p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmgt p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 fcmgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: 1 4 1.00 fcmgt p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmgt p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 1.00 fcmgt p0.s, p0/z, z1.s, z0.s
# CHECK-NEXT: 1 4 0.50 fcmla z0.d, p0/m, z0.d, z0.d, #0
# CHECK-NEXT: 1 4 0.50 fcmla z0.d, p0/m, z1.d, z2.d, #90
# CHECK-NEXT: 1 4 0.50 fcmla z0.h, p0/m, z0.h, z0.h, #0
@@ -4045,21 +635,21 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 fcmla z31.h, p7/m, z31.h, z31.h, #270
# CHECK-NEXT: 1 4 0.50 fcmla z31.h, z31.h, z7.h[3], #270
# CHECK-NEXT: 1 4 0.50 fcmla z31.s, p7/m, z31.s, z31.s, #270
-# CHECK-NEXT: 1 4 0.50 fcmle p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmle p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmle p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmlt p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmlt p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmlt p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmne p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmne p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: 1 4 0.50 fcmne p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmne p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: 1 4 0.50 fcmne p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: 1 4 0.50 fcmne p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: 1 4 0.50 fcmuo p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: 1 4 0.50 fcmuo p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: 1 4 0.50 fcmuo p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 1.00 fcmle p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmle p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmle p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmlt p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmlt p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmlt p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmne p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmne p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 1.00 fcmne p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmne p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 fcmne p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: 1 4 1.00 fcmne p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: 1 4 1.00 fcmuo p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: 1 4 1.00 fcmuo p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 fcmuo p0.s, p0/z, z0.s, z1.s
# CHECK-NEXT: 1 4 0.50 fcvt z0.d, p0/m, z0.h
# CHECK-NEXT: 1 4 0.50 fcvt z0.d, p0/m, z0.s
# CHECK-NEXT: 1 4 0.50 fcvt z0.h, p0/m, z0.d
@@ -4187,14 +777,14 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 fmlslt z0.s, z1.h, z7.h[0]
# CHECK-NEXT: 1 4 0.50 fmlslt z29.s, z30.h, z31.h
# CHECK-NEXT: 1 4 0.50 fmlslt z30.s, z31.h, z7.h[7]
-# CHECK-NEXT: 1 3 1.00 fmov z0.d, #-10.00000000
-# CHECK-NEXT: 1 3 1.00 fmov z0.d, #0.12500000
-# CHECK-NEXT: 1 3 1.00 fmov z0.d, p0/m, #-10.00000000
-# CHECK-NEXT: 1 3 1.00 fmov z0.d, p0/m, #0.12500000
-# CHECK-NEXT: 1 3 1.00 fmov z0.h, #-0.12500000
-# CHECK-NEXT: 1 3 1.00 fmov z0.h, p0/m, #-0.12500000
-# CHECK-NEXT: 1 3 1.00 fmov z0.s, #-0.12500000
-# CHECK-NEXT: 1 3 1.00 fmov z0.s, p0/m, #-0.12500000
+# CHECK-NEXT: 1 3 0.50 fmov z0.d, #-10.00000000
+# CHECK-NEXT: 1 3 0.50 fmov z0.d, #0.12500000
+# CHECK-NEXT: 1 3 0.50 fmov z0.d, p0/m, #-10.00000000
+# CHECK-NEXT: 1 3 0.50 fmov z0.d, p0/m, #0.12500000
+# CHECK-NEXT: 1 3 0.50 fmov z0.h, #-0.12500000
+# CHECK-NEXT: 1 3 0.50 fmov z0.h, p0/m, #-0.12500000
+# CHECK-NEXT: 1 3 0.50 fmov z0.s, #-0.12500000
+# CHECK-NEXT: 1 3 0.50 fmov z0.s, p0/m, #-0.12500000
# CHECK-NEXT: 1 4 0.50 fmsb z0.d, p7/m, z1.d, z31.d
# CHECK-NEXT: 1 4 0.50 fmsb z0.h, p7/m, z1.h, z31.h
# CHECK-NEXT: 1 4 0.50 fmsb z0.s, p7/m, z1.s, z31.s
@@ -4309,23 +899,23 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 6 4.00 histcnt z0.s, p0/z, z1.s, z2.s
# CHECK-NEXT: 1 6 4.00 histcnt z29.d, p7/z, z30.d, z31.d
# CHECK-NEXT: 1 6 4.00 histseg z0.b, z1.b, z31.b
-# CHECK-NEXT: 1 1 0.50 incb x0
-# CHECK-NEXT: 1 1 0.50 incb x0, #14
-# CHECK-NEXT: 1 1 0.50 incb x0, all, mul #16
-# CHECK-NEXT: 1 1 0.50 incb x0, pow2
-# CHECK-NEXT: 1 1 0.50 incb x0, vl1
-# CHECK-NEXT: 1 1 0.50 incd x0
-# CHECK-NEXT: 1 1 0.50 incd x0, #14
-# CHECK-NEXT: 1 1 0.50 incd x0, all, mul #16
-# CHECK-NEXT: 1 1 0.50 incd x0, pow2
-# CHECK-NEXT: 1 1 0.50 incd x0, vl1
+# CHECK-NEXT: 1 1 1.00 incb x0
+# CHECK-NEXT: 1 1 1.00 incb x0, #14
+# CHECK-NEXT: 1 1 1.00 incb x0, all, mul #16
+# CHECK-NEXT: 1 1 1.00 incb x0, pow2
+# CHECK-NEXT: 1 1 1.00 incb x0, vl1
+# CHECK-NEXT: 1 1 1.00 incd x0
+# CHECK-NEXT: 1 1 1.00 incd x0, #14
+# CHECK-NEXT: 1 1 1.00 incd x0, all, mul #16
+# CHECK-NEXT: 1 1 1.00 incd x0, pow2
+# CHECK-NEXT: 1 1 1.00 incd x0, vl1
# CHECK-NEXT: 1 4 0.50 incd z0.d
# CHECK-NEXT: 1 4 0.50 incd z0.d, all, mul #16
-# CHECK-NEXT: 1 1 0.50 inch x0
-# CHECK-NEXT: 1 1 0.50 inch x0, #14
-# CHECK-NEXT: 1 1 0.50 inch x0, all, mul #16
-# CHECK-NEXT: 1 1 0.50 inch x0, pow2
-# CHECK-NEXT: 1 1 0.50 inch x0, vl1
+# CHECK-NEXT: 1 1 1.00 inch x0
+# CHECK-NEXT: 1 1 1.00 inch x0, #14
+# CHECK-NEXT: 1 1 1.00 inch x0, all, mul #16
+# CHECK-NEXT: 1 1 1.00 inch x0, pow2
+# CHECK-NEXT: 1 1 1.00 inch x0, vl1
# CHECK-NEXT: 1 4 0.50 inch z0.h
# CHECK-NEXT: 1 4 0.50 inch z0.h, all, mul #16
# CHECK-NEXT: 1 1 1.00 incp x0, p0.b
@@ -4339,11 +929,11 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 1.00 incp z31.d, p15.d
# CHECK-NEXT: 1 3 1.00 incp z31.h, p15.h
# CHECK-NEXT: 1 3 1.00 incp z31.s, p15.s
-# CHECK-NEXT: 1 1 0.50 incw x0
-# CHECK-NEXT: 1 1 0.50 incw x0, #14
-# CHECK-NEXT: 1 1 0.50 incw x0, all, mul #16
-# CHECK-NEXT: 1 1 0.50 incw x0, pow2
-# CHECK-NEXT: 1 1 0.50 incw x0, vl1
+# CHECK-NEXT: 1 1 1.00 incw x0
+# CHECK-NEXT: 1 1 1.00 incw x0, #14
+# CHECK-NEXT: 1 1 1.00 incw x0, all, mul #16
+# CHECK-NEXT: 1 1 1.00 incw x0, pow2
+# CHECK-NEXT: 1 1 1.00 incw x0, vl1
# CHECK-NEXT: 1 4 0.50 incw z0.s
# CHECK-NEXT: 1 4 0.50 incw z0.s, all, mul #16
# CHECK-NEXT: 1 4 0.50 index z0.b, #0, #0
@@ -4394,215 +984,215 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 lasta d0, p7, z31.d
# CHECK-NEXT: 1 4 0.50 lasta h0, p7, z31.h
# CHECK-NEXT: 1 4 0.50 lasta s0, p7, z31.s
-# CHECK-NEXT: 1 8 2.00 lasta w0, p7, z31.b
-# CHECK-NEXT: 1 8 2.00 lasta w0, p7, z31.h
-# CHECK-NEXT: 1 8 2.00 lasta w0, p7, z31.s
-# CHECK-NEXT: 1 8 2.00 lasta x0, p7, z31.d
+# CHECK-NEXT: 1 8 4.00 lasta w0, p7, z31.b
+# CHECK-NEXT: 1 8 4.00 lasta w0, p7, z31.h
+# CHECK-NEXT: 1 8 4.00 lasta w0, p7, z31.s
+# CHECK-NEXT: 1 8 4.00 lasta x0, p7, z31.d
# CHECK-NEXT: 1 4 0.50 lastb b0, p7, z31.b
# CHECK-NEXT: 1 4 0.50 lastb d0, p7, z31.d
# CHECK-NEXT: 1 4 0.50 lastb h0, p7, z31.h
# CHECK-NEXT: 1 4 0.50 lastb s0, p7, z31.s
-# CHECK-NEXT: 1 8 2.00 lastb w0, p7, z31.b
-# CHECK-NEXT: 1 8 2.00 lastb w0, p7, z31.h
-# CHECK-NEXT: 1 8 2.00 lastb w0, p7, z31.s
-# CHECK-NEXT: 1 8 2.00 lastb x0, p7, z31.d
-# CHECK-NEXT: 1 3 0.50 * ld1b { z0.b }, p0/z, [sp, x0]
-# CHECK-NEXT: 1 3 0.50 * ld1b { z0.b }, p0/z, [x0, x0]
-# CHECK-NEXT: 1 3 0.50 * ld1b { z0.b }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1b { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 8 4.00 lastb w0, p7, z31.b
+# CHECK-NEXT: 1 8 4.00 lastb w0, p7, z31.h
+# CHECK-NEXT: 1 8 4.00 lastb w0, p7, z31.s
+# CHECK-NEXT: 1 8 4.00 lastb x0, p7, z31.d
+# CHECK-NEXT: 1 3 1.00 * ld1b { z0.b }, p0/z, [sp, x0]
+# CHECK-NEXT: 1 3 1.00 * ld1b { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 3 1.00 * ld1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1b { z0.d }, p0/z, [x0]
# CHECK-NEXT: 1 7 6.00 * ld1b { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 3 0.50 * ld1b { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 1 7 3.00 * ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 7 3.00 * ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: 1 3 0.50 * ld1b { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1b { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 7 6.00 * ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 3 1.00 * ld1b { z0.s }, p0/z, [x0]
# CHECK-NEXT: 1 9 7.00 * ld1b { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 3 0.50 * ld1b { z21.b }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * ld1b { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1b { z21.b }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1b { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 7 6.00 * ld1b { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: 1 7 6.00 * ld1b { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 3 0.50 * ld1b { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * ld1b { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * ld1b { z21.s }, p5/z, [x10, x21]
-# CHECK-NEXT: 1 3 0.50 * ld1b { z23.d }, p3/z, [x13, x8]
-# CHECK-NEXT: 1 3 0.50 * ld1b { z31.b }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * ld1b { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1b { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1b { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1b { z21.s }, p5/z, [x10, x21]
+# CHECK-NEXT: 1 3 1.00 * ld1b { z23.d }, p3/z, [x13, x8]
+# CHECK-NEXT: 1 3 1.00 * ld1b { z31.b }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1b { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: 1 7 6.00 * ld1b { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: 1 7 6.00 * ld1b { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: 1 3 0.50 * ld1b { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * ld1b { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1b { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1b { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: 1 9 7.00 * ld1b { z31.s }, p7/z, [z31.s, #31]
-# CHECK-NEXT: 1 3 0.50 * ld1b { z5.h }, p3/z, [x17, x16]
+# CHECK-NEXT: 1 3 1.00 * ld1b { z5.h }, p3/z, [x17, x16]
# CHECK-NEXT: 1 7 6.00 * ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
# CHECK-NEXT: 1 7 6.00 * ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
-# CHECK-NEXT: 1 3 0.50 * ld1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1d { z0.d }, p0/z, [x0]
# CHECK-NEXT: 1 7 6.00 * ld1d { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 3 0.50 * ld1d { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1d { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 7 6.00 * ld1d { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: 1 7 6.00 * ld1d { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 3 0.50 * ld1d { z23.d }, p3/z, [sp, x8, lsl #3]
-# CHECK-NEXT: 1 3 0.50 * ld1d { z23.d }, p3/z, [x13, x8, lsl #3]
+# CHECK-NEXT: 1 3 1.00 * ld1d { z23.d }, p3/z, [sp, x8, lsl #3]
+# CHECK-NEXT: 1 3 1.00 * ld1d { z23.d }, p3/z, [x13, x8, lsl #3]
# CHECK-NEXT: 1 7 6.00 * ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
-# CHECK-NEXT: 1 3 0.50 * ld1d { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1d { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: 1 7 6.00 * ld1d { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: 1 7 6.00 * ld1d { z31.d }, p7/z, [z31.d, #248]
# CHECK-NEXT: 1 7 6.00 * ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
# CHECK-NEXT: 1 7 6.00 * ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: 1 3 0.50 * ld1h { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1h { z0.d }, p0/z, [x0]
# CHECK-NEXT: 1 7 6.00 * ld1h { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 3 0.50 * ld1h { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 1 7 3.00 * ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 7 3.00 * ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: 1 3 0.50 * ld1h { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 7 6.00 * ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 3 1.00 * ld1h { z0.s }, p0/z, [x0]
# CHECK-NEXT: 1 9 7.00 * ld1h { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 3 0.50 * ld1h { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1h { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 7 6.00 * ld1h { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: 1 7 6.00 * ld1h { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 3 0.50 * ld1h { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * ld1h { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * ld1h { z21.s }, p5/z, [x10, x21, lsl #1]
-# CHECK-NEXT: 1 3 0.50 * ld1h { z23.d }, p3/z, [x13, x8, lsl #1]
+# CHECK-NEXT: 1 3 1.00 * ld1h { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1h { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1h { z21.s }, p5/z, [x10, x21, lsl #1]
+# CHECK-NEXT: 1 3 1.00 * ld1h { z23.d }, p3/z, [x13, x8, lsl #1]
# CHECK-NEXT: 1 7 6.00 * ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
-# CHECK-NEXT: 1 3 0.50 * ld1h { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1h { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: 1 7 6.00 * ld1h { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: 1 7 6.00 * ld1h { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: 1 3 0.50 * ld1h { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * ld1h { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 7 3.50 * ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-# CHECK-NEXT: 1 7 3.50 * ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: 1 3 1.00 * ld1h { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1h { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: 1 7 7.00 * ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
# CHECK-NEXT: 1 9 7.00 * ld1h { z31.s }, p7/z, [z31.s, #62]
-# CHECK-NEXT: 1 3 0.50 * ld1h { z5.h }, p3/z, [sp, x16, lsl #1]
-# CHECK-NEXT: 1 3 0.50 * ld1h { z5.h }, p3/z, [x17, x16, lsl #1]
-# CHECK-NEXT: 1 3 0.50 * ld1rb { z0.b }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rb { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rb { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rb { z31.b }, p7/z, [sp, #63]
-# CHECK-NEXT: 1 3 0.50 * ld1rb { z31.d }, p7/z, [sp, #63]
-# CHECK-NEXT: 1 3 0.50 * ld1rb { z31.h }, p7/z, [sp, #63]
-# CHECK-NEXT: 1 3 0.50 * ld1rb { z31.s }, p7/z, [sp, #63]
-# CHECK-NEXT: 1 3 0.50 * ld1rd { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rd { z31.d }, p7/z, [sp, #504]
-# CHECK-NEXT: 1 3 0.50 * ld1rh { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rh { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rh { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rh { z31.d }, p7/z, [sp, #126]
-# CHECK-NEXT: 1 3 0.50 * ld1rh { z31.h }, p7/z, [sp, #126]
-# CHECK-NEXT: 1 3 0.50 * ld1rh { z31.s }, p7/z, [sp, #126]
+# CHECK-NEXT: 1 3 1.00 * ld1h { z5.h }, p3/z, [sp, x16, lsl #1]
+# CHECK-NEXT: 1 3 1.00 * ld1h { z5.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: 1 3 1.00 * ld1rb { z0.b }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rb { z31.b }, p7/z, [sp, #63]
+# CHECK-NEXT: 1 3 1.00 * ld1rb { z31.d }, p7/z, [sp, #63]
+# CHECK-NEXT: 1 3 1.00 * ld1rb { z31.h }, p7/z, [sp, #63]
+# CHECK-NEXT: 1 3 1.00 * ld1rb { z31.s }, p7/z, [sp, #63]
+# CHECK-NEXT: 1 3 1.00 * ld1rd { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rd { z31.d }, p7/z, [sp, #504]
+# CHECK-NEXT: 1 3 1.00 * ld1rh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rh { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rh { z31.d }, p7/z, [sp, #126]
+# CHECK-NEXT: 1 3 1.00 * ld1rh { z31.h }, p7/z, [sp, #126]
+# CHECK-NEXT: 1 3 1.00 * ld1rh { z31.s }, p7/z, [sp, #126]
# CHECK-NEXT: 1 3 1.00 * ld1rqb { z0.b }, p0/z, [x0, x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rqb { z0.b }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rqb { z21.b }, p5/z, [x10, #112]
-# CHECK-NEXT: 1 3 0.50 * ld1rqb { z23.b }, p3/z, [x13, #-128]
-# CHECK-NEXT: 1 3 0.50 * ld1rqb { z31.b }, p7/z, [sp, #-16]
+# CHECK-NEXT: 1 3 1.00 * ld1rqb { z0.b }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rqb { z21.b }, p5/z, [x10, #112]
+# CHECK-NEXT: 1 3 1.00 * ld1rqb { z23.b }, p3/z, [x13, #-128]
+# CHECK-NEXT: 1 3 1.00 * ld1rqb { z31.b }, p7/z, [sp, #-16]
# CHECK-NEXT: 1 3 1.00 * ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: 1 3 0.50 * ld1rqd { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rqd { z23.d }, p3/z, [x13, #-128]
-# CHECK-NEXT: 1 3 0.50 * ld1rqd { z23.d }, p3/z, [x13, #112]
-# CHECK-NEXT: 1 3 0.50 * ld1rqd { z31.d }, p7/z, [sp, #-16]
+# CHECK-NEXT: 1 3 1.00 * ld1rqd { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rqd { z23.d }, p3/z, [x13, #-128]
+# CHECK-NEXT: 1 3 1.00 * ld1rqd { z23.d }, p3/z, [x13, #112]
+# CHECK-NEXT: 1 3 1.00 * ld1rqd { z31.d }, p7/z, [sp, #-16]
# CHECK-NEXT: 1 3 1.00 * ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: 1 3 0.50 * ld1rqh { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rqh { z23.h }, p3/z, [x13, #-128]
-# CHECK-NEXT: 1 3 0.50 * ld1rqh { z23.h }, p3/z, [x13, #112]
-# CHECK-NEXT: 1 3 0.50 * ld1rqh { z31.h }, p7/z, [sp, #-16]
+# CHECK-NEXT: 1 3 1.00 * ld1rqh { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rqh { z23.h }, p3/z, [x13, #-128]
+# CHECK-NEXT: 1 3 1.00 * ld1rqh { z23.h }, p3/z, [x13, #112]
+# CHECK-NEXT: 1 3 1.00 * ld1rqh { z31.h }, p7/z, [sp, #-16]
# CHECK-NEXT: 1 3 1.00 * ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: 1 3 0.50 * ld1rqw { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rqw { z23.s }, p3/z, [x13, #-128]
-# CHECK-NEXT: 1 3 0.50 * ld1rqw { z23.s }, p3/z, [x13, #112]
-# CHECK-NEXT: 1 3 0.50 * ld1rqw { z31.s }, p7/z, [sp, #-16]
-# CHECK-NEXT: 1 3 0.50 * ld1rsb { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rsb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rsb { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rsb { z31.d }, p7/z, [sp, #63]
-# CHECK-NEXT: 1 3 0.50 * ld1rsb { z31.h }, p7/z, [sp, #63]
-# CHECK-NEXT: 1 3 0.50 * ld1rsb { z31.s }, p7/z, [sp, #63]
-# CHECK-NEXT: 1 3 0.50 * ld1rsh { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rsh { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rsh { z31.d }, p7/z, [sp, #126]
-# CHECK-NEXT: 1 3 0.50 * ld1rsh { z31.s }, p7/z, [sp, #126]
-# CHECK-NEXT: 1 3 0.50 * ld1rsw { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rsw { z31.d }, p7/z, [sp, #252]
-# CHECK-NEXT: 1 3 0.50 * ld1rw { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rw { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * ld1rw { z31.d }, p7/z, [sp, #252]
-# CHECK-NEXT: 1 3 0.50 * ld1rw { z31.s }, p7/z, [sp, #252]
-# CHECK-NEXT: 1 3 0.50 * ld1sb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rqw { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rqw { z23.s }, p3/z, [x13, #-128]
+# CHECK-NEXT: 1 3 1.00 * ld1rqw { z23.s }, p3/z, [x13, #112]
+# CHECK-NEXT: 1 3 1.00 * ld1rqw { z31.s }, p7/z, [sp, #-16]
+# CHECK-NEXT: 1 3 1.00 * ld1rsb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rsb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rsb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rsb { z31.d }, p7/z, [sp, #63]
+# CHECK-NEXT: 1 3 1.00 * ld1rsb { z31.h }, p7/z, [sp, #63]
+# CHECK-NEXT: 1 3 1.00 * ld1rsb { z31.s }, p7/z, [sp, #63]
+# CHECK-NEXT: 1 3 1.00 * ld1rsh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rsh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rsh { z31.d }, p7/z, [sp, #126]
+# CHECK-NEXT: 1 3 1.00 * ld1rsh { z31.s }, p7/z, [sp, #126]
+# CHECK-NEXT: 1 3 1.00 * ld1rsw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rsw { z31.d }, p7/z, [sp, #252]
+# CHECK-NEXT: 1 3 1.00 * ld1rw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rw { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1rw { z31.d }, p7/z, [sp, #252]
+# CHECK-NEXT: 1 3 1.00 * ld1rw { z31.s }, p7/z, [sp, #252]
+# CHECK-NEXT: 1 3 1.00 * ld1sb { z0.d }, p0/z, [x0]
# CHECK-NEXT: 1 7 6.00 * ld1sb { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 3 0.50 * ld1sb { z0.h }, p0/z, [sp, x0]
-# CHECK-NEXT: 1 3 0.50 * ld1sb { z0.h }, p0/z, [x0, x0]
-# CHECK-NEXT: 1 3 0.50 * ld1sb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 1 7 3.00 * ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 3 0.50 * ld1sb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1sb { z0.h }, p0/z, [sp, x0]
+# CHECK-NEXT: 1 3 1.00 * ld1sb { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 3 1.00 * ld1sb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 7 6.00 * ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 3 1.00 * ld1sb { z0.s }, p0/z, [x0]
# CHECK-NEXT: 1 9 7.00 * ld1sb { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 3 0.50 * ld1sb { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1sb { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 7 6.00 * ld1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: 1 7 6.00 * ld1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 3 0.50 * ld1sb { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * ld1sb { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * ld1sb { z21.s }, p5/z, [x10, x21]
-# CHECK-NEXT: 1 3 0.50 * ld1sb { z23.d }, p3/z, [x13, x8]
-# CHECK-NEXT: 1 3 0.50 * ld1sb { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1sb { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1sb { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1sb { z21.s }, p5/z, [x10, x21]
+# CHECK-NEXT: 1 3 1.00 * ld1sb { z23.d }, p3/z, [x13, x8]
+# CHECK-NEXT: 1 3 1.00 * ld1sb { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: 1 7 6.00 * ld1sb { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: 1 7 6.00 * ld1sb { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: 1 3 0.50 * ld1sb { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * ld1sb { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1sb { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1sb { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: 1 9 7.00 * ld1sb { z31.s }, p7/z, [z31.s, #31]
# CHECK-NEXT: 1 7 6.00 * ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
# CHECK-NEXT: 1 7 6.00 * ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: 1 3 0.50 * ld1sh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1sh { z0.d }, p0/z, [x0]
# CHECK-NEXT: 1 7 6.00 * ld1sh { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 7 3.00 * ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 7 3.00 * ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: 1 3 0.50 * ld1sh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 7 6.00 * ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 3 1.00 * ld1sh { z0.s }, p0/z, [x0]
# CHECK-NEXT: 1 9 7.00 * ld1sh { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 3 0.50 * ld1sh { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1sh { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 7 6.00 * ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: 1 7 6.00 * ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 3 0.50 * ld1sh { z21.s }, p5/z, [sp, x21, lsl #1]
-# CHECK-NEXT: 1 3 0.50 * ld1sh { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * ld1sh { z21.s }, p5/z, [x10, x21, lsl #1]
-# CHECK-NEXT: 1 3 0.50 * ld1sh { z23.d }, p3/z, [x13, x8, lsl #1]
+# CHECK-NEXT: 1 3 1.00 * ld1sh { z21.s }, p5/z, [sp, x21, lsl #1]
+# CHECK-NEXT: 1 3 1.00 * ld1sh { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1sh { z21.s }, p5/z, [x10, x21, lsl #1]
+# CHECK-NEXT: 1 3 1.00 * ld1sh { z23.d }, p3/z, [x13, x8, lsl #1]
# CHECK-NEXT: 1 7 6.00 * ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
-# CHECK-NEXT: 1 3 0.50 * ld1sh { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1sh { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: 1 7 6.00 * ld1sh { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: 1 7 6.00 * ld1sh { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: 1 3 0.50 * ld1sh { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 7 3.50 * ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-# CHECK-NEXT: 1 7 3.50 * ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: 1 3 1.00 * ld1sh { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: 1 7 7.00 * ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
# CHECK-NEXT: 1 9 7.00 * ld1sh { z31.s }, p7/z, [z31.s, #62]
# CHECK-NEXT: 1 7 6.00 * ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
# CHECK-NEXT: 1 7 6.00 * ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: 1 3 0.50 * ld1sw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1sw { z0.d }, p0/z, [x0]
# CHECK-NEXT: 1 7 6.00 * ld1sw { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 3 0.50 * ld1sw { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1sw { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 7 6.00 * ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: 1 7 6.00 * ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 3 0.50 * ld1sw { z23.d }, p3/z, [sp, x8, lsl #2]
-# CHECK-NEXT: 1 3 0.50 * ld1sw { z23.d }, p3/z, [x13, x8, lsl #2]
+# CHECK-NEXT: 1 3 1.00 * ld1sw { z23.d }, p3/z, [sp, x8, lsl #2]
+# CHECK-NEXT: 1 3 1.00 * ld1sw { z23.d }, p3/z, [x13, x8, lsl #2]
# CHECK-NEXT: 1 7 6.00 * ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
-# CHECK-NEXT: 1 3 0.50 * ld1sw { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1sw { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: 1 7 6.00 * ld1sw { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: 1 7 6.00 * ld1sw { z31.d }, p7/z, [z31.d, #124]
# CHECK-NEXT: 1 7 6.00 * ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
# CHECK-NEXT: 1 7 6.00 * ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: 1 3 0.50 * ld1w { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * ld1w { z0.d }, p0/z, [x0]
# CHECK-NEXT: 1 7 6.00 * ld1w { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 7 3.00 * ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 7 3.00 * ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: 1 3 0.50 * ld1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 7 6.00 * ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 6.00 * ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 3 1.00 * ld1w { z0.s }, p0/z, [x0]
# CHECK-NEXT: 1 9 7.00 * ld1w { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 3 0.50 * ld1w { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1w { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 7 6.00 * ld1w { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: 1 7 6.00 * ld1w { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 3 0.50 * ld1w { z21.s }, p5/z, [sp, x21, lsl #2]
-# CHECK-NEXT: 1 3 0.50 * ld1w { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * ld1w { z21.s }, p5/z, [x10, x21, lsl #2]
-# CHECK-NEXT: 1 3 0.50 * ld1w { z23.d }, p3/z, [x13, x8, lsl #2]
+# CHECK-NEXT: 1 3 1.00 * ld1w { z21.s }, p5/z, [sp, x21, lsl #2]
+# CHECK-NEXT: 1 3 1.00 * ld1w { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1w { z21.s }, p5/z, [x10, x21, lsl #2]
+# CHECK-NEXT: 1 3 1.00 * ld1w { z23.d }, p3/z, [x13, x8, lsl #2]
# CHECK-NEXT: 1 7 6.00 * ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
-# CHECK-NEXT: 1 3 0.50 * ld1w { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ld1w { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: 1 7 6.00 * ld1w { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: 1 7 6.00 * ld1w { z31.d }, p7/z, [z31.d, #124]
-# CHECK-NEXT: 1 3 0.50 * ld1w { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 7 3.50 * ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
-# CHECK-NEXT: 1 7 3.50 * ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+# CHECK-NEXT: 1 3 1.00 * ld1w { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 7 7.00 * ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+# CHECK-NEXT: 1 7 7.00 * ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
# CHECK-NEXT: 1 9 7.00 * ld1w { z31.s }, p7/z, [z31.s, #124]
# CHECK-NEXT: 1 3 2.00 * ld2b { z0.b, z1.b }, p0/z, [x0, x0]
# CHECK-NEXT: 1 3 1.00 * ld2b { z0.b, z1.b }, p0/z, [x0]
@@ -4664,23 +1254,23 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 5 3.00 * ld4w { z21.s - z24.s }, p5/z, [x10, #20, mul vl]
# CHECK-NEXT: 1 5 3.00 * ld4w { z23.s - z26.s }, p3/z, [x13, #-32, mul vl]
# CHECK-NEXT: 1 5 4.00 * ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2]
-# CHECK-NEXT: 1 3 0.50 * U ldff1b { z0.d }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 3 1.00 * U ldff1b { z0.d }, p0/z, [x0, x0]
# CHECK-NEXT: 1 7 6.00 * U ldff1b { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 3 0.50 * U ldff1b { z0.h }, p0/z, [x0, x0]
-# CHECK-NEXT: 1 3 0.50 * U ldff1b { z0.s }, p0/z, [x0, x0]
-# CHECK-NEXT: 1 7 3.00 * U ldff1b { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 7 3.00 * U ldff1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 3 1.00 * U ldff1b { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 3 1.00 * U ldff1b { z0.s }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 7 6.00 * U ldff1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 6.00 * U ldff1b { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: 1 9 7.00 * U ldff1b { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: 1 7 6.00 * U ldff1b { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: 1 7 6.00 * U ldff1b { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 3 0.50 * U ldff1b { z31.b }, p7/z, [sp]
+# CHECK-NEXT: 1 3 1.00 * U ldff1b { z31.b }, p7/z, [sp]
# CHECK-NEXT: 1 7 6.00 * U ldff1b { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 3 0.50 * U ldff1b { z31.d }, p7/z, [sp]
+# CHECK-NEXT: 1 3 1.00 * U ldff1b { z31.d }, p7/z, [sp]
# CHECK-NEXT: 1 7 6.00 * U ldff1b { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: 1 3 0.50 * U ldff1b { z31.h }, p7/z, [sp]
-# CHECK-NEXT: 1 3 0.50 * U ldff1b { z31.s }, p7/z, [sp]
+# CHECK-NEXT: 1 3 1.00 * U ldff1b { z31.h }, p7/z, [sp]
+# CHECK-NEXT: 1 3 1.00 * U ldff1b { z31.s }, p7/z, [sp]
# CHECK-NEXT: 1 9 7.00 * U ldff1b { z31.s }, p7/z, [z31.s, #31]
-# CHECK-NEXT: 1 3 0.50 * U ldff1d { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: 1 3 1.00 * U ldff1d { z0.d }, p0/z, [x0, x0, lsl #3]
# CHECK-NEXT: 1 7 6.00 * U ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
# CHECK-NEXT: 1 7 6.00 * U ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
# CHECK-NEXT: 1 7 6.00 * U ldff1d { z0.d }, p0/z, [z0.d]
@@ -4688,62 +1278,62 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 7 6.00 * U ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 7 6.00 * U ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
# CHECK-NEXT: 1 7 6.00 * U ldff1d { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 3 0.50 * U ldff1d { z31.d }, p7/z, [sp]
+# CHECK-NEXT: 1 3 1.00 * U ldff1d { z31.d }, p7/z, [sp]
# CHECK-NEXT: 1 7 6.00 * U ldff1d { z31.d }, p7/z, [z31.d, #248]
-# CHECK-NEXT: 1 3 0.50 * U ldff1h { z0.d }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 3 1.00 * U ldff1h { z0.d }, p0/z, [x0, x0, lsl #1]
# CHECK-NEXT: 1 7 6.00 * U ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
# CHECK-NEXT: 1 7 6.00 * U ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
# CHECK-NEXT: 1 7 6.00 * U ldff1h { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 3 0.50 * U ldff1h { z0.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: 1 3 0.50 * U ldff1h { z0.s }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: 1 7 3.00 * U ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 7 3.00 * U ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 3 1.00 * U ldff1h { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 3 1.00 * U ldff1h { z0.s }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 7 6.00 * U ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 6.00 * U ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: 1 9 7.00 * U ldff1h { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: 1 7 6.00 * U ldff1h { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: 1 7 6.00 * U ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 7 6.00 * U ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
# CHECK-NEXT: 1 7 6.00 * U ldff1h { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 3 0.50 * U ldff1h { z31.d }, p7/z, [sp]
+# CHECK-NEXT: 1 3 1.00 * U ldff1h { z31.d }, p7/z, [sp]
# CHECK-NEXT: 1 7 6.00 * U ldff1h { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: 1 3 0.50 * U ldff1h { z31.h }, p7/z, [sp]
-# CHECK-NEXT: 1 7 3.50 * U ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-# CHECK-NEXT: 1 7 3.50 * U ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-# CHECK-NEXT: 1 3 0.50 * U ldff1h { z31.s }, p7/z, [sp]
+# CHECK-NEXT: 1 3 1.00 * U ldff1h { z31.h }, p7/z, [sp]
+# CHECK-NEXT: 1 7 7.00 * U ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: 1 7 7.00 * U ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: 1 3 1.00 * U ldff1h { z31.s }, p7/z, [sp]
# CHECK-NEXT: 1 9 7.00 * U ldff1h { z31.s }, p7/z, [z31.s, #62]
-# CHECK-NEXT: 1 3 0.50 * U ldff1sb { z0.d }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 3 1.00 * U ldff1sb { z0.d }, p0/z, [x0, x0]
# CHECK-NEXT: 1 7 6.00 * U ldff1sb { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 3 0.50 * U ldff1sb { z0.h }, p0/z, [x0, x0]
-# CHECK-NEXT: 1 3 0.50 * U ldff1sb { z0.s }, p0/z, [x0, x0]
-# CHECK-NEXT: 1 7 3.00 * U ldff1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 7 3.00 * U ldff1sb { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 3 1.00 * U ldff1sb { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 3 1.00 * U ldff1sb { z0.s }, p0/z, [x0, x0]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sb { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: 1 9 7.00 * U ldff1sb { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: 1 7 6.00 * U ldff1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: 1 7 6.00 * U ldff1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 7 6.00 * U ldff1sb { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 3 0.50 * U ldff1sb { z31.d }, p7/z, [sp]
+# CHECK-NEXT: 1 3 1.00 * U ldff1sb { z31.d }, p7/z, [sp]
# CHECK-NEXT: 1 7 6.00 * U ldff1sb { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: 1 3 0.50 * U ldff1sb { z31.h }, p7/z, [sp]
-# CHECK-NEXT: 1 3 0.50 * U ldff1sb { z31.s }, p7/z, [sp]
+# CHECK-NEXT: 1 3 1.00 * U ldff1sb { z31.h }, p7/z, [sp]
+# CHECK-NEXT: 1 3 1.00 * U ldff1sb { z31.s }, p7/z, [sp]
# CHECK-NEXT: 1 9 7.00 * U ldff1sb { z31.s }, p7/z, [z31.s, #31]
-# CHECK-NEXT: 1 3 0.50 * U ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 3 1.00 * U ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1]
# CHECK-NEXT: 1 7 6.00 * U ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
# CHECK-NEXT: 1 7 6.00 * U ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
# CHECK-NEXT: 1 7 6.00 * U ldff1sh { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 3 0.50 * U ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: 1 7 3.00 * U ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 7 3.00 * U ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 3 1.00 * U ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 6.00 * U ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: 1 9 7.00 * U ldff1sh { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: 1 7 6.00 * U ldff1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: 1 7 6.00 * U ldff1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 7 6.00 * U ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
# CHECK-NEXT: 1 7 6.00 * U ldff1sh { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 3 0.50 * U ldff1sh { z31.d }, p7/z, [sp]
+# CHECK-NEXT: 1 3 1.00 * U ldff1sh { z31.d }, p7/z, [sp]
# CHECK-NEXT: 1 7 6.00 * U ldff1sh { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: 1 7 3.50 * U ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-# CHECK-NEXT: 1 7 3.50 * U ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-# CHECK-NEXT: 1 3 0.50 * U ldff1sh { z31.s }, p7/z, [sp]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: 1 7 7.00 * U ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: 1 3 1.00 * U ldff1sh { z31.s }, p7/z, [sp]
# CHECK-NEXT: 1 9 7.00 * U ldff1sh { z31.s }, p7/z, [z31.s, #62]
-# CHECK-NEXT: 1 3 0.50 * U ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 3 1.00 * U ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2]
# CHECK-NEXT: 1 7 6.00 * U ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
# CHECK-NEXT: 1 7 6.00 * U ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
# CHECK-NEXT: 1 7 6.00 * U ldff1sw { z0.d }, p0/z, [z0.d]
@@ -4751,74 +1341,74 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 7 6.00 * U ldff1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 7 6.00 * U ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
# CHECK-NEXT: 1 7 6.00 * U ldff1sw { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 3 0.50 * U ldff1sw { z31.d }, p7/z, [sp]
+# CHECK-NEXT: 1 3 1.00 * U ldff1sw { z31.d }, p7/z, [sp]
# CHECK-NEXT: 1 7 6.00 * U ldff1sw { z31.d }, p7/z, [z31.d, #124]
-# CHECK-NEXT: 1 3 0.50 * U ldff1w { z0.d }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 3 1.00 * U ldff1w { z0.d }, p0/z, [x0, x0, lsl #2]
# CHECK-NEXT: 1 7 6.00 * U ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
# CHECK-NEXT: 1 7 6.00 * U ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
# CHECK-NEXT: 1 7 6.00 * U ldff1w { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 3 0.50 * U ldff1w { z0.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: 1 7 3.00 * U ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 7 3.00 * U ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 3 1.00 * U ldff1w { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 1 7 6.00 * U ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 7 6.00 * U ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: 1 9 7.00 * U ldff1w { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: 1 7 6.00 * U ldff1w { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: 1 7 6.00 * U ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 7 6.00 * U ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
# CHECK-NEXT: 1 7 6.00 * U ldff1w { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 3 0.50 * U ldff1w { z31.d }, p7/z, [sp]
+# CHECK-NEXT: 1 3 1.00 * U ldff1w { z31.d }, p7/z, [sp]
# CHECK-NEXT: 1 7 6.00 * U ldff1w { z31.d }, p7/z, [z31.d, #124]
-# CHECK-NEXT: 1 7 3.50 * U ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
-# CHECK-NEXT: 1 7 3.50 * U ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
-# CHECK-NEXT: 1 3 0.50 * U ldff1w { z31.s }, p7/z, [sp]
+# CHECK-NEXT: 1 7 7.00 * U ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+# CHECK-NEXT: 1 7 7.00 * U ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+# CHECK-NEXT: 1 3 1.00 * U ldff1w { z31.s }, p7/z, [sp]
# CHECK-NEXT: 1 9 7.00 * U ldff1w { z31.s }, p7/z, [z31.s, #124]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z0.b }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z21.b }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z31.b }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1b { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1d { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1d { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1d { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1h { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1h { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1h { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1h { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1h { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1h { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1h { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1h { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1h { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1sb { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1sb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1sb { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1sb { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1sb { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1sb { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1sb { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1sb { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1sb { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1sh { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1sh { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1sh { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1sh { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1sh { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1sh { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1sw { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1sw { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1sw { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1w { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1w { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1w { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1w { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1w { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 3 0.50 * U ldnf1w { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1b { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1b { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1b { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1b { z21.b }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1b { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1b { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1b { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1b { z31.b }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1b { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1b { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1b { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1d { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1d { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1h { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1h { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1h { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1h { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1h { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1h { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1h { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1h { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1sb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1sb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1sb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1sb { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1sb { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1sb { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1sb { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1sb { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1sb { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1sh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1sh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1sh { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1sh { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1sh { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1sh { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1sw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1sw { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1sw { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1w { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1w { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1w { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1w { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 3 1.00 * U ldnf1w { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: 1 3 1.00 * ldnt1b { z0.b }, p0/z, [x0, x0]
# CHECK-NEXT: 1 3 1.00 * ldnt1b { z0.b }, p0/z, [x0]
# CHECK-NEXT: 1 7 6.00 * ldnt1b { z0.d }, p0/z, [z1.d]
@@ -4874,9 +1464,9 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 1.00 * ldr p0, [x0]
# CHECK-NEXT: 1 3 1.00 * ldr p5, [x10, #255, mul vl]
# CHECK-NEXT: 1 3 1.00 * ldr p7, [x13, #-256, mul vl]
-# CHECK-NEXT: 1 3 0.50 * ldr z0, [x0]
-# CHECK-NEXT: 1 3 0.50 * ldr z23, [x13, #255, mul vl]
-# CHECK-NEXT: 1 3 0.50 * ldr z31, [sp, #-256, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ldr z0, [x0]
+# CHECK-NEXT: 1 3 1.00 * ldr z23, [x13, #255, mul vl]
+# CHECK-NEXT: 1 3 1.00 * ldr z31, [sp, #-256, mul vl]
# CHECK-NEXT: 1 3 0.50 lsl z0.b, p0/m, z0.b, #0
# CHECK-NEXT: 1 3 0.50 lsl z0.b, p0/m, z0.b, z0.b
# CHECK-NEXT: 1 3 0.50 lsl z0.b, p0/m, z0.b, z1.d
@@ -4941,10 +1531,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 mad z0.d, p7/m, z1.d, z31.d
# CHECK-NEXT: 1 4 0.50 mad z0.h, p7/m, z1.h, z31.h
# CHECK-NEXT: 1 4 0.50 mad z0.s, p7/m, z1.s, z31.s
-# CHECK-NEXT: 1 8 2.00 match p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: 1 8 2.00 match p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: 1 8 2.00 match p15.b, p7/z, z30.b, z31.b
-# CHECK-NEXT: 1 8 2.00 match p15.h, p7/z, z30.h, z31.h
+# CHECK-NEXT: 1 8 4.00 match p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: 1 8 4.00 match p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: 1 8 4.00 match p15.b, p7/z, z30.b, z31.b
+# CHECK-NEXT: 1 8 4.00 match p15.h, p7/z, z30.h, z31.h
# CHECK-NEXT: 1 4 0.50 mla z0.b, p7/m, z1.b, z31.b
# CHECK-NEXT: 1 4 0.50 mla z0.d, p7/m, z1.d, z31.d
# CHECK-NEXT: 1 4 0.50 mla z0.d, z1.d, z7.d[1]
@@ -5111,10 +1701,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 neg z31.d, p7/m, z31.d
# CHECK-NEXT: 1 3 0.50 neg z31.h, p7/m, z31.h
# CHECK-NEXT: 1 3 0.50 neg z31.s, p7/m, z31.s
-# CHECK-NEXT: 1 8 2.00 nmatch p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: 1 8 2.00 nmatch p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: 1 8 2.00 nmatch p15.b, p7/z, z30.b, z31.b
-# CHECK-NEXT: 1 8 2.00 nmatch p15.h, p7/z, z30.h, z31.h
+# CHECK-NEXT: 1 8 4.00 nmatch p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: 1 8 4.00 nmatch p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: 1 8 4.00 nmatch p15.b, p7/z, z30.b, z31.b
+# CHECK-NEXT: 1 8 4.00 nmatch p15.h, p7/z, z30.h, z31.h
# CHECK-NEXT: 1 2 1.00 nor p0.b, p0/z, p0.b, p0.b
# CHECK-NEXT: 1 2 1.00 nor p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 2 1.00 nors p0.b, p0/z, p0.b, p0.b
@@ -5155,12 +1745,12 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 2 1.00 pfirst p15.b, p15, p15.b
# CHECK-NEXT: 1 3 0.50 pmul z0.b, z1.b, z2.b
# CHECK-NEXT: 1 3 0.50 pmul z29.b, z30.b, z31.b
-# CHECK-NEXT: 1 9 1.00 pmullb z0.h, z1.b, z2.b
-# CHECK-NEXT: 1 9 1.00 pmullb z29.q, z30.d, z31.d
-# CHECK-NEXT: 1 9 1.00 pmullb z31.d, z31.s, z31.s
-# CHECK-NEXT: 1 9 1.00 pmullt z0.h, z1.b, z2.b
-# CHECK-NEXT: 1 9 1.00 pmullt z29.q, z30.d, z31.d
-# CHECK-NEXT: 1 9 1.00 pmullt z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 9 7.00 pmullb z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 9 7.00 pmullb z29.q, z30.d, z31.d
+# CHECK-NEXT: 1 9 7.00 pmullb z31.d, z31.s, z31.s
+# CHECK-NEXT: 1 9 7.00 pmullt z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 9 7.00 pmullt z29.q, z30.d, z31.d
+# CHECK-NEXT: 1 9 7.00 pmullt z31.d, z31.s, z31.s
# CHECK-NEXT: 1 2 1.00 pnext p0.b, p15, p0.b
# CHECK-NEXT: 1 2 1.00 pnext p0.d, p15, p0.d
# CHECK-NEXT: 1 2 1.00 pnext p0.h, p15, p0.h
@@ -5358,20 +1948,20 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 1 1.00 punpkhi p15.h, p15.b
# CHECK-NEXT: 1 1 1.00 punpklo p0.h, p0.b
# CHECK-NEXT: 1 1 1.00 punpklo p15.h, p15.b
-# CHECK-NEXT: 1 6 0.50 raddhnb z0.b, z1.h, z31.h
-# CHECK-NEXT: 1 6 0.50 raddhnb z0.h, z1.s, z31.s
-# CHECK-NEXT: 1 6 0.50 raddhnb z0.s, z1.d, z31.d
-# CHECK-NEXT: 1 6 0.50 raddhnt z0.b, z1.h, z31.h
-# CHECK-NEXT: 1 6 0.50 raddhnt z0.h, z1.s, z31.s
-# CHECK-NEXT: 1 6 0.50 raddhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 6 3.00 raddhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 6 3.00 raddhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 6 3.00 raddhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 6 3.00 raddhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 6 3.00 raddhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 6 3.00 raddhnt z0.s, z1.d, z31.d
# CHECK-NEXT: 1 3 0.50 rax1 z0.d, z1.d, z31.d
# CHECK-NEXT: 1 3 0.50 rbit z0.b, p7/m, z31.b
# CHECK-NEXT: 1 3 0.50 rbit z0.d, p7/m, z31.d
# CHECK-NEXT: 1 3 0.50 rbit z0.h, p7/m, z31.h
# CHECK-NEXT: 1 3 0.50 rbit z0.s, p7/m, z31.s
-# CHECK-NEXT: 1 1 0.50 * U rdffr p0.b
+# CHECK-NEXT: 1 1 1.00 * U rdffr p0.b
# CHECK-NEXT: 1 3 1.00 * U rdffr p0.b, p0/z
-# CHECK-NEXT: 1 1 0.50 * U rdffr p15.b
+# CHECK-NEXT: 1 1 1.00 * U rdffr p15.b
# CHECK-NEXT: 1 3 1.00 * U rdffr p15.b, p15/z
# CHECK-NEXT: 1 3 1.00 U rdffrs p0.b, p0/z
# CHECK-NEXT: 1 3 1.00 U rdffrs p15.b, p15/z
@@ -5379,6 +1969,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 1 0.50 rdvl x21, #-32
# CHECK-NEXT: 1 1 0.50 rdvl x23, #31
# CHECK-NEXT: 1 1 0.50 rdvl xzr, #-1
+# CHECK-NEXT: 1 1 1.00 rev p0.b, p1.b
+# CHECK-NEXT: 1 1 1.00 rev p0.d, p1.d
+# CHECK-NEXT: 1 1 1.00 rev p0.h, p1.h
+# CHECK-NEXT: 1 1 1.00 rev p0.s, p1.s
# CHECK-NEXT: 1 3 0.50 rev z0.b, z31.b
# CHECK-NEXT: 1 3 0.50 rev z0.d, z31.d
# CHECK-NEXT: 1 3 0.50 rev z0.h, z31.h
@@ -5401,22 +1995,22 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 rshrnt z31.b, z31.h, #8
# CHECK-NEXT: 1 4 0.50 rshrnt z31.h, z31.s, #16
# CHECK-NEXT: 1 4 0.50 rshrnt z31.s, z31.d, #32
-# CHECK-NEXT: 1 6 0.50 rsubhnb z0.b, z1.h, z31.h
-# CHECK-NEXT: 1 6 0.50 rsubhnb z0.h, z1.s, z31.s
-# CHECK-NEXT: 1 6 0.50 rsubhnb z0.s, z1.d, z31.d
-# CHECK-NEXT: 1 6 0.50 rsubhnt z0.b, z1.h, z31.h
-# CHECK-NEXT: 1 6 0.50 rsubhnt z0.h, z1.s, z31.s
-# CHECK-NEXT: 1 6 0.50 rsubhnt z0.s, z1.d, z31.d
-# CHECK-NEXT: 1 5 1.50 saba z0.b, z1.b, z31.b
-# CHECK-NEXT: 1 5 1.50 saba z0.d, z1.d, z31.d
-# CHECK-NEXT: 1 5 1.50 saba z0.h, z1.h, z31.h
-# CHECK-NEXT: 1 5 1.50 saba z0.s, z1.s, z31.s
-# CHECK-NEXT: 1 5 1.50 sabalb z0.d, z1.s, z31.s
-# CHECK-NEXT: 1 5 1.50 sabalb z0.h, z1.b, z31.b
-# CHECK-NEXT: 1 5 1.50 sabalb z0.s, z1.h, z31.h
-# CHECK-NEXT: 1 5 1.50 sabalt z0.d, z1.s, z31.s
-# CHECK-NEXT: 1 5 1.50 sabalt z0.h, z1.b, z31.b
-# CHECK-NEXT: 1 5 1.50 sabalt z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 6 3.00 rsubhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 6 3.00 rsubhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 6 3.00 rsubhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 6 3.00 rsubhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: 1 6 3.00 rsubhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: 1 6 3.00 rsubhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: 1 5 3.00 saba z0.b, z1.b, z31.b
+# CHECK-NEXT: 1 5 3.00 saba z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 5 3.00 saba z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 5 3.00 saba z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 5 3.00 sabalb z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 5 3.00 sabalb z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 5 3.00 sabalb z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 5 3.00 sabalt z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 5 3.00 sabalt z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 5 3.00 sabalt z0.s, z1.h, z31.h
# CHECK-NEXT: 1 3 0.50 sabd z31.b, p7/m, z31.b, z31.b
# CHECK-NEXT: 1 3 0.50 sabd z31.d, p7/m, z31.d, z31.d
# CHECK-NEXT: 1 3 0.50 sabd z31.h, p7/m, z31.h, z31.h
@@ -5427,9 +2021,9 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 sabdlt z0.h, z1.b, z2.b
# CHECK-NEXT: 1 3 0.50 sabdlt z29.s, z30.h, z31.h
# CHECK-NEXT: 1 3 0.50 sabdlt z31.d, z31.s, z31.s
-# CHECK-NEXT: 1 6 2.00 sadalp z0.h, p0/m, z1.b
-# CHECK-NEXT: 1 6 2.00 sadalp z29.s, p0/m, z30.h
-# CHECK-NEXT: 1 6 2.00 sadalp z30.d, p7/m, z31.s
+# CHECK-NEXT: 1 6 4.00 sadalp z0.h, p0/m, z1.b
+# CHECK-NEXT: 1 6 4.00 sadalp z29.s, p0/m, z30.h
+# CHECK-NEXT: 1 6 4.00 sadalp z30.d, p7/m, z31.s
# CHECK-NEXT: 1 4 0.50 saddlb z0.h, z1.b, z2.b
# CHECK-NEXT: 1 4 0.50 saddlb z29.s, z30.h, z31.h
# CHECK-NEXT: 1 4 0.50 saddlb z31.d, z31.s, z31.s
@@ -5467,11 +2061,12 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 sdot z0.d, z1.h, z31.h
# CHECK-NEXT: 1 4 0.50 sdot z0.s, z1.b, z31.b
# CHECK-NEXT: 1 4 0.50 sdot z0.s, z1.b, z7.b[3]
+# CHECK-NEXT: 1 2 1.00 sel p0.b, p1, p2.b, p3.b
# CHECK-NEXT: 1 2 0.50 sel z23.b, p11, z13.b, z8.b
# CHECK-NEXT: 1 2 0.50 sel z23.d, p11, z13.d, z8.d
# CHECK-NEXT: 1 2 0.50 sel z23.h, p11, z13.h, z8.h
# CHECK-NEXT: 1 2 0.50 sel z23.s, p11, z13.s, z8.s
-# CHECK-NEXT: 1 1 0.50 * U setffr
+# CHECK-NEXT: 1 1 1.00 * U setffr
# CHECK-NEXT: 1 3 0.50 shadd z0.b, p0/m, z0.b, z1.b
# CHECK-NEXT: 1 3 0.50 shadd z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: 1 3 0.50 shadd z29.s, p7/m, z29.s, z30.s
@@ -5504,8 +2099,8 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 sli z31.d, z31.d, #63
# CHECK-NEXT: 1 3 0.50 sli z31.h, z31.h, #15
# CHECK-NEXT: 1 3 0.50 sli z31.s, z31.s, #31
-# CHECK-NEXT: 1 9 1.00 sm4e z0.s, z0.s, z31.s
-# CHECK-NEXT: 1 9 1.00 sm4ekey z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 9 7.00 sm4e z0.s, z0.s, z31.s
+# CHECK-NEXT: 1 9 7.00 sm4ekey z0.s, z1.s, z31.s
# CHECK-NEXT: 1 3 0.50 smax z0.b, z0.b, #-128
# CHECK-NEXT: 1 3 0.50 smax z0.d, z0.d, #-128
# CHECK-NEXT: 1 3 0.50 smax z0.h, z0.h, #-128
@@ -5624,37 +2219,37 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 sqcadd z31.d, z31.d, z31.d, #270
# CHECK-NEXT: 1 4 0.50 sqcadd z31.h, z31.h, z31.h, #270
# CHECK-NEXT: 1 4 0.50 sqcadd z31.s, z31.s, z31.s, #270
-# CHECK-NEXT: 1 5 0.50 sqdecb x0
-# CHECK-NEXT: 1 5 0.50 sqdecb x0, #14
-# CHECK-NEXT: 1 5 0.50 sqdecb x0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 sqdecb x0, pow2
-# CHECK-NEXT: 1 5 0.50 sqdecb x0, vl1
-# CHECK-NEXT: 1 5 0.50 sqdecb x0, w0
-# CHECK-NEXT: 1 5 0.50 sqdecb x0, w0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 sqdecb x0, w0, pow2
-# CHECK-NEXT: 1 5 0.50 sqdecb x0, w0, pow2, mul #16
-# CHECK-NEXT: 1 5 0.50 sqdecd x0
-# CHECK-NEXT: 1 5 0.50 sqdecd x0, #14
-# CHECK-NEXT: 1 5 0.50 sqdecd x0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 sqdecd x0, pow2
-# CHECK-NEXT: 1 5 0.50 sqdecd x0, vl1
-# CHECK-NEXT: 1 5 0.50 sqdecd x0, w0
-# CHECK-NEXT: 1 5 0.50 sqdecd x0, w0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 sqdecd x0, w0, pow2
-# CHECK-NEXT: 1 5 0.50 sqdecd x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 5 1.00 sqdecb x0
+# CHECK-NEXT: 1 5 1.00 sqdecb x0, #14
+# CHECK-NEXT: 1 5 1.00 sqdecb x0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 sqdecb x0, pow2
+# CHECK-NEXT: 1 5 1.00 sqdecb x0, vl1
+# CHECK-NEXT: 1 5 1.00 sqdecb x0, w0
+# CHECK-NEXT: 1 5 1.00 sqdecb x0, w0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 sqdecb x0, w0, pow2
+# CHECK-NEXT: 1 5 1.00 sqdecb x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 5 1.00 sqdecd x0
+# CHECK-NEXT: 1 5 1.00 sqdecd x0, #14
+# CHECK-NEXT: 1 5 1.00 sqdecd x0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 sqdecd x0, pow2
+# CHECK-NEXT: 1 5 1.00 sqdecd x0, vl1
+# CHECK-NEXT: 1 5 1.00 sqdecd x0, w0
+# CHECK-NEXT: 1 5 1.00 sqdecd x0, w0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 sqdecd x0, w0, pow2
+# CHECK-NEXT: 1 5 1.00 sqdecd x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqdecd z0.d
# CHECK-NEXT: 1 4 0.50 sqdecd z0.d, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqdecd z0.d, pow2
# CHECK-NEXT: 1 4 0.50 sqdecd z0.d, pow2, mul #16
-# CHECK-NEXT: 1 5 0.50 sqdech x0
-# CHECK-NEXT: 1 5 0.50 sqdech x0, #14
-# CHECK-NEXT: 1 5 0.50 sqdech x0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 sqdech x0, pow2
-# CHECK-NEXT: 1 5 0.50 sqdech x0, vl1
-# CHECK-NEXT: 1 5 0.50 sqdech x0, w0
-# CHECK-NEXT: 1 5 0.50 sqdech x0, w0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 sqdech x0, w0, pow2
-# CHECK-NEXT: 1 5 0.50 sqdech x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 5 1.00 sqdech x0
+# CHECK-NEXT: 1 5 1.00 sqdech x0, #14
+# CHECK-NEXT: 1 5 1.00 sqdech x0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 sqdech x0, pow2
+# CHECK-NEXT: 1 5 1.00 sqdech x0, vl1
+# CHECK-NEXT: 1 5 1.00 sqdech x0, w0
+# CHECK-NEXT: 1 5 1.00 sqdech x0, w0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 sqdech x0, w0, pow2
+# CHECK-NEXT: 1 5 1.00 sqdech x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqdech z0.h
# CHECK-NEXT: 1 4 0.50 sqdech z0.h, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqdech z0.h, pow2
@@ -5670,15 +2265,15 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 1.00 sqdecp z0.d, p0.d
# CHECK-NEXT: 1 4 1.00 sqdecp z0.h, p0.h
# CHECK-NEXT: 1 4 1.00 sqdecp z0.s, p0.s
-# CHECK-NEXT: 1 5 0.50 sqdecw x0
-# CHECK-NEXT: 1 5 0.50 sqdecw x0, #14
-# CHECK-NEXT: 1 5 0.50 sqdecw x0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 sqdecw x0, pow2
-# CHECK-NEXT: 1 5 0.50 sqdecw x0, vl1
-# CHECK-NEXT: 1 5 0.50 sqdecw x0, w0
-# CHECK-NEXT: 1 5 0.50 sqdecw x0, w0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 sqdecw x0, w0, pow2
-# CHECK-NEXT: 1 5 0.50 sqdecw x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 5 1.00 sqdecw x0
+# CHECK-NEXT: 1 5 1.00 sqdecw x0, #14
+# CHECK-NEXT: 1 5 1.00 sqdecw x0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 sqdecw x0, pow2
+# CHECK-NEXT: 1 5 1.00 sqdecw x0, vl1
+# CHECK-NEXT: 1 5 1.00 sqdecw x0, w0
+# CHECK-NEXT: 1 5 1.00 sqdecw x0, w0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 sqdecw x0, w0, pow2
+# CHECK-NEXT: 1 5 1.00 sqdecw x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqdecw z0.s
# CHECK-NEXT: 1 4 0.50 sqdecw z0.s, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqdecw z0.s, pow2
@@ -5726,37 +2321,37 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 sqdmullt z0.s, z1.h, z7.h[7]
# CHECK-NEXT: 1 4 0.50 sqdmullt z29.s, z30.h, z31.h
# CHECK-NEXT: 1 4 0.50 sqdmullt z31.d, z31.s, z31.s
-# CHECK-NEXT: 1 5 0.50 sqincb x0
-# CHECK-NEXT: 1 5 0.50 sqincb x0, #14
-# CHECK-NEXT: 1 5 0.50 sqincb x0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 sqincb x0, pow2
-# CHECK-NEXT: 1 5 0.50 sqincb x0, vl1
-# CHECK-NEXT: 1 5 0.50 sqincb x0, w0
-# CHECK-NEXT: 1 5 0.50 sqincb x0, w0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 sqincb x0, w0, pow2
-# CHECK-NEXT: 1 5 0.50 sqincb x0, w0, pow2, mul #16
-# CHECK-NEXT: 1 5 0.50 sqincd x0
-# CHECK-NEXT: 1 5 0.50 sqincd x0, #14
-# CHECK-NEXT: 1 5 0.50 sqincd x0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 sqincd x0, pow2
-# CHECK-NEXT: 1 5 0.50 sqincd x0, vl1
-# CHECK-NEXT: 1 5 0.50 sqincd x0, w0
-# CHECK-NEXT: 1 5 0.50 sqincd x0, w0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 sqincd x0, w0, pow2
-# CHECK-NEXT: 1 5 0.50 sqincd x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 5 1.00 sqincb x0
+# CHECK-NEXT: 1 5 1.00 sqincb x0, #14
+# CHECK-NEXT: 1 5 1.00 sqincb x0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 sqincb x0, pow2
+# CHECK-NEXT: 1 5 1.00 sqincb x0, vl1
+# CHECK-NEXT: 1 5 1.00 sqincb x0, w0
+# CHECK-NEXT: 1 5 1.00 sqincb x0, w0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 sqincb x0, w0, pow2
+# CHECK-NEXT: 1 5 1.00 sqincb x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 5 1.00 sqincd x0
+# CHECK-NEXT: 1 5 1.00 sqincd x0, #14
+# CHECK-NEXT: 1 5 1.00 sqincd x0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 sqincd x0, pow2
+# CHECK-NEXT: 1 5 1.00 sqincd x0, vl1
+# CHECK-NEXT: 1 5 1.00 sqincd x0, w0
+# CHECK-NEXT: 1 5 1.00 sqincd x0, w0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 sqincd x0, w0, pow2
+# CHECK-NEXT: 1 5 1.00 sqincd x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqincd z0.d
# CHECK-NEXT: 1 4 0.50 sqincd z0.d, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqincd z0.d, pow2
# CHECK-NEXT: 1 4 0.50 sqincd z0.d, pow2, mul #16
-# CHECK-NEXT: 1 5 0.50 sqinch x0
-# CHECK-NEXT: 1 5 0.50 sqinch x0, #14
-# CHECK-NEXT: 1 5 0.50 sqinch x0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 sqinch x0, pow2
-# CHECK-NEXT: 1 5 0.50 sqinch x0, vl1
-# CHECK-NEXT: 1 5 0.50 sqinch x0, w0
-# CHECK-NEXT: 1 5 0.50 sqinch x0, w0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 sqinch x0, w0, pow2
-# CHECK-NEXT: 1 5 0.50 sqinch x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 5 1.00 sqinch x0
+# CHECK-NEXT: 1 5 1.00 sqinch x0, #14
+# CHECK-NEXT: 1 5 1.00 sqinch x0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 sqinch x0, pow2
+# CHECK-NEXT: 1 5 1.00 sqinch x0, vl1
+# CHECK-NEXT: 1 5 1.00 sqinch x0, w0
+# CHECK-NEXT: 1 5 1.00 sqinch x0, w0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 sqinch x0, w0, pow2
+# CHECK-NEXT: 1 5 1.00 sqinch x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqinch z0.h
# CHECK-NEXT: 1 4 0.50 sqinch z0.h, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqinch z0.h, pow2
@@ -5772,15 +2367,15 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 1.00 sqincp z0.d, p0.d
# CHECK-NEXT: 1 4 1.00 sqincp z0.h, p0.h
# CHECK-NEXT: 1 4 1.00 sqincp z0.s, p0.s
-# CHECK-NEXT: 1 5 0.50 sqincw x0
-# CHECK-NEXT: 1 5 0.50 sqincw x0, #14
-# CHECK-NEXT: 1 5 0.50 sqincw x0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 sqincw x0, pow2
-# CHECK-NEXT: 1 5 0.50 sqincw x0, vl1
-# CHECK-NEXT: 1 5 0.50 sqincw x0, w0
-# CHECK-NEXT: 1 5 0.50 sqincw x0, w0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 sqincw x0, w0, pow2
-# CHECK-NEXT: 1 5 0.50 sqincw x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 5 1.00 sqincw x0
+# CHECK-NEXT: 1 5 1.00 sqincw x0, #14
+# CHECK-NEXT: 1 5 1.00 sqincw x0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 sqincw x0, pow2
+# CHECK-NEXT: 1 5 1.00 sqincw x0, vl1
+# CHECK-NEXT: 1 5 1.00 sqincw x0, w0
+# CHECK-NEXT: 1 5 1.00 sqincw x0, w0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 sqincw x0, w0, pow2
+# CHECK-NEXT: 1 5 1.00 sqincw x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqincw z0.s
# CHECK-NEXT: 1 4 0.50 sqincw z0.s, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqincw z0.s, pow2
@@ -5973,14 +2568,14 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 srshr z31.d, p0/m, z31.d, #64
# CHECK-NEXT: 1 4 0.50 srshr z31.h, p0/m, z31.h, #16
# CHECK-NEXT: 1 4 0.50 srshr z31.s, p0/m, z31.s, #32
-# CHECK-NEXT: 1 5 1.50 srsra z0.b, z0.b, #1
-# CHECK-NEXT: 1 5 1.50 srsra z0.d, z0.d, #1
-# CHECK-NEXT: 1 5 1.50 srsra z0.h, z0.h, #1
-# CHECK-NEXT: 1 5 1.50 srsra z0.s, z0.s, #1
-# CHECK-NEXT: 1 5 1.50 srsra z31.b, z31.b, #8
-# CHECK-NEXT: 1 5 1.50 srsra z31.d, z31.d, #64
-# CHECK-NEXT: 1 5 1.50 srsra z31.h, z31.h, #16
-# CHECK-NEXT: 1 5 1.50 srsra z31.s, z31.s, #32
+# CHECK-NEXT: 1 5 3.00 srsra z0.b, z0.b, #1
+# CHECK-NEXT: 1 5 3.00 srsra z0.d, z0.d, #1
+# CHECK-NEXT: 1 5 3.00 srsra z0.h, z0.h, #1
+# CHECK-NEXT: 1 5 3.00 srsra z0.s, z0.s, #1
+# CHECK-NEXT: 1 5 3.00 srsra z31.b, z31.b, #8
+# CHECK-NEXT: 1 5 3.00 srsra z31.d, z31.d, #64
+# CHECK-NEXT: 1 5 3.00 srsra z31.h, z31.h, #16
+# CHECK-NEXT: 1 5 3.00 srsra z31.s, z31.s, #32
# CHECK-NEXT: 1 3 0.50 sshllb z0.d, z0.s, #0
# CHECK-NEXT: 1 3 0.50 sshllb z0.h, z0.b, #0
# CHECK-NEXT: 1 3 0.50 sshllb z0.s, z0.h, #0
@@ -6321,16 +2916,16 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 trn2 z31.d, z31.d, z31.d
# CHECK-NEXT: 1 3 0.50 trn2 z31.h, z31.h, z31.h
# CHECK-NEXT: 1 3 0.50 trn2 z31.s, z31.s, z31.s
-# CHECK-NEXT: 1 5 1.50 uaba z0.b, z1.b, z31.b
-# CHECK-NEXT: 1 5 1.50 uaba z0.d, z1.d, z31.d
-# CHECK-NEXT: 1 5 1.50 uaba z0.h, z1.h, z31.h
-# CHECK-NEXT: 1 5 1.50 uaba z0.s, z1.s, z31.s
-# CHECK-NEXT: 1 5 1.50 uabalb z0.d, z1.s, z31.s
-# CHECK-NEXT: 1 5 1.50 uabalb z0.h, z1.b, z31.b
-# CHECK-NEXT: 1 5 1.50 uabalb z0.s, z1.h, z31.h
-# CHECK-NEXT: 1 5 1.50 uabalt z0.d, z1.s, z31.s
-# CHECK-NEXT: 1 5 1.50 uabalt z0.h, z1.b, z31.b
-# CHECK-NEXT: 1 5 1.50 uabalt z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 5 3.00 uaba z0.b, z1.b, z31.b
+# CHECK-NEXT: 1 5 3.00 uaba z0.d, z1.d, z31.d
+# CHECK-NEXT: 1 5 3.00 uaba z0.h, z1.h, z31.h
+# CHECK-NEXT: 1 5 3.00 uaba z0.s, z1.s, z31.s
+# CHECK-NEXT: 1 5 3.00 uabalb z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 5 3.00 uabalb z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 5 3.00 uabalb z0.s, z1.h, z31.h
+# CHECK-NEXT: 1 5 3.00 uabalt z0.d, z1.s, z31.s
+# CHECK-NEXT: 1 5 3.00 uabalt z0.h, z1.b, z31.b
+# CHECK-NEXT: 1 5 3.00 uabalt z0.s, z1.h, z31.h
# CHECK-NEXT: 1 3 0.50 uabd z31.b, p7/m, z31.b, z31.b
# CHECK-NEXT: 1 3 0.50 uabd z31.d, p7/m, z31.d, z31.d
# CHECK-NEXT: 1 3 0.50 uabd z31.h, p7/m, z31.h, z31.h
@@ -6341,9 +2936,9 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 3 0.50 uabdlt z0.h, z1.b, z2.b
# CHECK-NEXT: 1 3 0.50 uabdlt z29.s, z30.h, z31.h
# CHECK-NEXT: 1 3 0.50 uabdlt z31.d, z31.s, z31.s
-# CHECK-NEXT: 1 6 2.00 uadalp z0.h, p0/m, z1.b
-# CHECK-NEXT: 1 6 2.00 uadalp z29.s, p0/m, z30.h
-# CHECK-NEXT: 1 6 2.00 uadalp z30.d, p7/m, z31.s
+# CHECK-NEXT: 1 6 4.00 uadalp z0.h, p0/m, z1.b
+# CHECK-NEXT: 1 6 4.00 uadalp z29.s, p0/m, z30.h
+# CHECK-NEXT: 1 6 4.00 uadalp z30.d, p7/m, z31.s
# CHECK-NEXT: 1 4 0.50 uaddlb z0.h, z1.b, z2.b
# CHECK-NEXT: 1 4 0.50 uaddlb z29.s, z30.h, z31.h
# CHECK-NEXT: 1 4 0.50 uaddlb z31.d, z31.s, z31.s
@@ -6473,37 +3068,37 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 uqadd z31.d, z31.d, #65280
# CHECK-NEXT: 1 4 0.50 uqadd z31.h, z31.h, #65280
# CHECK-NEXT: 1 4 0.50 uqadd z31.s, z31.s, #65280
-# CHECK-NEXT: 1 5 0.50 uqdecb w0
-# CHECK-NEXT: 1 5 0.50 uqdecb w0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 uqdecb w0, pow2
-# CHECK-NEXT: 1 5 0.50 uqdecb w0, pow2, mul #16
-# CHECK-NEXT: 1 5 0.50 uqdecb x0
-# CHECK-NEXT: 1 5 0.50 uqdecb x0, #14
-# CHECK-NEXT: 1 5 0.50 uqdecb x0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 uqdecb x0, pow2
-# CHECK-NEXT: 1 5 0.50 uqdecb x0, vl1
-# CHECK-NEXT: 1 5 0.50 uqdecd w0
-# CHECK-NEXT: 1 5 0.50 uqdecd w0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 uqdecd w0, pow2
-# CHECK-NEXT: 1 5 0.50 uqdecd w0, pow2, mul #16
-# CHECK-NEXT: 1 5 0.50 uqdecd x0
-# CHECK-NEXT: 1 5 0.50 uqdecd x0, #14
-# CHECK-NEXT: 1 5 0.50 uqdecd x0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 uqdecd x0, pow2
-# CHECK-NEXT: 1 5 0.50 uqdecd x0, vl1
+# CHECK-NEXT: 1 5 1.00 uqdecb w0
+# CHECK-NEXT: 1 5 1.00 uqdecb w0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 uqdecb w0, pow2
+# CHECK-NEXT: 1 5 1.00 uqdecb w0, pow2, mul #16
+# CHECK-NEXT: 1 5 1.00 uqdecb x0
+# CHECK-NEXT: 1 5 1.00 uqdecb x0, #14
+# CHECK-NEXT: 1 5 1.00 uqdecb x0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 uqdecb x0, pow2
+# CHECK-NEXT: 1 5 1.00 uqdecb x0, vl1
+# CHECK-NEXT: 1 5 1.00 uqdecd w0
+# CHECK-NEXT: 1 5 1.00 uqdecd w0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 uqdecd w0, pow2
+# CHECK-NEXT: 1 5 1.00 uqdecd w0, pow2, mul #16
+# CHECK-NEXT: 1 5 1.00 uqdecd x0
+# CHECK-NEXT: 1 5 1.00 uqdecd x0, #14
+# CHECK-NEXT: 1 5 1.00 uqdecd x0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 uqdecd x0, pow2
+# CHECK-NEXT: 1 5 1.00 uqdecd x0, vl1
# CHECK-NEXT: 1 4 0.50 uqdecd z0.d
# CHECK-NEXT: 1 4 0.50 uqdecd z0.d, all, mul #16
# CHECK-NEXT: 1 4 0.50 uqdecd z0.d, pow2
# CHECK-NEXT: 1 4 0.50 uqdecd z0.d, pow2, mul #16
-# CHECK-NEXT: 1 5 0.50 uqdech w0
-# CHECK-NEXT: 1 5 0.50 uqdech w0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 uqdech w0, pow2
-# CHECK-NEXT: 1 5 0.50 uqdech w0, pow2, mul #16
-# CHECK-NEXT: 1 5 0.50 uqdech x0
-# CHECK-NEXT: 1 5 0.50 uqdech x0, #14
-# CHECK-NEXT: 1 5 0.50 uqdech x0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 uqdech x0, pow2
-# CHECK-NEXT: 1 5 0.50 uqdech x0, vl1
+# CHECK-NEXT: 1 5 1.00 uqdech w0
+# CHECK-NEXT: 1 5 1.00 uqdech w0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 uqdech w0, pow2
+# CHECK-NEXT: 1 5 1.00 uqdech w0, pow2, mul #16
+# CHECK-NEXT: 1 5 1.00 uqdech x0
+# CHECK-NEXT: 1 5 1.00 uqdech x0, #14
+# CHECK-NEXT: 1 5 1.00 uqdech x0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 uqdech x0, pow2
+# CHECK-NEXT: 1 5 1.00 uqdech x0, vl1
# CHECK-NEXT: 1 4 0.50 uqdech z0.h
# CHECK-NEXT: 1 4 0.50 uqdech z0.h, all, mul #16
# CHECK-NEXT: 1 4 0.50 uqdech z0.h, pow2
@@ -6519,50 +3114,50 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 1.00 uqdecp z0.d, p0.d
# CHECK-NEXT: 1 4 1.00 uqdecp z0.h, p0.h
# CHECK-NEXT: 1 4 1.00 uqdecp z0.s, p0.s
-# CHECK-NEXT: 1 5 0.50 uqdecw w0
-# CHECK-NEXT: 1 5 0.50 uqdecw w0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 uqdecw w0, pow2
-# CHECK-NEXT: 1 5 0.50 uqdecw w0, pow2, mul #16
-# CHECK-NEXT: 1 5 0.50 uqdecw x0
-# CHECK-NEXT: 1 5 0.50 uqdecw x0, #14
-# CHECK-NEXT: 1 5 0.50 uqdecw x0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 uqdecw x0, pow2
-# CHECK-NEXT: 1 5 0.50 uqdecw x0, vl1
+# CHECK-NEXT: 1 5 1.00 uqdecw w0
+# CHECK-NEXT: 1 5 1.00 uqdecw w0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 uqdecw w0, pow2
+# CHECK-NEXT: 1 5 1.00 uqdecw w0, pow2, mul #16
+# CHECK-NEXT: 1 5 1.00 uqdecw x0
+# CHECK-NEXT: 1 5 1.00 uqdecw x0, #14
+# CHECK-NEXT: 1 5 1.00 uqdecw x0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 uqdecw x0, pow2
+# CHECK-NEXT: 1 5 1.00 uqdecw x0, vl1
# CHECK-NEXT: 1 4 0.50 uqdecw z0.s
# CHECK-NEXT: 1 4 0.50 uqdecw z0.s, all, mul #16
# CHECK-NEXT: 1 4 0.50 uqdecw z0.s, pow2
# CHECK-NEXT: 1 4 0.50 uqdecw z0.s, pow2, mul #16
-# CHECK-NEXT: 1 5 0.50 uqincb w0
-# CHECK-NEXT: 1 5 0.50 uqincb w0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 uqincb w0, pow2
-# CHECK-NEXT: 1 5 0.50 uqincb w0, pow2, mul #16
-# CHECK-NEXT: 1 5 0.50 uqincb x0
-# CHECK-NEXT: 1 5 0.50 uqincb x0, #14
-# CHECK-NEXT: 1 5 0.50 uqincb x0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 uqincb x0, pow2
-# CHECK-NEXT: 1 5 0.50 uqincb x0, vl1
-# CHECK-NEXT: 1 5 0.50 uqincd w0
-# CHECK-NEXT: 1 5 0.50 uqincd w0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 uqincd w0, pow2
-# CHECK-NEXT: 1 5 0.50 uqincd w0, pow2, mul #16
-# CHECK-NEXT: 1 5 0.50 uqincd x0
-# CHECK-NEXT: 1 5 0.50 uqincd x0, #14
-# CHECK-NEXT: 1 5 0.50 uqincd x0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 uqincd x0, pow2
-# CHECK-NEXT: 1 5 0.50 uqincd x0, vl1
+# CHECK-NEXT: 1 5 1.00 uqincb w0
+# CHECK-NEXT: 1 5 1.00 uqincb w0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 uqincb w0, pow2
+# CHECK-NEXT: 1 5 1.00 uqincb w0, pow2, mul #16
+# CHECK-NEXT: 1 5 1.00 uqincb x0
+# CHECK-NEXT: 1 5 1.00 uqincb x0, #14
+# CHECK-NEXT: 1 5 1.00 uqincb x0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 uqincb x0, pow2
+# CHECK-NEXT: 1 5 1.00 uqincb x0, vl1
+# CHECK-NEXT: 1 5 1.00 uqincd w0
+# CHECK-NEXT: 1 5 1.00 uqincd w0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 uqincd w0, pow2
+# CHECK-NEXT: 1 5 1.00 uqincd w0, pow2, mul #16
+# CHECK-NEXT: 1 5 1.00 uqincd x0
+# CHECK-NEXT: 1 5 1.00 uqincd x0, #14
+# CHECK-NEXT: 1 5 1.00 uqincd x0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 uqincd x0, pow2
+# CHECK-NEXT: 1 5 1.00 uqincd x0, vl1
# CHECK-NEXT: 1 4 0.50 uqincd z0.d
# CHECK-NEXT: 1 4 0.50 uqincd z0.d, all, mul #16
# CHECK-NEXT: 1 4 0.50 uqincd z0.d, pow2
# CHECK-NEXT: 1 4 0.50 uqincd z0.d, pow2, mul #16
-# CHECK-NEXT: 1 5 0.50 uqinch w0
-# CHECK-NEXT: 1 5 0.50 uqinch w0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 uqinch w0, pow2
-# CHECK-NEXT: 1 5 0.50 uqinch w0, pow2, mul #16
-# CHECK-NEXT: 1 5 0.50 uqinch x0
-# CHECK-NEXT: 1 5 0.50 uqinch x0, #14
-# CHECK-NEXT: 1 5 0.50 uqinch x0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 uqinch x0, pow2
-# CHECK-NEXT: 1 5 0.50 uqinch x0, vl1
+# CHECK-NEXT: 1 5 1.00 uqinch w0
+# CHECK-NEXT: 1 5 1.00 uqinch w0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 uqinch w0, pow2
+# CHECK-NEXT: 1 5 1.00 uqinch w0, pow2, mul #16
+# CHECK-NEXT: 1 5 1.00 uqinch x0
+# CHECK-NEXT: 1 5 1.00 uqinch x0, #14
+# CHECK-NEXT: 1 5 1.00 uqinch x0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 uqinch x0, pow2
+# CHECK-NEXT: 1 5 1.00 uqinch x0, vl1
# CHECK-NEXT: 1 4 0.50 uqinch z0.h
# CHECK-NEXT: 1 4 0.50 uqinch z0.h, all, mul #16
# CHECK-NEXT: 1 4 0.50 uqinch z0.h, pow2
@@ -6578,15 +3173,15 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 1.00 uqincp z0.d, p0.d
# CHECK-NEXT: 1 4 1.00 uqincp z0.h, p0.h
# CHECK-NEXT: 1 4 1.00 uqincp z0.s, p0.s
-# CHECK-NEXT: 1 5 0.50 uqincw w0
-# CHECK-NEXT: 1 5 0.50 uqincw w0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 uqincw w0, pow2
-# CHECK-NEXT: 1 5 0.50 uqincw w0, pow2, mul #16
-# CHECK-NEXT: 1 5 0.50 uqincw x0
-# CHECK-NEXT: 1 5 0.50 uqincw x0, #14
-# CHECK-NEXT: 1 5 0.50 uqincw x0, all, mul #16
-# CHECK-NEXT: 1 5 0.50 uqincw x0, pow2
-# CHECK-NEXT: 1 5 0.50 uqincw x0, vl1
+# CHECK-NEXT: 1 5 1.00 uqincw w0
+# CHECK-NEXT: 1 5 1.00 uqincw w0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 uqincw w0, pow2
+# CHECK-NEXT: 1 5 1.00 uqincw w0, pow2, mul #16
+# CHECK-NEXT: 1 5 1.00 uqincw x0
+# CHECK-NEXT: 1 5 1.00 uqincw x0, #14
+# CHECK-NEXT: 1 5 1.00 uqincw x0, all, mul #16
+# CHECK-NEXT: 1 5 1.00 uqincw x0, pow2
+# CHECK-NEXT: 1 5 1.00 uqincw x0, vl1
# CHECK-NEXT: 1 4 0.50 uqincw z0.s
# CHECK-NEXT: 1 4 0.50 uqincw z0.s, all, mul #16
# CHECK-NEXT: 1 4 0.50 uqincw z0.s, pow2
@@ -6690,14 +3285,14 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 urshr z31.h, p0/m, z31.h, #16
# CHECK-NEXT: 1 4 0.50 urshr z31.s, p0/m, z31.s, #32
# CHECK-NEXT: 1 4 0.50 ursqrte z31.s, p7/m, z31.s
-# CHECK-NEXT: 1 5 1.50 ursra z0.b, z0.b, #1
-# CHECK-NEXT: 1 5 1.50 ursra z0.d, z0.d, #1
-# CHECK-NEXT: 1 5 1.50 ursra z0.h, z0.h, #1
-# CHECK-NEXT: 1 5 1.50 ursra z0.s, z0.s, #1
-# CHECK-NEXT: 1 5 1.50 ursra z31.b, z31.b, #8
-# CHECK-NEXT: 1 5 1.50 ursra z31.d, z31.d, #64
-# CHECK-NEXT: 1 5 1.50 ursra z31.h, z31.h, #16
-# CHECK-NEXT: 1 5 1.50 ursra z31.s, z31.s, #32
+# CHECK-NEXT: 1 5 3.00 ursra z0.b, z0.b, #1
+# CHECK-NEXT: 1 5 3.00 ursra z0.d, z0.d, #1
+# CHECK-NEXT: 1 5 3.00 ursra z0.h, z0.h, #1
+# CHECK-NEXT: 1 5 3.00 ursra z0.s, z0.s, #1
+# CHECK-NEXT: 1 5 3.00 ursra z31.b, z31.b, #8
+# CHECK-NEXT: 1 5 3.00 ursra z31.d, z31.d, #64
+# CHECK-NEXT: 1 5 3.00 ursra z31.h, z31.h, #16
+# CHECK-NEXT: 1 5 3.00 ursra z31.s, z31.s, #32
# CHECK-NEXT: 1 3 0.50 ushllb z0.d, z0.s, #0
# CHECK-NEXT: 1 3 0.50 ushllb z0.h, z0.b, #0
# CHECK-NEXT: 1 3 0.50 ushllb z0.s, z0.h, #0
@@ -6787,8 +3382,8 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1 2 1.00 whilewr p15.d, x30, x30
# CHECK-NEXT: 1 2 1.00 whilewr p15.h, x30, x30
# CHECK-NEXT: 1 2 1.00 whilewr p15.s, x30, x30
-# CHECK-NEXT: 1 1 0.50 * U wrffr p0.b
-# CHECK-NEXT: 1 1 0.50 * U wrffr p15.b
+# CHECK-NEXT: 1 1 1.00 * U wrffr p0.b
+# CHECK-NEXT: 1 1 1.00 * U wrffr p15.b
# CHECK-NEXT: 1 4 0.50 xar z0.b, z0.b, z1.b, #1
# CHECK-NEXT: 1 4 0.50 xar z0.d, z0.d, z1.d, #1
# CHECK-NEXT: 1 4 0.50 xar z0.h, z0.h, z1.h, #1
@@ -6841,16 +3436,16 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: [7] - C1NanoUnitPAC
# CHECK-NEXT: [8] - C1NanoUnitVALU0
# CHECK-NEXT: [9] - C1NanoUnitVALU1
-# CHECK-NEXT: [10.0] - C1NanoUnitVMAC
-# CHECK-NEXT: [10.1] - C1NanoUnitVMAC
-# CHECK-NEXT: [11] - C1NanoUnitVMC
+# CHECK-NEXT: [10] - C1NanoUnitVMAC0
+# CHECK-NEXT: [11] - C1NanoUnitVMAC1
+# CHECK-NEXT: [12] - C1NanoUnitVMC
# CHECK: Resource pressure per iteration:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11]
-# CHECK-NEXT: 382.50 112.50 9.00 - 199.50 2216.50 - - 1055.00 979.00 199.50 199.50 642.00
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
+# CHECK-NEXT: 437.00 54.00 9.00 - 156.00 2269.00 - - 971.00 1081.00 202.00 203.00 690.00
# CHECK: Resource pressure by instruction:
-# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10.0] [10.1] [11] Instructions:
+# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs z0.b, p0/m, z0.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs z0.d, p0/m, z0.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - abs z0.h, p0/m, z0.h
@@ -7029,7 +3624,7 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalt z0.s, z1.h, z2.h[7]
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalt z0.s, z1.h, z7.h[7]
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalt z14.s, z10.h, z21.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.50 0.50 - bfmmla z0.s, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - 1.00 - bfmmla z0.s, z1.h, z2.h
# CHECK-NEXT: - - - - - - - - - - - - 11.00 bgrp z0.b, z1.b, z31.b
# CHECK-NEXT: - - - - - - - - - - - - 66.00 bgrp z0.d, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - - - - - 19.00 bgrp z0.h, z1.h, z31.h
@@ -7087,10 +3682,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta d0, p7, d0, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta h0, p7, h0, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta s0, p7, s0, z31.s
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - clasta w0, p7, w0, z31.b
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - clasta w0, p7, w0, z31.h
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - clasta w0, p7, w0, z31.s
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - clasta x0, p7, x0, z31.d
+# CHECK-NEXT: - - - - - - - - - 4.00 - - - clasta w0, p7, w0, z31.b
+# CHECK-NEXT: - - - - - - - - - 4.00 - - - clasta w0, p7, w0, z31.h
+# CHECK-NEXT: - - - - - - - - - 4.00 - - - clasta w0, p7, w0, z31.s
+# CHECK-NEXT: - - - - - - - - - 4.00 - - - clasta x0, p7, x0, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta z0.b, p7, z0.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta z0.d, p7, z0.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta z0.h, p7, z0.h, z31.h
@@ -7099,10 +3694,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb d0, p7, d0, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb h0, p7, h0, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb s0, p7, s0, z31.s
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - clastb w0, p7, w0, z31.b
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - clastb w0, p7, w0, z31.h
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - clastb w0, p7, w0, z31.s
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - clastb x0, p7, x0, z31.d
+# CHECK-NEXT: - - - - - - - - - 4.00 - - - clastb w0, p7, w0, z31.b
+# CHECK-NEXT: - - - - - - - - - 4.00 - - - clastb w0, p7, w0, z31.h
+# CHECK-NEXT: - - - - - - - - - 4.00 - - - clastb w0, p7, w0, z31.s
+# CHECK-NEXT: - - - - - - - - - 4.00 - - - clastb x0, p7, x0, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb z0.b, p7, z0.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb z0.d, p7, z0.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb z0.h, p7, z0.h, z31.h
@@ -7135,209 +3730,209 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z31.h, z31.h, z31.h, #180
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z31.s, z30.s, z7.s[0], #180
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z31.s, z31.s, z31.s, #180
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpeq p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.b, p0/z, z1.b, z0.b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpge p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.b, p0/z, z1.b, z0.b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpgt p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z0.b, #0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z0.b, #127
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.b, p0/z, z1.b, z0.b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.d, p0/z, z0.d, #0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.d, p0/z, z0.d, #127
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z0.h, #0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z0.h, #127
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z0.s, #0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z0.s, #127
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphi p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z0.b, #0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z0.b, #127
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.b, p0/z, z1.b, z0.b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.d, p0/z, z0.d, #0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.d, p0/z, z0.d, #127
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z0.h, #0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z0.h, #127
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z0.s, #0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z0.s, #127
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmphs p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmple p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.b, p0/z, z0.b, #0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.b, p0/z, z0.b, #127
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.d, p0/z, z0.d, #0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.d, p0/z, z0.d, #127
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.h, p0/z, z0.h, #0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.h, p0/z, z0.h, #127
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.s, p0/z, z0.s, #0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.s, p0/z, z0.s, #127
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplo p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.b, p0/z, z0.b, #0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.b, p0/z, z0.b, #127
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.d, p0/z, z0.d, #0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.d, p0/z, z0.d, #127
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.h, p0/z, z0.h, #0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.h, p0/z, z0.h, #127
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.s, p0/z, z0.s, #0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.s, p0/z, z0.s, #127
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpls p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmplt p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cmpne p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.s, p0/z, z0.s, z0.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnot z31.b, p7/m, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnot z31.d, p7/m, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnot z31.h, p7/m, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnot z31.s, p7/m, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnt z31.b, p7/m, z31.b
-# CHECK-NEXT: - - - - - - - - 3.50 3.50 - - - cnt z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - - 7.00 - - - cnt z31.d, p7/m, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnt z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - cnt z31.s, p7/m, z31.s
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntb x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntb x0, #28
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntb x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntb x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntd x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntd x0, #28
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntd x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntd x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cnth x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cnth x0, #28
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cnth x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cnth x0, pow2
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - cnt z31.s, p7/m, z31.s
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntb x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntb x0, #28
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntb x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntb x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntd x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntd x0, #28
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntd x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntd x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cnth x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cnth x0, #28
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cnth x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cnth x0, pow2
# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntp x0, p15, p0.b
# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntp x0, p15, p0.d
# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntp x0, p15, p0.h
# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntp x0, p15, p0.s
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntw x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntw x0, #28
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntw x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - cntw x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntw x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntw x0, #28
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntw x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntw x0, pow2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - compact z31.d, p7, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - compact z31.s, p7, z31.s
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ctermeq w30, wzr
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ctermeq wzr, w30
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ctermeq x30, xzr
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ctermeq xzr, x30
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ctermne w30, wzr
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ctermne wzr, w30
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ctermne x30, xzr
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ctermne xzr, x30
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decb x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decb x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decb x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decb x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decb x0, vl1
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decd x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decd x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decd x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decd x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decd x0, vl1
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - dech x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - dech x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - dech x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - dech x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - dech x0, vl1
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - ctermeq w30, wzr
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - ctermeq wzr, w30
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - ctermeq x30, xzr
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - ctermeq xzr, x30
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - ctermne w30, wzr
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - ctermne wzr, w30
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - ctermne x30, xzr
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - ctermne xzr, x30
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - decb x0
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - decb x0, #14
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - decb x0, all, mul #16
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - decb x0, pow2
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - decb x0, vl1
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - decd x0
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - decd x0, #14
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - decd x0, all, mul #16
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - decd x0, pow2
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - decd x0, vl1
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - dech x0
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - dech x0, #14
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - dech x0, all, mul #16
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - dech x0, pow2
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - dech x0, vl1
# CHECK-NEXT: 1.00 - - - - - - - - - - - - decp x0, p0.b
# CHECK-NEXT: 1.00 - - - - - - - - - - - - decp x0, p0.d
# CHECK-NEXT: 1.00 - - - - - - - - - - - - decp x0, p0.h
@@ -7349,11 +3944,11 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1.00 - - - - - - - - - - - - decp z31.d, p15.d
# CHECK-NEXT: 1.00 - - - - - - - - - - - - decp z31.h, p15.h
# CHECK-NEXT: 1.00 - - - - - - - - - - - - decp z31.s, p15.s
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decw x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decw x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decw x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decw x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - decw x0, vl1
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - decw x0
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - decw x0, #14
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - decw x0, all, mul #16
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - decw x0, pow2
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - decw x0, vl1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dupm z0.d, #0xfffffffffffffff9
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dupm z0.s, #0xfffffff9
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - dupm z23.h, #0xfff9
@@ -7397,18 +3992,18 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs z31.d, p7/m, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs z31.h, p7/m, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facge p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - facgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - facge p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - facge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - facge p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - facge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - facge p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - facge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - facgt p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - facgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - facgt p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - facgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - facgt p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - facgt p0.s, p0/z, z1.s, z0.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z0.d, p0/m, z0.d, #0.5
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z0.d, p7/m, z0.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z0.d, z1.d, z31.d
@@ -7421,45 +4016,45 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z31.d, p7/m, z31.d, #1.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z31.h, p7/m, z31.h, #1.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z31.s, p7/m, z31.s, #1.0
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - fadda d0, p7, d0, z31.d
-# CHECK-NEXT: - - - - - - - - 12.50 12.50 - - - fadda h0, p7, h0, z31.h
-# CHECK-NEXT: - - - - - - - - 4.50 4.50 - - - fadda s0, p7, s0, z31.s
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - fadda d0, p7, d0, z31.d
+# CHECK-NEXT: - - - - - - - - 25.00 - - - - fadda h0, p7, h0, z31.h
+# CHECK-NEXT: - - - - - - - - - 9.00 - - - fadda s0, p7, s0, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z29.s, p3/m, z29.s, z30.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: - - - - - - - - 1.00 - - - - faddv d0, p7, z31.d
# CHECK-NEXT: - - - - - - - - 5.00 - - - - faddv h0, p7, z31.h
# CHECK-NEXT: - - - - - - - - 3.00 - - - - faddv s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcadd z0.d, p0/m, z0.d, z0.d, #90
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcadd z0.h, p0/m, z0.h, z0.h, #90
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcadd z0.s, p0/m, z0.s, z0.s, #90
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcadd z31.d, p7/m, z31.d, z31.d, #270
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcadd z31.h, p7/m, z31.h, z31.h, #270
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcadd z31.s, p7/m, z31.s, z31.s, #270
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmeq p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmge p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcadd z0.d, p0/m, z0.d, z0.d, #90
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcadd z0.h, p0/m, z0.h, z0.h, #90
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcadd z0.s, p0/m, z0.s, z0.s, #90
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcadd z31.d, p7/m, z31.d, z31.d, #270
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcadd z31.h, p7/m, z31.h, z31.h, #270
+# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcadd z31.s, p7/m, z31.s, z31.s, #270
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmeq p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmeq p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmeq p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmeq p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmeq p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmeq p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmge p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmge p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmge p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmge p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmge p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmge p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmgt p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmgt p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmgt p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmgt p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmgt p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmgt p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmgt p0.s, p0/z, z1.s, z0.s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z0.d, p0/m, z0.d, z0.d, #0
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z0.d, p0/m, z1.d, z2.d, #90
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z0.h, p0/m, z0.h, z0.h, #0
@@ -7476,21 +4071,21 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z31.h, p7/m, z31.h, z31.h, #270
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z31.h, z31.h, z7.h[3], #270
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z31.s, p7/m, z31.s, z31.s, #270
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmle p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmle p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmle p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmlt p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmlt p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmlt p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmne p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmne p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmne p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmne p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmne p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmne p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmuo p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmuo p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcmuo p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmle p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmle p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmle p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmlt p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmlt p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmlt p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmne p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmne p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmne p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmne p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmne p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmne p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmuo p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmuo p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmuo p0.s, p0/z, z0.s, z1.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt z0.d, p0/m, z0.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt z0.d, p0/m, z0.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt z0.h, p0/m, z0.d
@@ -7618,14 +4213,14 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlslt z0.s, z1.h, z7.h[0]
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlslt z29.s, z30.h, z31.h
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmlslt z30.s, z31.h, z7.h[7]
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmov z0.d, #-10.00000000
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmov z0.d, #0.12500000
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmov z0.d, p0/m, #-10.00000000
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmov z0.d, p0/m, #0.12500000
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmov z0.h, #-0.12500000
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmov z0.h, p0/m, #-0.12500000
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmov z0.s, #-0.12500000
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmov z0.s, p0/m, #-0.12500000
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov z0.d, #-10.00000000
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov z0.d, #0.12500000
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov z0.d, p0/m, #-10.00000000
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov z0.d, p0/m, #0.12500000
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov z0.h, #-0.12500000
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov z0.h, p0/m, #-0.12500000
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov z0.s, #-0.12500000
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov z0.s, p0/m, #-0.12500000
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmsb z0.d, p7/m, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmsb z0.h, p7/m, z1.h, z31.h
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmsb z0.s, p7/m, z1.s, z31.s
@@ -7740,23 +4335,23 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 4.00 - - - - histcnt z0.s, p0/z, z1.s, z2.s
# CHECK-NEXT: - - - - - - - - 4.00 - - - - histcnt z29.d, p7/z, z30.d, z31.d
# CHECK-NEXT: - - - - - - - - 4.00 - - - - histseg z0.b, z1.b, z31.b
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incb x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incb x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incb x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incb x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incb x0, vl1
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incd x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incd x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incd x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incd x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incd x0, vl1
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - incb x0
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - incb x0, #14
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - incb x0, all, mul #16
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - incb x0, pow2
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - incb x0, vl1
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - incd x0
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - incd x0, #14
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - incd x0, all, mul #16
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - incd x0, pow2
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - incd x0, vl1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - incd z0.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - incd z0.d, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - inch x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - inch x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - inch x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - inch x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - inch x0, vl1
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - inch x0
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - inch x0, #14
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - inch x0, all, mul #16
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - inch x0, pow2
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - inch x0, vl1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - inch z0.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - inch z0.h, all, mul #16
# CHECK-NEXT: 1.00 - - - - - - - - - - - - incp x0, p0.b
@@ -7770,11 +4365,11 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1.00 - - - - - - - - - - - - incp z31.d, p15.d
# CHECK-NEXT: 1.00 - - - - - - - - - - - - incp z31.h, p15.h
# CHECK-NEXT: 1.00 - - - - - - - - - - - - incp z31.s, p15.s
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incw x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incw x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incw x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incw x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - incw x0, vl1
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - incw x0
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - incw x0, #14
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - incw x0, all, mul #16
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - incw x0, pow2
+# CHECK-NEXT: - 1.00 - - - - - - - - - - - incw x0, vl1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - incw z0.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - incw z0.s, all, mul #16
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z0.b, #0, #0
@@ -7825,215 +4420,215 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lasta d0, p7, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lasta h0, p7, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lasta s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - lasta w0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - lasta w0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - lasta w0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - lasta x0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - lasta w0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - lasta w0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - lasta w0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - lasta x0, p7, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lastb b0, p7, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lastb d0, p7, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lastb h0, p7, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lastb s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - lastb w0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - lastb w0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - lastb w0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - lastb x0, p7, z31.d
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z0.b }, p0/z, [sp, x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z0.b }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z0.b }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - lastb w0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - lastb w0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - lastb w0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - lastb x0, p7, z31.d
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1b { z0.b }, p0/z, [sp, x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1b { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z0.d }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z0.s }, p0/z, [x0]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1b { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z21.b }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z21.b }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z21.s }, p5/z, [x10, x21]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z23.d }, p3/z, [x13, x8]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z31.b }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1b { z21.s }, p5/z, [x10, x21]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1b { z23.d }, p3/z, [x13, x8]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z31.b }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1b { z31.s }, p7/z, [z31.s, #31]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1b { z5.h }, p3/z, [x17, x16]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1b { z5.h }, p3/z, [x17, x16]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1d { z0.d }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1d { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1d { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1d { z23.d }, p3/z, [sp, x8, lsl #3]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1d { z23.d }, p3/z, [x13, x8, lsl #3]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1d { z23.d }, p3/z, [sp, x8, lsl #3]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1d { z23.d }, p3/z, [x13, x8, lsl #3]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1d { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1d { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z31.d }, p7/z, [z31.d, #248]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1h { z0.d }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1h { z0.s }, p0/z, [x0]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1h { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z21.s }, p5/z, [x10, x21, lsl #1]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z23.d }, p3/z, [x13, x8, lsl #1]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1h { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1h { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1h { z21.s }, p5/z, [x10, x21, lsl #1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1h { z23.d }, p3/z, [x13, x8, lsl #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1h { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1h { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1h { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z31.s }, p7/z, [z31.s, #62]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z5.h }, p3/z, [sp, x16, lsl #1]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1h { z5.h }, p3/z, [x17, x16, lsl #1]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rb { z0.b }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rb { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rb { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rb { z31.b }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rb { z31.d }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rb { z31.h }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rb { z31.s }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rd { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rd { z31.d }, p7/z, [sp, #504]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rh { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rh { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rh { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rh { z31.d }, p7/z, [sp, #126]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rh { z31.h }, p7/z, [sp, #126]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rh { z31.s }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1h { z5.h }, p3/z, [sp, x16, lsl #1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1h { z5.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rb { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rb { z31.b }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rb { z31.d }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rb { z31.h }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rb { z31.s }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rd { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rd { z31.d }, p7/z, [sp, #504]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rh { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rh { z31.d }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rh { z31.h }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rh { z31.s }, p7/z, [sp, #126]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1rqb { z0.b }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqb { z0.b }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqb { z21.b }, p5/z, [x10, #112]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqb { z23.b }, p3/z, [x13, #-128]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqb { z31.b }, p7/z, [sp, #-16]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqb { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqb { z21.b }, p5/z, [x10, #112]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqb { z23.b }, p3/z, [x13, #-128]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqb { z31.b }, p7/z, [sp, #-16]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqd { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqd { z23.d }, p3/z, [x13, #-128]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqd { z23.d }, p3/z, [x13, #112]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqd { z31.d }, p7/z, [sp, #-16]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqd { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqd { z23.d }, p3/z, [x13, #-128]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqd { z23.d }, p3/z, [x13, #112]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqd { z31.d }, p7/z, [sp, #-16]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqh { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqh { z23.h }, p3/z, [x13, #-128]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqh { z23.h }, p3/z, [x13, #112]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqh { z31.h }, p7/z, [sp, #-16]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqh { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqh { z23.h }, p3/z, [x13, #-128]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqh { z23.h }, p3/z, [x13, #112]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqh { z31.h }, p7/z, [sp, #-16]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqw { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqw { z23.s }, p3/z, [x13, #-128]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqw { z23.s }, p3/z, [x13, #112]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rqw { z31.s }, p7/z, [sp, #-16]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsb { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsb { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsb { z31.d }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsb { z31.h }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsb { z31.s }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsh { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsh { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsh { z31.d }, p7/z, [sp, #126]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsh { z31.s }, p7/z, [sp, #126]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsw { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rsw { z31.d }, p7/z, [sp, #252]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rw { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rw { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rw { z31.d }, p7/z, [sp, #252]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1rw { z31.s }, p7/z, [sp, #252]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqw { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqw { z23.s }, p3/z, [x13, #-128]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqw { z23.s }, p3/z, [x13, #112]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqw { z31.s }, p7/z, [sp, #-16]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsb { z31.d }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsb { z31.h }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsb { z31.s }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsh { z31.d }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsh { z31.s }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsw { z31.d }, p7/z, [sp, #252]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rw { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rw { z31.d }, p7/z, [sp, #252]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rw { z31.s }, p7/z, [sp, #252]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sb { z0.d }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sb { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z0.h }, p0/z, [sp, x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z0.h }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1sb { z0.h }, p0/z, [sp, x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1sb { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sb { z0.s }, p0/z, [x0]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sb { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sb { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z21.s }, p5/z, [x10, x21]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z23.d }, p3/z, [x13, x8]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sb { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sb { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1sb { z21.s }, p5/z, [x10, x21]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1sb { z23.d }, p3/z, [x13, x8]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sb { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sb { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sb { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sb { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sb { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sb { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sb { z31.s }, p7/z, [z31.s, #31]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sh { z0.d }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sh { z0.s }, p0/z, [x0]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sh { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z21.s }, p5/z, [sp, x21, lsl #1]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z21.s }, p5/z, [x10, x21, lsl #1]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z23.d }, p3/z, [x13, x8, lsl #1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1sh { z21.s }, p5/z, [sp, x21, lsl #1]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sh { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1sh { z21.s }, p5/z, [x10, x21, lsl #1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1sh { z23.d }, p3/z, [x13, x8, lsl #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sh { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sh { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sh { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z31.s }, p7/z, [z31.s, #62]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sw { z0.d }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sw { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sw { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sw { z23.d }, p3/z, [sp, x8, lsl #2]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sw { z23.d }, p3/z, [x13, x8, lsl #2]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1sw { z23.d }, p3/z, [sp, x8, lsl #2]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1sw { z23.d }, p3/z, [x13, x8, lsl #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1sw { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sw { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z31.d }, p7/z, [z31.d, #124]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1w { z0.d }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1w { z0.s }, p0/z, [x0]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1w { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z21.s }, p5/z, [sp, x21, lsl #2]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z21.s }, p5/z, [x10, x21, lsl #2]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z23.d }, p3/z, [x13, x8, lsl #2]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1w { z21.s }, p5/z, [sp, x21, lsl #2]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1w { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1w { z21.s }, p5/z, [x10, x21, lsl #2]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1w { z23.d }, p3/z, [x13, x8, lsl #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1w { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z31.d }, p7/z, [z31.d, #124]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1w { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1w { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z31.s }, p7/z, [z31.s, #124]
# CHECK-NEXT: - - - - - 2.00 - - - - - - - ld2b { z0.b, z1.b }, p0/z, [x0, x0]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld2b { z0.b, z1.b }, p0/z, [x0]
@@ -8095,23 +4690,23 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4w { z21.s - z24.s }, p5/z, [x10, #20, mul vl]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4w { z23.s - z26.s }, p3/z, [x13, #-32, mul vl]
# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z0.d }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1b { z0.d }, p0/z, [x0, x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z0.h }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z0.s }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1b { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1b { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1b { z0.s }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1b { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z31.b }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1b { z31.b }, p7/z, [sp]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1b { z31.d }, p7/z, [sp]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z31.h }, p7/z, [sp]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1b { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1b { z31.h }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1b { z31.s }, p7/z, [sp]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1b { z31.s }, p7/z, [z31.s, #31]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1d { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1d { z0.d }, p0/z, [x0, x0, lsl #3]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z0.d }, p0/z, [z0.d]
@@ -8119,62 +4714,62 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1d { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1d { z31.d }, p7/z, [sp]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z31.d }, p7/z, [z31.d, #248]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1h { z0.d }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1h { z0.d }, p0/z, [x0, x0, lsl #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1h { z0.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1h { z0.s }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1h { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1h { z0.s }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1h { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1h { z31.d }, p7/z, [sp]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1h { z31.h }, p7/z, [sp]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1h { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1h { z31.h }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1h { z31.s }, p7/z, [sp]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z31.s }, p7/z, [z31.s, #62]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sb { z0.d }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sb { z0.d }, p0/z, [x0, x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sb { z0.h }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sb { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sb { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sb { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sb { z31.d }, p7/z, [sp]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sb { z31.h }, p7/z, [sp]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sb { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sb { z31.h }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sb { z31.s }, p7/z, [sp]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sb { z31.s }, p7/z, [z31.s, #31]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sh { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sh { z31.d }, p7/z, [sp]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sh { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sh { z31.s }, p7/z, [sp]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z31.s }, p7/z, [z31.s, #62]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z0.d }, p0/z, [z0.d]
@@ -8182,97 +4777,97 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1sw { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sw { z31.d }, p7/z, [sp]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z31.d }, p7/z, [z31.d, #124]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1w { z0.d }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1w { z0.d }, p0/z, [x0, x0, lsl #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1w { z0.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 3.00 3.00 - - - - - - - ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1w { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1w { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1w { z31.d }, p7/z, [sp]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z31.d }, p7/z, [z31.d, #124]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
-# CHECK-NEXT: - - - - 3.50 3.50 - - - - - - - ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldff1w { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1w { z31.s }, p7/z, [sp]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z31.s }, p7/z, [z31.s, #124]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.b }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z21.b }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z31.b }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1b { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1d { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1d { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1d { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1h { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1h { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1h { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1h { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1h { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1h { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1h { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1h { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1h { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sb { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sb { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sb { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sb { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sb { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sb { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sb { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sb { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sh { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sh { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sh { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sh { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sh { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sh { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sw { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sw { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1sw { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1w { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1w { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1w { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1w { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1w { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnf1w { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z21.b }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z31.b }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1d { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1d { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1h { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1h { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1h { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1h { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1h { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1h { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1h { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1h { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sb { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sb { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sb { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sb { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sb { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sb { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sh { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sh { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sh { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sh { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sw { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sw { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1w { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1w { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1w { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1w { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1w { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1b { z0.b }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1b { z0.b }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1b { z0.d }, p0/z, [z1.d]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1b { z0.s }, p0/z, [z1.s]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1b { z21.b }, p5/z, [x10, #7, mul vl]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1b { z23.b }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1b { z21.b }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1b { z23.b }, p3/z, [x13, #-8, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1b { z31.d }, p7/z, [z31.d, x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1b { z31.d }, p7/z, [z31.d]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1b { z31.s }, p7/z, [z31.s, x0]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1b { z31.s }, p7/z, [z31.s]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1d { z0.d }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1d { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1d { z21.d }, p5/z, [x10, #7, mul vl]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1d { z23.d }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1d { z21.d }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1d { z23.d }, p3/z, [x13, #-8, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1d { z31.d }, p7/z, [z31.d, x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1d { z31.d }, p7/z, [z31.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1h { z0.d }, p0/z, [z1.d]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1h { z0.h }, p0/z, [x0]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1h { z0.s }, p0/z, [z1.s]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1h { z21.h }, p5/z, [x10, #7, mul vl]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1h { z23.h }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1h { z21.h }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1h { z23.h }, p3/z, [x13, #-8, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1h { z31.d }, p7/z, [z31.d, x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1h { z31.d }, p7/z, [z31.d]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1h { z31.s }, p7/z, [z31.s, x0]
@@ -8294,10 +4889,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1sw { z31.d }, p7/z, [z31.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1w { z0.d }, p0/z, [z1.d]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1w { z0.s }, p0/z, [x0]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1w { z0.s }, p0/z, [z1.s]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1w { z21.s }, p5/z, [x10, #7, mul vl]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1w { z23.s }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1w { z21.s }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1w { z23.s }, p3/z, [x13, #-8, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1w { z31.d }, p7/z, [z31.d, x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1w { z31.d }, p7/z, [z31.d]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1w { z31.s }, p7/z, [z31.s, x0]
@@ -8305,9 +4900,9 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldr p0, [x0]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldr p5, [x10, #255, mul vl]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldr p7, [x13, #-256, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr z0, [x0]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr z23, [x13, #255, mul vl]
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr z31, [sp, #-256, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldr z0, [x0]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldr z23, [x13, #255, mul vl]
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldr z31, [sp, #-256, mul vl]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.b, p0/m, z0.b, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.b, p0/m, z0.b, z0.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.b, p0/m, z0.b, z1.d
@@ -8372,10 +4967,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mad z0.d, p7/m, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mad z0.h, p7/m, z1.h, z31.h
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mad z0.s, p7/m, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - match p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - match p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - match p15.b, p7/z, z30.b, z31.b
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - match p15.h, p7/z, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - match p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - match p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - match p15.b, p7/z, z30.b, z31.b
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - match p15.h, p7/z, z30.h, z31.h
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla z0.b, p7/m, z1.b, z31.b
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla z0.d, p7/m, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla z0.d, z1.d, z7.d[1]
@@ -8542,10 +5137,10 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z31.d, p7/m, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z31.h, p7/m, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - nmatch p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - nmatch p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - nmatch p15.b, p7/z, z30.b, z31.b
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - nmatch p15.h, p7/z, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - nmatch p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - nmatch p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - nmatch p15.b, p7/z, z30.b, z31.b
+# CHECK-NEXT: - - - - - - - - 4.00 - - - - nmatch p15.h, p7/z, z30.h, z31.h
# CHECK-NEXT: 1.00 - - - - - - - - - - - - nor p0.b, p0/z, p0.b, p0.b
# CHECK-NEXT: 1.00 - - - - - - - - - - - - nor p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1.00 - - - - - - - - - - - - nors p0.b, p0/z, p0.b, p0.b
@@ -8586,12 +5181,12 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1.00 - - - - - - - - - - - - pfirst p15.b, p15, p15.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmul z0.b, z1.b, z2.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmul z29.b, z30.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 pmullb z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 pmullb z29.q, z30.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 pmullb z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 pmullt z0.h, z1.b, z2.b
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 pmullt z29.q, z30.d, z31.d
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 pmullt z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 pmullb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 pmullb z29.q, z30.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 pmullb z31.d, z31.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 pmullt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 pmullt z29.q, z30.d, z31.d
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 pmullt z31.d, z31.s, z31.s
# CHECK-NEXT: 1.00 - - - - - - - - - - - - pnext p0.b, p15, p0.b
# CHECK-NEXT: 1.00 - - - - - - - - - - - - pnext p0.d, p15, p0.d
# CHECK-NEXT: 1.00 - - - - - - - - - - - - pnext p0.h, p15, p0.h
@@ -8789,27 +5384,31 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1.00 - - - - - - - - - - - - punpkhi p15.h, p15.b
# CHECK-NEXT: 1.00 - - - - - - - - - - - - punpklo p0.h, p0.b
# CHECK-NEXT: 1.00 - - - - - - - - - - - - punpklo p15.h, p15.b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhnb z0.b, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhnb z0.h, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhnb z0.s, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhnt z0.b, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhnt z0.h, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - raddhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhnt z0.s, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rax1 z0.d, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit z0.b, p7/m, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit z0.d, p7/m, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit z0.h, p7/m, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit z0.s, p7/m, z31.s
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rdffr p0.b
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - rdffr p0.b, p0/z
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rdffr p15.b
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - rdffr p15.b, p15/z
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - rdffrs p0.b, p0/z
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - rdffrs p15.b, p15/z
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - rdffr p0.b
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - rdffr p0.b, p0/z
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - rdffr p15.b
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - rdffr p15.b, p15/z
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - rdffrs p0.b, p0/z
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - rdffrs p15.b, p15/z
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rdvl x0, #0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rdvl x21, #-32
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rdvl x23, #31
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - rdvl xzr, #-1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - rev p0.b, p1.b
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - rev p0.d, p1.d
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - rev p0.h, p1.h
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - rev p0.s, p1.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev z0.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev z0.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev z0.h, z31.h
@@ -8832,22 +5431,22 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrnt z31.b, z31.h, #8
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrnt z31.h, z31.s, #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrnt z31.s, z31.d, #32
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhnb z0.b, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhnb z0.h, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhnb z0.s, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhnt z0.b, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhnt z0.h, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rsubhnt z0.s, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - saba z0.b, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - saba z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - saba z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - saba z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabalb z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabalb z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabalb z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabalt z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabalt z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - sabalt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - saba z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - saba z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - saba z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - saba z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - sabalb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - sabalb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - sabalb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - sabalt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - sabalt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - sabalt z0.s, z1.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd z31.b, p7/m, z31.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd z31.d, p7/m, z31.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd z31.h, p7/m, z31.h, z31.h
@@ -8858,9 +5457,9 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdlt z0.h, z1.b, z2.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdlt z29.s, z30.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdlt z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - sadalp z0.h, p0/m, z1.b
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - sadalp z29.s, p0/m, z30.h
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - sadalp z30.d, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 4.00 - - - sadalp z0.h, p0/m, z1.b
+# CHECK-NEXT: - - - - - - - - - 4.00 - - - sadalp z29.s, p0/m, z30.h
+# CHECK-NEXT: - - - - - - - - - 4.00 - - - sadalp z30.d, p7/m, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlb z0.h, z1.b, z2.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlb z29.s, z30.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlb z31.d, z31.s, z31.s
@@ -8898,11 +5497,12 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sdot z0.d, z1.h, z31.h
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sdot z0.s, z1.b, z31.b
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sdot z0.s, z1.b, z7.b[3]
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sel p0.b, p1, p2.b, p3.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sel z23.b, p11, z13.b, z8.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sel z23.d, p11, z13.d, z8.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sel z23.h, p11, z13.h, z8.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sel z23.s, p11, z13.s, z8.s
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - setffr
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - setffr
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shadd z0.b, p0/m, z0.b, z1.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shadd z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - shadd z29.s, p7/m, z29.s, z30.s
@@ -8935,8 +5535,8 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli z31.d, z31.d, #63
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli z31.h, z31.h, #15
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sli z31.s, z31.s, #31
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 sm4e z0.s, z0.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - - 1.00 sm4ekey z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 sm4e z0.s, z0.s, z31.s
+# CHECK-NEXT: - - - - - - - - - - - - 7.00 sm4ekey z0.s, z1.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax z0.b, z0.b, #-128
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax z0.d, z0.d, #-128
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smax z0.h, z0.h, #-128
@@ -9055,37 +5655,37 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqcadd z31.d, z31.d, z31.d, #270
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqcadd z31.h, z31.h, z31.h, #270
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqcadd z31.s, z31.s, z31.s, #270
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecb x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecb x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecb x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecb x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecb x0, vl1
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecb x0, w0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecb x0, w0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecb x0, w0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecb x0, w0, pow2, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecd x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecd x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecd x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecd x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecd x0, vl1
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecd x0, w0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecd x0, w0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecd x0, w0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecd x0, w0, pow2, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecb x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecb x0, #14
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecb x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecb x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecb x0, vl1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecb x0, w0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecb x0, w0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecb x0, w0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecb x0, w0, pow2, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecd x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecd x0, #14
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecd x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecd x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecd x0, vl1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecd x0, w0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecd x0, w0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecd x0, w0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecd x0, w0, pow2, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecd z0.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecd z0.d, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecd z0.d, pow2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecd z0.d, pow2, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdech x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdech x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdech x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdech x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdech x0, vl1
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdech x0, w0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdech x0, w0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdech x0, w0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdech x0, w0, pow2, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdech x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdech x0, #14
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdech x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdech x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdech x0, vl1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdech x0, w0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdech x0, w0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdech x0, w0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdech x0, w0, pow2, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdech z0.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdech z0.h, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdech z0.h, pow2
@@ -9101,15 +5701,15 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp z0.d, p0.d
# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp z0.h, p0.h
# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp z0.s, p0.s
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0, vl1
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0, w0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0, w0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0, w0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqdecw x0, w0, pow2, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecw x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecw x0, #14
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecw x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecw x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecw x0, vl1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecw x0, w0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecw x0, w0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecw x0, w0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecw x0, w0, pow2, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecw z0.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecw z0.s, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecw z0.s, pow2
@@ -9157,37 +5757,37 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmullt z0.s, z1.h, z7.h[7]
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmullt z29.s, z30.h, z31.h
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - sqdmullt z31.d, z31.s, z31.s
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincb x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincb x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincb x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincb x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincb x0, vl1
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincb x0, w0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincb x0, w0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincb x0, w0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincb x0, w0, pow2, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincd x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincd x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincd x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincd x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincd x0, vl1
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincd x0, w0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincd x0, w0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincd x0, w0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincd x0, w0, pow2, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincb x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincb x0, #14
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincb x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincb x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincb x0, vl1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincb x0, w0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincb x0, w0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincb x0, w0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincb x0, w0, pow2, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincd x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincd x0, #14
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincd x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincd x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincd x0, vl1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincd x0, w0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincd x0, w0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincd x0, w0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincd x0, w0, pow2, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincd z0.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincd z0.d, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincd z0.d, pow2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincd z0.d, pow2, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqinch x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqinch x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqinch x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqinch x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqinch x0, vl1
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqinch x0, w0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqinch x0, w0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqinch x0, w0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqinch x0, w0, pow2, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqinch x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqinch x0, #14
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqinch x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqinch x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqinch x0, vl1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqinch x0, w0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqinch x0, w0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqinch x0, w0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqinch x0, w0, pow2, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqinch z0.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqinch z0.h, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqinch z0.h, pow2
@@ -9203,15 +5803,15 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp z0.d, p0.d
# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp z0.h, p0.h
# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp z0.s, p0.s
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0, vl1
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0, w0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0, w0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0, w0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sqincw x0, w0, pow2, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincw x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincw x0, #14
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincw x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincw x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincw x0, vl1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincw x0, w0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincw x0, w0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincw x0, w0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincw x0, w0, pow2, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincw z0.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincw z0.s, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincw z0.s, pow2
@@ -9404,14 +6004,14 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr z31.d, p0/m, z31.d, #64
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr z31.h, p0/m, z31.h, #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr z31.s, p0/m, z31.s, #32
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra z0.b, z0.b, #1
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra z0.d, z0.d, #1
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra z0.h, z0.h, #1
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra z0.s, z0.s, #1
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra z31.b, z31.b, #8
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra z31.d, z31.d, #64
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra z31.h, z31.h, #16
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - srsra z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - srsra z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - srsra z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - srsra z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - srsra z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - srsra z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - srsra z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - srsra z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - srsra z31.s, z31.s, #32
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllb z0.d, z0.s, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllb z0.h, z0.b, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllb z0.s, z0.h, #0
@@ -9752,16 +6352,16 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 z31.d, z31.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 z31.h, z31.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 z31.s, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uaba z0.b, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uaba z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uaba z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uaba z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabalb z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabalb z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabalb z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabalt z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabalt z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - uabalt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - uaba z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - uaba z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - uaba z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - uaba z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - uabalb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - uabalb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - uabalb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - uabalt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - uabalt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - - 3.00 - - - uabalt z0.s, z1.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd z31.b, p7/m, z31.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd z31.d, p7/m, z31.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd z31.h, p7/m, z31.h, z31.h
@@ -9772,9 +6372,9 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdlt z0.h, z1.b, z2.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdlt z29.s, z30.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdlt z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - uadalp z0.h, p0/m, z1.b
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - uadalp z29.s, p0/m, z30.h
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - uadalp z30.d, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - - 4.00 - - - uadalp z0.h, p0/m, z1.b
+# CHECK-NEXT: - - - - - - - - - 4.00 - - - uadalp z29.s, p0/m, z30.h
+# CHECK-NEXT: - - - - - - - - - 4.00 - - - uadalp z30.d, p7/m, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlb z0.h, z1.b, z2.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlb z29.s, z30.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlb z31.d, z31.s, z31.s
@@ -9904,37 +6504,37 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z31.d, z31.d, #65280
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z31.h, z31.h, #65280
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqadd z31.s, z31.s, #65280
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecb w0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecb w0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecb w0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecb w0, pow2, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecb x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecb x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecb x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecb x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecb x0, vl1
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecd w0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecd w0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecd w0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecd w0, pow2, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecd x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecd x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecd x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecd x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecd x0, vl1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecb w0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecb w0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecb w0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecb w0, pow2, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecb x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecb x0, #14
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecb x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecb x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecb x0, vl1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecd w0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecd w0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecd w0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecd w0, pow2, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecd x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecd x0, #14
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecd x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecd x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecd x0, vl1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecd z0.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecd z0.d, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecd z0.d, pow2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecd z0.d, pow2, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdech w0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdech w0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdech w0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdech w0, pow2, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdech x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdech x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdech x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdech x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdech x0, vl1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdech w0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdech w0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdech w0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdech w0, pow2, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdech x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdech x0, #14
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdech x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdech x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdech x0, vl1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdech z0.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdech z0.h, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdech z0.h, pow2
@@ -9950,50 +6550,50 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp z0.d, p0.d
# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp z0.h, p0.h
# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp z0.s, p0.s
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw w0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw w0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw w0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw w0, pow2, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqdecw x0, vl1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecw w0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecw w0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecw w0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecw w0, pow2, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecw x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecw x0, #14
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecw x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecw x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecw x0, vl1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecw z0.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecw z0.s, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecw z0.s, pow2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecw z0.s, pow2, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincb w0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincb w0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincb w0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincb w0, pow2, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincb x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincb x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincb x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincb x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincb x0, vl1
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincd w0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincd w0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincd w0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincd w0, pow2, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincd x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincd x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincd x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincd x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincd x0, vl1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincb w0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincb w0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincb w0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincb w0, pow2, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincb x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincb x0, #14
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincb x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincb x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincb x0, vl1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincd w0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincd w0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincd w0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincd w0, pow2, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincd x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincd x0, #14
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincd x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincd x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincd x0, vl1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincd z0.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincd z0.d, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincd z0.d, pow2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincd z0.d, pow2, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqinch w0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqinch w0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqinch w0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqinch w0, pow2, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqinch x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqinch x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqinch x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqinch x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqinch x0, vl1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqinch w0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqinch w0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqinch w0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqinch w0, pow2, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqinch x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqinch x0, #14
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqinch x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqinch x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqinch x0, vl1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqinch z0.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqinch z0.h, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqinch z0.h, pow2
@@ -10009,15 +6609,15 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp z0.d, p0.d
# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp z0.h, p0.h
# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp z0.s, p0.s
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw w0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw w0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw w0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw w0, pow2, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw x0
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw x0, #14
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw x0, all, mul #16
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw x0, pow2
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - uqincw x0, vl1
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincw w0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincw w0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincw w0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincw w0, pow2, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincw x0
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincw x0, #14
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincw x0, all, mul #16
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincw x0, pow2
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincw x0, vl1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincw z0.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincw z0.s, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincw z0.s, pow2
@@ -10121,14 +6721,14 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr z31.h, p0/m, z31.h, #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr z31.s, p0/m, z31.s, #32
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - ursqrte z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra z0.b, z0.b, #1
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra z0.d, z0.d, #1
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra z0.h, z0.h, #1
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra z0.s, z0.s, #1
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra z31.b, z31.b, #8
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra z31.d, z31.d, #64
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra z31.h, z31.h, #16
-# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - ursra z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - ursra z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - ursra z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - ursra z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - ursra z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - ursra z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - ursra z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - ursra z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - 3.00 - - - - ursra z31.s, z31.s, #32
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllb z0.d, z0.s, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllb z0.h, z0.b, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllb z0.s, z0.h, #0
@@ -10218,8 +6818,8 @@ zip2 z31.s, z31.s, z31.s
# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilewr p15.d, x30, x30
# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilewr p15.h, x30, x30
# CHECK-NEXT: 1.00 - - - - - - - - - - - - whilewr p15.s, x30, x30
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - wrffr p0.b
-# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - wrffr p15.b
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - wrffr p0.b
+# CHECK-NEXT: - - - - - 1.00 - - - - - - - wrffr p15.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xar z0.b, z0.b, z1.b, #1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xar z0.d, z0.d, z1.d, #1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xar z0.h, z0.h, z1.h, #1
diff --git a/llvm/test/tools/llvm-mca/AArch64/Inputs/crypto-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Inputs/crypto-instructions.s
new file mode 100644
index 0000000000000..ced20b87241d7
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/Inputs/crypto-instructions.s
@@ -0,0 +1,34 @@
+aesd z0.b, z0.b, z31.b
+aese z0.b, z0.b, z31.b
+aesimc z0.b, z0.b
+aesmc z0.b, z0.b
+
+sha1h s0, s1
+sha1su1 v0.4s, v1.4s
+sha256su0 v0.4s, v1.4s
+sha1c q0, s1, v2.4s
+sha1p q0, s1, v2.4s
+sha1m q0, s1, v2.4s
+sha1su0 v0.4s, v1.4s, v2.4s
+sha256h q0, q1, v2.4s
+sha256h2 q0, q1, v2.4s
+sha256su1 v0.4s, v1.4s, v2.4s
+
+// armv8.2a
+sha512h q0, q1, v2.2d
+sha512h2 q0, q1, v2.2d
+sha512su0 v11.2d, v12.2d
+sha512su1 v11.2d, v13.2d, v14.2d
+eor3 v25.16b, v12.16b, v7.16b, v2.16b
+rax1 v30.2d, v29.2d, v26.2d
+xar v26.2d, v21.2d, v27.2d, #63
+bcax v31.16b, v26.16b, v2.16b, v1.16b
+sm3ss1 v20.4s, v23.4s, v21.4s, v22.4s
+sm3tt1a v20.4s, v23.4s, v21.s[3]
+sm3tt1b v20.4s, v23.4s, v21.s[3]
+sm3tt2a v20.4s, v23.4s, v21.s[3]
+sm3tt2b v20.4s, v23.4s, v21.s[3]
+sm3partw1 v30.4s, v29.4s, v26.4s
+sm3partw2 v30.4s, v29.4s, v26.4s
+sm4ekey v11.4s, v11.4s, v19.4s
+sm4e v2.4s, v15.4s
diff --git a/llvm/test/tools/llvm-mca/AArch64/Inputs/js-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Inputs/js-instructions.s
new file mode 100644
index 0000000000000..2349b3d20911e
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/Inputs/js-instructions.s
@@ -0,0 +1 @@
+fjcvtzs w25, d26
diff --git a/llvm/test/tools/llvm-mca/AArch64/Inputs/mops-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Inputs/mops-instructions.s
new file mode 100644
index 0000000000000..89f271f55ab7d
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/Inputs/mops-instructions.s
@@ -0,0 +1,138 @@
+cpyfp [x0]!, [x1]!, x2!
+cpyfpwn [x0]!, [x1]!, x2!
+cpyfprn [x0]!, [x1]!, x2!
+cpyfpn [x0]!, [x1]!, x2!
+cpyfpwt [x0]!, [x1]!, x2!
+cpyfpwtwn [x0]!, [x1]!, x2!
+cpyfpwtrn [x0]!, [x1]!, x2!
+cpyfpwtn [x0]!, [x1]!, x2!
+cpyfprt [x0]!, [x1]!, x2!
+cpyfprtwn [x0]!, [x1]!, x2!
+cpyfprtrn [x0]!, [x1]!, x2!
+cpyfprtn [x0]!, [x1]!, x2!
+cpyfpt [x0]!, [x1]!, x2!
+cpyfptwn [x0]!, [x1]!, x2!
+cpyfptrn [x0]!, [x1]!, x2!
+cpyfptn [x0]!, [x1]!, x2!
+cpyfm [x0]!, [x1]!, x2!
+cpyfmwn [x0]!, [x1]!, x2!
+cpyfmrn [x0]!, [x1]!, x2!
+cpyfmn [x0]!, [x1]!, x2!
+cpyfmwt [x0]!, [x1]!, x2!
+cpyfmwtwn [x0]!, [x1]!, x2!
+cpyfmwtrn [x0]!, [x1]!, x2!
+cpyfmwtn [x0]!, [x1]!, x2!
+cpyfmrt [x0]!, [x1]!, x2!
+cpyfmrtwn [x0]!, [x1]!, x2!
+cpyfmrtrn [x0]!, [x1]!, x2!
+cpyfmrtn [x0]!, [x1]!, x2!
+cpyfmt [x0]!, [x1]!, x2!
+cpyfmtwn [x0]!, [x1]!, x2!
+cpyfmtrn [x0]!, [x1]!, x2!
+cpyfmtn [x0]!, [x1]!, x2!
+cpyfe [x0]!, [x1]!, x2!
+cpyfewn [x0]!, [x1]!, x2!
+cpyfern [x0]!, [x1]!, x2!
+cpyfen [x0]!, [x1]!, x2!
+cpyfewt [x0]!, [x1]!, x2!
+cpyfewtwn [x0]!, [x1]!, x2!
+cpyfewtrn [x0]!, [x1]!, x2!
+cpyfewtn [x0]!, [x1]!, x2!
+cpyfert [x0]!, [x1]!, x2!
+cpyfertwn [x0]!, [x1]!, x2!
+cpyfertrn [x0]!, [x1]!, x2!
+cpyfertn [x0]!, [x1]!, x2!
+cpyfet [x0]!, [x1]!, x2!
+cpyfetwn [x0]!, [x1]!, x2!
+cpyfetrn [x0]!, [x1]!, x2!
+cpyfetn [x0]!, [x1]!, x2!
+cpyp [x0]!, [x1]!, x2!
+cpypwn [x0]!, [x1]!, x2!
+cpyprn [x0]!, [x1]!, x2!
+cpypn [x0]!, [x1]!, x2!
+cpypwt [x0]!, [x1]!, x2!
+cpypwtwn [x0]!, [x1]!, x2!
+cpypwtrn [x0]!, [x1]!, x2!
+cpypwtn [x0]!, [x1]!, x2!
+cpyprt [x0]!, [x1]!, x2!
+cpyprtwn [x0]!, [x1]!, x2!
+cpyprtrn [x0]!, [x1]!, x2!
+cpyprtn [x0]!, [x1]!, x2!
+cpypt [x0]!, [x1]!, x2!
+cpyptwn [x0]!, [x1]!, x2!
+cpyptrn [x0]!, [x1]!, x2!
+cpyptn [x0]!, [x1]!, x2!
+cpym [x0]!, [x1]!, x2!
+cpymwn [x0]!, [x1]!, x2!
+cpymrn [x0]!, [x1]!, x2!
+cpymn [x0]!, [x1]!, x2!
+cpymwt [x0]!, [x1]!, x2!
+cpymwtwn [x0]!, [x1]!, x2!
+cpymwtrn [x0]!, [x1]!, x2!
+cpymwtn [x0]!, [x1]!, x2!
+cpymrt [x0]!, [x1]!, x2!
+cpymrtwn [x0]!, [x1]!, x2!
+cpymrtrn [x0]!, [x1]!, x2!
+cpymrtn [x0]!, [x1]!, x2!
+cpymt [x0]!, [x1]!, x2!
+cpymtwn [x0]!, [x1]!, x2!
+cpymtrn [x0]!, [x1]!, x2!
+cpymtn [x0]!, [x1]!, x2!
+cpye [x0]!, [x1]!, x2!
+cpyewn [x0]!, [x1]!, x2!
+cpyern [x0]!, [x1]!, x2!
+cpyen [x0]!, [x1]!, x2!
+cpyewt [x0]!, [x1]!, x2!
+cpyewtwn [x0]!, [x1]!, x2!
+cpyewtrn [x0]!, [x1]!, x2!
+cpyewtn [x0]!, [x1]!, x2!
+cpyert [x0]!, [x1]!, x2!
+cpyertwn [x0]!, [x1]!, x2!
+cpyertrn [x0]!, [x1]!, x2!
+cpyertn [x0]!, [x1]!, x2!
+cpyet [x0]!, [x1]!, x2!
+cpyetwn [x0]!, [x1]!, x2!
+cpyetrn [x0]!, [x1]!, x2!
+cpyetn [x0]!, [x1]!, x2!
+setp [x0]!, x1!, x2
+setpt [x0]!, x1!, x2
+setpn [x0]!, x1!, x2
+setptn [x0]!, x1!, x2
+setm [x0]!, x1!, x2
+setmt [x0]!, x1!, x2
+setmn [x0]!, x1!, x2
+setmtn [x0]!, x1!, x2
+sete [x0]!, x1!, x2
+setet [x0]!, x1!, x2
+seten [x0]!, x1!, x2
+setetn [x0]!, x1!, x2
+setgp [x0]!, x1!, x2
+setgpt [x0]!, x1!, x2
+setgpn [x0]!, x1!, x2
+setgptn [x0]!, x1!, x2
+setgm [x0]!, x1!, x2
+setgmt [x0]!, x1!, x2
+setgmn [x0]!, x1!, x2
+setgmtn [x0]!, x1!, x2
+setge [x0]!, x1!, x2
+setget [x0]!, x1!, x2
+setgen [x0]!, x1!, x2
+setgetn [x0]!, x1!, x2
+cpyfp [x0]!, [x1]!, xzr!
+cpyfm [x0]!, [x1]!, xzr!
+cpyfe [x0]!, [x1]!, xzr!
+cpyp [x0]!, [x1]!, xzr!
+cpym [x0]!, [x1]!, xzr!
+cpye [x0]!, [x1]!, xzr!
+setp [x0]!, xzr!, x2
+setp [x0]!, x1!, xzr
+setm [x0]!, xzr!, x2
+setm [x0]!, x1!, xzr
+sete [x0]!, xzr!, x2
+sete [x0]!, x1!, xzr
+setgp [x0]!, xzr!, x2
+setgp [x0]!, x1!, xzr
+setgm [x0]!, xzr!, x2
+setgm [x0]!, x1!, xzr
+setge [x0]!, xzr!, x2
+setge [x0]!, x1!, xzr
diff --git a/llvm/test/tools/llvm-mca/AArch64/Inputs/ptraut-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Inputs/ptraut-instructions.s
new file mode 100644
index 0000000000000..d1a8ee01c6aa6
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/Inputs/ptraut-instructions.s
@@ -0,0 +1,56 @@
+pacia1716
+pacib1716
+autia1716
+autib1716
+paciaz
+paciasp
+pacibz
+pacibsp
+autiaz
+autiasp
+autibz
+autibsp
+pacia x0, x1
+autia x0, x1
+pacda x0, x1
+autda x0, x1
+pacib x0, x1
+autib x0, x1
+pacdb x0, x1
+autdb x0, x1
+pacga x0, x1, x2
+paciza x0
+autiza x0
+pacdza x0
+autdza x0
+pacizb x0
+autizb x0
+pacdzb x0
+autdzb x0
+xpaci x0
+xpacd x0
+xpaclri
+braa x0, x1
+brab x0, x1
+blraa x0, x1
+blrab x0, x1
+braaz x0
+brabz x0
+blraaz x0
+blrabz x0
+retaa
+retab
+ldraa x0, [x1, 4088]
+ldraa x0, [x1, -4096]
+ldrab x0, [x1, 4088]
+ldrab x0, [x1, -4096]
+ldraa x0, [x1, 4088]!
+ldraa x0, [x1, -4096]!
+ldrab x0, [x1, 4088]!
+ldrab x0, [x1, -4096]!
+ldraa x0, [x1]
+ldrab x0, [x1]
+ldraa x0, [x1]!
+ldrab x0, [x1]!
+ldraa xzr, [sp, -4096]!
+ldrab xzr, [sp, -4096]!
\ No newline at end of file
diff --git a/llvm/test/tools/llvm-mca/AArch64/Inputs/sve-while-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Inputs/sve-while-instructions.s
new file mode 100644
index 0000000000000..714cf82bc00df
--- /dev/null
+++ b/llvm/test/tools/llvm-mca/AArch64/Inputs/sve-while-instructions.s
@@ -0,0 +1,6 @@
+whilege p15.b, xzr, x0
+whilegt p15.b, xzr, x0
+whilehi p15.b, xzr, x0
+whilehs p15.b, xzr, x0
+whilerw p15.b, x30, x30
+whilewr p15.b, x30, x30
diff --git a/mops-instructions.s b/mops-instructions.s
new file mode 100644
index 0000000000000..89f271f55ab7d
--- /dev/null
+++ b/mops-instructions.s
@@ -0,0 +1,138 @@
+cpyfp [x0]!, [x1]!, x2!
+cpyfpwn [x0]!, [x1]!, x2!
+cpyfprn [x0]!, [x1]!, x2!
+cpyfpn [x0]!, [x1]!, x2!
+cpyfpwt [x0]!, [x1]!, x2!
+cpyfpwtwn [x0]!, [x1]!, x2!
+cpyfpwtrn [x0]!, [x1]!, x2!
+cpyfpwtn [x0]!, [x1]!, x2!
+cpyfprt [x0]!, [x1]!, x2!
+cpyfprtwn [x0]!, [x1]!, x2!
+cpyfprtrn [x0]!, [x1]!, x2!
+cpyfprtn [x0]!, [x1]!, x2!
+cpyfpt [x0]!, [x1]!, x2!
+cpyfptwn [x0]!, [x1]!, x2!
+cpyfptrn [x0]!, [x1]!, x2!
+cpyfptn [x0]!, [x1]!, x2!
+cpyfm [x0]!, [x1]!, x2!
+cpyfmwn [x0]!, [x1]!, x2!
+cpyfmrn [x0]!, [x1]!, x2!
+cpyfmn [x0]!, [x1]!, x2!
+cpyfmwt [x0]!, [x1]!, x2!
+cpyfmwtwn [x0]!, [x1]!, x2!
+cpyfmwtrn [x0]!, [x1]!, x2!
+cpyfmwtn [x0]!, [x1]!, x2!
+cpyfmrt [x0]!, [x1]!, x2!
+cpyfmrtwn [x0]!, [x1]!, x2!
+cpyfmrtrn [x0]!, [x1]!, x2!
+cpyfmrtn [x0]!, [x1]!, x2!
+cpyfmt [x0]!, [x1]!, x2!
+cpyfmtwn [x0]!, [x1]!, x2!
+cpyfmtrn [x0]!, [x1]!, x2!
+cpyfmtn [x0]!, [x1]!, x2!
+cpyfe [x0]!, [x1]!, x2!
+cpyfewn [x0]!, [x1]!, x2!
+cpyfern [x0]!, [x1]!, x2!
+cpyfen [x0]!, [x1]!, x2!
+cpyfewt [x0]!, [x1]!, x2!
+cpyfewtwn [x0]!, [x1]!, x2!
+cpyfewtrn [x0]!, [x1]!, x2!
+cpyfewtn [x0]!, [x1]!, x2!
+cpyfert [x0]!, [x1]!, x2!
+cpyfertwn [x0]!, [x1]!, x2!
+cpyfertrn [x0]!, [x1]!, x2!
+cpyfertn [x0]!, [x1]!, x2!
+cpyfet [x0]!, [x1]!, x2!
+cpyfetwn [x0]!, [x1]!, x2!
+cpyfetrn [x0]!, [x1]!, x2!
+cpyfetn [x0]!, [x1]!, x2!
+cpyp [x0]!, [x1]!, x2!
+cpypwn [x0]!, [x1]!, x2!
+cpyprn [x0]!, [x1]!, x2!
+cpypn [x0]!, [x1]!, x2!
+cpypwt [x0]!, [x1]!, x2!
+cpypwtwn [x0]!, [x1]!, x2!
+cpypwtrn [x0]!, [x1]!, x2!
+cpypwtn [x0]!, [x1]!, x2!
+cpyprt [x0]!, [x1]!, x2!
+cpyprtwn [x0]!, [x1]!, x2!
+cpyprtrn [x0]!, [x1]!, x2!
+cpyprtn [x0]!, [x1]!, x2!
+cpypt [x0]!, [x1]!, x2!
+cpyptwn [x0]!, [x1]!, x2!
+cpyptrn [x0]!, [x1]!, x2!
+cpyptn [x0]!, [x1]!, x2!
+cpym [x0]!, [x1]!, x2!
+cpymwn [x0]!, [x1]!, x2!
+cpymrn [x0]!, [x1]!, x2!
+cpymn [x0]!, [x1]!, x2!
+cpymwt [x0]!, [x1]!, x2!
+cpymwtwn [x0]!, [x1]!, x2!
+cpymwtrn [x0]!, [x1]!, x2!
+cpymwtn [x0]!, [x1]!, x2!
+cpymrt [x0]!, [x1]!, x2!
+cpymrtwn [x0]!, [x1]!, x2!
+cpymrtrn [x0]!, [x1]!, x2!
+cpymrtn [x0]!, [x1]!, x2!
+cpymt [x0]!, [x1]!, x2!
+cpymtwn [x0]!, [x1]!, x2!
+cpymtrn [x0]!, [x1]!, x2!
+cpymtn [x0]!, [x1]!, x2!
+cpye [x0]!, [x1]!, x2!
+cpyewn [x0]!, [x1]!, x2!
+cpyern [x0]!, [x1]!, x2!
+cpyen [x0]!, [x1]!, x2!
+cpyewt [x0]!, [x1]!, x2!
+cpyewtwn [x0]!, [x1]!, x2!
+cpyewtrn [x0]!, [x1]!, x2!
+cpyewtn [x0]!, [x1]!, x2!
+cpyert [x0]!, [x1]!, x2!
+cpyertwn [x0]!, [x1]!, x2!
+cpyertrn [x0]!, [x1]!, x2!
+cpyertn [x0]!, [x1]!, x2!
+cpyet [x0]!, [x1]!, x2!
+cpyetwn [x0]!, [x1]!, x2!
+cpyetrn [x0]!, [x1]!, x2!
+cpyetn [x0]!, [x1]!, x2!
+setp [x0]!, x1!, x2
+setpt [x0]!, x1!, x2
+setpn [x0]!, x1!, x2
+setptn [x0]!, x1!, x2
+setm [x0]!, x1!, x2
+setmt [x0]!, x1!, x2
+setmn [x0]!, x1!, x2
+setmtn [x0]!, x1!, x2
+sete [x0]!, x1!, x2
+setet [x0]!, x1!, x2
+seten [x0]!, x1!, x2
+setetn [x0]!, x1!, x2
+setgp [x0]!, x1!, x2
+setgpt [x0]!, x1!, x2
+setgpn [x0]!, x1!, x2
+setgptn [x0]!, x1!, x2
+setgm [x0]!, x1!, x2
+setgmt [x0]!, x1!, x2
+setgmn [x0]!, x1!, x2
+setgmtn [x0]!, x1!, x2
+setge [x0]!, x1!, x2
+setget [x0]!, x1!, x2
+setgen [x0]!, x1!, x2
+setgetn [x0]!, x1!, x2
+cpyfp [x0]!, [x1]!, xzr!
+cpyfm [x0]!, [x1]!, xzr!
+cpyfe [x0]!, [x1]!, xzr!
+cpyp [x0]!, [x1]!, xzr!
+cpym [x0]!, [x1]!, xzr!
+cpye [x0]!, [x1]!, xzr!
+setp [x0]!, xzr!, x2
+setp [x0]!, x1!, xzr
+setm [x0]!, xzr!, x2
+setm [x0]!, x1!, xzr
+sete [x0]!, xzr!, x2
+sete [x0]!, x1!, xzr
+setgp [x0]!, xzr!, x2
+setgp [x0]!, x1!, xzr
+setgm [x0]!, xzr!, x2
+setgm [x0]!, x1!, xzr
+setge [x0]!, xzr!, x2
+setge [x0]!, x1!, xzr
>From 363a9d5c0efc8e50fc539c20f38583db31e8a7e7 Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Tue, 28 Apr 2026 13:23:09 +0100
Subject: [PATCH 09/22] [AArch64] Fixes for C1-Nano scheduler model review
comments
Group ASIMD definitions together.
Start index for CheckIsReg is 0.
---
llvm/lib/Target/AArch64/AArch64SchedC1Nano.td | 20 +++++++++----------
.../Target/AArch64/AArch64SchedPredicates.td | 2 +-
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
index e5c6efa0a172e..9a80c3f4d0714 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
@@ -308,16 +308,6 @@ def : InstRW<[C1NanoWriteExtrRORImm], (instrs EXTRWrri, EXTRXrri)>;
// FP conditional compare
def : InstRW<[C1NanoMCWrite<5, 5, C1NanoUnitVALU_B>], (instregex "FCCMP")>;
-// ASIMD FP compare
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
- (instregex "^(FACGE|FACGT|FCMEQ|FCMGE|FCMGT|FCMLE|FCMLT)(v|16|32|64)")>;
-
-// ASIMD reverse bits.
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "RBITv")>;
-
-// ASIMD count
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(CLS|CLZ|CNT)v")>;
-
def C1NanoWriteISReg : SchedWriteVariant<[
SchedVar<RegShiftedPred, [WriteISReg]>,
SchedVar<NoSchedPred, [WriteI]>]>;
@@ -332,6 +322,16 @@ def : InstRW<[C1NanoWrite<2, C1NanoUnitMAC>], (instregex "[SU]M(ADD|SUB)L")>;
// Multiply high
def : InstRW<[C1NanoMCWrite<6, 4, C1NanoUnitMAC>], (instregex "[SU]MULHr")>;
+// ASIMD FP compare
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
+ (instregex "^(FACGE|FACGT|FCMEQ|FCMGE|FCMGT|FCMLE|FCMLT)(v|16|32|64)")>;
+
+// ASIMD reverse bits.
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "RBITv")>;
+
+// ASIMD count
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(CLS|CLZ|CNT)v")>;
+
// ASIMD scalar DUP (asm mnemonic is "mov", e.g. "mov b0, v0.b[1]").
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "DUPi")>;
diff --git a/llvm/lib/Target/AArch64/AArch64SchedPredicates.td b/llvm/lib/Target/AArch64/AArch64SchedPredicates.td
index 14e898348a3d7..a4d28265f1d1d 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedPredicates.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedPredicates.td
@@ -66,7 +66,7 @@ def CheckIsReg0Zero : CheckAll<
CheckAny<
[CheckRegOperand<0, WZR>,
CheckRegOperand<0, XZR>]>]>;
-foreach I = {1-3} in {
+foreach I = {0-3} in {
def CheckIsReg#I#Zero : CheckAll<
[CheckIsRegOperand<I>,
CheckAny<
>From f88f413a0ef7cc51e45253f9a8c5a4d4d9a0db2b Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Tue, 28 Apr 2026 15:56:44 +0100
Subject: [PATCH 10/22] [AArch64] Remove duplicate definition of
CheckISReg0Zero
---
llvm/lib/Target/AArch64/AArch64SchedPredicates.td | 5 -----
1 file changed, 5 deletions(-)
diff --git a/llvm/lib/Target/AArch64/AArch64SchedPredicates.td b/llvm/lib/Target/AArch64/AArch64SchedPredicates.td
index a4d28265f1d1d..1a0502e2b4c32 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedPredicates.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedPredicates.td
@@ -61,11 +61,6 @@ let FunctionMapper = "AArch64_AM::getShiftType" in {
// Generic predicates.
// Check for ZR in a register operand.
-def CheckIsReg0Zero : CheckAll<
- [CheckIsRegOperand<0>,
- CheckAny<
- [CheckRegOperand<0, WZR>,
- CheckRegOperand<0, XZR>]>]>;
foreach I = {0-3} in {
def CheckIsReg#I#Zero : CheckAll<
[CheckIsRegOperand<I>,
>From d112f02d4664462e87cb417e99e08bc3130b6b26 Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Thu, 30 Apr 2026 10:29:41 +0100
Subject: [PATCH 11/22] [AArch64] C1-Nano scheduler update
- STP / STNP - Store vector pair, immediate offset, Q-form
- ADDV - ASIMD, arith, reduce 4H/4S
- INDEX - correct throughput 1
- TBL - Table lookup, double table
0 FADDV - correct throughput
---
llvm/lib/Target/AArch64/AArch64SchedC1Nano.td | 24 ++--
.../Cortex/C1Nano-basic-instructions.s | 34 +++---
.../AArch64/Cortex/C1Nano-neon-instructions.s | 10 +-
.../AArch64/Cortex/C1Nano-sve-instructions.s | 110 +++++++++---------
4 files changed, 94 insertions(+), 84 deletions(-)
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
index 9a80c3f4d0714..7a0cc33f73837 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
@@ -360,6 +360,12 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "LDR[BHSDQ]ui")>;
// Load vector register, register offset
def : InstRW<[C1NanoWrite<3, C1NanoUnitLd>], (instregex "LDR[BHSDQ]ro[WX]")>;
+// FP scalar store instructions
+// -----------------------------------------------------------------------------
+
+// Store vector pair, immediate offset, Q-form
+def : InstRW<[C1NanoMCWrite<1, 2, C1NanoUnitLdSt>], (instregex "STN?PQ(i|post|pre)")>;
+
// Pointer Authentication Instructions (v8.3 PAC)
// -----------------------------------------------------------------------------
@@ -683,8 +689,9 @@ def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU>], (instregex "[SU]RHADDv")>;
//def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]ADDLPv", "ADDPv")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]ADDLPv", "ADDPv")>;
// ASIMD arith, reduce
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU_A>], (instregex "ADDVv")>;
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU_B>], (instregex "SADDLVv", "UADDLVv")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU_A>], (instregex "ADDVv(8|16)")>;
+// ASIMD, arith, reduce 4H/4S
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU_B>], (instregex "SADDLVv", "UADDLVv", "ADDVv4")>;
// ASIMD compare
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "CM(EQ|GE|GT|HI|HS|LE|LT)v(1i64|2i32|4i16|8i8)")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "CM(EQ|GE|GT|HI|HS|LE|LT)v(2i64|4i32|8i16|16i8)")>;
@@ -1202,14 +1209,14 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^INDEX_II_[BHS]")>;
// Horizontal operations, B, H, S form, scalar, immediate operands/ scalar
// operands only / immediate, scalar operands
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^INDEX_(IR|RI|RR)_[BHS]")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC_A>], (instregex "^INDEX_(IR|RI|RR)_[BHS]")>;
// Horizontal operations, D form, immediate operands only
def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instrs INDEX_II_D)>;
-// Horizontal operations, D form, scalar, immediate operands)/ scalar operands
+// Horizontal operations, D form, scalar, immediate operands / scalar operands
// only / immediate, scalar operands
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^INDEX_(IR|RI|RR)_D")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC_B>], (instregex "^INDEX_(IR|RI|RR)_D")>;
// Logical
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
@@ -1333,7 +1340,10 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^REV_ZZ_[BHSD]",
def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU>], (instregex "^SEL_ZPZZ_[BHSD]")>;
// Table lookup
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^TBL_ZZZZ?_[BHSD]")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^TBL_ZZZZ?_[BHS]")>;
+
+// Table lookup, double table
+def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnitVALU_A>], (instregex "^TBL_ZZZZ?_D")>;
// Table lookup extension
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^TBX_ZZZ_[BHSD]")>;
@@ -1472,7 +1482,7 @@ def : InstRW<[C1NanoMCWrite<12, 5, C1NanoUnitVALU0>], (instregex "^FADDV_VPZ_H")
def : InstRW<[C1NanoMCWrite<8, 3, C1NanoUnitVALU0>], (instregex "^FADDV_VPZ_S")>;
// Floating point reduction, F64
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>], (instregex "^FADDV_VPZ_D")>;
+def : InstRW<[C1NanoMCWrite<4, 2, C1NanoUnitVALU0>], (instregex "^FADDV_VPZ_D")>;
// Floating point round to integral, F16
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
index dd2696fe327c7..6641a15ed0b79 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
@@ -1121,8 +1121,8 @@
# CHECK-NEXT: 1 1 1.00 * stnp x20, x16, [x8]
# CHECK-NEXT: 1 1 1.00 * stp x3, x6, [x16]
# CHECK-NEXT: 2 3 1.00 * ldp d2, d3, [x30, #-8]
-# CHECK-NEXT: 1 1 1.00 * stp q3, q5, [sp]
-# CHECK-NEXT: 1 1 1.00 * stp q17, q19, [sp, #1008]
+# CHECK-NEXT: 1 1 2.00 * stp q3, q5, [sp]
+# CHECK-NEXT: 1 1 2.00 * stp q17, q19, [sp, #1008]
# CHECK-NEXT: 2 3 1.00 * ldp q23, q29, [x1, #-1024]
# CHECK-NEXT: 3 2 1.00 * ldp w3, w5, [sp], #0
# CHECK-NEXT: 2 1 1.00 * stp wzr, w9, [sp], #252
@@ -1140,8 +1140,8 @@
# CHECK-NEXT: 2 1 1.00 * stp d3, d5, [x9], #504
# CHECK-NEXT: 2 1 1.00 * stp d7, d11, [x10], #-512
# CHECK-NEXT: 3 3 1.00 * ldp d2, d3, [x30], #-8
-# CHECK-NEXT: 2 1 1.00 * stp q3, q5, [sp], #0
-# CHECK-NEXT: 2 1 1.00 * stp q17, q19, [sp], #1008
+# CHECK-NEXT: 1 1 2.00 * stp q3, q5, [sp], #0
+# CHECK-NEXT: 1 1 2.00 * stp q17, q19, [sp], #1008
# CHECK-NEXT: 3 3 1.00 * ldp q23, q29, [x1], #-1024
# CHECK-NEXT: 3 2 1.00 * ldp w3, w5, [sp, #0]!
# CHECK-NEXT: 2 1 1.00 * stp wzr, w9, [sp, #252]!
@@ -1159,8 +1159,8 @@
# CHECK-NEXT: 2 1 1.00 * stp d3, d5, [x9, #504]!
# CHECK-NEXT: 2 1 1.00 * stp d7, d11, [x10, #-512]!
# CHECK-NEXT: 3 3 1.00 * ldp d2, d3, [x30, #-8]!
-# CHECK-NEXT: 2 1 1.00 * stp q3, q5, [sp, #0]!
-# CHECK-NEXT: 2 1 1.00 * stp q17, q19, [sp, #1008]!
+# CHECK-NEXT: 1 1 2.00 * stp q3, q5, [sp, #0]!
+# CHECK-NEXT: 1 1 2.00 * stp q17, q19, [sp, #1008]!
# CHECK-NEXT: 3 3 1.00 * ldp q23, q29, [x1, #-1024]!
# CHECK-NEXT: 2 2 1.00 * ldnp w3, w5, [sp]
# CHECK-NEXT: 1 1 1.00 * stnp wzr, w9, [sp, #252]
@@ -1175,8 +1175,8 @@
# CHECK-NEXT: 1 1 1.00 * stnp d3, d5, [x9, #504]
# CHECK-NEXT: 1 1 1.00 * stnp d7, d11, [x10, #-512]
# CHECK-NEXT: 2 3 1.00 * ldnp d2, d3, [x30, #-8]
-# CHECK-NEXT: 1 1 1.00 * stnp q3, q5, [sp]
-# CHECK-NEXT: 1 1 1.00 * stnp q17, q19, [sp, #1008]
+# CHECK-NEXT: 1 1 2.00 * stnp q3, q5, [sp]
+# CHECK-NEXT: 1 1 2.00 * stnp q17, q19, [sp, #1008]
# CHECK-NEXT: 2 3 1.00 * ldnp q23, q29, [x1, #-1024]
# CHECK-NEXT: 1 1 0.50 and wsp, w16, #0xe00
# CHECK-NEXT: 1 1 0.50 and x2, x22, #0x1e00
@@ -1267,7 +1267,7 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 260.50 214.50 27.00 64.00 164.50 306.50 89.00 - 122.50 177.50 8.50 8.50 67.00
+# CHECK-NEXT: 260.50 214.50 27.00 64.00 164.50 314.50 89.00 - 122.50 177.50 8.50 8.50 67.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -2382,8 +2382,8 @@
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnp x20, x16, [x8]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp x3, x6, [x16]
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp d2, d3, [x30, #-8]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp q3, q5, [sp]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp q17, q19, [sp, #1008]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stp q3, q5, [sp]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stp q17, q19, [sp, #1008]
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp q23, q29, [x1, #-1024]
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp w3, w5, [sp], #0
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp wzr, w9, [sp], #252
@@ -2401,8 +2401,8 @@
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp d3, d5, [x9], #504
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp d7, d11, [x10], #-512
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp d2, d3, [x30], #-8
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp q3, q5, [sp], #0
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp q17, q19, [sp], #1008
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stp q3, q5, [sp], #0
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stp q17, q19, [sp], #1008
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp q23, q29, [x1], #-1024
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp w3, w5, [sp, #0]!
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp wzr, w9, [sp, #252]!
@@ -2420,8 +2420,8 @@
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp d3, d5, [x9, #504]!
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp d7, d11, [x10, #-512]!
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp d2, d3, [x30, #-8]!
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp q3, q5, [sp, #0]!
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp q17, q19, [sp, #1008]!
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stp q3, q5, [sp, #0]!
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stp q17, q19, [sp, #1008]!
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp q23, q29, [x1, #-1024]!
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp w3, w5, [sp]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnp wzr, w9, [sp, #252]
@@ -2436,8 +2436,8 @@
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnp d3, d5, [x9, #504]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnp d7, d11, [x10, #-512]
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp d2, d3, [x30, #-8]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnp q3, q5, [sp]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnp q17, q19, [sp, #1008]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stnp q3, q5, [sp]
+# CHECK-NEXT: - - - - - 2.00 - - - - - - - stnp q17, q19, [sp, #1008]
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp q23, q29, [x1, #-1024]
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and wsp, w16, #0xe00
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - and x2, x22, #0x1e00
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s
index b9fb1d55de57f..6a0269544acd8 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s
@@ -30,8 +30,8 @@
# CHECK-NEXT: 1 3 0.50 addp v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 3 0.50 addp v0.8b, v0.8b, v0.8b
# CHECK-NEXT: 1 3 0.50 addp d1, v14.2d
-# CHECK-NEXT: 1 3 1.00 addv s0, v0.4s
-# CHECK-NEXT: 1 3 1.00 addv h0, v0.4h
+# CHECK-NEXT: 1 4 1.00 addv s0, v0.4s
+# CHECK-NEXT: 1 4 1.00 addv h0, v0.4h
# CHECK-NEXT: 1 3 1.00 addv h0, v0.8h
# CHECK-NEXT: 1 3 1.00 addv b0, v0.8b
# CHECK-NEXT: 1 3 1.00 addv b0, v0.16b
@@ -1587,7 +1587,7 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: - - - - 13.50 545.50 - - 632.00 598.00 117.00 117.00 96.00
+# CHECK-NEXT: - - - - 13.50 545.50 - - 630.00 600.00 117.00 117.00 96.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -1611,8 +1611,8 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addp v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addp v0.8b, v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addp d1, v14.2d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - addv s0, v0.4s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - addv h0, v0.4h
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - addv s0, v0.4s
+# CHECK-NEXT: - - - - - - - - - 1.00 - - - addv h0, v0.4h
# CHECK-NEXT: - - - - - - - - 1.00 - - - - addv h0, v0.8h
# CHECK-NEXT: - - - - - - - - 1.00 - - - - addv b0, v0.8b
# CHECK-NEXT: - - - - - - - - 1.00 - - - - addv b0, v0.16b
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
index d621193eb2a93..353996776e0c6 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
@@ -586,7 +586,7 @@
# CHECK-NEXT: 1 4 0.50 faddp z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: 1 4 0.50 faddp z29.s, p3/m, z29.s, z30.s
# CHECK-NEXT: 1 4 0.50 faddp z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: 1 4 1.00 faddv d0, p7, z31.d
+# CHECK-NEXT: 1 4 2.00 faddv d0, p7, z31.d
# CHECK-NEXT: 1 12 5.00 faddv h0, p7, z31.h
# CHECK-NEXT: 1 8 3.00 faddv s0, p7, z31.s
# CHECK-NEXT: 1 4 0.50 fcadd z0.d, p0/m, z0.d, z0.d, #90
@@ -939,35 +939,35 @@
# CHECK-NEXT: 1 4 0.50 index z0.b, #0, #0
# CHECK-NEXT: 1 4 0.50 index z0.d, #0, #0
# CHECK-NEXT: 1 4 0.50 index z0.h, #0, #0
-# CHECK-NEXT: 1 4 0.50 index z0.h, w0, w0
+# CHECK-NEXT: 1 4 1.00 index z0.h, w0, w0
# CHECK-NEXT: 1 4 0.50 index z0.s, #0, #0
-# CHECK-NEXT: 1 4 0.50 index z21.b, w10, w21
-# CHECK-NEXT: 1 4 0.50 index z21.d, x10, x21
-# CHECK-NEXT: 1 4 0.50 index z21.s, w10, w21
-# CHECK-NEXT: 1 4 0.50 index z23.b, #13, w8
-# CHECK-NEXT: 1 4 0.50 index z23.b, w13, #8
-# CHECK-NEXT: 1 4 0.50 index z23.d, #13, x8
-# CHECK-NEXT: 1 4 0.50 index z23.d, x13, #8
-# CHECK-NEXT: 1 4 0.50 index z23.h, #13, w8
-# CHECK-NEXT: 1 4 0.50 index z23.h, w13, #8
-# CHECK-NEXT: 1 4 0.50 index z23.s, #13, w8
-# CHECK-NEXT: 1 4 0.50 index z23.s, w13, #8
+# CHECK-NEXT: 1 4 1.00 index z21.b, w10, w21
+# CHECK-NEXT: 1 4 1.00 index z21.d, x10, x21
+# CHECK-NEXT: 1 4 1.00 index z21.s, w10, w21
+# CHECK-NEXT: 1 4 1.00 index z23.b, #13, w8
+# CHECK-NEXT: 1 4 1.00 index z23.b, w13, #8
+# CHECK-NEXT: 1 4 1.00 index z23.d, #13, x8
+# CHECK-NEXT: 1 4 1.00 index z23.d, x13, #8
+# CHECK-NEXT: 1 4 1.00 index z23.h, #13, w8
+# CHECK-NEXT: 1 4 1.00 index z23.h, w13, #8
+# CHECK-NEXT: 1 4 1.00 index z23.s, #13, w8
+# CHECK-NEXT: 1 4 1.00 index z23.s, w13, #8
# CHECK-NEXT: 1 4 0.50 index z31.b, #-1, #-1
-# CHECK-NEXT: 1 4 0.50 index z31.b, #-1, wzr
-# CHECK-NEXT: 1 4 0.50 index z31.b, wzr, #-1
-# CHECK-NEXT: 1 4 0.50 index z31.b, wzr, wzr
+# CHECK-NEXT: 1 4 1.00 index z31.b, #-1, wzr
+# CHECK-NEXT: 1 4 1.00 index z31.b, wzr, #-1
+# CHECK-NEXT: 1 4 1.00 index z31.b, wzr, wzr
# CHECK-NEXT: 1 4 0.50 index z31.d, #-1, #-1
-# CHECK-NEXT: 1 4 0.50 index z31.d, #-1, xzr
-# CHECK-NEXT: 1 4 0.50 index z31.d, xzr, #-1
-# CHECK-NEXT: 1 4 0.50 index z31.d, xzr, xzr
+# CHECK-NEXT: 1 4 1.00 index z31.d, #-1, xzr
+# CHECK-NEXT: 1 4 1.00 index z31.d, xzr, #-1
+# CHECK-NEXT: 1 4 1.00 index z31.d, xzr, xzr
# CHECK-NEXT: 1 4 0.50 index z31.h, #-1, #-1
-# CHECK-NEXT: 1 4 0.50 index z31.h, #-1, wzr
-# CHECK-NEXT: 1 4 0.50 index z31.h, wzr, #-1
-# CHECK-NEXT: 1 4 0.50 index z31.h, wzr, wzr
+# CHECK-NEXT: 1 4 1.00 index z31.h, #-1, wzr
+# CHECK-NEXT: 1 4 1.00 index z31.h, wzr, #-1
+# CHECK-NEXT: 1 4 1.00 index z31.h, wzr, wzr
# CHECK-NEXT: 1 4 0.50 index z31.s, #-1, #-1
-# CHECK-NEXT: 1 4 0.50 index z31.s, #-1, wzr
-# CHECK-NEXT: 1 4 0.50 index z31.s, wzr, #-1
-# CHECK-NEXT: 1 4 0.50 index z31.s, wzr, wzr
+# CHECK-NEXT: 1 4 1.00 index z31.s, #-1, wzr
+# CHECK-NEXT: 1 4 1.00 index z31.s, wzr, #-1
+# CHECK-NEXT: 1 4 1.00 index z31.s, wzr, wzr
# CHECK-NEXT: 1 4 0.50 insr z0.b, w0
# CHECK-NEXT: 1 4 0.50 insr z0.d, x0
# CHECK-NEXT: 1 4 0.50 insr z0.h, w0
@@ -2889,11 +2889,11 @@
# CHECK-NEXT: 1 3 0.50 sxtw z0.d, p0/m, z0.d
# CHECK-NEXT: 1 3 0.50 sxtw z31.d, p7/m, z31.d
# CHECK-NEXT: 1 4 0.50 tbl z28.b, { z29.b, z30.b }, z31.b
-# CHECK-NEXT: 1 4 0.50 tbl z28.d, { z29.d, z30.d }, z31.d
+# CHECK-NEXT: 1 8 5.00 tbl z28.d, { z29.d, z30.d }, z31.d
# CHECK-NEXT: 1 4 0.50 tbl z28.h, { z29.h, z30.h }, z31.h
# CHECK-NEXT: 1 4 0.50 tbl z28.s, { z29.s, z30.s }, z31.s
# CHECK-NEXT: 1 4 0.50 tbl z31.b, { z31.b }, z31.b
-# CHECK-NEXT: 1 4 0.50 tbl z31.d, { z31.d }, z31.d
+# CHECK-NEXT: 1 8 5.00 tbl z31.d, { z31.d }, z31.d
# CHECK-NEXT: 1 4 0.50 tbl z31.h, { z31.h }, z31.h
# CHECK-NEXT: 1 4 0.50 tbl z31.s, { z31.s }, z31.s
# CHECK-NEXT: 1 4 0.50 tbx z31.b, z31.b, z31.b
@@ -3442,7 +3442,7 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 437.00 54.00 9.00 - 156.00 2269.00 - - 971.00 1081.00 202.00 203.00 690.00
+# CHECK-NEXT: 437.00 54.00 9.00 - 156.00 2269.00 - - 981.00 1080.00 208.00 197.00 690.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -4022,7 +4022,7 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z29.s, p3/m, z29.s, z30.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - faddv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 2.00 - - - - faddv d0, p7, z31.d
# CHECK-NEXT: - - - - - - - - 5.00 - - - - faddv h0, p7, z31.h
# CHECK-NEXT: - - - - - - - - 3.00 - - - - faddv s0, p7, z31.s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcadd z0.d, p0/m, z0.d, z0.d, #90
@@ -4375,35 +4375,35 @@
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z0.b, #0, #0
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z0.d, #0, #0
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z0.h, #0, #0
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z0.h, w0, w0
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z0.h, w0, w0
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z0.s, #0, #0
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z21.b, w10, w21
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z21.d, x10, x21
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z21.s, w10, w21
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z23.b, #13, w8
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z23.b, w13, #8
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z23.d, #13, x8
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z23.d, x13, #8
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z23.h, #13, w8
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z23.h, w13, #8
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z23.s, #13, w8
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z23.s, w13, #8
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z21.b, w10, w21
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - index z21.d, x10, x21
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z21.s, w10, w21
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z23.b, #13, w8
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z23.b, w13, #8
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - index z23.d, #13, x8
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - index z23.d, x13, #8
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z23.h, #13, w8
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z23.h, w13, #8
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z23.s, #13, w8
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z23.s, w13, #8
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.b, #-1, #-1
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.b, #-1, wzr
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.b, wzr, #-1
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.b, wzr, wzr
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z31.b, #-1, wzr
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z31.b, wzr, #-1
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z31.b, wzr, wzr
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.d, #-1, #-1
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.d, #-1, xzr
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.d, xzr, #-1
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.d, xzr, xzr
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - index z31.d, #-1, xzr
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - index z31.d, xzr, #-1
+# CHECK-NEXT: - - - - - - - - - - - 1.00 - index z31.d, xzr, xzr
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.h, #-1, #-1
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.h, #-1, wzr
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.h, wzr, #-1
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.h, wzr, wzr
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z31.h, #-1, wzr
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z31.h, wzr, #-1
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z31.h, wzr, wzr
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.s, #-1, #-1
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.s, #-1, wzr
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.s, wzr, #-1
-# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.s, wzr, wzr
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z31.s, #-1, wzr
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z31.s, wzr, #-1
+# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z31.s, wzr, wzr
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z0.b, w0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z0.d, x0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z0.h, w0
@@ -6325,11 +6325,11 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxtw z0.d, p0/m, z0.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxtw z31.d, p7/m, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z28.b, { z29.b, z30.b }, z31.b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z28.d, { z29.d, z30.d }, z31.d
+# CHECK-NEXT: - - - - - - - - 5.00 - - - - tbl z28.d, { z29.d, z30.d }, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z28.h, { z29.h, z30.h }, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z28.s, { z29.s, z30.s }, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z31.b, { z31.b }, z31.b
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z31.d, { z31.d }, z31.d
+# CHECK-NEXT: - - - - - - - - 5.00 - - - - tbl z31.d, { z31.d }, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z31.h, { z31.h }, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z31.s, { z31.s }, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx z31.b, z31.b, z31.b
>From b120a704c485e7510ff6b631a7e2d5cc95092727 Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Fri, 1 May 2026 10:11:05 +0100
Subject: [PATCH 12/22] Fix LDR pre/post index throughput
---
llvm/lib/Target/AArch64/AArch64SchedC1Nano.td | 6 +-
.../Cortex/C1Nano-basic-instructions.s | 174 +++++++++---------
2 files changed, 92 insertions(+), 88 deletions(-)
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
index 7a0cc33f73837..c95c3434c7e72 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
@@ -411,7 +411,11 @@ def C1NanoWriteLDPFP : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 3; }
def : InstRW<[C1NanoWr_LDR, C1NanoRd_LDR], (instregex "^LDR[WX]ui$")>;
def : InstRW<[C1NanoWr_LDR, C1NanoRd_LDR], (instregex "^LDR[WX]ro[WX]$")>;
-def : InstRW<[WriteAdr, C1NanoWrite<3, C1NanoUnitLd>], (instregex "LDR[BHSDQ](pre|post)")>;
+// Load register, immediate pre-index / post-index
+def : InstRW<[WriteAdr, C1NanoWr_LDR, C1NanoWr_LDR], (instregex "LDR[WX](pre|post)")>;
+
+// Load vector register, immediate pre-index / post-index
+def : InstRW<[WriteAdr, C1NanoWriteLDPFP, C1NanoWriteLDPFP], (instregex "LDR[BHSDQ](pre|post)")>;
def : InstRW<[C1NanoWriteLDP1, C1NanoWriteLDP1], (instregex "LDPSWi")>;
def : InstRW<[WriteAdr, C1NanoWriteLDP1, C1NanoWriteLDP1],
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
index 6641a15ed0b79..ba2519c1e42a1 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
@@ -855,12 +855,12 @@
# CHECK-NEXT: 2 2 0.50 * ldrh w9, [x2], #255
# CHECK-NEXT: 2 2 0.50 * ldrh w9, [x2], #1
# CHECK-NEXT: 2 2 0.50 * ldrh w10, [x3], #-256
-# CHECK-NEXT: 2 2 0.50 * ldr w19, [sp], #255
-# CHECK-NEXT: 2 2 0.50 * ldr w20, [x30], #1
-# CHECK-NEXT: 2 2 0.50 * ldr w21, [x12], #-256
-# CHECK-NEXT: 2 2 0.50 * ldr xzr, [x9], #255
-# CHECK-NEXT: 2 2 0.50 * ldr x2, [x3], #1
-# CHECK-NEXT: 2 2 0.50 * ldr x19, [x12], #-256
+# CHECK-NEXT: 3 2 1.00 * ldr w19, [sp], #255
+# CHECK-NEXT: 3 2 1.00 * ldr w20, [x30], #1
+# CHECK-NEXT: 3 2 1.00 * ldr w21, [x12], #-256
+# CHECK-NEXT: 3 2 1.00 * ldr xzr, [x9], #255
+# CHECK-NEXT: 3 2 1.00 * ldr x2, [x3], #1
+# CHECK-NEXT: 3 2 1.00 * ldr x19, [x12], #-256
# CHECK-NEXT: 2 2 0.50 * ldrsb xzr, [x9], #255
# CHECK-NEXT: 2 2 0.50 * ldrsb x2, [x3], #1
# CHECK-NEXT: 2 2 0.50 * ldrsb x19, [x12], #-256
@@ -888,25 +888,25 @@
# CHECK-NEXT: 2 1 1.00 * str d20, [x20], #255
# CHECK-NEXT: 2 1 1.00 * str d23, [x23], #1
# CHECK-NEXT: 2 1 1.00 * str d25, [x0], #-256
-# CHECK-NEXT: 2 3 0.50 * ldr b0, [x0], #255
-# CHECK-NEXT: 2 3 0.50 * ldr b3, [x3], #1
-# CHECK-NEXT: 2 3 0.50 * ldr b5, [sp], #-256
-# CHECK-NEXT: 2 3 0.50 * ldr h10, [x10], #255
-# CHECK-NEXT: 2 3 0.50 * ldr h13, [x23], #1
-# CHECK-NEXT: 2 3 0.50 * ldr h15, [sp], #-256
-# CHECK-NEXT: 2 3 0.50 * ldr s20, [x20], #255
-# CHECK-NEXT: 2 3 0.50 * ldr s23, [x23], #1
-# CHECK-NEXT: 2 3 0.50 * ldr s25, [x0], #-256
-# CHECK-NEXT: 2 3 0.50 * ldr d20, [x20], #255
-# CHECK-NEXT: 2 3 0.50 * ldr d23, [x23], #1
-# CHECK-NEXT: 2 3 0.50 * ldr d25, [x0], #-256
-# CHECK-NEXT: 2 3 0.50 * ldr q20, [x1], #255
-# CHECK-NEXT: 2 3 0.50 * ldr q23, [x9], #1
-# CHECK-NEXT: 2 3 0.50 * ldr q25, [x20], #-256
+# CHECK-NEXT: 3 3 1.00 * ldr b0, [x0], #255
+# CHECK-NEXT: 3 3 1.00 * ldr b3, [x3], #1
+# CHECK-NEXT: 3 3 1.00 * ldr b5, [sp], #-256
+# CHECK-NEXT: 3 3 1.00 * ldr h10, [x10], #255
+# CHECK-NEXT: 3 3 1.00 * ldr h13, [x23], #1
+# CHECK-NEXT: 3 3 1.00 * ldr h15, [sp], #-256
+# CHECK-NEXT: 3 3 1.00 * ldr s20, [x20], #255
+# CHECK-NEXT: 3 3 1.00 * ldr s23, [x23], #1
+# CHECK-NEXT: 3 3 1.00 * ldr s25, [x0], #-256
+# CHECK-NEXT: 3 3 1.00 * ldr d20, [x20], #255
+# CHECK-NEXT: 3 3 1.00 * ldr d23, [x23], #1
+# CHECK-NEXT: 3 3 1.00 * ldr d25, [x0], #-256
+# CHECK-NEXT: 3 3 1.00 * ldr q20, [x1], #255
+# CHECK-NEXT: 3 3 1.00 * ldr q23, [x9], #1
+# CHECK-NEXT: 3 3 1.00 * ldr q25, [x20], #-256
# CHECK-NEXT: 2 1 1.00 * str q10, [x1], #255
# CHECK-NEXT: 2 1 1.00 * str q22, [sp], #1
# CHECK-NEXT: 2 1 1.00 * str q21, [x20], #-256
-# CHECK-NEXT: 2 2 0.50 * ldr x3, [x4, #0]!
+# CHECK-NEXT: 3 2 1.00 * ldr x3, [x4, #0]!
# CHECK-NEXT: 2 1 1.00 * strb w9, [x2, #255]!
# CHECK-NEXT: 2 1 1.00 * strb w10, [x3, #1]!
# CHECK-NEXT: 2 1 1.00 * strb w10, [x3, #-256]!
@@ -925,12 +925,12 @@
# CHECK-NEXT: 2 2 0.50 * ldrh w9, [x2, #255]!
# CHECK-NEXT: 2 2 0.50 * ldrh w9, [x2, #1]!
# CHECK-NEXT: 2 2 0.50 * ldrh w10, [x3, #-256]!
-# CHECK-NEXT: 2 2 0.50 * ldr w19, [sp, #255]!
-# CHECK-NEXT: 2 2 0.50 * ldr w20, [x30, #1]!
-# CHECK-NEXT: 2 2 0.50 * ldr w21, [x12, #-256]!
-# CHECK-NEXT: 2 2 0.50 * ldr xzr, [x9, #255]!
-# CHECK-NEXT: 2 2 0.50 * ldr x2, [x3, #1]!
-# CHECK-NEXT: 2 2 0.50 * ldr x19, [x12, #-256]!
+# CHECK-NEXT: 3 2 1.00 * ldr w19, [sp, #255]!
+# CHECK-NEXT: 3 2 1.00 * ldr w20, [x30, #1]!
+# CHECK-NEXT: 3 2 1.00 * ldr w21, [x12, #-256]!
+# CHECK-NEXT: 3 2 1.00 * ldr xzr, [x9, #255]!
+# CHECK-NEXT: 3 2 1.00 * ldr x2, [x3, #1]!
+# CHECK-NEXT: 3 2 1.00 * ldr x19, [x12, #-256]!
# CHECK-NEXT: 2 2 0.50 * ldrsb xzr, [x9, #255]!
# CHECK-NEXT: 2 2 0.50 * ldrsb x2, [x3, #1]!
# CHECK-NEXT: 2 2 0.50 * ldrsb x19, [x12, #-256]!
@@ -958,21 +958,21 @@
# CHECK-NEXT: 2 1 1.00 * str d20, [x20, #255]!
# CHECK-NEXT: 2 1 1.00 * str d23, [x23, #1]!
# CHECK-NEXT: 2 1 1.00 * str d25, [x0, #-256]!
-# CHECK-NEXT: 2 3 0.50 * ldr b0, [x0, #255]!
-# CHECK-NEXT: 2 3 0.50 * ldr b3, [x3, #1]!
-# CHECK-NEXT: 2 3 0.50 * ldr b5, [sp, #-256]!
-# CHECK-NEXT: 2 3 0.50 * ldr h10, [x10, #255]!
-# CHECK-NEXT: 2 3 0.50 * ldr h13, [x23, #1]!
-# CHECK-NEXT: 2 3 0.50 * ldr h15, [sp, #-256]!
-# CHECK-NEXT: 2 3 0.50 * ldr s20, [x20, #255]!
-# CHECK-NEXT: 2 3 0.50 * ldr s23, [x23, #1]!
-# CHECK-NEXT: 2 3 0.50 * ldr s25, [x0, #-256]!
-# CHECK-NEXT: 2 3 0.50 * ldr d20, [x20, #255]!
-# CHECK-NEXT: 2 3 0.50 * ldr d23, [x23, #1]!
-# CHECK-NEXT: 2 3 0.50 * ldr d25, [x0, #-256]!
-# CHECK-NEXT: 2 3 0.50 * ldr q20, [x1, #255]!
-# CHECK-NEXT: 2 3 0.50 * ldr q23, [x9, #1]!
-# CHECK-NEXT: 2 3 0.50 * ldr q25, [x20, #-256]!
+# CHECK-NEXT: 3 3 1.00 * ldr b0, [x0, #255]!
+# CHECK-NEXT: 3 3 1.00 * ldr b3, [x3, #1]!
+# CHECK-NEXT: 3 3 1.00 * ldr b5, [sp, #-256]!
+# CHECK-NEXT: 3 3 1.00 * ldr h10, [x10, #255]!
+# CHECK-NEXT: 3 3 1.00 * ldr h13, [x23, #1]!
+# CHECK-NEXT: 3 3 1.00 * ldr h15, [sp, #-256]!
+# CHECK-NEXT: 3 3 1.00 * ldr s20, [x20, #255]!
+# CHECK-NEXT: 3 3 1.00 * ldr s23, [x23, #1]!
+# CHECK-NEXT: 3 3 1.00 * ldr s25, [x0, #-256]!
+# CHECK-NEXT: 3 3 1.00 * ldr d20, [x20, #255]!
+# CHECK-NEXT: 3 3 1.00 * ldr d23, [x23, #1]!
+# CHECK-NEXT: 3 3 1.00 * ldr d25, [x0, #-256]!
+# CHECK-NEXT: 3 3 1.00 * ldr q20, [x1, #255]!
+# CHECK-NEXT: 3 3 1.00 * ldr q23, [x9, #1]!
+# CHECK-NEXT: 3 3 1.00 * ldr q25, [x20, #-256]!
# CHECK-NEXT: 2 1 1.00 * str q10, [x1, #255]!
# CHECK-NEXT: 2 1 1.00 * str q22, [sp, #1]!
# CHECK-NEXT: 2 1 1.00 * str q21, [x20, #-256]!
@@ -1267,7 +1267,7 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 260.50 214.50 27.00 64.00 164.50 314.50 89.00 - 122.50 177.50 8.50 8.50 67.00
+# CHECK-NEXT: 260.50 214.50 27.00 64.00 186.00 336.00 89.00 - 122.50 177.50 8.50 8.50 67.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -2116,12 +2116,12 @@
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w9, [x2], #255
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w9, [x2], #1
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w10, [x3], #-256
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w19, [sp], #255
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w20, [x30], #1
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w21, [x12], #-256
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr xzr, [x9], #255
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x2, [x3], #1
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x19, [x12], #-256
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr w19, [sp], #255
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr w20, [x30], #1
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr w21, [x12], #-256
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr xzr, [x9], #255
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr x2, [x3], #1
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr x19, [x12], #-256
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb xzr, [x9], #255
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb x2, [x3], #1
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb x19, [x12], #-256
@@ -2149,25 +2149,25 @@
# CHECK-NEXT: - - - - - 1.00 - - - - - - - str d20, [x20], #255
# CHECK-NEXT: - - - - - 1.00 - - - - - - - str d23, [x23], #1
# CHECK-NEXT: - - - - - 1.00 - - - - - - - str d25, [x0], #-256
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr b0, [x0], #255
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr b3, [x3], #1
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr b5, [sp], #-256
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h10, [x10], #255
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h13, [x23], #1
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h15, [sp], #-256
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr s20, [x20], #255
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr s23, [x23], #1
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr s25, [x0], #-256
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d20, [x20], #255
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d23, [x23], #1
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d25, [x0], #-256
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q20, [x1], #255
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q23, [x9], #1
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q25, [x20], #-256
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr b0, [x0], #255
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr b3, [x3], #1
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr b5, [sp], #-256
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr h10, [x10], #255
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr h13, [x23], #1
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr h15, [sp], #-256
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr s20, [x20], #255
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr s23, [x23], #1
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr s25, [x0], #-256
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr d20, [x20], #255
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr d23, [x23], #1
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr d25, [x0], #-256
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr q20, [x1], #255
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr q23, [x9], #1
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr q25, [x20], #-256
# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q10, [x1], #255
# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q22, [sp], #1
# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q21, [x20], #-256
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x3, [x4, #0]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr x3, [x4, #0]!
# CHECK-NEXT: - - - - - 1.00 - - - - - - - strb w9, [x2, #255]!
# CHECK-NEXT: - - - - - 1.00 - - - - - - - strb w10, [x3, #1]!
# CHECK-NEXT: - - - - - 1.00 - - - - - - - strb w10, [x3, #-256]!
@@ -2186,12 +2186,12 @@
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w9, [x2, #255]!
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w9, [x2, #1]!
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrh w10, [x3, #-256]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w19, [sp, #255]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w20, [x30, #1]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr w21, [x12, #-256]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr xzr, [x9, #255]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x2, [x3, #1]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr x19, [x12, #-256]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr w19, [sp, #255]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr w20, [x30, #1]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr w21, [x12, #-256]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr xzr, [x9, #255]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr x2, [x3, #1]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr x19, [x12, #-256]!
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb xzr, [x9, #255]!
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb x2, [x3, #1]!
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldrsb x19, [x12, #-256]!
@@ -2219,21 +2219,21 @@
# CHECK-NEXT: - - - - - 1.00 - - - - - - - str d20, [x20, #255]!
# CHECK-NEXT: - - - - - 1.00 - - - - - - - str d23, [x23, #1]!
# CHECK-NEXT: - - - - - 1.00 - - - - - - - str d25, [x0, #-256]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr b0, [x0, #255]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr b3, [x3, #1]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr b5, [sp, #-256]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h10, [x10, #255]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h13, [x23, #1]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr h15, [sp, #-256]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr s20, [x20, #255]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr s23, [x23, #1]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr s25, [x0, #-256]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d20, [x20, #255]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d23, [x23, #1]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr d25, [x0, #-256]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q20, [x1, #255]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q23, [x9, #1]!
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q25, [x20, #-256]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr b0, [x0, #255]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr b3, [x3, #1]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr b5, [sp, #-256]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr h10, [x10, #255]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr h13, [x23, #1]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr h15, [sp, #-256]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr s20, [x20, #255]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr s23, [x23, #1]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr s25, [x0, #-256]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr d20, [x20, #255]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr d23, [x23, #1]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr d25, [x0, #-256]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr q20, [x1, #255]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr q23, [x9, #1]!
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr q25, [x20, #-256]!
# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q10, [x1, #255]!
# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q22, [sp, #1]!
# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q21, [x20, #-256]!
>From ed40c74548c154a4594e9edc8e3ac40e2358b266 Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Fri, 1 May 2026 11:14:22 +0100
Subject: [PATCH 13/22] Remove the _A / _B workaround
The <resource>_A type workaround and instead
duplicate the resource being used.
---
llvm/lib/Target/AArch64/AArch64SchedC1Nano.td | 139 ++--
.../Cortex/C1Nano-basic-instructions.s | 152 ++--
.../AArch64/Cortex/C1Nano-bf16-instructions.s | 4 +-
.../Cortex/C1Nano-crypto-instructions.s | 6 +-
.../C1Nano-flag-manipulation-instructions.s | 8 +-
.../AArch64/Cortex/C1Nano-js-instructions.s | 4 +-
.../AArch64/Cortex/C1Nano-mte-instructions.s | 18 +-
.../AArch64/Cortex/C1Nano-neon-instructions.s | 234 +++---
.../AArch64/Cortex/C1Nano-sve-instructions.s | 766 +++++++++---------
9 files changed, 662 insertions(+), 669 deletions(-)
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
index c95c3434c7e72..3654d2914692b 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
@@ -66,23 +66,6 @@ def C1NanoUnitVALU : ProcResGroup<[C1NanoUnitVALU0, C1NanoUnitVALU1]>;
def C1NanoUnitALU : ProcResGroup<[C1NanoUnitALU0, C1NanoUnitALU1]>;
def C1NanoUnitVMAC : ProcResGroup<[C1NanoUnitVMAC0, C1NanoUnitVMAC1]>;
-// It is difficult to correctly model the throughput when the throughput
-// is less than 2 and the pipeline used is one of the paired resources above,
-// because the throughput produced is half the expected value.
-// Currently we work around this by only using one pipeline even when the
-// Optimization Guides suggests we can use 2 pipelines at a time.
-// In order to not overwhelm a pipeline by always using the same one,
-// spread the usage be "randomly" using the _A or _B variants.
-
-def C1NanoUnitALU_A : ProcResGroup<[C1NanoUnitALU0]>;
-def C1NanoUnitALU_B : ProcResGroup<[C1NanoUnitALU1]>;
-def C1NanoUnitVALU_A : ProcResGroup<[C1NanoUnitVALU0]>;
-def C1NanoUnitVALU_B : ProcResGroup<[C1NanoUnitVALU1]>;
-def C1NanoUnitVMAC_A : ProcResGroup<[C1NanoUnitVMAC0]>;
-def C1NanoUnitVMAC_B : ProcResGroup<[C1NanoUnitVMAC1]>;
-def C1NanoUnitLd_A : ProcResGroup<[C1NanoUnitLdSt]>;
-def C1NanoUnitLd_B : ProcResGroup<[C1NanoUnitLd1]>;
-
// These latencies are modeled without taking into account forwarding paths
// (the software optimisation guide lists latencies taking into account
// typical forwarding paths).
@@ -119,6 +102,16 @@ class C1NanoMCWrite<int n, int m, ProcResourceKind res> : SchedWriteRes<[res]> {
let BeginGroup = 1;
}
+// This is a "workaround" for the case where the throughput is
+// 1 or less, and the resource in question is actually a pair
+// of resources which normally results in the throughput being
+// divided by 2.
+class C1NanoMC2Write<int n, int m, ProcResourceKind res> : SchedWriteRes<[res, res]> {
+ let Latency = n;
+ let ReleaseAtCycles = [m, m];
+ let BeginGroup = 1;
+}
+
class C1NanoMC_RC0Write<int n, ProcResourceKind res> : SchedWriteRes<[res]> {
let Latency = n;
let BeginGroup = 1;
@@ -131,12 +124,12 @@ def C1NanoWrite_10cyc_1VMAC_1VALU : SchedWriteRes<[C1NanoUnitVALU, C1NanoUnitVMA
let NumMicroOps = 2;
}
-def C1NanoWrite_10cyc_1VMAC_1VALU_A : SchedWriteRes<[C1NanoUnitVALU_A, C1NanoUnitVMAC_A]> {
+def C1NanoWrite_10cyc_1VMAC_1VALU_A : SchedWriteRes<[C1NanoUnitVALU, C1NanoUnitVALU, C1NanoUnitVMAC, C1NanoUnitVMAC]> {
let Latency = 10;
let NumMicroOps = 2;
}
-def C1NanoWrite_14cyc_1VMAC_1VALU_B : SchedWriteRes<[C1NanoUnitVALU_B, C1NanoUnitVMAC_B]> {
+def C1NanoWrite_14cyc_1VMAC_1VALU_B : SchedWriteRes<[C1NanoUnitVALU, C1NanoUnitVALU, C1NanoUnitVMAC, C1NanoUnitVMAC]> {
let Latency = 14;
let NumMicroOps = 2;
}
@@ -192,7 +185,7 @@ def : WriteRes<WriteHint, [C1NanoUnitB]>;
// As WriteF result is produced in F5 and it can be mostly forwarded
// to consumer at F1, the effectively Latency is set as 4.
def : WriteRes<WriteF, [C1NanoUnitVALU]> { let Latency = 4; }
-def : WriteRes<WriteFCmp, [C1NanoUnitVALU_A]> { let Latency = 1; }
+def : WriteRes<WriteFCmp, [C1NanoUnitVALU, C1NanoUnitVALU]> { let Latency = 1; }
def : WriteRes<WriteFCvt, [C1NanoUnitVALU]> { let Latency = 4; }
def : WriteRes<WriteFCopy, [C1NanoUnitVALU]> { let Latency = 3; }
def : WriteRes<WriteFImm, [C1NanoUnitVALU]> { let Latency = 3; }
@@ -213,8 +206,8 @@ def : SchedAlias<WriteVq, C1NanoWrite<4, C1NanoUnitVALU>>;
def C1NanoWriteVALU_F2 : SchedWriteRes<[C1NanoUnitVALU]> { let Latency = 2;}
def C1NanoWriteVALU_F3 : SchedWriteRes<[C1NanoUnitVALU]> { let Latency = 3;}
def C1NanoWriteVALU_F4 : SchedWriteRes<[C1NanoUnitVALU]> { let Latency = 4;}
-def C1NanoWriteVALU0_F3 : SchedWriteRes<[C1NanoUnitVALU_A]> { let Latency = 3;}
-def C1NanoWriteVALU1_F4 : SchedWriteRes<[C1NanoUnitVALU_B]> { let Latency = 4;}
+def C1NanoWriteVALU0_F3 : SchedWriteRes<[C1NanoUnitVALU, C1NanoUnitVALU]> { let Latency = 3;}
+def C1NanoWriteVALU1_F4 : SchedWriteRes<[C1NanoUnitVALU, C1NanoUnitVALU]> { let Latency = 4;}
// FP Mul, Div, Sqrt. Div/Sqrt are not pipelined
def : WriteRes<WriteFMul, [C1NanoUnitVMAC]> { let Latency = 4; }
@@ -271,13 +264,13 @@ def : SchedAlias<ReadAdrBase, C1NanoRd_LDR>;
//===----------------------------------------------------------------------===//
// Subtarget-specific InstRWs.
-def C1NanoWriteALU0 : SchedWriteRes<[C1NanoUnitALU0]> {
+def C1NanoWriteALU0 : SchedWriteRes<[C1NanoUnitALU, C1NanoUnitALU]> {
let Latency = 1;
}
-def C1NanoWriteALU1 : SchedWriteRes<[C1NanoUnitALU_A]> {
+def C1NanoWriteALU1 : SchedWriteRes<[C1NanoUnitALU, C1NanoUnitALU]> {
let Latency = 1;
}
-def C1NanoWriteVALU0 : SchedWriteRes<[C1NanoUnitVALU_A]> {
+def C1NanoWriteVALU0 : SchedWriteRes<[C1NanoUnitVALU, C1NanoUnitVALU]> {
let Latency = 1;
}
@@ -306,7 +299,7 @@ def C1NanoWriteExtrRORImm : SchedWriteVariant<[
def : InstRW<[C1NanoWriteExtrRORImm], (instrs EXTRWrri, EXTRXrri)>;
// FP conditional compare
-def : InstRW<[C1NanoMCWrite<5, 5, C1NanoUnitVALU_B>], (instregex "FCCMP")>;
+def : InstRW<[C1NanoMC2Write<5, 5, C1NanoUnitVALU>], (instregex "FCCMP")>;
def C1NanoWriteISReg : SchedWriteVariant<[
SchedVar<RegShiftedPred, [WriteISReg]>,
@@ -394,10 +387,10 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitPAC>], (instrs XPACD, XPACI, XPACLRI)>;
// -----------------------------------------------------------------------------
// Flag set instructions
-def : InstRW<[C1NanoMCWrite<2, 2, C1NanoUnitALU_A>], (instregex "^SETF(8|16)")>;
+def : InstRW<[C1NanoMC2Write<2, 2, C1NanoUnitALU>], (instregex "^SETF(8|16)")>;
// Flag manipulation instructions, rotate and select
-def : InstRW<[C1NanoMCWrite<1, 1, C1NanoUnitALU_B>], (instregex "^RMIF")>;
+def : InstRW<[C1NanoMC2Write<1, 1, C1NanoUnitALU>], (instregex "^RMIF")>;
// Load instructions
// -----------------------------------------------------------------------------
@@ -673,7 +666,7 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^MOVI(v|D)")>;
// ASIMD reverse
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^REV(16|32|64)v")>;
// ASIMD absolute diff accum
-def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU_A>], (instregex "[SU]ABAL?v")>;
+def : InstRW<[C1NanoMC2Write<5, 3, C1NanoUnitVALU>], (instregex "[SU]ABAL?v")>;
// ASIMD absolute diff long
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]ABDLv")>;
// ASIMD arith, basic
@@ -686,16 +679,16 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "SADDLv", "UADDLv", "
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "ADDHNv", "SUBHNv")>;
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "([SU]QADD|[SU]QSUB|SQNEG|SUQADD|USQADD)v(16i8|2i64|4i32|8i16)$")>;
// ASIMD, arith, complex, rounding, add and subtract
-def : InstRW<[C1NanoMCWrite<6, 3, C1NanoUnitVALU_B>], (instregex "RADDHNv", "RSUBHNv")>;
+def : InstRW<[C1NanoMC2Write<6, 3, C1NanoUnitVALU>], (instregex "RADDHNv", "RSUBHNv")>;
// ASIMD, arith, complex, rounding halving addition
def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU>], (instregex "[SU]RHADDv")>;
// ASIMD, arith, pair-wise
//def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]ADDLPv", "ADDPv")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]ADDLPv", "ADDPv")>;
// ASIMD arith, reduce
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU_A>], (instregex "ADDVv(8|16)")>;
+def : InstRW<[C1NanoMC2Write<3, 1, C1NanoUnitVALU>], (instregex "ADDVv(8|16)")>;
// ASIMD, arith, reduce 4H/4S
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU_B>], (instregex "SADDLVv", "UADDLVv", "ADDVv4")>;
+def : InstRW<[C1NanoMC2Write<4, 1, C1NanoUnitVALU>], (instregex "SADDLVv", "UADDLVv", "ADDVv4")>;
// ASIMD compare
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "CM(EQ|GE|GT|HI|HS|LE|LT)v(1i64|2i32|4i16|8i8)")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "CM(EQ|GE|GT|HI|HS|LE|LT)v(2i64|4i32|8i16|16i8)")>;
@@ -708,13 +701,13 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(TRN|UZP|ZIP)[12]v")
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^EXTv")>;
// ASIMD table lookup / table lookup extension
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs TBLv8i8One, TBLv16i8One)>;
-def : InstRW<[C1NanoMCWrite<5, 2, C1NanoUnitVALU_A>], (instrs TBLv8i8Two, TBLv16i8Two)>;
-def : InstRW<[C1NanoMCWrite<6, 3, C1NanoUnitVALU_B>], (instrs TBLv8i8Three, TBLv16i8Three)>;
-def : InstRW<[C1NanoMCWrite<7, 4, C1NanoUnitVALU_A>], (instrs TBLv8i8Four, TBLv16i8Four)>;
-def : InstRW<[C1NanoMCWrite<5, 2, C1NanoUnitVALU_B>], (instrs TBXv8i8One, TBXv16i8One)>;
-def : InstRW<[C1NanoMCWrite<6, 3, C1NanoUnitVALU_A>], (instrs TBXv8i8Two, TBXv16i8Two)>;
-def : InstRW<[C1NanoMCWrite<7, 4, C1NanoUnitVALU_B>], (instrs TBXv8i8Three, TBXv16i8Three)>;
-def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnitVALU_A>], (instrs TBXv8i8Four, TBXv16i8Four)>;
+def : InstRW<[C1NanoMC2Write<5, 2, C1NanoUnitVALU>], (instrs TBLv8i8Two, TBLv16i8Two)>;
+def : InstRW<[C1NanoMC2Write<6, 3, C1NanoUnitVALU>], (instrs TBLv8i8Three, TBLv16i8Three)>;
+def : InstRW<[C1NanoMC2Write<7, 4, C1NanoUnitVALU>], (instrs TBLv8i8Four, TBLv16i8Four)>;
+def : InstRW<[C1NanoMC2Write<5, 2, C1NanoUnitVALU>], (instrs TBXv8i8One, TBXv16i8One)>;
+def : InstRW<[C1NanoMC2Write<6, 3, C1NanoUnitVALU>], (instrs TBXv8i8Two, TBXv16i8Two)>;
+def : InstRW<[C1NanoMC2Write<7, 4, C1NanoUnitVALU>], (instrs TBXv8i8Three, TBXv16i8Three)>;
+def : InstRW<[C1NanoMC2Write<8, 5, C1NanoUnitVALU>], (instrs TBXv8i8Four, TBXv16i8Four)>;
// ASIMD logical
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "(AND|EOR|NOT|ORN)v8i8",
"(ORR|BIC)v(2i32|4i16|8i8)$", "MVNIv(2i|2s|4i16)")>;
@@ -725,9 +718,9 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(BIF|BIT|BSL)v")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU](MIN|MAX)P?v(2i32|4i16|8i8)")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU](MIN|MAX)P?v(16i8|4i32|8i16)")>;
// ASIMD max/min, reduce
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU_A>], (instregex "[SU](MAX|MIN)Vv")>;
+def : InstRW<[C1NanoMC2Write<4, 1, C1NanoUnitVALU>], (instregex "[SU](MAX|MIN)Vv")>;
// ASIMD FP max/min, reduce.
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU_A>], (instregex "^F(MAX|MIN)(NM)?Vv")>;
+def : InstRW<[C1NanoMC2Write<4, 1, C1NanoUnitVALU>], (instregex "^F(MAX|MIN)(NM)?Vv")>;
// ASIMD multiply, by element
def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^MULv(2i32|4i16|4i32|8i16)_indexed$",
"SQR?DMULHv(1i16|1i32|2i32|4i16|4i32|8i16)(_indexed)?$")>;
@@ -754,12 +747,12 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "[SU]MULLv", "SQDMULL[
// ASIMD polynomial (8x8) multiply long
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instrs PMULLv8i8, PMULLv16i8)>;
// ASIMD pairwise add and accumulate
-def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU_A>], (instregex "[SU]ADALPv")>;
+def : InstRW<[C1NanoMC2Write<5, 3, C1NanoUnitVALU>], (instregex "[SU]ADALPv")>;
// ASIMD shift accumulate
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]SRA(d|v2i32|v4i16|v8i8)")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "[SU]SRAv(16i8|2i64|4i32|8i16)")>;
// ASIMD shift accumulate #2
-def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU_B>], (instregex "[SU]RSRA[vd]")>;
+def : InstRW<[C1NanoMC2Write<5, 3, C1NanoUnitVALU>], (instregex "[SU]RSRA[vd]")>;
// ASIMD shift by immed
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "SHLd$", "SHLv",
"SLId$", "SRId$", "[SU]SHR[vd]", "SHRNv(8i8|4i16|2i32)")>;
@@ -809,7 +802,7 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^AES[DE]rr$", "^AESI?
def : InstRW<[C1NanoMCWrite<3, 2, C1NanoUnitVMC>], (instrs PMULLv1i64, PMULLv2i64)>;
// Crypto SHA1 hash acceleration op
-def : InstRW<[C1NanoMCWrite<3, 1, C1NanoUnitVALU_B>], (instregex "^SHA1H")>;
+def : InstRW<[C1NanoMC2Write<3, 1, C1NanoUnitVALU>], (instregex "^SHA1H")>;
// Crypto SHA1 schedule acceleration ops
def : InstRW<[C1NanoMCWrite<3, 2, C1NanoUnitVMC>], (instregex "^SHA1(SU0|SU1)")>;
@@ -827,7 +820,7 @@ def : InstRW<[C1NanoMCWrite<9, 7, C1NanoUnitVMC>], (instregex "^SHA512(H|H2|SU0|
// Crypto SHA3 ops
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instrs BCAX, EOR3)>;
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs XAR)>;
-def : InstRW<[C1NanoMCWrite<3, 2, C1NanoUnitVALU_A>], (instrs RAX1)>;
+def : InstRW<[C1NanoMC2Write<3, 2, C1NanoUnitVALU>], (instrs RAX1)>;
// Crypto SM3 ops
@@ -948,7 +941,7 @@ def : InstRW<[C1NanoWrite<1, C1NanoUnitALU0>], (instregex "^(ZIP|UZP)[12]_PPP_[B
def : InstRW<[C1NanoWrite<2, C1NanoUnitALU>], (instrs ADDG, SUBG)>;
// Insert Random Tags
-def : InstRW<[C1NanoMCWrite<4, 3, C1NanoUnitALU_A>], (instrs IRG, IRGstack)>;
+def : InstRW<[C1NanoMC2Write<4, 3, C1NanoUnitALU>], (instrs IRG, IRGstack)>;
// Insert Tag Mask
// Subtract Pointer
@@ -961,7 +954,7 @@ def : InstRW<[C1NanoWrite<2, C1NanoUnitALU>], (instrs GMI, SUBP, SUBPS)>;
def : InstRW<[C1NanoWrite<2, C1NanoUnitLd>], (instrs LDG)>;
// Load multiple allocation tags
-def : InstRW<[C1NanoMCWrite<2, 4, C1NanoUnitLd_A>], (instrs LDGM)>;
+def : InstRW<[C1NanoMC2Write<2, 4, C1NanoUnitLd>], (instrs LDGM)>;
// Tag store instructions
// -----------------------------------------------------------------------------
@@ -994,10 +987,10 @@ def : InstRW<[C1NanoMCWrite<1, 2, C1NanoUnitLdSt>], (instrs ST2GPreIndex, ST2GPo
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^[SU]ABD_(ZPmZ|ZPZZ)_[BHSD]")>;
// Arithmetic, absolute diff accum
-def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU_A>], (instregex "^[SU]ABA_ZZZ_[BHSD]")>;
+def : InstRW<[C1NanoMC2Write<5, 3, C1NanoUnitVALU>], (instregex "^[SU]ABA_ZZZ_[BHSD]")>;
// Arithmetic, absolute diff accum long
-def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU_B>], (instregex "^[SU]ABAL[TB]_ZZZ_[HSD]")>;
+def : InstRW<[C1NanoMC2Write<5, 3, C1NanoUnitVALU>], (instregex "^[SU]ABAL[TB]_ZZZ_[HSD]")>;
// Arithmetic, absolute diff long
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^[SU]ABDL[TB]_ZZZ_[HSD]")>;
@@ -1031,7 +1024,7 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
"^(ADD|SUB)HN[BT]_ZZZ_[BHS]",
"^(SUQ|UQ|USQ)ADD_ZPmZ_[BHSD]",
"^(UQSUB|UQSUBR)_ZPmZ_[BHSD]")>;
-def : InstRW<[C1NanoMCWrite<6, 3, C1NanoUnitVALU_B>],
+def : InstRW<[C1NanoMC2Write<6, 3, C1NanoUnitVALU>],
(instregex "^R(ADD|SUB)HN[BT]_ZZZ_[BHS]")>;
// Arithmetic, large integer
@@ -1041,7 +1034,7 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^(AD|SB)CL[BT]_ZZZ_[S
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^ADDP_ZPmZ_[BHSD]")>;
// Arithmetic, pairwise add and accum long
-def : InstRW<[C1NanoMCWrite<6, 4, C1NanoUnitVALU_B>], (instregex "^[SU]ADALP_ZPmZ_[HSD]")>;
+def : InstRW<[C1NanoMC2Write<6, 4, C1NanoUnitVALU>], (instregex "^[SU]ADALP_ZPmZ_[HSD]")>;
// Arithmetic, shift
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
@@ -1062,7 +1055,7 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
(instregex "^(SSRA|USRA)_ZZI_[BHSD]")>;
-def : InstRW<[C1NanoMCWrite<5, 3, C1NanoUnitVALU_A>],
+def : InstRW<[C1NanoMC2Write<5, 3, C1NanoUnitVALU>],
(instregex "^(SRSRA|URSRA)_ZZI_[BHSD]")>;
@@ -1104,8 +1097,8 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(BSL|BSL1N|BSL2N|NBS
// Count/reverse bits
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^(CLS|CLZ|RBIT)_ZPmZ_[BHSD]")>;
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^CNT_ZPmZ_[BH]")>;
-def : InstRW<[C1NanoMCWrite<6, 4, C1NanoUnitVALU_A>], (instregex "^CNT_ZPmZ_S")>;
-def : InstRW<[C1NanoMCWrite<9, 7, C1NanoUnitVALU_B>], (instregex "^CNT_ZPmZ_D")>;
+def : InstRW<[C1NanoMC2Write<6, 4, C1NanoUnitVALU>], (instregex "^CNT_ZPmZ_S")>;
+def : InstRW<[C1NanoMC2Write<9, 7, C1NanoUnitVALU>], (instregex "^CNT_ZPmZ_D")>;
// Broadcast logical bitmask immediate to vector.
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs DUPM_ZI)>;
@@ -1133,7 +1126,7 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^CMLA_ZZZ_[BHS]",
def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instrs CMLA_ZZZ_D)>;
// Conditional extract operations, scalar form
-def : InstRW<[C1NanoMCWrite<4, 4, C1NanoUnitVALU_B>], (instregex "^CLAST[AB]_RPZ_[BHSD]")>;
+def : InstRW<[C1NanoMC2Write<4, 4, C1NanoUnitVALU>], (instregex "^CLAST[AB]_RPZ_[BHSD]")>;
// Conditional extract operations, SIMD&FP scalar and vector forms
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^CLAST[AB]_[VZ]PZ_[BHSD]",
@@ -1201,7 +1194,7 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^LAST[AB]_VPZ_[BHSD]"
"^INSR_ZV_[BHSD]")>;
// Extract/insert operation, scalar
-def : InstRW<[C1NanoMCWrite<8, 4, C1NanoUnitVALU_A>], (instregex "^LAST[AB]_RPZ_[BHSD]")>;
+def : InstRW<[C1NanoMC2Write<8, 4, C1NanoUnitVALU>], (instregex "^LAST[AB]_RPZ_[BHSD]")>;
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^INSR_ZR_[BHSD]")>;
// Histogram operations
@@ -1213,14 +1206,14 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^INDEX_II_[BHS]")>;
// Horizontal operations, B, H, S form, scalar, immediate operands/ scalar
// operands only / immediate, scalar operands
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC_A>], (instregex "^INDEX_(IR|RI|RR)_[BHS]")>;
+def : InstRW<[C1NanoMC2Write<4, 1, C1NanoUnitVMAC>], (instregex "^INDEX_(IR|RI|RR)_[BHS]")>;
// Horizontal operations, D form, immediate operands only
def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instrs INDEX_II_D)>;
// Horizontal operations, D form, scalar, immediate operands / scalar operands
// only / immediate, scalar operands
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC_B>], (instregex "^INDEX_(IR|RI|RR)_D")>;
+def : InstRW<[C1NanoMC2Write<4, 1, C1NanoUnitVMAC>], (instregex "^INDEX_(IR|RI|RR)_D")>;
// Logical
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>],
@@ -1237,7 +1230,7 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^[SU](MAX|MIN)_ZI_[BH
"^[SU](MAX|MIN)P?_(ZPmZ|ZPZZ)_[BHSD]")>;
// Matching operations
-def : InstRW<[C1NanoMCWrite<8, 4, C1NanoUnitVALU_A>], (instregex "^N?MATCH_PPzZZ_[BH]")>;
+def : InstRW<[C1NanoMC2Write<8, 4, C1NanoUnitVALU>], (instregex "^N?MATCH_PPzZZ_[BH]")>;
// Matrix multiply-accumulate
def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instrs SMMLA_ZZZ, UMMLA_ZZZ, USMMLA_ZZZ)>;
@@ -1347,7 +1340,7 @@ def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU>], (instregex "^SEL_ZPZZ_[BHSD]")>;
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^TBL_ZZZZ?_[BHS]")>;
// Table lookup, double table
-def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnitVALU_A>], (instregex "^TBL_ZZZZ?_D")>;
+def : InstRW<[C1NanoMC2Write<8, 5, C1NanoUnitVALU>], (instregex "^TBL_ZZZZ?_D")>;
// Table lookup extension
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^TBX_ZZZ_[BHSD]")>;
@@ -1375,17 +1368,17 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^F(ADD|SUB)_(ZPm[IZ]|
"^FSUBR_(ZPm[IZ]|ZPZ[IZ])_[HSD]")>;
// Floating point associative add, F16
-def : InstRW<[C1NanoMCWrite<32, 25, C1NanoUnitVALU_A>], (instrs FADDA_VPZ_H)>;
+def : InstRW<[C1NanoMC2Write<32, 25, C1NanoUnitVALU>], (instrs FADDA_VPZ_H)>;
// Floating point associative add, F32
-def : InstRW<[C1NanoMCWrite<16, 9, C1NanoUnitVALU_B>], (instrs FADDA_VPZ_S)>;
+def : InstRW<[C1NanoMC2Write<16, 9, C1NanoUnitVALU>], (instrs FADDA_VPZ_S)>;
// Floating point associative add, F64
// RThoughput should be 5/2 but we cannot have fractional values so using 3
-def : InstRW<[C1NanoMCWrite<8, 3, C1NanoUnitVALU_A>], (instrs FADDA_VPZ_D)>;
+def : InstRW<[C1NanoMC2Write<8, 3, C1NanoUnitVALU>], (instrs FADDA_VPZ_D)>;
// Floating point compare
-def : InstRW<[C1NanoMCWrite<4, 1, C1NanoUnitVALU_B>], (instregex "^FACG[ET]_PPzZZ_[HSD]",
+def : InstRW<[C1NanoMC2Write<4, 1, C1NanoUnitVALU>], (instregex "^FACG[ET]_PPzZZ_[HSD]",
"^FCM(EQ|GE|GT|NE)_PPzZ[0Z]_[HSD]",
"^FCM(LE|LT)_PPzZ0_[HSD]",
"^FCMUO_PPzZZ_[HSD]")>;
@@ -1537,24 +1530,24 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^BFMLAL[BT]_ZZZ(I)?")
// -----------------------------------------------------------------------------
// Load vector
-def : InstRW<[C1NanoWrite<3, C1NanoUnitLd_A>], (instrs LDR_ZXI)>;
+def : InstRW<[C1NanoMC2Write<3, 1, C1NanoUnitLd>], (instrs LDR_ZXI)>;
// Load predicate
def : InstRW<[C1NanoWrite<3, C1NanoUnitLdSt>], (instrs LDR_PXI)>;
// Contiguous load, scalar + imm
-def : InstRW<[C1NanoWrite<3, C1NanoUnitLd_B>], (instregex "^LD1[BHWD]_IMM$",
+def : InstRW<[C1NanoMC2Write<3, 1, C1NanoUnitLd>], (instregex "^LD1[BHWD]_IMM$",
"^LD1S?B_[HSD]_IMM$",
"^LD1S?H_[SD]_IMM$",
"^LD1S?W_D_IMM$" )>;
// Contiguous load, scalar + scalar
-def : InstRW<[C1NanoWrite<3, C1NanoUnitLd_A>], (instregex "^LD1[BHWD]$",
+def : InstRW<[C1NanoMC2Write<3, 1, C1NanoUnitLd>], (instregex "^LD1[BHWD]$",
"^LD1S?B_[HSD]$",
"^LD1S?H_[SD]$",
"^LD1S?W_D$" )>;
// Contiguous load broadcast, scalar + imm
-def : InstRW<[C1NanoWrite<3, C1NanoUnitLd_B>], (instregex "^LD1R[BHWD]_IMM$",
+def : InstRW<[C1NanoMC2Write<3, 1, C1NanoUnitLd>], (instregex "^LD1R[BHWD]_IMM$",
"^LD1RSW_IMM$",
"^LD1RS?B_[HSD]_IMM$",
"^LD1RS?H_[SD]_IMM$",
@@ -1562,13 +1555,13 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitLd_B>], (instregex "^LD1R[BHWD]_IMM$",
"^LD1RQ_[BHWD]_IMM$")>;
// Contiguous load broadcast, scalar + scalar
-def : InstRW<[C1NanoWrite<3, C1NanoUnitLd_A>], (instregex "^LD1RQ_[BHWD]$")>;
+def : InstRW<[C1NanoMC2Write<3, 1, C1NanoUnitLd>], (instregex "^LD1RQ_[BHWD]$")>;
// Non temporal load, scalar + imm
-def : InstRW<[C1NanoWrite<3, C1NanoUnitLd_B>], (instregex "^LDNT1[BHWD]_ZRI$")>;
+def : InstRW<[C1NanoMC2Write<3, 1, C1NanoUnitLd>], (instregex "^LDNT1[BHWD]_ZRI$")>;
// Non temporal load, scalar + scalar
-def : InstRW<[C1NanoWrite<3, C1NanoUnitLd_A>], (instregex "^LDNT1[BHWD]_ZRR$")>;
+def : InstRW<[C1NanoMC2Write<3, 1, C1NanoUnitLd>], (instregex "^LDNT1[BHWD]_ZRR$")>;
// Non temporal gather load, vector + scalar 32-bit element size
def : InstRW<[C1NanoMCWrite<9, 7, C1NanoUnitLdSt>], (instregex "^LDNT1[BHW]_ZZR_S$",
@@ -1579,13 +1572,13 @@ def : InstRW<[C1NanoMCWrite<7, 6, C1NanoUnitLdSt>], (instregex "^LDNT1S?[BHW]_ZZ
def : InstRW<[C1NanoMCWrite<7, 6, C1NanoUnitLdSt>], (instrs LDNT1D_ZZR_D)>;
// Contiguous first faulting load, scalar + scalar
-def : InstRW<[C1NanoMCWrite<3, 1, C1NanoUnitLd_A>], (instregex "^LDFF1[BHWD]$",
+def : InstRW<[C1NanoMC2Write<3, 1, C1NanoUnitLd>], (instregex "^LDFF1[BHWD]$",
"^LDFF1S?B_[HSD]$",
"^LDFF1S?H_[SD]$",
"^LDFF1S?W_D$")>;
// Contiguous non faulting load, scalar + imm
-def : InstRW<[C1NanoMCWrite<3, 1, C1NanoUnitLd_B>], (instregex "^LDNF1[BHWD]_IMM$",
+def : InstRW<[C1NanoMC2Write<3, 1, C1NanoUnitLd>], (instregex "^LDNF1[BHWD]_IMM$",
"^LDNF1S?B_[HSD]_IMM$",
"^LDNF1S?H_[SD]_IMM$",
"^LDNF1S?W_D_IMM$")>;
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
index ba2519c1e42a1..5717f45e76e12 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
@@ -1267,7 +1267,7 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 260.50 214.50 27.00 64.00 186.00 336.00 89.00 - 122.50 177.50 8.50 8.50 67.00
+# CHECK-NEXT: 260.50 260.50 27.00 64.00 186.00 336.00 89.00 - 192.50 192.50 8.50 8.50 67.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -1467,14 +1467,14 @@
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc xzr, x3, x4
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc x9, xzr, x10
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - adc x20, x0, xzr
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - adcs w29, w27, w25
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - adcs wzr, w3, w4
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - adcs w9, wzr, w10
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - adcs w20, w0, wzr
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - adcs x29, x27, x25
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - adcs xzr, x3, x4
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - adcs x9, xzr, x10
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - adcs x20, x0, xzr
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - adcs w29, w27, w25
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - adcs wzr, w3, w4
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - adcs w9, wzr, w10
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - adcs w20, w0, wzr
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - adcs x29, x27, x25
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - adcs xzr, x3, x4
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - adcs x9, xzr, x10
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - adcs x20, x0, xzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbc w29, w27, w25
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbc wzr, w3, w4
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc w9, w10
@@ -1483,26 +1483,26 @@
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbc xzr, x3, x4
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc x9, x10
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbc x20, x0, xzr
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sbcs w29, w27, w25
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sbcs wzr, w3, w4
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ngcs w9, w10
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sbcs w20, w0, wzr
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sbcs x29, x27, x25
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sbcs xzr, x3, x4
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ngcs x9, x10
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sbcs x20, x0, xzr
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - sbcs w29, w27, w25
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - sbcs wzr, w3, w4
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ngcs w9, w10
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - sbcs w20, w0, wzr
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - sbcs x29, x27, x25
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - sbcs xzr, x3, x4
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ngcs x9, x10
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - sbcs x20, x0, xzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc w3, w12
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc wzr, w9
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc w23, wzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc x29, x30
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc xzr, x0
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ngc x0, xzr
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ngcs w3, w12
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ngcs wzr, w9
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ngcs w23, wzr
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ngcs x29, x30
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ngcs xzr, x0
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ngcs x0, xzr
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ngcs w3, w12
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ngcs wzr, w9
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ngcs w23, wzr
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ngcs x29, x30
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ngcs xzr, x0
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ngcs x0, xzr
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - sbfx x1, x2, #3, #2
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr x3, x4, #63
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - asr wzr, wzr, #31
@@ -1583,30 +1583,30 @@
# CHECK-NEXT: - - 1.00 - - - - - - - - - - b.ne #4
# CHECK-NEXT: - - 1.00 - - - - - - - - - - b.ge #1048572
# CHECK-NEXT: - - 1.00 - - - - - - - - - - b.ge #-4
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp w1, #31, #0, eq
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp w3, #0, #15, hs
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp wzr, #15, #13, hs
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp x9, #31, #0, le
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp x3, #0, #15, gt
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp xzr, #5, #7, ne
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn w1, #31, #0, eq
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn w3, #0, #15, hs
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn wzr, #15, #13, hs
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn x9, #31, #0, le
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn x3, #0, #15, gt
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn xzr, #5, #7, ne
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp w1, wzr, #0, eq
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp w3, w0, #15, hs
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp wzr, w15, #13, hs
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp x9, xzr, #0, le
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp x3, x0, #15, gt
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmp xzr, x5, #7, ne
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn w1, wzr, #0, eq
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn w3, w0, #15, hs
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn wzr, w15, #13, hs
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn x9, xzr, #0, le
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn x3, x0, #15, gt
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - ccmn xzr, x5, #7, ne
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmp w1, #31, #0, eq
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmp w3, #0, #15, hs
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmp wzr, #15, #13, hs
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmp x9, #31, #0, le
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmp x3, #0, #15, gt
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmp xzr, #5, #7, ne
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmn w1, #31, #0, eq
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmn w3, #0, #15, hs
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmn wzr, #15, #13, hs
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmn x9, #31, #0, le
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmn x3, #0, #15, gt
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmn xzr, #5, #7, ne
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmp w1, wzr, #0, eq
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmp w3, w0, #15, hs
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmp wzr, w15, #13, hs
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmp x9, xzr, #0, le
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmp x3, x0, #15, gt
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmp xzr, x5, #7, ne
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmn w1, wzr, #0, eq
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmn w3, w0, #15, hs
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmn wzr, w15, #13, hs
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmn x9, xzr, #0, le
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmn x3, x0, #15, gt
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - ccmn xzr, x5, #7, ne
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csel w1, w0, w19, ne
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csel wzr, w5, w9, eq
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - csel w9, wzr, w30, gt
@@ -1766,35 +1766,35 @@
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ror x19, x23, #24
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ror x29, xzr, #63
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - ror w9, w13, #31
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmp h5, h21
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmp h5, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmpe h22, h21
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmpe h13, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmp s3, s5
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmp s31, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmpe s29, s30
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmpe s15, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmp d4, d12
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmp d23, #0.0
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmpe d26, d22
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcmpe d29, #0.0
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmp s1, s31, #0, eq
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmp s3, s0, #15, hs
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmp s31, s15, #13, hs
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmp d9, d31, #0, le
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmp d3, d0, #15, gt
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmp d31, d5, #7, ne
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmp h31, h3, #11, hs
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmpe h6, h1, #12, ne
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmpe s1, s31, #0, eq
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmpe s3, s0, #15, hs
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmpe s31, s15, #13, hs
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmpe d9, d31, #0, le
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmpe d3, d0, #15, gt
-# CHECK-NEXT: - - - - - - - - - 5.00 - - - fccmpe d31, d5, #7, ne
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcsel s3, s20, s9, pl
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcsel d9, d10, d11, mi
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fcsel h26, h2, h11, hs
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmp h5, h21
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmp h5, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmpe h22, h21
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmpe h13, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmp s3, s5
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmp s31, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmpe s29, s30
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmpe s15, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmp d4, d12
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmp d23, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmpe d26, d22
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmpe d29, #0.0
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - fccmp s1, s31, #0, eq
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - fccmp s3, s0, #15, hs
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - fccmp s31, s15, #13, hs
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - fccmp d9, d31, #0, le
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - fccmp d3, d0, #15, gt
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - fccmp d31, d5, #7, ne
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - fccmp h31, h3, #11, hs
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - fccmpe h6, h1, #12, ne
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - fccmpe s1, s31, #0, eq
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - fccmpe s3, s0, #15, hs
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - fccmpe s31, s15, #13, hs
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - fccmpe d9, d31, #0, le
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - fccmpe d3, d0, #15, gt
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - fccmpe d31, d5, #7, ne
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcsel s3, s20, s9, pl
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcsel d9, d10, d11, mi
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcsel h26, h2, h11, hs
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov h18, h28
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmov s0, s1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs s2, s3
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-bf16-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-bf16-instructions.s
index 47d10900c037e..97c5b902dc519 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-bf16-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-bf16-instructions.s
@@ -39,7 +39,7 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: - - - - - - - - 3.00 4.00 3.50 4.50 -
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 4.50 4.50 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -53,4 +53,4 @@
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalb v0.4s, v0.8h, v0.h[3]
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalt v0.4s, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalt v0.4s, v0.8h, v0.h[3]
-# CHECK-NEXT: - - - - - - - - - 1.00 - 1.00 - bfmmla v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 - bfmmla v0.4s, v0.8h, v0.8h
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-crypto-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-crypto-instructions.s
index 1c22e3c81ee4b..d47f85166ad72 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-crypto-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-crypto-instructions.s
@@ -59,7 +59,7 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: - - - - - - - - 5.50 4.50 - - 109.00
+# CHECK-NEXT: - - - - - - - - 6.50 6.50 - - 109.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -67,7 +67,7 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aese z0.b, z0.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aesimc z0.b, z0.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aesmc z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - sha1h s0, s1
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sha1h s0, s1
# CHECK-NEXT: - - - - - - - - - - - - 2.00 sha1su1 v0.4s, v1.4s
# CHECK-NEXT: - - - - - - - - - - - - 2.00 sha256su0 v0.4s, v1.4s
# CHECK-NEXT: - - - - - - - - - - - - 2.00 sha1c q0, s1, v2.4s
@@ -82,7 +82,7 @@
# CHECK-NEXT: - - - - - - - - - - - - 7.00 sha512su0 v11.2d, v12.2d
# CHECK-NEXT: - - - - - - - - - - - - 7.00 sha512su1 v11.2d, v13.2d, v14.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor3 v25.16b, v12.16b, v7.16b, v2.16b
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - rax1 v30.2d, v29.2d, v26.2d
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - rax1 v30.2d, v29.2d, v26.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xar v26.2d, v21.2d, v27.2d, #63
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bcax v31.16b, v26.16b, v2.16b, v1.16b
# CHECK-NEXT: - - - - - - - - - - - - 7.00 sm3ss1 v20.4s, v23.4s, v21.4s, v22.4s
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-flag-manipulation-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-flag-manipulation-instructions.s
index 56a47db1b8e71..57eefc3cae962 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-flag-manipulation-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-flag-manipulation-instructions.s
@@ -41,13 +41,13 @@ xaflag
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 4.00 1.00 3.00 - - - - - - - - - -
+# CHECK-NEXT: 5.00 5.00 3.00 - - - - - - - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
-# CHECK-NEXT: 2.00 - - - - - - - - - - - - setf8 w1
-# CHECK-NEXT: 2.00 - - - - - - - - - - - - setf16 w1
-# CHECK-NEXT: - 1.00 - - - - - - - - - - - rmif x0, #0, #0
+# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - setf8 w1
+# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - setf16 w1
+# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - rmif x0, #0, #0
# CHECK-NEXT: - - 1.00 - - - - - - - - - - cfinv
# CHECK-NEXT: - - 1.00 - - - - - - - - - - axflag
# CHECK-NEXT: - - 1.00 - - - - - - - - - - xaflag
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-js-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-js-instructions.s
index d5cf5aa861165..f6d1b255bd6c3 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-js-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-js-instructions.s
@@ -29,8 +29,8 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: - - - - - - - - - 1.00 - - -
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fjcvtzs w25, d26
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fjcvtzs w25, d26
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-mte-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-mte-instructions.s
index 1454c06ac8225..31b3ca323215b 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-mte-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-mte-instructions.s
@@ -133,15 +133,15 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 25.00 10.00 - - 1.50 113.50 - - - - - - -
+# CHECK-NEXT: 25.00 25.00 - - 13.50 113.50 - - - - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
-# CHECK-NEXT: 3.00 - - - - - - - - - - - - irg x0, x1
-# CHECK-NEXT: 3.00 - - - - - - - - - - - - irg sp, x1
-# CHECK-NEXT: 3.00 - - - - - - - - - - - - irg x0, sp
-# CHECK-NEXT: 3.00 - - - - - - - - - - - - irg x0, x1, x2
-# CHECK-NEXT: 3.00 - - - - - - - - - - - - irg sp, x1, x2
+# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - irg x0, x1
+# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - irg sp, x1
+# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - irg x0, sp
+# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - irg x0, x1, x2
+# CHECK-NEXT: 3.00 3.00 - - - - - - - - - - - irg sp, x1, x2
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - addg x0, x1, #0, #1
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - addg sp, x2, #32, #3
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - addg x0, sp, #64, #5
@@ -233,9 +233,9 @@
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldg x0, [x1]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldg x2, [sp, #-4096]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldg x3, [x4, #4080]
-# CHECK-NEXT: - - - - - 4.00 - - - - - - - ldgm x0, [x1]
-# CHECK-NEXT: - - - - - 4.00 - - - - - - - ldgm x1, [sp]
-# CHECK-NEXT: - - - - - 4.00 - - - - - - - ldgm xzr, [x2]
+# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - ldgm x0, [x1]
+# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - ldgm x1, [sp]
+# CHECK-NEXT: - - - - 4.00 4.00 - - - - - - - ldgm xzr, [x2]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgm x0, [x1]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgm x1, [sp]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stgm xzr, [x2]
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s
index 6a0269544acd8..429556bc2f853 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s
@@ -1587,7 +1587,7 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: - - - - 13.50 545.50 - - 630.00 600.00 117.00 117.00 96.00
+# CHECK-NEXT: - - - - 13.50 545.50 - - 744.00 744.00 117.00 117.00 96.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -1611,11 +1611,11 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addp v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addp v0.8b, v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - addp d1, v14.2d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - addv s0, v0.4s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - addv h0, v0.4h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - addv h0, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - addv b0, v0.8b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - addv b0, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - addv s0, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - addv h0, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - addv h0, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - addv b0, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - addv b0, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aesd v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aese v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - aesimc v0.16b, v0.16b
@@ -1895,17 +1895,17 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnmp v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnmp v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxnmp v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmaxnmv h0, v13.4h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmaxnmv h12, v11.8h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmaxnmv s28, v31.4s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fmaxnmv h0, v13.4h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fmaxnmv h12, v11.8h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fmaxnmv s28, v31.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxp v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxp v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxp v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxp h15, v25.2h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmaxp s6, v2.2s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmaxv h0, v0.4h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmaxv h0, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fmaxv s0, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fmaxv h0, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fmaxv h0, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fmaxv s0, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmin v0.4s, v0.4s, v0.4s
@@ -1917,17 +1917,17 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnmp v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnmp v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminnmp v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fminnmv h19, v25.4h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fminnmv h23, v17.8h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fminnmv s29, v17.4s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fminnmv h19, v25.4h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fminnmv h23, v17.8h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fminnmv s29, v17.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminp v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminp v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminp v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminp h7, v10.2h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fminp s17, v7.2s
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fminv h3, v30.4h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fminv h29, v12.8h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - fminv s16, v19.4s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fminv h3, v30.4h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fminv h29, v12.8h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fminv s16, v19.4s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla d0, d1, v0.d[1]
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla h23, h24, v15.h[4]
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fmla s0, s1, v0.s[3]
@@ -2256,12 +2256,12 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmul v0.8b, v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmull v0.8h, v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmull2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhn v0.2s, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhn v0.4h, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhn v0.8b, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhn2 v0.16b, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhn2 v0.4s, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - raddhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - raddhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - raddhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - raddhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - raddhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - raddhn2 v0.8h, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rev16 v21.8b, v1.8b
@@ -2282,19 +2282,19 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrn2 v0.16b, v0.8h, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrn2 v0.4s, v0.2d, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrn2 v0.8h, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhn v0.2s, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhn v0.4h, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhn v0.8b, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhn2 v0.16b, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhn2 v0.4s, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhn2 v0.8h, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - saba v0.16b, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - sabal v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - sabal v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - sabal v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - sabal2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - sabal2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - sabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - rsubhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - rsubhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - rsubhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - rsubhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - rsubhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - rsubhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - saba v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - sabal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - sabal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - sabal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - sabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - sabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - sabal2 v0.8h, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd v0.4h, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd v12.2s, v11.2s, v27.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl v0.2d, v0.2s, v0.2s
@@ -2303,12 +2303,12 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl2 v0.2d, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl2 v0.4s, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - sadalp v0.1d, v0.2s
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - sadalp v0.2d, v0.4s
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - sadalp v0.2s, v0.4h
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - sadalp v0.4h, v0.8b
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - sadalp v0.4s, v0.8h
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - sadalp v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - sadalp v0.1d, v0.2s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - sadalp v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - sadalp v0.2s, v0.4h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - sadalp v0.4h, v0.8b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - sadalp v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - sadalp v0.8h, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddl v0.2d, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddl v0.4s, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddl v0.8h, v0.8b, v0.8b
@@ -2321,11 +2321,11 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlp v0.4h, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlp v0.4s, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlp v0.8h, v0.16b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - saddlv d0, v0.4s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - saddlv s0, v0.4h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - saddlv s0, v0.8h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - saddlv h0, v0.8b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - saddlv h0, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - saddlv d0, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - saddlv s0, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - saddlv s0, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - saddlv h0, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - saddlv h0, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddw v0.2d, v0.2d, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddw v0.4s, v0.4s, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddw v0.8h, v0.8h, v0.8b
@@ -2392,22 +2392,22 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smaxp v0.4h, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smaxp v21.8h, v16.8h, v7.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smaxp v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - smaxv b0, v0.8b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - smaxv b0, v0.16b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - smaxv h0, v0.4h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - smaxv h0, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - smaxv s0, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - smaxv b0, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - smaxv b0, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - smaxv h0, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - smaxv h0, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - smaxv s0, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - smin v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sminp v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sminp v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sminp v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sminv b0, v0.8b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sminv b0, v0.16b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sminv h0, v0.4h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sminv h0, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - sminv s0, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sminv b0, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sminv b0, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sminv h0, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sminv h0, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sminv s0, v0.4s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlal v0.2d, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlal v0.2d, v25.2s, v1.s[1]
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - smlal v0.4s, v0.4h, v0.4h
@@ -2658,14 +2658,14 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr v0.4s, v0.4s, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr v0.8b, v0.8b, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr v0.8h, v0.8h, #3
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - srsra d15, d11, #19
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - srsra v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - srsra v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - srsra v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - srsra v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - srsra v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - srsra v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - srsra v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - srsra d15, d11, #19
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - srsra v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - srsra v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - srsra v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - srsra v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - srsra v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - srsra v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - srsra v0.8h, v0.8h, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshl d31, d31, d31
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshl v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshl v0.2s, v0.2s, v0.2s
@@ -2807,21 +2807,21 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - suqadd v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl v0.16b, { v0.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - tbl v0.16b, { v0.16b, v1.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - tbl v0.16b, { v0.16b, v1.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl v0.8b, { v0.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - tbl v0.8b, { v0.16b, v1.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - tbx v0.16b, { v0.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - tbx v0.16b, { v0.16b, v1.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - - 4.00 - - - tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - 5.00 - - - - tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
-# CHECK-NEXT: - - - - - - - - - 2.00 - - - tbx v0.8b, { v0.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - tbx v0.8b, { v0.16b, v1.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - - 4.00 - - - tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
-# CHECK-NEXT: - - - - - - - - 5.00 - - - - tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - tbl v0.8b, { v0.16b, v1.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - tbx v0.16b, { v0.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - tbx v0.16b, { v0.16b, v1.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - tbx v0.8b, { v0.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - tbx v0.8b, { v0.16b, v1.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn1 v0.2s, v0.2s, v0.2s
@@ -2836,14 +2836,14 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 v0.8b, v0.8b, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - uaba v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - uaba v13.16b, v14.16b, v19.16b
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - uabal v0.2d, v0.2s, v0.2s
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - uabal v0.4s, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - uabal v0.8h, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - uabal2 v0.2d, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - uabal2 v0.4s, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - uabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uaba v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uaba v13.16b, v14.16b, v19.16b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uabal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uabal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uabal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uabal2 v0.8h, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd v0.4h, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd v23.4s, v4.4s, v30.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl v0.2d, v0.2s, v0.2s
@@ -2852,12 +2852,12 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl2 v0.2d, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl2 v0.4s, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdl2 v0.8h, v0.16b, v0.16b
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - uadalp v0.1d, v0.2s
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - uadalp v0.2d, v0.4s
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - uadalp v0.2s, v0.4h
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - uadalp v0.4h, v0.8b
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - uadalp v0.4s, v0.8h
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - uadalp v0.8h, v0.16b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uadalp v0.1d, v0.2s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uadalp v0.2d, v0.4s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uadalp v0.2s, v0.4h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uadalp v0.4h, v0.8b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uadalp v0.4s, v0.8h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uadalp v0.8h, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddl v0.2d, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddl v0.4s, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddl v0.8h, v0.8b, v0.8b
@@ -2870,11 +2870,11 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlp v0.4h, v0.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlp v0.4s, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlp v0.8h, v0.16b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - uaddlv d0, v0.4s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - uaddlv s0, v0.4h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - uaddlv s0, v0.8h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - uaddlv h0, v0.8b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - uaddlv h0, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uaddlv d0, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uaddlv s0, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uaddlv s0, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uaddlv h0, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uaddlv h0, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddw v0.2d, v0.2d, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddw v0.4s, v0.4s, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddw v0.8h, v0.8h, v0.8b
@@ -2913,11 +2913,11 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umaxp v0.16b, v0.16b, v0.16b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umaxp v0.4s, v0.4s, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umaxp v0.8h, v0.8h, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - umaxv b0, v0.8b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - umaxv b0, v0.16b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - umaxv h0, v0.4h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - umaxv h0, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - umaxv s0, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - umaxv b0, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - umaxv b0, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - umaxv h0, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - umaxv h0, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - umaxv s0, v0.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umin v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umin v0.4h, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - umin v0.8b, v0.8b, v0.8b
@@ -2926,11 +2926,11 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uminp v28.4s, v16.4s, v15.4s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uminp v0.4h, v0.4h, v0.4h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uminp v0.8b, v0.8b, v0.8b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uminv b0, v0.8b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uminv b0, v0.16b
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uminv h0, v0.4h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uminv h0, v0.8h
-# CHECK-NEXT: - - - - - - - - 1.00 - - - - uminv s0, v0.4s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uminv b0, v0.8b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uminv b0, v0.16b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uminv h0, v0.4h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uminv h0, v0.8h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uminv s0, v0.4s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlal v0.2d, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlal v28.2d, v31.2s, v0.s[1]
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - umlal v0.4s, v0.4h, v0.4h
@@ -3048,14 +3048,14 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr v0.8h, v0.8h, #3
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - ursqrte v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - ursqrte v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - ursra d18, d10, #13
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - ursra v0.16b, v0.16b, #3
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - ursra v0.2d, v0.2d, #3
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - ursra v0.2s, v0.2s, #3
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - ursra v0.4h, v0.4h, #3
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - ursra v0.4s, v0.4s, #3
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - ursra v0.8b, v0.8b, #3
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - ursra v0.8h, v0.8h, #3
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - ursra d18, d10, #13
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - ursra v0.16b, v0.16b, #3
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - ursra v0.2d, v0.2d, #3
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - ursra v0.2s, v0.2s, #3
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - ursra v0.4h, v0.4h, #3
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - ursra v0.4s, v0.4s, #3
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - ursra v0.8b, v0.8b, #3
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - ursra v0.8h, v0.8h, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushl d0, d0, d0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushl v6.8b, v26.8b, v6.8b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushl v0.16b, v0.16b, v0.16b
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
index 353996776e0c6..453409bbec8ef 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
@@ -3442,7 +3442,7 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 437.00 54.00 9.00 - 156.00 2269.00 - - 981.00 1080.00 208.00 197.00 690.00
+# CHECK-NEXT: 437.00 54.00 9.00 - 221.00 2425.00 - - 1177.00 1258.00 215.00 215.00 690.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -3624,7 +3624,7 @@
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalt z0.s, z1.h, z2.h[7]
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalt z0.s, z1.h, z7.h[7]
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - bfmlalt z14.s, z10.h, z21.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - 1.00 - bfmmla z0.s, z1.h, z2.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 1.00 1.00 - bfmmla z0.s, z1.h, z2.h
# CHECK-NEXT: - - - - - - - - - - - - 11.00 bgrp z0.b, z1.b, z31.b
# CHECK-NEXT: - - - - - - - - - - - - 66.00 bgrp z0.d, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - - - - - 19.00 bgrp z0.h, z1.h, z31.h
@@ -3682,10 +3682,10 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta d0, p7, d0, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta h0, p7, h0, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta s0, p7, s0, z31.s
-# CHECK-NEXT: - - - - - - - - - 4.00 - - - clasta w0, p7, w0, z31.b
-# CHECK-NEXT: - - - - - - - - - 4.00 - - - clasta w0, p7, w0, z31.h
-# CHECK-NEXT: - - - - - - - - - 4.00 - - - clasta w0, p7, w0, z31.s
-# CHECK-NEXT: - - - - - - - - - 4.00 - - - clasta x0, p7, x0, z31.d
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - clasta w0, p7, w0, z31.b
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - clasta w0, p7, w0, z31.h
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - clasta w0, p7, w0, z31.s
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - clasta x0, p7, x0, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta z0.b, p7, z0.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta z0.d, p7, z0.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clasta z0.h, p7, z0.h, z31.h
@@ -3694,10 +3694,10 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb d0, p7, d0, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb h0, p7, h0, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb s0, p7, s0, z31.s
-# CHECK-NEXT: - - - - - - - - - 4.00 - - - clastb w0, p7, w0, z31.b
-# CHECK-NEXT: - - - - - - - - - 4.00 - - - clastb w0, p7, w0, z31.h
-# CHECK-NEXT: - - - - - - - - - 4.00 - - - clastb w0, p7, w0, z31.s
-# CHECK-NEXT: - - - - - - - - - 4.00 - - - clastb x0, p7, x0, z31.d
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - clastb w0, p7, w0, z31.b
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - clastb w0, p7, w0, z31.h
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - clastb w0, p7, w0, z31.s
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - clastb x0, p7, x0, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb z0.b, p7, z0.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb z0.d, p7, z0.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - clastb z0.h, p7, z0.h, z31.h
@@ -3885,9 +3885,9 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnot z31.h, p7/m, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnot z31.s, p7/m, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnt z31.b, p7/m, z31.b
-# CHECK-NEXT: - - - - - - - - - 7.00 - - - cnt z31.d, p7/m, z31.d
+# CHECK-NEXT: - - - - - - - - 7.00 7.00 - - - cnt z31.d, p7/m, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnt z31.h, p7/m, z31.h
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - cnt z31.s, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - cnt z31.s, p7/m, z31.s
# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntb x0
# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntb x0, #28
# CHECK-NEXT: 1.00 - - - - - - - - - - - - cntb x0, all, mul #16
@@ -3992,18 +3992,18 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs z31.d, p7/m, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs z31.h, p7/m, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fabs z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - facge p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - facge p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - facge p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - facge p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - facge p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - facge p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - facgt p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - facgt p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - facgt p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - facgt p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - facgt p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - facgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facge p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facge p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facge p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facgt p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facgt p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facgt p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - facgt p0.s, p0/z, z1.s, z0.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z0.d, p0/m, z0.d, #0.5
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z0.d, p7/m, z0.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z0.d, z1.d, z31.d
@@ -4016,9 +4016,9 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z31.d, p7/m, z31.d, #1.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z31.h, p7/m, z31.h, #1.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z31.s, p7/m, z31.s, #1.0
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - fadda d0, p7, d0, z31.d
-# CHECK-NEXT: - - - - - - - - 25.00 - - - - fadda h0, p7, h0, z31.h
-# CHECK-NEXT: - - - - - - - - - 9.00 - - - fadda s0, p7, s0, z31.s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - fadda d0, p7, d0, z31.d
+# CHECK-NEXT: - - - - - - - - 25.00 25.00 - - - fadda h0, p7, h0, z31.h
+# CHECK-NEXT: - - - - - - - - 9.00 9.00 - - - fadda s0, p7, s0, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z29.s, p3/m, z29.s, z30.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z31.d, p7/m, z31.d, z30.d
@@ -4031,30 +4031,30 @@
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcadd z31.d, p7/m, z31.d, z31.d, #270
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcadd z31.h, p7/m, z31.h, z31.h, #270
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcadd z31.s, p7/m, z31.s, z31.s, #270
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmeq p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmeq p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmeq p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmeq p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmeq p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmeq p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmge p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmge p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmge p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmge p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmge p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmge p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmge p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmge p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmge p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmgt p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmgt p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmgt p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmgt p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmgt p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmgt p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmgt p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmgt p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmeq p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmeq p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmeq p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmeq p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmeq p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmeq p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmgt p0.s, p0/z, z1.s, z0.s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z0.d, p0/m, z0.d, z0.d, #0
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z0.d, p0/m, z1.d, z2.d, #90
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z0.h, p0/m, z0.h, z0.h, #0
@@ -4071,21 +4071,21 @@
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z31.h, p7/m, z31.h, z31.h, #270
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z31.h, z31.h, z7.h[3], #270
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcmla z31.s, p7/m, z31.s, z31.s, #270
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmle p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmle p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmle p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmlt p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmlt p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmlt p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmne p0.d, p0/z, z0.d, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmne p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmne p0.h, p0/z, z0.h, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmne p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmne p0.s, p0/z, z0.s, #0.0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmne p0.s, p0/z, z0.s, z1.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmuo p0.d, p0/z, z0.d, z1.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmuo p0.h, p0/z, z0.h, z1.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - fcmuo p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmle p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmle p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmle p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmlt p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmlt p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmlt p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmne p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmne p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmne p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmne p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmne p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmne p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmuo p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmuo p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - fcmuo p0.s, p0/z, z0.s, z1.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt z0.d, p0/m, z0.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt z0.d, p0/m, z0.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvt z0.h, p0/m, z0.d
@@ -4375,35 +4375,35 @@
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z0.b, #0, #0
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z0.d, #0, #0
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z0.h, #0, #0
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z0.h, w0, w0
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z0.h, w0, w0
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z0.s, #0, #0
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z21.b, w10, w21
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - index z21.d, x10, x21
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z21.s, w10, w21
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z23.b, #13, w8
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z23.b, w13, #8
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - index z23.d, #13, x8
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - index z23.d, x13, #8
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z23.h, #13, w8
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z23.h, w13, #8
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z23.s, #13, w8
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z23.s, w13, #8
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z21.b, w10, w21
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z21.d, x10, x21
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z21.s, w10, w21
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z23.b, #13, w8
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z23.b, w13, #8
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z23.d, #13, x8
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z23.d, x13, #8
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z23.h, #13, w8
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z23.h, w13, #8
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z23.s, #13, w8
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z23.s, w13, #8
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.b, #-1, #-1
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z31.b, #-1, wzr
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z31.b, wzr, #-1
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z31.b, wzr, wzr
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z31.b, #-1, wzr
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z31.b, wzr, #-1
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z31.b, wzr, wzr
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.d, #-1, #-1
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - index z31.d, #-1, xzr
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - index z31.d, xzr, #-1
-# CHECK-NEXT: - - - - - - - - - - - 1.00 - index z31.d, xzr, xzr
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z31.d, #-1, xzr
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z31.d, xzr, #-1
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z31.d, xzr, xzr
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.h, #-1, #-1
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z31.h, #-1, wzr
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z31.h, wzr, #-1
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z31.h, wzr, wzr
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z31.h, #-1, wzr
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z31.h, wzr, #-1
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z31.h, wzr, wzr
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - index z31.s, #-1, #-1
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z31.s, #-1, wzr
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z31.s, wzr, #-1
-# CHECK-NEXT: - - - - - - - - - - 1.00 - - index z31.s, wzr, wzr
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z31.s, #-1, wzr
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z31.s, wzr, #-1
+# CHECK-NEXT: - - - - - - - - - - 1.00 1.00 - index z31.s, wzr, wzr
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z0.b, w0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z0.d, x0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - insr z0.h, w0
@@ -4420,213 +4420,213 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lasta d0, p7, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lasta h0, p7, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lasta s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - lasta w0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - lasta w0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - lasta w0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - lasta x0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - lasta w0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - lasta w0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - lasta w0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - lasta x0, p7, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lastb b0, p7, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lastb d0, p7, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lastb h0, p7, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lastb s0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - lastb w0, p7, z31.b
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - lastb w0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - lastb w0, p7, z31.s
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - lastb x0, p7, z31.d
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1b { z0.b }, p0/z, [sp, x0]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1b { z0.b }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z0.b }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - lastb w0, p7, z31.b
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - lastb w0, p7, z31.h
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - lastb w0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - lastb x0, p7, z31.d
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1b { z0.b }, p0/z, [sp, x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1b { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1b { z0.d }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1b { z0.h }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1b { z0.s }, p0/z, [x0]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1b { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z21.b }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1b { z21.b }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1b { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1b { z21.s }, p5/z, [x10, x21]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1b { z23.d }, p3/z, [x13, x8]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z31.b }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1b { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1b { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1b { z21.s }, p5/z, [x10, x21]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1b { z23.d }, p3/z, [x13, x8]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1b { z31.b }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1b { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1b { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1b { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1b { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1b { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1b { z31.s }, p7/z, [z31.s, #31]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1b { z5.h }, p3/z, [x17, x16]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1b { z5.h }, p3/z, [x17, x16]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1d { z0.d }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1d { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1d { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1d { z23.d }, p3/z, [sp, x8, lsl #3]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1d { z23.d }, p3/z, [x13, x8, lsl #3]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1d { z23.d }, p3/z, [sp, x8, lsl #3]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1d { z23.d }, p3/z, [x13, x8, lsl #3]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1d { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1d { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1d { z31.d }, p7/z, [z31.d, #248]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1h { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1h { z0.d }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1h { z0.h }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1h { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1h { z0.s }, p0/z, [x0]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1h { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1h { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1h { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1h { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1h { z21.s }, p5/z, [x10, x21, lsl #1]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1h { z23.d }, p3/z, [x13, x8, lsl #1]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1h { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1h { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1h { z21.s }, p5/z, [x10, x21, lsl #1]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1h { z23.d }, p3/z, [x13, x8, lsl #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1h { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1h { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1h { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1h { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1h { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1h { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1h { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1h { z31.s }, p7/z, [z31.s, #62]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1h { z5.h }, p3/z, [sp, x16, lsl #1]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1h { z5.h }, p3/z, [x17, x16, lsl #1]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rb { z0.b }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rb { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rb { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rb { z31.b }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rb { z31.d }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rb { z31.h }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rb { z31.s }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rd { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rd { z31.d }, p7/z, [sp, #504]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rh { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rh { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rh { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rh { z31.d }, p7/z, [sp, #126]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rh { z31.h }, p7/z, [sp, #126]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rh { z31.s }, p7/z, [sp, #126]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1rqb { z0.b }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqb { z0.b }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqb { z21.b }, p5/z, [x10, #112]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqb { z23.b }, p3/z, [x13, #-128]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqb { z31.b }, p7/z, [sp, #-16]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqd { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqd { z23.d }, p3/z, [x13, #-128]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqd { z23.d }, p3/z, [x13, #112]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqd { z31.d }, p7/z, [sp, #-16]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqh { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqh { z23.h }, p3/z, [x13, #-128]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqh { z23.h }, p3/z, [x13, #112]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqh { z31.h }, p7/z, [sp, #-16]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqw { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqw { z23.s }, p3/z, [x13, #-128]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqw { z23.s }, p3/z, [x13, #112]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rqw { z31.s }, p7/z, [sp, #-16]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsb { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsb { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsb { z31.d }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsb { z31.h }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsb { z31.s }, p7/z, [sp, #63]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsh { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsh { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsh { z31.d }, p7/z, [sp, #126]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsh { z31.s }, p7/z, [sp, #126]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsw { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rsw { z31.d }, p7/z, [sp, #252]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rw { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rw { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rw { z31.d }, p7/z, [sp, #252]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1rw { z31.s }, p7/z, [sp, #252]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1h { z5.h }, p3/z, [sp, x16, lsl #1]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1h { z5.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rb { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rb { z31.b }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rb { z31.d }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rb { z31.h }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rb { z31.s }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rd { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rd { z31.d }, p7/z, [sp, #504]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rh { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rh { z31.d }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rh { z31.h }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rh { z31.s }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqb { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqb { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqb { z21.b }, p5/z, [x10, #112]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqb { z23.b }, p3/z, [x13, #-128]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqb { z31.b }, p7/z, [sp, #-16]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqd { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqd { z23.d }, p3/z, [x13, #-128]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqd { z23.d }, p3/z, [x13, #112]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqd { z31.d }, p7/z, [sp, #-16]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqh { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqh { z23.h }, p3/z, [x13, #-128]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqh { z23.h }, p3/z, [x13, #112]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqh { z31.h }, p7/z, [sp, #-16]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqw { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqw { z23.s }, p3/z, [x13, #-128]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqw { z23.s }, p3/z, [x13, #112]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rqw { z31.s }, p7/z, [sp, #-16]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rsb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rsb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rsb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rsb { z31.d }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rsb { z31.h }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rsb { z31.s }, p7/z, [sp, #63]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rsh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rsh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rsh { z31.d }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rsh { z31.s }, p7/z, [sp, #126]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rsw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rsw { z31.d }, p7/z, [sp, #252]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rw { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rw { z31.d }, p7/z, [sp, #252]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1rw { z31.s }, p7/z, [sp, #252]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sb { z0.d }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sb { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1sb { z0.h }, p0/z, [sp, x0]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1sb { z0.h }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sb { z0.h }, p0/z, [sp, x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sb { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sb { z0.h }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sb { z0.s }, p0/z, [x0]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sb { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sb { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sb { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sb { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sb { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1sb { z21.s }, p5/z, [x10, x21]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1sb { z23.d }, p3/z, [x13, x8]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sb { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sb { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sb { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sb { z21.s }, p5/z, [x10, x21]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sb { z23.d }, p3/z, [x13, x8]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sb { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sb { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sb { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sb { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sb { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sb { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sb { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sb { z31.s }, p7/z, [z31.s, #31]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sh { z0.d }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sh { z0.s }, p0/z, [x0]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sh { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sh { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1sh { z21.s }, p5/z, [sp, x21, lsl #1]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sh { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1sh { z21.s }, p5/z, [x10, x21, lsl #1]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1sh { z23.d }, p3/z, [x13, x8, lsl #1]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sh { z21.s }, p5/z, [sp, x21, lsl #1]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sh { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sh { z21.s }, p5/z, [x10, x21, lsl #1]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sh { z23.d }, p3/z, [x13, x8, lsl #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sh { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sh { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sh { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sh { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sh { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1sh { z31.s }, p7/z, [z31.s, #62]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sw { z0.d }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sw { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sw { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1sw { z23.d }, p3/z, [sp, x8, lsl #2]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1sw { z23.d }, p3/z, [x13, x8, lsl #2]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sw { z23.d }, p3/z, [sp, x8, lsl #2]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sw { z23.d }, p3/z, [x13, x8, lsl #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1sw { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1sw { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1sw { z31.d }, p7/z, [z31.d, #124]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1w { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1w { z0.d }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1w { z0.s }, p0/z, [x0]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1w { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1w { z21.d }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1w { z21.s }, p5/z, [sp, x21, lsl #2]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1w { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1w { z21.s }, p5/z, [x10, x21, lsl #2]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ld1w { z23.d }, p3/z, [x13, x8, lsl #2]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1w { z21.s }, p5/z, [sp, x21, lsl #2]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1w { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1w { z21.s }, p5/z, [x10, x21, lsl #2]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1w { z23.d }, p3/z, [x13, x8, lsl #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1w { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1w { z31.d }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z31.d }, p7/z, [sp, z31.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ld1w { z31.d }, p7/z, [z31.d, #124]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ld1w { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ld1w { z31.s }, p7/z, [sp, #-1, mul vl]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ld1w { z31.s }, p7/z, [z31.s, #124]
@@ -4690,23 +4690,23 @@
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4w { z21.s - z24.s }, p5/z, [x10, #20, mul vl]
# CHECK-NEXT: - - - - - 3.00 - - - - - - - ld4w { z23.s - z26.s }, p3/z, [x13, #-32, mul vl]
# CHECK-NEXT: - - - - - 4.00 - - - - - - - ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1b { z0.d }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1b { z0.d }, p0/z, [x0, x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1b { z0.h }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1b { z0.s }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1b { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1b { z0.s }, p0/z, [x0, x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z0.s }, p0/z, [x0, z0.s, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1b { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1b { z31.b }, p7/z, [sp]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1b { z31.b }, p7/z, [sp]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1b { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1b { z31.d }, p7/z, [sp]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1b { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1b { z31.h }, p7/z, [sp]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1b { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1b { z31.h }, p7/z, [sp]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1b { z31.s }, p7/z, [sp]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1b { z31.s }, p7/z, [z31.s, #31]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1d { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1d { z0.d }, p0/z, [x0, x0, lsl #3]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z0.d }, p0/z, [z0.d]
@@ -4714,14 +4714,14 @@
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1d { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1d { z31.d }, p7/z, [sp]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1d { z31.d }, p7/z, [z31.d, #248]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1h { z0.d }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1h { z0.d }, p0/z, [x0, x0, lsl #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1h { z0.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1h { z0.s }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1h { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1h { z0.s }, p0/z, [x0, x0, lsl #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z0.s }, p0/z, [z0.s]
@@ -4729,33 +4729,33 @@
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1h { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1h { z31.d }, p7/z, [sp]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1h { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1h { z31.h }, p7/z, [sp]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1h { z31.h }, p7/z, [sp]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1h { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1h { z31.s }, p7/z, [sp]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1h { z31.s }, p7/z, [z31.s, #62]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sb { z0.d }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1sb { z0.d }, p0/z, [x0, x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sb { z0.h }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1sb { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sb { z0.s }, p0/z, [z0.s]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sb { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1sb { z31.d }, p7/z, [sp]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sb { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sb { z31.h }, p7/z, [sp]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sb { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1sb { z31.h }, p7/z, [sp]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1sb { z31.s }, p7/z, [sp]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sb { z31.s }, p7/z, [z31.s, #31]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z0.s }, p0/z, [z0.s]
@@ -4763,13 +4763,13 @@
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sh { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1sh { z31.d }, p7/z, [sp]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sh { z31.d }, p7/z, [z31.d, #62]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sh { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1sh { z31.s }, p7/z, [sp]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1sh { z31.s }, p7/z, [z31.s, #62]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z0.d }, p0/z, [z0.d]
@@ -4777,13 +4777,13 @@
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1sw { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1sw { z31.d }, p7/z, [sp]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1sw { z31.d }, p7/z, [z31.d, #124]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1w { z0.d }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1w { z0.d }, p0/z, [x0, x0, lsl #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1w { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1w { z0.s }, p0/z, [x0, x0, lsl #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z0.s }, p0/z, [z0.s]
@@ -4791,83 +4791,83 @@
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1w { z31.d }, p7/z, [sp]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1w { z31.d }, p7/z, [sp]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldff1w { z31.d }, p7/z, [z31.d, #124]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldff1w { z31.s }, p7/z, [sp]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldff1w { z31.s }, p7/z, [sp]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldff1w { z31.s }, p7/z, [z31.s, #124]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z0.b }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z21.b }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z31.b }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1b { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1d { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1d { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1d { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1h { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1h { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1h { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1h { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1h { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1h { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1h { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1h { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1h { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sb { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sb { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sb { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sb { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sb { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sb { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sb { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sb { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sh { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sh { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sh { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sh { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sh { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sh { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sw { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sw { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1sw { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1w { z0.d }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1w { z0.s }, p0/z, [x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1w { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1w { z21.s }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1w { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnf1w { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1b { z0.b }, p0/z, [x0, x0]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1b { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1b { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1b { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1b { z21.b }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1b { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1b { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1b { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1b { z31.b }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1b { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1b { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1b { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1d { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1d { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1h { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1h { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1h { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1h { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1h { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1h { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1h { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1h { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1sb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1sb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1sb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1sb { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1sb { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1sb { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1sb { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1sb { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1sb { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1sh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1sh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1sh { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1sh { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1sh { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1sh { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1sw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1sw { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1sw { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1w { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1w { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1w { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1w { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnf1w { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnt1b { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnt1b { z0.b }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1b { z0.d }, p0/z, [z1.d]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1b { z0.s }, p0/z, [z1.s]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1b { z21.b }, p5/z, [x10, #7, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1b { z23.b }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnt1b { z21.b }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnt1b { z23.b }, p3/z, [x13, #-8, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1b { z31.d }, p7/z, [z31.d, x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1b { z31.d }, p7/z, [z31.d]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1b { z31.s }, p7/z, [z31.s, x0]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1b { z31.s }, p7/z, [z31.s]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnt1d { z0.d }, p0/z, [x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1d { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1d { z21.d }, p5/z, [x10, #7, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1d { z23.d }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnt1d { z21.d }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnt1d { z23.d }, p3/z, [x13, #-8, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1d { z31.d }, p7/z, [z31.d, x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1d { z31.d }, p7/z, [z31.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1h { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnt1h { z0.h }, p0/z, [x0]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1h { z0.s }, p0/z, [z1.s]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1h { z21.h }, p5/z, [x10, #7, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1h { z23.h }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnt1h { z21.h }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnt1h { z23.h }, p3/z, [x13, #-8, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1h { z31.d }, p7/z, [z31.d, x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1h { z31.d }, p7/z, [z31.d]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1h { z31.s }, p7/z, [z31.s, x0]
@@ -4888,11 +4888,11 @@
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1sw { z31.d }, p7/z, [z31.d, x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1sw { z31.d }, p7/z, [z31.d]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1w { z0.d }, p0/z, [z1.d]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnt1w { z0.s }, p0/z, [x0]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1w { z0.s }, p0/z, [z1.s]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1w { z21.s }, p5/z, [x10, #7, mul vl]
-# CHECK-NEXT: - - - - 1.00 - - - - - - - - ldnt1w { z23.s }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnt1w { z21.s }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnt1w { z23.s }, p3/z, [x13, #-8, mul vl]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1w { z31.d }, p7/z, [z31.d, x0]
# CHECK-NEXT: - - - - - 6.00 - - - - - - - ldnt1w { z31.d }, p7/z, [z31.d]
# CHECK-NEXT: - - - - - 7.00 - - - - - - - ldnt1w { z31.s }, p7/z, [z31.s, x0]
@@ -4900,9 +4900,9 @@
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldr p0, [x0]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldr p5, [x10, #255, mul vl]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldr p7, [x13, #-256, mul vl]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldr z0, [x0]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldr z23, [x13, #255, mul vl]
-# CHECK-NEXT: - - - - - 1.00 - - - - - - - ldr z31, [sp, #-256, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr z0, [x0]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr z23, [x13, #255, mul vl]
+# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldr z31, [sp, #-256, mul vl]
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.b, p0/m, z0.b, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.b, p0/m, z0.b, z0.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - lsl z0.b, p0/m, z0.b, z1.d
@@ -4967,10 +4967,10 @@
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mad z0.d, p7/m, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mad z0.h, p7/m, z1.h, z31.h
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mad z0.s, p7/m, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - match p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - match p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - match p15.b, p7/z, z30.b, z31.b
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - match p15.h, p7/z, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - match p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - match p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - match p15.b, p7/z, z30.b, z31.b
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - match p15.h, p7/z, z30.h, z31.h
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla z0.b, p7/m, z1.b, z31.b
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla z0.d, p7/m, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - mla z0.d, z1.d, z7.d[1]
@@ -5137,10 +5137,10 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z31.d, p7/m, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z31.h, p7/m, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - neg z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - nmatch p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - nmatch p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - nmatch p15.b, p7/z, z30.b, z31.b
-# CHECK-NEXT: - - - - - - - - 4.00 - - - - nmatch p15.h, p7/z, z30.h, z31.h
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - nmatch p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - nmatch p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - nmatch p15.b, p7/z, z30.b, z31.b
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - nmatch p15.h, p7/z, z30.h, z31.h
# CHECK-NEXT: 1.00 - - - - - - - - - - - - nor p0.b, p0/z, p0.b, p0.b
# CHECK-NEXT: 1.00 - - - - - - - - - - - - nor p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1.00 - - - - - - - - - - - - nors p0.b, p0/z, p0.b, p0.b
@@ -5384,12 +5384,12 @@
# CHECK-NEXT: 1.00 - - - - - - - - - - - - punpkhi p15.h, p15.b
# CHECK-NEXT: 1.00 - - - - - - - - - - - - punpklo p0.h, p0.b
# CHECK-NEXT: 1.00 - - - - - - - - - - - - punpklo p15.h, p15.b
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhnb z0.b, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhnb z0.h, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhnb z0.s, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhnt z0.b, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhnt z0.h, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - raddhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - raddhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - raddhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - raddhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - raddhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - raddhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - raddhnt z0.s, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rax1 z0.d, z1.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit z0.b, p7/m, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rbit z0.d, p7/m, z31.d
@@ -5431,22 +5431,22 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrnt z31.b, z31.h, #8
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrnt z31.h, z31.s, #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - rshrnt z31.s, z31.d, #32
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhnb z0.b, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhnb z0.h, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhnb z0.s, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhnt z0.b, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhnt z0.h, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - rsubhnt z0.s, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - saba z0.b, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - saba z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - saba z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - saba z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - sabalb z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - sabalb z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - sabalb z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - sabalt z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - sabalt z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - sabalt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - rsubhnb z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - rsubhnb z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - rsubhnb z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - rsubhnt z0.b, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - rsubhnt z0.h, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - rsubhnt z0.s, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - saba z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - saba z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - saba z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - saba z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - sabalb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - sabalb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - sabalb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - sabalt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - sabalt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - sabalt z0.s, z1.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd z31.b, p7/m, z31.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd z31.d, p7/m, z31.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabd z31.h, p7/m, z31.h, z31.h
@@ -5457,9 +5457,9 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdlt z0.h, z1.b, z2.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdlt z29.s, z30.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sabdlt z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 4.00 - - - sadalp z0.h, p0/m, z1.b
-# CHECK-NEXT: - - - - - - - - - 4.00 - - - sadalp z29.s, p0/m, z30.h
-# CHECK-NEXT: - - - - - - - - - 4.00 - - - sadalp z30.d, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - sadalp z0.h, p0/m, z1.b
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - sadalp z29.s, p0/m, z30.h
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - sadalp z30.d, p7/m, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlb z0.h, z1.b, z2.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlb z29.s, z30.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - saddlb z31.d, z31.s, z31.s
@@ -6004,14 +6004,14 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr z31.d, p0/m, z31.d, #64
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr z31.h, p0/m, z31.h, #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - srshr z31.s, p0/m, z31.s, #32
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - srsra z0.b, z0.b, #1
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - srsra z0.d, z0.d, #1
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - srsra z0.h, z0.h, #1
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - srsra z0.s, z0.s, #1
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - srsra z31.b, z31.b, #8
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - srsra z31.d, z31.d, #64
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - srsra z31.h, z31.h, #16
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - srsra z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - srsra z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - srsra z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - srsra z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - srsra z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - srsra z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - srsra z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - srsra z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - srsra z31.s, z31.s, #32
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllb z0.d, z0.s, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllb z0.h, z0.b, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sshllb z0.s, z0.h, #0
@@ -6325,11 +6325,11 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxtw z0.d, p0/m, z0.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxtw z31.d, p7/m, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z28.b, { z29.b, z30.b }, z31.b
-# CHECK-NEXT: - - - - - - - - 5.00 - - - - tbl z28.d, { z29.d, z30.d }, z31.d
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - tbl z28.d, { z29.d, z30.d }, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z28.h, { z29.h, z30.h }, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z28.s, { z29.s, z30.s }, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z31.b, { z31.b }, z31.b
-# CHECK-NEXT: - - - - - - - - 5.00 - - - - tbl z31.d, { z31.d }, z31.d
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - tbl z31.d, { z31.d }, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z31.h, { z31.h }, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z31.s, { z31.s }, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx z31.b, z31.b, z31.b
@@ -6352,16 +6352,16 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 z31.d, z31.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 z31.h, z31.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - trn2 z31.s, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - uaba z0.b, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - uaba z0.d, z1.d, z31.d
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - uaba z0.h, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - uaba z0.s, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - uabalb z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - uabalb z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - uabalb z0.s, z1.h, z31.h
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - uabalt z0.d, z1.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - uabalt z0.h, z1.b, z31.b
-# CHECK-NEXT: - - - - - - - - - 3.00 - - - uabalt z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uaba z0.b, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uaba z0.d, z1.d, z31.d
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uaba z0.h, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uaba z0.s, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uabalb z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uabalb z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uabalb z0.s, z1.h, z31.h
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uabalt z0.d, z1.s, z31.s
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uabalt z0.h, z1.b, z31.b
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - uabalt z0.s, z1.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd z31.b, p7/m, z31.b, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd z31.d, p7/m, z31.d, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabd z31.h, p7/m, z31.h, z31.h
@@ -6372,9 +6372,9 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdlt z0.h, z1.b, z2.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdlt z29.s, z30.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uabdlt z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - 4.00 - - - uadalp z0.h, p0/m, z1.b
-# CHECK-NEXT: - - - - - - - - - 4.00 - - - uadalp z29.s, p0/m, z30.h
-# CHECK-NEXT: - - - - - - - - - 4.00 - - - uadalp z30.d, p7/m, z31.s
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - uadalp z0.h, p0/m, z1.b
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - uadalp z29.s, p0/m, z30.h
+# CHECK-NEXT: - - - - - - - - 4.00 4.00 - - - uadalp z30.d, p7/m, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlb z0.h, z1.b, z2.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlb z29.s, z30.h, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uaddlb z31.d, z31.s, z31.s
@@ -6721,14 +6721,14 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr z31.h, p0/m, z31.h, #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - urshr z31.s, p0/m, z31.s, #32
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - ursqrte z31.s, p7/m, z31.s
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - ursra z0.b, z0.b, #1
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - ursra z0.d, z0.d, #1
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - ursra z0.h, z0.h, #1
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - ursra z0.s, z0.s, #1
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - ursra z31.b, z31.b, #8
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - ursra z31.d, z31.d, #64
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - ursra z31.h, z31.h, #16
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - ursra z31.s, z31.s, #32
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - ursra z0.b, z0.b, #1
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - ursra z0.d, z0.d, #1
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - ursra z0.h, z0.h, #1
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - ursra z0.s, z0.s, #1
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - ursra z31.b, z31.b, #8
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - ursra z31.d, z31.d, #64
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - ursra z31.h, z31.h, #16
+# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - ursra z31.s, z31.s, #32
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllb z0.d, z0.s, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllb z0.h, z0.b, #0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - ushllb z0.s, z0.h, #0
>From 3edbc1f3dc0d3dff1c6b4a06236f3539e180318b Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Fri, 1 May 2026 12:02:30 +0100
Subject: [PATCH 14/22] Fix PMULL[BT} and FADDA throughputs
---
llvm/lib/Target/AArch64/AArch64SchedC1Nano.td | 6 +++---
.../AArch64/Cortex/C1Nano-sve-instructions.s | 14 +++++++-------
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
index 3654d2914692b..40fd17a14402c 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
@@ -1298,9 +1298,9 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^SQRDMULH_ZZZ_[BHS]",
def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "^SQRDMULH_ZZZI?_D")>;
// Multiply/multiply long, (8x8) polynomial
-def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^PMUL_ZZZ_B")>;
+def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^PMUL_ZZZ_B", "^PMULL[BT]_ZZZ_H")>;
-def : InstRW<[C1NanoMCWrite<9, 7, C1NanoUnitVMC>], (instregex "^PMULL[BT]_ZZZ_[HDQ]")>;
+def : InstRW<[C1NanoMCWrite<9, 7, C1NanoUnitVMC>], (instregex "^PMULL[BT]_ZZZ_[DQ]")>;
// Predicate counting vector
@@ -1375,7 +1375,7 @@ def : InstRW<[C1NanoMC2Write<16, 9, C1NanoUnitVALU>], (instrs FADDA_VPZ_S)>;
// Floating point associative add, F64
// RThoughput should be 5/2 but we cannot have fractional values so using 3
-def : InstRW<[C1NanoMC2Write<8, 3, C1NanoUnitVALU>], (instrs FADDA_VPZ_D)>;
+def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnitVALU>], (instrs FADDA_VPZ_D)>;
// Floating point compare
def : InstRW<[C1NanoMC2Write<4, 1, C1NanoUnitVALU>], (instregex "^FACG[ET]_PPzZZ_[HSD]",
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
index 453409bbec8ef..aa02f44df8ece 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
@@ -580,7 +580,7 @@
# CHECK-NEXT: 1 4 0.50 fadd z31.d, p7/m, z31.d, #1.0
# CHECK-NEXT: 1 4 0.50 fadd z31.h, p7/m, z31.h, #1.0
# CHECK-NEXT: 1 4 0.50 fadd z31.s, p7/m, z31.s, #1.0
-# CHECK-NEXT: 1 8 3.00 fadda d0, p7, d0, z31.d
+# CHECK-NEXT: 1 8 2.50 fadda d0, p7, d0, z31.d
# CHECK-NEXT: 1 32 25.00 fadda h0, p7, h0, z31.h
# CHECK-NEXT: 1 16 9.00 fadda s0, p7, s0, z31.s
# CHECK-NEXT: 1 4 0.50 faddp z0.h, p0/m, z0.h, z1.h
@@ -1745,10 +1745,10 @@
# CHECK-NEXT: 1 2 1.00 pfirst p15.b, p15, p15.b
# CHECK-NEXT: 1 3 0.50 pmul z0.b, z1.b, z2.b
# CHECK-NEXT: 1 3 0.50 pmul z29.b, z30.b, z31.b
-# CHECK-NEXT: 1 9 7.00 pmullb z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 3 0.50 pmullb z0.h, z1.b, z2.b
# CHECK-NEXT: 1 9 7.00 pmullb z29.q, z30.d, z31.d
# CHECK-NEXT: 1 9 7.00 pmullb z31.d, z31.s, z31.s
-# CHECK-NEXT: 1 9 7.00 pmullt z0.h, z1.b, z2.b
+# CHECK-NEXT: 1 3 0.50 pmullt z0.h, z1.b, z2.b
# CHECK-NEXT: 1 9 7.00 pmullt z29.q, z30.d, z31.d
# CHECK-NEXT: 1 9 7.00 pmullt z31.d, z31.s, z31.s
# CHECK-NEXT: 1 2 1.00 pnext p0.b, p15, p0.b
@@ -3442,7 +3442,7 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 437.00 54.00 9.00 - 221.00 2425.00 - - 1177.00 1258.00 215.00 215.00 690.00
+# CHECK-NEXT: 437.00 54.00 9.00 - 221.00 2425.00 - - 1177.50 1258.50 215.00 215.00 676.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -4016,7 +4016,7 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z31.d, p7/m, z31.d, #1.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z31.h, p7/m, z31.h, #1.0
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fadd z31.s, p7/m, z31.s, #1.0
-# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - fadda d0, p7, d0, z31.d
+# CHECK-NEXT: - - - - - - - - 2.50 2.50 - - - fadda d0, p7, d0, z31.d
# CHECK-NEXT: - - - - - - - - 25.00 25.00 - - - fadda h0, p7, h0, z31.h
# CHECK-NEXT: - - - - - - - - 9.00 9.00 - - - fadda s0, p7, s0, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z0.h, p0/m, z0.h, z1.h
@@ -5181,10 +5181,10 @@
# CHECK-NEXT: 1.00 - - - - - - - - - - - - pfirst p15.b, p15, p15.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmul z0.b, z1.b, z2.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmul z29.b, z30.b, z31.b
-# CHECK-NEXT: - - - - - - - - - - - - 7.00 pmullb z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmullb z0.h, z1.b, z2.b
# CHECK-NEXT: - - - - - - - - - - - - 7.00 pmullb z29.q, z30.d, z31.d
# CHECK-NEXT: - - - - - - - - - - - - 7.00 pmullb z31.d, z31.s, z31.s
-# CHECK-NEXT: - - - - - - - - - - - - 7.00 pmullt z0.h, z1.b, z2.b
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - pmullt z0.h, z1.b, z2.b
# CHECK-NEXT: - - - - - - - - - - - - 7.00 pmullt z29.q, z30.d, z31.d
# CHECK-NEXT: - - - - - - - - - - - - 7.00 pmullt z31.d, z31.s, z31.s
# CHECK-NEXT: 1.00 - - - - - - - - - - - - pnext p0.b, p15, p0.b
>From 50ac2db49998c4213cacddfe523bc34c463ab7fc Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Fri, 1 May 2026 15:23:40 +0100
Subject: [PATCH 15/22] Add support for LSR/LSL/ASL aliases
---
llvm/lib/Target/AArch64/AArch64SchedC1Nano.td | 15 +++++
.../Target/AArch64/AArch64SchedPredicates.td | 39 ++++++++++++
.../Cortex/C1Nano-basic-instructions.s | 62 +++++++++----------
3 files changed, 85 insertions(+), 31 deletions(-)
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
index 40fd17a14402c..0141885f35efd 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
@@ -291,6 +291,7 @@ def : InstRW<[C1NanoWriteALU0], (instregex "^(CCMN|CCMP)(W|X)(r|i)$")>;
// Variable shift
def : InstRW<[WriteI], (instregex "(ASR|LSL|LSR|ROR)V[WX]r")>;
+
// ROR (immediate) is implemented as an EXTR (EXTR Rd, Rs, Rs, #Imm).
// Keep EXTR's base latency, but model the ROR (immediate) as 1-cycle.
def C1NanoWriteExtrRORImm : SchedWriteVariant<[
@@ -298,6 +299,20 @@ def C1NanoWriteExtrRORImm : SchedWriteVariant<[
SchedVar<NoSchedPred, [WriteExtr]>]>;
def : InstRW<[C1NanoWriteExtrRORImm], (instrs EXTRWrri, EXTRXrri)>;
+// LSL/LSR (immediate) and UXTB are implemented as UBFM aliases.
+// Keep UBFM's base latency, but model these aliases as 1-cycle.
+def C1NanoWriteISFastUBFMImm : SchedWriteVariant<[
+ SchedVar<IsFastUBFMImmPred, [WriteI]>,
+ SchedVar<NoSchedPred, [WriteIS]>]>;
+def : InstRW<[C1NanoWriteISFastUBFMImm], (instrs UBFMWri, UBFMXri)>;
+
+// ASR (immediate) is implemented as an SBFM alias.
+// Keep SBFM's base latency, but model ASR (immediate) as 1-cycle.
+def C1NanoWriteISFastSBFMImm : SchedWriteVariant<[
+ SchedVar<IsFastSBFMImmPred, [WriteI]>,
+ SchedVar<NoSchedPred, [WriteIS]>]>;
+def : InstRW<[C1NanoWriteISFastSBFMImm], (instrs SBFMWri, SBFMXri)>;
+
// FP conditional compare
def : InstRW<[C1NanoMC2Write<5, 5, C1NanoUnitVALU>], (instregex "FCCMP")>;
diff --git a/llvm/lib/Target/AArch64/AArch64SchedPredicates.td b/llvm/lib/Target/AArch64/AArch64SchedPredicates.td
index 1a0502e2b4c32..14ca4511fd1c3 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedPredicates.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedPredicates.td
@@ -345,6 +345,45 @@ def IsRORImmIdiomPred : MCSchedPredicate< // EXTR Rd, Rs, Rs, #Imm
CheckAll<[CheckOpcode<[EXTRWrri, EXTRXrri]>,
CheckSameRegOperand<1, 2>]>>;
+// LSL Rd, Rn, #s alias of UBFM Rd, Rn, #(N-s), #(N-s-1)
+class IsUBFMLSLImm<Instruction Opc, int Width> : CheckAll<[
+ CheckOpcode<[Opc]>,
+ CheckAny<!foreach(Shift, !range(1, Width),
+ CheckAll<[CheckImmOperand<2, !sub(Width, Shift)>,
+ CheckImmOperand<3, !sub(!sub(Width, Shift), 1)>]>)>]>;
+
+// LSR Rd, Rn, #s alias of UBFM Rd, Rn, #s, #(N-1)
+class IsUBFMLSRImm<Instruction Opc, int Width> : CheckAll<[
+ CheckOpcode<[Opc]>,
+ CheckImmOperandRange<2, 0, !sub(Width, 1)>,
+ CheckImmOperand<3, !sub(Width, 1)>]>;
+
+// UXTB Wd, Wn alias of UBFM Wd, Wn, #0, #7
+class IsUBFMUXTBImm<Instruction Opc> : CheckAll<[
+ CheckOpcode<[Opc]>,
+ CheckImmOperand<2, 0>,
+ CheckImmOperand<3, 7>]>;
+
+// ASR Rd, Rn, #s alias of SBFM Rd, Rn, #s, #(N-1)
+class IsSBFMASRImm<Instruction Opc, int Width> : CheckAll<[
+ CheckOpcode<[Opc]>,
+ CheckImmOperandRange<2, 0, !sub(Width, 1)>,
+ CheckImmOperand<3, !sub(Width, 1)>]>;
+
+// Identify UBFM as the alias for LSL/LSR/UXTB (immediate).
+def IsFastUBFMImmPred : MCSchedPredicate<CheckAny<[
+ IsUBFMLSLImm<UBFMWri, 32>,
+ IsUBFMLSLImm<UBFMXri, 64>,
+ IsUBFMLSRImm<UBFMWri, 32>,
+ IsUBFMLSRImm<UBFMXri, 64>,
+ IsUBFMUXTBImm<UBFMWri>,
+ IsUBFMUXTBImm<UBFMXri> ]>>;
+
+// Identify SBFM as the alias for ASR (immediate).
+def IsFastSBFMImmPred : MCSchedPredicate<CheckAny<[
+ IsSBFMASRImm<SBFMWri, 32>,
+ IsSBFMASRImm<SBFMXri, 64> ]>>;
+
// Identify whether destination operand is a W-form register.
def CheckIsWRegOp0 : CheckAll<[
CheckIsRegOperand<0>,
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
index 5717f45e76e12..4e9626948d0f7 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
@@ -243,13 +243,13 @@
# 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 1 0.50 asr x3, x4, #63
+# CHECK-NEXT: 1 1 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 1 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
@@ -259,32 +259,32 @@
# 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 1 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 1 0.50 asr w3, w2, #0
+# CHECK-NEXT: 1 1 0.50 asr w9, w10, #31
+# CHECK-NEXT: 1 1 0.50 asr x20, x21, #63
+# CHECK-NEXT: 1 1 0.50 asr w1, wzr, #3
+# CHECK-NEXT: 1 1 0.50 lsr w3, w2, #0
+# CHECK-NEXT: 1 1 0.50 lsr w9, w10, #31
+# CHECK-NEXT: 1 1 0.50 lsr x20, x21, #63
+# CHECK-NEXT: 1 1 0.50 lsr wzr, wzr, #3
+# CHECK-NEXT: 1 1 0.50 lsl w9, w10, #31
+# CHECK-NEXT: 1 1 0.50 lsl x20, x21, #63
+# CHECK-NEXT: 1 1 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 1 0.50 asr x2, x3, #63
+# CHECK-NEXT: 1 1 0.50 asr x19, x20, #0
+# CHECK-NEXT: 1 1 0.50 asr x9, x10, #5
+# CHECK-NEXT: 1 1 0.50 asr w9, w10, #0
+# CHECK-NEXT: 1 1 0.50 asr w11, w12, #31
+# CHECK-NEXT: 1 1 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
@@ -299,18 +299,18 @@
# 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 1 0.50 lsl x2, x3, #63
+# CHECK-NEXT: 1 1 0.50 lsl x9, x10, #5
+# CHECK-NEXT: 1 1 0.50 lsl w11, w12, #31
+# CHECK-NEXT: 1 1 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 1 0.50 lsr x2, x3, #63
+# CHECK-NEXT: 1 1 0.50 lsr x19, x20, #0
+# CHECK-NEXT: 1 1 0.50 lsr x9, x10, #5
+# CHECK-NEXT: 1 1 0.50 lsr w9, w10, #0
+# CHECK-NEXT: 1 1 0.50 lsr w11, w12, #31
+# CHECK-NEXT: 1 1 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
>From 413b5b378d0cff6f2df7a85061794aee6394efe9 Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Wed, 6 May 2026 10:23:01 +0100
Subject: [PATCH 16/22] Fix FDIV and FSQRT throughputs.
---
llvm/lib/Target/AArch64/AArch64SchedC1Nano.td | 100 ++++++++++++------
.../Cortex/C1Nano-basic-instructions.s | 12 +--
.../AArch64/Cortex/C1Nano-neon-instructions.s | 16 +--
3 files changed, 82 insertions(+), 46 deletions(-)
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
index 0141885f35efd..b218c01cfd6b8 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
@@ -66,6 +66,10 @@ def C1NanoUnitVALU : ProcResGroup<[C1NanoUnitVALU0, C1NanoUnitVALU1]>;
def C1NanoUnitALU : ProcResGroup<[C1NanoUnitALU0, C1NanoUnitALU1]>;
def C1NanoUnitVMAC : ProcResGroup<[C1NanoUnitVMAC0, C1NanoUnitVMAC1]>;
+// Workaround for throughput being doubled on a single resource
+def C1NanoUnit2VMC : ProcResGroup<[C1NanoUnitVMC, C1NanoUnitVMC]>;
+def C1NanoUnit4VMC : ProcResGroup<[C1NanoUnitVMC, C1NanoUnitVMC, C1NanoUnitVMC, C1NanoUnitVMC]>;
+
// These latencies are modeled without taking into account forwarding paths
// (the software optimisation guide lists latencies taking into account
// typical forwarding paths).
@@ -216,24 +220,6 @@ let RetireOOO = 1 in {
def : WriteRes<WriteFDiv, [C1NanoUnitVMC]> { let Latency = 22;
let ReleaseAtCycles = [29]; }
def C1NanoWriteVMAC : SchedWriteRes<[C1NanoUnitVMAC]> { let Latency = 4; }
-def C1NanoWriteFDivHP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 8;
- let ReleaseAtCycles = [5]; }
-def C1NanoWriteFDivSP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 13;
- let ReleaseAtCycles = [10]; }
-def C1NanoWriteFDivDP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 22;
- let ReleaseAtCycles = [19]; }
-def C1NanoWriteFSqrtHP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 8;
- let ReleaseAtCycles = [5]; }
-def C1NanoWriteFSqrtSP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 12;
- let ReleaseAtCycles = [9]; }
-def C1NanoWriteFSqrtDP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 22;
- let ReleaseAtCycles = [19]; }
-def C1NanoWriteFSqrtScalarHP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 11;
- let ReleaseAtCycles = [5]; }
-def C1NanoWriteFSqrtScalarSP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 14;
- let ReleaseAtCycles = [9]; }
-def C1NanoWriteFSqrtScalarDP : SchedWriteRes<[C1NanoUnitVMC]> { let Latency = 25;
- let ReleaseAtCycles = [19]; }
}
//===----------------------------------------------------------------------===//
// Subtarget-specific SchedRead types.
@@ -631,27 +617,71 @@ def : InstRW<[C1NanoWriteMOPS<1, 1>], (instregex "^SETGM")>;
// Memory Set with tag setting Epilogue
def : InstRW<[C1NanoWriteMOPS<1, 1>], (instregex "^MOPSSETGE")>;
+// FP scalar data processing instructions
+// -----------------------------------------------------------------------------
+
+// FP divide, H-form
+def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnit4VMC>], (instrs FDIVHrr)>;
+
+// FP divide, S-form
+def : InstRW<[C1NanoMCWrite<13, 10, C1NanoUnit4VMC>], (instrs FDIVSrr)>;
+
+// FP divide, D-form
+def : InstRW<[C1NanoMCWrite<22, 19, C1NanoUnit4VMC>], (instrs FDIVDrr)>;
+
+// FP square root, H-form
+def : InstRW<[C1NanoMCWrite<11, 5, C1NanoUnit4VMC>], (instrs FSQRTHr)>;
+
+// FP square root, S-form
+def : InstRW<[C1NanoMCWrite<14, 9, C1NanoUnit4VMC>], (instrs FSQRTSr)>;
+
+// FP square root, D-form
+def : InstRW<[C1NanoMCWrite<25, 19, C1NanoUnit4VMC>], (instrs FSQRTDr)>;
+
// ASIMD FP data processing instructions
// -----------------------------------------------------------------------------
+// ASIMD FP, arith, normal
def : InstRW<[C1NanoWriteVMAC], (instregex "^FN?M(ADD|SUB)")>;
+
+// ASIMD FP, complex add
def : InstRW<[C1NanoWriteVMAC], (instregex "^FCADDv")>;
+
+// ASIMD FP, complex multiply add
def : InstRW<[C1NanoWriteVMAC], (instregex "^FCMLAv")>;
+
+// ASIMD FP, multiply accumulate
def : InstRW<[C1NanoWriteVMAC], (instregex "^FML(A|S)v")>;
-def : InstRW<[C1NanoWriteFDivHP], (instrs FDIVHrr)>;
-def : InstRW<[C1NanoWriteFDivSP], (instrs FDIVSrr)>;
-def : InstRW<[C1NanoWriteFDivDP], (instrs FDIVDrr)>;
-def : InstRW<[C1NanoWriteVALU_F2], (instrs FMOVSr, FMOVDr)>;
-def : InstRW<[C1NanoWriteVALU_F3], (instrs FMOVv2f32_ns, FMOVv4f32_ns, FMOVv2f64_ns, FMOVv4f16_ns, FMOVv8f16_ns)>;
-def : InstRW<[C1NanoWriteFSqrtScalarHP], (instrs FSQRTHr)>;
-def : InstRW<[C1NanoWriteFSqrtScalarSP], (instrs FSQRTSr)>;
-def : InstRW<[C1NanoWriteFSqrtScalarDP], (instrs FSQRTDr)>;
-def : InstRW<[C1NanoWriteFDivHP], (instregex "^FDIVv.*16$")>;
-def : InstRW<[C1NanoWriteFDivSP], (instregex "^FDIVv.*32$")>;
-def : InstRW<[C1NanoWriteFDivDP], (instregex "^FDIVv.*64$")>;
-def : InstRW<[C1NanoWriteFSqrtHP], (instregex "^FSQRT.*16$")>;
-def : InstRW<[C1NanoWriteFSqrtSP], (instregex "^FSQRT.*32$")>;
-def : InstRW<[C1NanoWriteFSqrtDP], (instregex "^FSQRT.*64$")>;
+
+// ASIMD FP divide, D-form, F61
+def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnitVMC>], (instrs FDIVv4f16)>;
+
+// ASIMD FP divide, D-form, F32
+def : InstRW<[C1NanoMC2Write<13, 5, C1NanoUnit2VMC>], (instrs FDIVv2f32)>;
+
+// ASIMD FP divide, Q-form, F16
+def : InstRW<[C1NanoMC2Write<8, 5, C1NanoUnit2VMC>], (instrs FDIVv8f16)>;
+
+// ASIMD FP divide, Q-form, F32
+def : InstRW<[C1NanoMC2Write<13, 10, C1NanoUnit2VMC>], (instrs FDIVv4f32)>;
+
+// ASIMD FP divide, Q-form, F64
+def : InstRW<[C1NanoMC2Write<22, 19, C1NanoUnit2VMC>], (instrs FDIVv2f64)>;
+
+// ASIMD FP square root, D-form, F16
+def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnitVMC>], (instrs FSQRTv4f16)>;
+
+// ASIMD FP square root, D-form, F32
+def : InstRW<[C1NanoMCWrite<12, 9, C1NanoUnitVMC>], (instrs FSQRTv2f32)>;
+
+// ASIMD FP square root, Q-form, F16
+def : InstRW<[C1NanoMC2Write<8, 5, C1NanoUnit2VMC>], (instrs FSQRTv8f16)>;
+
+// ASIMD FP square root, Q-form, F32
+def : InstRW<[C1NanoMC2Write<12, 9, C1NanoUnit2VMC>], (instrs FSQRTv4f32)>;
+
+// ASIMD FP square root, Q-form, F64
+def : InstRW<[C1NanoMC2Write<22, 19, C1NanoUnit2VMC>], (instrs FSQRTv2f64)>;
def : InstRW<[C1NanoWriteVALU0_F3], (instrs FCSELHrrr, FCSELSrrr, FCSELDrrr)>;
@@ -664,6 +694,12 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "FML[AS]L2?(v|lane)")>
// ASIMD miscellaneous instructions
// -----------------------------------------------------------------------------
+// ASIMD move, FP immediate
+def : InstRW<[C1NanoWriteVALU_F2], (instrs FMOVSr, FMOVDr)>;
+
+// ASIMD move, FP transfer, from reg to vec reg
+def : InstRW<[C1NanoWriteVALU_F3], (instrs FMOVv2f32_ns, FMOVv4f32_ns, FMOVv2f64_ns, FMOVv4f16_ns, FMOVv8f16_ns)>;
+
// ASIMD reciprocal estimate
def : InstRW<[C1NanoWrite<4, C1NanoUnitVMAC>], (instregex "FRECP[EX]v", "URECPEv", "[FU]RSQRTEv")>;
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
index 4e9626948d0f7..7b8de49c46eb7 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
@@ -539,7 +539,7 @@
# 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 14 4.50 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
@@ -559,8 +559,8 @@
# 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
+# CHECK-NEXT: 1 11 2.50 fsqrt h13, h24
+# CHECK-NEXT: 1 25 9.50 fsqrt d6, d7
# CHECK-NEXT: 1 4 0.50 fcvt s8, d9
# CHECK-NEXT: 1 4 0.50 fcvt h10, d11
# CHECK-NEXT: 1 4 0.50 frintn d12, d13
@@ -573,8 +573,8 @@
# CHECK-NEXT: 1 4 0.50 fcvt s26, h27
# CHECK-NEXT: 1 4 0.50 fcvt d28, h29
# CHECK-NEXT: 1 4 0.50 fmul s20, s19, s17
-# CHECK-NEXT: 1 8 5.00 fdiv h1, h26, h23
-# CHECK-NEXT: 1 13 10.00 fdiv s1, s2, s3
+# CHECK-NEXT: 1 8 2.50 fdiv h1, h26, h23
+# CHECK-NEXT: 1 13 5.00 fdiv s1, s2, s3
# CHECK-NEXT: 1 4 0.50 fadd h23, h27, h22
# CHECK-NEXT: 1 4 0.50 fadd s4, s5, s6
# CHECK-NEXT: 1 4 0.50 fsub h20, h11, h18
@@ -588,7 +588,7 @@
# CHECK-NEXT: 1 4 0.50 fnmul h3, h15, h7
# CHECK-NEXT: 1 4 0.50 fnmul s22, s23, s2
# CHECK-NEXT: 1 4 0.50 fmul d20, d19, d17
-# CHECK-NEXT: 1 22 19.00 fdiv d1, d2, d3
+# CHECK-NEXT: 1 22 9.50 fdiv d1, d2, d3
# CHECK-NEXT: 1 4 0.50 fadd d4, d5, d6
# CHECK-NEXT: 1 4 0.50 fsub d7, d8, d9
# CHECK-NEXT: 1 4 0.50 fmax d10, d11, d12
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s
index 429556bc2f853..3fde5c2639338 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s
@@ -299,7 +299,7 @@
# CHECK-NEXT: 1 4 0.50 fcvtzu v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fcvtzu v27.8h, v6.8h, #11
# CHECK-NEXT: 1 22 19.00 fdiv v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: 1 13 10.00 fdiv v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 13 5.00 fdiv v0.2s, v0.2s, v0.2s
# CHECK-NEXT: 1 8 5.00 fdiv v0.4h, v0.4h, v0.4h
# CHECK-NEXT: 1 13 10.00 fdiv v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 8 5.00 fdiv v0.8h, v0.8h, v0.8h
@@ -1587,7 +1587,7 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: - - - - 13.50 545.50 - - 744.00 744.00 117.00 117.00 96.00
+# CHECK-NEXT: - - - - 13.50 545.50 - - 744.00 744.00 117.00 117.00 163.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -1879,11 +1879,11 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v0.4s, v0.4s, #3
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fcvtzu v27.8h, v6.8h, #11
-# CHECK-NEXT: - - - - - - - - - - - - 19.00 fdiv v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - - - - 38.00 fdiv v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - - - - - 10.00 fdiv v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - - - - - 5.00 fdiv v0.4h, v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - - - - 10.00 fdiv v0.4s, v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - - - - 5.00 fdiv v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - - - 20.00 fdiv v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - - - 10.00 fdiv v0.8h, v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax v0.2d, v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fmax v0.4s, v0.4s, v0.4s
@@ -2042,11 +2042,11 @@
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrts d8, d22, d18
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrts s21, s5, s12
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - frsqrts v0.2d, v0.2d, v0.2d
-# CHECK-NEXT: - - - - - - - - - - - - 19.00 fsqrt v0.2d, v0.2d
+# CHECK-NEXT: - - - - - - - - - - - - 38.00 fsqrt v0.2d, v0.2d
# CHECK-NEXT: - - - - - - - - - - - - 9.00 fsqrt v0.2s, v0.2s
# CHECK-NEXT: - - - - - - - - - - - - 5.00 fsqrt v0.4h, v0.4h
-# CHECK-NEXT: - - - - - - - - - - - - 9.00 fsqrt v0.4s, v0.4s
-# CHECK-NEXT: - - - - - - - - - - - - 5.00 fsqrt v0.8h, v0.8h
+# CHECK-NEXT: - - - - - - - - - - - - 18.00 fsqrt v0.4s, v0.4s
+# CHECK-NEXT: - - - - - - - - - - - - 10.00 fsqrt v0.8h, v0.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub v13.8h, v15.8h, v17.8h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - fsub v0.2s, v0.2s, v0.2s
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ld1 { v0.16b }, [x0]
>From 41866ebb4540b5e46b52d7e5fb7bb30b564a5815 Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Wed, 6 May 2026 15:04:28 +0100
Subject: [PATCH 17/22] Fix FADDV and LDN?P throughputs
---
llvm/lib/Target/AArch64/AArch64SchedC1Nano.td | 20 +++++++++----------
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
index b218c01cfd6b8..cfeed404f9769 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
@@ -69,6 +69,7 @@ def C1NanoUnitVMAC : ProcResGroup<[C1NanoUnitVMAC0, C1NanoUnitVMAC1]>;
// Workaround for throughput being doubled on a single resource
def C1NanoUnit2VMC : ProcResGroup<[C1NanoUnitVMC, C1NanoUnitVMC]>;
def C1NanoUnit4VMC : ProcResGroup<[C1NanoUnitVMC, C1NanoUnitVMC, C1NanoUnitVMC, C1NanoUnitVMC]>;
+def C1NanoUnit2VALU0: ProcResGroup<[C1NanoUnitVALU0, C1NanoUnitVALU0]>;
// These latencies are modeled without taking into account forwarding paths
// (the software optimisation guide lists latencies taking into account
@@ -398,7 +399,7 @@ def : InstRW<[C1NanoMC2Write<1, 1, C1NanoUnitALU>], (instregex "^RMIF")>;
def C1NanoWriteVLD1 : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 2; }
def C1NanoWriteVLD1SI : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 2; let SingleIssue = 1; }
def C1NanoWriteLDP1 : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 2; }
-def C1NanoWriteLDP2 : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 2; }
+def C1NanoWriteLDP3 : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 3; }
def C1NanoWriteLDPFP : SchedWriteRes<[C1NanoUnitLd]> { let Latency = 3; }
// Integer loads, immediate and register offset.
@@ -411,14 +412,12 @@ def : InstRW<[WriteAdr, C1NanoWr_LDR, C1NanoWr_LDR], (instregex "LDR[WX](pre|pos
// Load vector register, immediate pre-index / post-index
def : InstRW<[WriteAdr, C1NanoWriteLDPFP, C1NanoWriteLDPFP], (instregex "LDR[BHSDQ](pre|post)")>;
-def : InstRW<[C1NanoWriteLDP1, C1NanoWriteLDP1], (instregex "LDPSWi")>;
-def : InstRW<[WriteAdr, C1NanoWriteLDP1, C1NanoWriteLDP1],
- (instregex "LDPSW(pre|post)")>;
-
-def : InstRW<[C1NanoWriteVLD1SI, C1NanoWriteLDP1], (instregex "LDPWi")>;
-def : InstRW<[C1NanoWriteLDPFP, C1NanoWriteLDP1], (instregex "LDN?P[SDQ]i")>;
+def : InstRW<[C1NanoWriteLDP1], (instregex "LDPSWi")>;
+def : InstRW<[C1NanoWriteLDP1], (instregex "LDN?P[WX]i")>;
+def : InstRW<[C1NanoWriteLDP3,C1NanoWriteLDP3], (instregex "LDN?P[SDQ]i")>;
+def : InstRW<[WriteAdr, C1NanoWriteLDP1, C1NanoWriteLDP1], (instregex "LDPSW(pre|post)")>;
def : InstRW<[WriteAdr, C1NanoWriteVLD1SI, C1NanoWriteLDP1], (instregex "LDPW(pre|post)")>;
-def : InstRW<[WriteAdr, C1NanoWriteVLD1, C1NanoWriteLDP2], (instregex "LDPX(i|pre|post)")>;
+def : InstRW<[WriteAdr, C1NanoWriteVLD1, C1NanoWriteLDP1], (instregex "LDPX(pre|post)")>;
def : InstRW<[WriteAdr, C1NanoWriteLDPFP, C1NanoWriteLDP1], (instregex "LDP[SDQ](pre|post)")>;
def : InstRW<[WriteI], (instrs COPY)>;
@@ -1526,11 +1525,10 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU0>], (instregex "^F(MAX|MIN)(NM)?V_VP
def : InstRW<[C1NanoMCWrite<12, 5, C1NanoUnitVALU0>], (instregex "^FADDV_VPZ_H")>;
// Floating point reduction, F32
-// RThoughput should be 5/2 but we cannot have fractional values so using 3
-def : InstRW<[C1NanoMCWrite<8, 3, C1NanoUnitVALU0>], (instregex "^FADDV_VPZ_S")>;
+def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnit2VALU0>], (instregex "^FADDV_VPZ_S")>;
// Floating point reduction, F64
-def : InstRW<[C1NanoMCWrite<4, 2, C1NanoUnitVALU0>], (instregex "^FADDV_VPZ_D")>;
+def : InstRW<[C1NanoMCWrite<4, 1, C1NanoUnit2VALU0>], (instregex "^FADDV_VPZ_D")>;
// Floating point round to integral, F16
>From 6652270f8ab8b30e5a5897b5e797eddb92a902b8 Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Wed, 6 May 2026 15:37:05 +0100
Subject: [PATCH 18/22] Fixed/added AXFLAGS/XAFLAGS/CFINV/RAX1/FADDV
---
llvm/lib/Target/AArch64/AArch64SchedC1Nano.td | 10 ++-
.../Cortex/C1Nano-basic-instructions.s | 62 +++++++++----------
.../Cortex/C1Nano-crypto-instructions.s | 6 +-
.../C1Nano-flag-manipulation-instructions.s | 14 ++---
.../AArch64/Cortex/C1Nano-sve-instructions.s | 10 +--
5 files changed, 54 insertions(+), 48 deletions(-)
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
index cfeed404f9769..432f49986c2b6 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
@@ -388,11 +388,17 @@ def : InstRW<[C1NanoWrite<4, C1NanoUnitPAC>], (instrs XPACD, XPACI, XPACLRI)>;
// Miscellaneous data-processing instructions
// -----------------------------------------------------------------------------
+// Convert floating-point condition flags
+def : InstRW<[C1NanoMC2Write<1, 2, C1NanoUnitALU>], (instregex "^(AX|XA)FLAG")>;
+
// Flag set instructions
def : InstRW<[C1NanoMC2Write<2, 2, C1NanoUnitALU>], (instregex "^SETF(8|16)")>;
// Flag manipulation instructions, rotate and select
-def : InstRW<[C1NanoMC2Write<1, 1, C1NanoUnitALU>], (instregex "^RMIF")>;
+def : InstRW<[C1NanoMC2Write<1, 1, C1NanoUnitALU>], (instrs RMIF)>;
+
+// Flag manipulation instructions, invert carry
+def : InstRW<[C1NanoMC2Write<1, 2, C1NanoUnitALU>], (instrs CFINV)>;
// Load instructions
// -----------------------------------------------------------------------------
@@ -870,7 +876,7 @@ def : InstRW<[C1NanoMCWrite<9, 7, C1NanoUnitVMC>], (instregex "^SHA512(H|H2|SU0|
// Crypto SHA3 ops
def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instrs BCAX, EOR3)>;
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs XAR)>;
-def : InstRW<[C1NanoMC2Write<3, 2, C1NanoUnitVALU>], (instrs RAX1)>;
+def : InstRW<[C1NanoMCWrite<3, 1, C1NanoUnit2VMC>], (instrs RAX1)>;
// Crypto SM3 ops
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
index 7b8de49c46eb7..bd6a10215fde0 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
@@ -1103,16 +1103,16 @@
# CHECK-NEXT: 1 3 0.50 * ldr q17, [x23, w9, sxtw]
# CHECK-NEXT: 1 1 1.00 * str q18, [x22, w10, sxtw]
# CHECK-NEXT: 1 3 0.50 * ldr q19, [x21, wzr, sxtw #4]
-# CHECK-NEXT: 2 2 1.00 * ldp w3, w5, [sp]
+# CHECK-NEXT: 1 2 0.50 * ldp w3, w5, [sp]
# CHECK-NEXT: 1 1 1.00 * stp wzr, w9, [sp, #252]
-# CHECK-NEXT: 2 2 1.00 * ldp w2, wzr, [sp, #-256]
-# CHECK-NEXT: 2 2 1.00 * ldp w9, w10, [sp, #4]
-# CHECK-NEXT: 2 2 1.00 * ldpsw x9, x10, [sp, #4]
-# CHECK-NEXT: 2 2 1.00 * ldpsw x9, x10, [x2, #-256]
-# CHECK-NEXT: 2 2 1.00 * ldpsw x20, x30, [sp, #252]
-# CHECK-NEXT: 3 2 1.00 * ldp x21, x29, [x2, #504]
-# CHECK-NEXT: 3 2 1.00 * ldp x22, x23, [x3, #-512]
-# CHECK-NEXT: 3 2 1.00 * ldp x24, x25, [x4, #8]
+# CHECK-NEXT: 1 2 0.50 * ldp w2, wzr, [sp, #-256]
+# CHECK-NEXT: 1 2 0.50 * ldp w9, w10, [sp, #4]
+# CHECK-NEXT: 1 2 0.50 * ldpsw x9, x10, [sp, #4]
+# CHECK-NEXT: 1 2 0.50 * ldpsw x9, x10, [x2, #-256]
+# CHECK-NEXT: 1 2 0.50 * ldpsw x20, x30, [sp, #252]
+# CHECK-NEXT: 1 2 0.50 * ldp x21, x29, [x2, #504]
+# CHECK-NEXT: 1 2 0.50 * ldp x22, x23, [x3, #-512]
+# CHECK-NEXT: 1 2 0.50 * ldp x24, x25, [x4, #8]
# CHECK-NEXT: 2 3 1.00 * ldp s29, s28, [sp, #252]
# CHECK-NEXT: 1 1 1.00 * stp s27, s26, [sp, #-256]
# CHECK-NEXT: 2 3 1.00 * ldp s1, s2, [x3, #44]
@@ -1162,13 +1162,13 @@
# CHECK-NEXT: 1 1 2.00 * stp q3, q5, [sp, #0]!
# CHECK-NEXT: 1 1 2.00 * stp q17, q19, [sp, #1008]!
# CHECK-NEXT: 3 3 1.00 * ldp q23, q29, [x1, #-1024]!
-# CHECK-NEXT: 2 2 1.00 * ldnp w3, w5, [sp]
+# CHECK-NEXT: 1 2 0.50 * ldnp w3, w5, [sp]
# CHECK-NEXT: 1 1 1.00 * stnp wzr, w9, [sp, #252]
-# CHECK-NEXT: 2 2 1.00 * ldnp w2, wzr, [sp, #-256]
-# CHECK-NEXT: 2 2 1.00 * ldnp w9, w10, [sp, #4]
-# CHECK-NEXT: 2 2 1.00 * ldnp x21, x29, [x2, #504]
-# CHECK-NEXT: 2 2 1.00 * ldnp x22, x23, [x3, #-512]
-# CHECK-NEXT: 2 2 1.00 * ldnp x24, x25, [x4, #8]
+# CHECK-NEXT: 1 2 0.50 * ldnp w2, wzr, [sp, #-256]
+# CHECK-NEXT: 1 2 0.50 * ldnp w9, w10, [sp, #4]
+# CHECK-NEXT: 1 2 0.50 * ldnp x21, x29, [x2, #504]
+# CHECK-NEXT: 1 2 0.50 * ldnp x22, x23, [x3, #-512]
+# CHECK-NEXT: 1 2 0.50 * ldnp x24, x25, [x4, #8]
# CHECK-NEXT: 2 3 1.00 * ldnp s29, s28, [sp, #252]
# CHECK-NEXT: 1 1 1.00 * stnp s27, s26, [sp, #-256]
# CHECK-NEXT: 2 3 1.00 * ldnp s1, s2, [x3, #44]
@@ -1267,7 +1267,7 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 260.50 260.50 27.00 64.00 186.00 336.00 89.00 - 192.50 192.50 8.50 8.50 67.00
+# CHECK-NEXT: 260.50 260.50 27.00 64.00 178.50 328.50 89.00 - 192.50 192.50 8.50 8.50 67.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -2364,16 +2364,16 @@
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q17, [x23, w9, sxtw]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - str q18, [x22, w10, sxtw]
# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldr q19, [x21, wzr, sxtw #4]
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp w3, w5, [sp]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldp w3, w5, [sp]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp wzr, w9, [sp, #252]
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp w2, wzr, [sp, #-256]
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp w9, w10, [sp, #4]
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [sp, #4]
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldpsw x9, x10, [x2, #-256]
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldpsw x20, x30, [sp, #252]
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp x21, x29, [x2, #504]
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp x22, x23, [x3, #-512]
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp x24, x25, [x4, #8]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldp w2, wzr, [sp, #-256]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldp w9, w10, [sp, #4]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldpsw x9, x10, [sp, #4]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldpsw x9, x10, [x2, #-256]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldpsw x20, x30, [sp, #252]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldp x21, x29, [x2, #504]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldp x22, x23, [x3, #-512]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldp x24, x25, [x4, #8]
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp s29, s28, [sp, #252]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stp s27, s26, [sp, #-256]
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp s1, s2, [x3, #44]
@@ -2423,13 +2423,13 @@
# CHECK-NEXT: - - - - - 2.00 - - - - - - - stp q3, q5, [sp, #0]!
# CHECK-NEXT: - - - - - 2.00 - - - - - - - stp q17, q19, [sp, #1008]!
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldp q23, q29, [x1, #-1024]!
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp w3, w5, [sp]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnp w3, w5, [sp]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnp wzr, w9, [sp, #252]
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp w2, wzr, [sp, #-256]
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp w9, w10, [sp, #4]
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp x21, x29, [x2, #504]
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp x22, x23, [x3, #-512]
-# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp x24, x25, [x4, #8]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnp w2, wzr, [sp, #-256]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnp w9, w10, [sp, #4]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnp x21, x29, [x2, #504]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnp x22, x23, [x3, #-512]
+# CHECK-NEXT: - - - - 0.50 0.50 - - - - - - - ldnp x24, x25, [x4, #8]
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp s29, s28, [sp, #252]
# CHECK-NEXT: - - - - - 1.00 - - - - - - - stnp s27, s26, [sp, #-256]
# CHECK-NEXT: - - - - 1.00 1.00 - - - - - - - ldnp s1, s2, [x3, #44]
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-crypto-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-crypto-instructions.s
index d47f85166ad72..9447dca6fa170 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-crypto-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-crypto-instructions.s
@@ -29,7 +29,7 @@
# CHECK-NEXT: 1 9 7.00 sha512su0 v11.2d, v12.2d
# CHECK-NEXT: 1 9 7.00 sha512su1 v11.2d, v13.2d, v14.2d
# CHECK-NEXT: 1 3 0.50 eor3 v25.16b, v12.16b, v7.16b, v2.16b
-# CHECK-NEXT: 1 3 2.00 rax1 v30.2d, v29.2d, v26.2d
+# CHECK-NEXT: 1 3 0.50 rax1 v30.2d, v29.2d, v26.2d
# CHECK-NEXT: 1 4 0.50 xar v26.2d, v21.2d, v27.2d, #63
# CHECK-NEXT: 1 3 0.50 bcax v31.16b, v26.16b, v2.16b, v1.16b
# CHECK-NEXT: 1 9 7.00 sm3ss1 v20.4s, v23.4s, v21.4s, v22.4s
@@ -59,7 +59,7 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: - - - - - - - - 6.50 6.50 - - 109.00
+# CHECK-NEXT: - - - - - - - - 4.50 4.50 - - 110.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -82,7 +82,7 @@
# CHECK-NEXT: - - - - - - - - - - - - 7.00 sha512su0 v11.2d, v12.2d
# CHECK-NEXT: - - - - - - - - - - - - 7.00 sha512su1 v11.2d, v13.2d, v14.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - eor3 v25.16b, v12.16b, v7.16b, v2.16b
-# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - rax1 v30.2d, v29.2d, v26.2d
+# CHECK-NEXT: - - - - - - - - - - - - 1.00 rax1 v30.2d, v29.2d, v26.2d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - xar v26.2d, v21.2d, v27.2d, #63
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - bcax v31.16b, v26.16b, v2.16b, v1.16b
# CHECK-NEXT: - - - - - - - - - - - - 7.00 sm3ss1 v20.4s, v23.4s, v21.4s, v22.4s
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-flag-manipulation-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-flag-manipulation-instructions.s
index 57eefc3cae962..050338a9277b9 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-flag-manipulation-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-flag-manipulation-instructions.s
@@ -20,9 +20,9 @@ xaflag
# CHECK-NEXT: 1 2 2.00 U setf8 w1
# CHECK-NEXT: 1 2 2.00 U setf16 w1
# CHECK-NEXT: 1 1 1.00 U rmif x0, #0, #0
-# CHECK-NEXT: 1 1 1.00 U cfinv
-# CHECK-NEXT: 1 1 1.00 U axflag
-# CHECK-NEXT: 1 1 1.00 U xaflag
+# CHECK-NEXT: 1 1 2.00 U cfinv
+# CHECK-NEXT: 1 1 2.00 U axflag
+# CHECK-NEXT: 1 1 2.00 U xaflag
# CHECK: Resources:
# CHECK-NEXT: [0] - C1NanoUnitALU0
@@ -41,13 +41,13 @@ xaflag
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 5.00 5.00 3.00 - - - - - - - - - -
+# CHECK-NEXT: 11.00 11.00 - - - - - - - - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - setf8 w1
# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - setf16 w1
# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - rmif x0, #0, #0
-# CHECK-NEXT: - - 1.00 - - - - - - - - - - cfinv
-# CHECK-NEXT: - - 1.00 - - - - - - - - - - axflag
-# CHECK-NEXT: - - 1.00 - - - - - - - - - - xaflag
+# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - cfinv
+# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - axflag
+# CHECK-NEXT: 2.00 2.00 - - - - - - - - - - - xaflag
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
index aa02f44df8ece..167b18fff9b3e 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
@@ -586,9 +586,9 @@
# CHECK-NEXT: 1 4 0.50 faddp z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: 1 4 0.50 faddp z29.s, p3/m, z29.s, z30.s
# CHECK-NEXT: 1 4 0.50 faddp z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: 1 4 2.00 faddv d0, p7, z31.d
+# CHECK-NEXT: 1 4 0.50 faddv d0, p7, z31.d
# CHECK-NEXT: 1 12 5.00 faddv h0, p7, z31.h
-# CHECK-NEXT: 1 8 3.00 faddv s0, p7, z31.s
+# CHECK-NEXT: 1 8 2.50 faddv s0, p7, z31.s
# CHECK-NEXT: 1 4 0.50 fcadd z0.d, p0/m, z0.d, z0.d, #90
# CHECK-NEXT: 1 4 0.50 fcadd z0.h, p0/m, z0.h, z0.h, #90
# CHECK-NEXT: 1 4 0.50 fcadd z0.s, p0/m, z0.s, z0.s, #90
@@ -3442,7 +3442,7 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 437.00 54.00 9.00 - 221.00 2425.00 - - 1177.50 1258.50 215.00 215.00 676.00
+# CHECK-NEXT: 437.00 54.00 9.00 - 221.00 2425.00 - - 1178.50 1258.50 215.00 215.00 676.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -4022,9 +4022,9 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z29.s, p3/m, z29.s, z30.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - faddp z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: - - - - - - - - 2.00 - - - - faddv d0, p7, z31.d
+# CHECK-NEXT: - - - - - - - - 1.00 - - - - faddv d0, p7, z31.d
# CHECK-NEXT: - - - - - - - - 5.00 - - - - faddv h0, p7, z31.h
-# CHECK-NEXT: - - - - - - - - 3.00 - - - - faddv s0, p7, z31.s
+# CHECK-NEXT: - - - - - - - - 5.00 - - - - faddv s0, p7, z31.s
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcadd z0.d, p0/m, z0.d, z0.d, #90
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcadd z0.h, p0/m, z0.h, z0.h, #90
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - fcadd z0.s, p0/m, z0.s, z0.s, #90
>From cac5d01a70694e2dfa698c0a1d326f46002fa38a Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Thu, 7 May 2026 10:05:08 +0100
Subject: [PATCH 19/22] Fix incorrect pipeline usage.
---
llvm/lib/Target/AArch64/AArch64SchedC1Nano.td | 9 +-
.../AArch64/Cortex/C1Nano-sve-instructions.s | 414 +++++++++---------
2 files changed, 211 insertions(+), 212 deletions(-)
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
index 432f49986c2b6..b38af0d097cd7 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
@@ -897,7 +897,6 @@ def : InstRW<[C1NanoWrite<2, C1NanoUnitMAC>], (instregex "^CRC32")>;
// Note Correction to what is stated in the Arm C1-Nano Core Software Optimization
// Guide issue 4, section 22.4 SVE Predicate instructions:
// - PALU should be ALU0
-// - VALU should be ALU0
// Loop control, based on predicate
def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>], (instrs BRKA_PPmP, BRKA_PPzP,
@@ -940,19 +939,19 @@ def : InstRW<[C1NanoWrite<1, C1NanoUnitALU0>],
def : InstRW<[C1NanoWrite<1, C1NanoUnitALU0>],
(instregex "^(DEC|INC)P_XP_[BHSD]")>;
-def : InstRW<[C1NanoWrite<2, C1NanoUnitALU0>],
+def : InstRW<[C1NanoMC2Write<2, 1, C1NanoUnitVALU>],
(instregex "^(SQDEC|SQINC|UQDEC|UQINC)P_XP_[BHSD]",
"^(UQDEC|UQINC)P_WP_[BHSD]")>;
// Predicate counting scalar, active predicate, saturating, 32-bit.
-def : InstRW<[C1NanoWrite<1, C1NanoUnitALU0>],
+def : InstRW<[C1NanoMC2Write<1, 1, C1NanoUnitVALU>],
(instregex "^(SQDEC|SQINC)P_XPWd_[BHSD]")>;
// Predicate counting vector, active predicate
def : InstRW<[C1NanoWrite<3, C1NanoUnitALU0>],
(instregex "^(DEC|INC)P_ZP_[HSD]")>;
-def : InstRW<[C1NanoWrite<4, C1NanoUnitALU0>],
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>],
(instregex "^(SQDEC|SQINC|UQDEC|UQINC)P_ZP_[HSD]")>;
// Predicate logical
@@ -1159,7 +1158,7 @@ def : InstRW<[C1NanoMC2Write<9, 7, C1NanoUnitVALU>], (instregex "^CNT_ZPmZ_D")>;
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instrs DUPM_ZI)>;
// Compare and set flags
-def : InstRW<[C1NanoWrite<5, C1NanoUnitVALU1>],
+def : InstRW<[C1NanoMC2Write<5, 1, C1NanoUnitVALU>],
(instregex "^CMP(EQ|GE|GT|HI|HS|LE|LO|LS|LT|NE)_PPzZ[IZ]_[BHSD]",
"^CMP(EQ|GE|GT|HI|HS|LE|LO|LS|LT|NE)_WIDE_PPzZZ_[BHS]")>;
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
index 167b18fff9b3e..99e4c4cec7e45 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
@@ -2262,9 +2262,9 @@
# CHECK-NEXT: 1 1 1.00 sqdecp xzr, p15.d, wzr
# CHECK-NEXT: 1 1 1.00 sqdecp xzr, p15.h, wzr
# CHECK-NEXT: 1 1 1.00 sqdecp xzr, p15.s, wzr
-# CHECK-NEXT: 1 4 1.00 sqdecp z0.d, p0.d
-# CHECK-NEXT: 1 4 1.00 sqdecp z0.h, p0.h
-# CHECK-NEXT: 1 4 1.00 sqdecp z0.s, p0.s
+# CHECK-NEXT: 1 4 0.50 sqdecp z0.d, p0.d
+# CHECK-NEXT: 1 4 0.50 sqdecp z0.h, p0.h
+# CHECK-NEXT: 1 4 0.50 sqdecp z0.s, p0.s
# CHECK-NEXT: 1 5 1.00 sqdecw x0
# CHECK-NEXT: 1 5 1.00 sqdecw x0, #14
# CHECK-NEXT: 1 5 1.00 sqdecw x0, all, mul #16
@@ -2364,9 +2364,9 @@
# CHECK-NEXT: 1 1 1.00 sqincp xzr, p15.d, wzr
# CHECK-NEXT: 1 1 1.00 sqincp xzr, p15.h, wzr
# CHECK-NEXT: 1 1 1.00 sqincp xzr, p15.s, wzr
-# CHECK-NEXT: 1 4 1.00 sqincp z0.d, p0.d
-# CHECK-NEXT: 1 4 1.00 sqincp z0.h, p0.h
-# CHECK-NEXT: 1 4 1.00 sqincp z0.s, p0.s
+# CHECK-NEXT: 1 4 0.50 sqincp z0.d, p0.d
+# CHECK-NEXT: 1 4 0.50 sqincp z0.h, p0.h
+# CHECK-NEXT: 1 4 0.50 sqincp z0.s, p0.s
# CHECK-NEXT: 1 5 1.00 sqincw x0
# CHECK-NEXT: 1 5 1.00 sqincw x0, #14
# CHECK-NEXT: 1 5 1.00 sqincw x0, all, mul #16
@@ -3111,9 +3111,9 @@
# CHECK-NEXT: 1 2 1.00 uqdecp x0, p0.d
# CHECK-NEXT: 1 2 1.00 uqdecp x0, p0.h
# CHECK-NEXT: 1 2 1.00 uqdecp x0, p0.s
-# CHECK-NEXT: 1 4 1.00 uqdecp z0.d, p0.d
-# CHECK-NEXT: 1 4 1.00 uqdecp z0.h, p0.h
-# CHECK-NEXT: 1 4 1.00 uqdecp z0.s, p0.s
+# CHECK-NEXT: 1 4 0.50 uqdecp z0.d, p0.d
+# CHECK-NEXT: 1 4 0.50 uqdecp z0.h, p0.h
+# CHECK-NEXT: 1 4 0.50 uqdecp z0.s, p0.s
# CHECK-NEXT: 1 5 1.00 uqdecw w0
# CHECK-NEXT: 1 5 1.00 uqdecw w0, all, mul #16
# CHECK-NEXT: 1 5 1.00 uqdecw w0, pow2
@@ -3170,9 +3170,9 @@
# CHECK-NEXT: 1 2 1.00 uqincp x0, p0.d
# CHECK-NEXT: 1 2 1.00 uqincp x0, p0.h
# CHECK-NEXT: 1 2 1.00 uqincp x0, p0.s
-# CHECK-NEXT: 1 4 1.00 uqincp z0.d, p0.d
-# CHECK-NEXT: 1 4 1.00 uqincp z0.h, p0.h
-# CHECK-NEXT: 1 4 1.00 uqincp z0.s, p0.s
+# CHECK-NEXT: 1 4 0.50 uqincp z0.d, p0.d
+# CHECK-NEXT: 1 4 0.50 uqincp z0.h, p0.h
+# CHECK-NEXT: 1 4 0.50 uqincp z0.s, p0.s
# CHECK-NEXT: 1 5 1.00 uqincw w0
# CHECK-NEXT: 1 5 1.00 uqincw w0, all, mul #16
# CHECK-NEXT: 1 5 1.00 uqincw w0, pow2
@@ -3442,7 +3442,7 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 437.00 54.00 9.00 - 221.00 2425.00 - - 1178.50 1258.50 215.00 215.00 676.00
+# CHECK-NEXT: 393.00 54.00 9.00 - 221.00 2425.00 - - 1366.50 1296.50 215.00 215.00 676.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -3730,156 +3730,156 @@
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z31.h, z31.h, z31.h, #180
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z31.s, z30.s, z7.s[0], #180
# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - cmla z31.s, z31.s, z31.s, #180
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpeq p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.b, p0/z, z1.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpge p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.b, p0/z, z1.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpgt p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.b, p0/z, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.b, p0/z, z0.b, #127
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.b, p0/z, z1.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.d, p0/z, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.d, p0/z, z0.d, #127
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.h, p0/z, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.h, p0/z, z0.h, #127
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.s, p0/z, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.s, p0/z, z0.s, #127
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphi p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.b, p0/z, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.b, p0/z, z0.b, #127
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.b, p0/z, z1.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.d, p0/z, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.d, p0/z, z0.d, #127
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.d, p0/z, z1.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.h, p0/z, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.h, p0/z, z0.h, #127
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.h, p0/z, z1.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.s, p0/z, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.s, p0/z, z0.s, #127
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.s, p0/z, z0.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmphs p0.s, p0/z, z1.s, z0.s
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmple p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.b, p0/z, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.b, p0/z, z0.b, #127
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.d, p0/z, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.d, p0/z, z0.d, #127
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.h, p0/z, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.h, p0/z, z0.h, #127
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.s, p0/z, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.s, p0/z, z0.s, #127
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplo p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.b, p0/z, z0.b, #0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.b, p0/z, z0.b, #127
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.d, p0/z, z0.d, #0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.d, p0/z, z0.d, #127
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.h, p0/z, z0.h, #0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.h, p0/z, z0.h, #127
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.s, p0/z, z0.s, #0
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.s, p0/z, z0.s, #127
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpls p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmplt p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.b, p0/z, z0.b, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.b, p0/z, z0.b, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.b, p0/z, z0.b, z0.b
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.b, p0/z, z0.b, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.d, p0/z, z0.d, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.d, p0/z, z0.d, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.d, p0/z, z0.d, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.h, p0/z, z0.h, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.h, p0/z, z0.h, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.h, p0/z, z0.h, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.h, p0/z, z0.h, z0.h
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.s, p0/z, z0.s, #-16
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.s, p0/z, z0.s, #15
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.s, p0/z, z0.s, z0.d
-# CHECK-NEXT: - - - - - - - - - 1.00 - - - cmpne p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpeq p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpeq p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpeq p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpeq p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpeq p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpeq p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpeq p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpeq p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpeq p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpeq p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpeq p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpeq p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpeq p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpeq p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpeq p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpge p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpgt p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphi p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmphs p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmple p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmple p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmple p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmple p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmple p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmple p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmple p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmple p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmple p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmple p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmple p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplo p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplo p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplo p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplo p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplo p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplo p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplo p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplo p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplo p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplo p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplo p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpls p0.b, p0/z, z0.b, #0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpls p0.b, p0/z, z0.b, #127
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpls p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpls p0.d, p0/z, z0.d, #0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpls p0.d, p0/z, z0.d, #127
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpls p0.h, p0/z, z0.h, #0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpls p0.h, p0/z, z0.h, #127
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpls p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpls p0.s, p0/z, z0.s, #0
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpls p0.s, p0/z, z0.s, #127
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpls p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplt p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplt p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplt p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplt p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplt p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplt p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplt p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplt p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplt p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplt p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmplt p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpne p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpne p0.b, p0/z, z0.b, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpne p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpne p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpne p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpne p0.d, p0/z, z0.d, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpne p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpne p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpne p0.h, p0/z, z0.h, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpne p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpne p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpne p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpne p0.s, p0/z, z0.s, #15
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpne p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - cmpne p0.s, p0/z, z0.s, z0.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnot z31.b, p7/m, z31.b
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnot z31.d, p7/m, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - cnot z31.h, p7/m, z31.h
@@ -5690,17 +5690,17 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdech z0.h, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdech z0.h, pow2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdech z0.h, pow2, mul #16
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp x0, p0.b
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp x0, p0.d
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp x0, p0.h
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp x0, p0.s
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp xzr, p15.b, wzr
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp xzr, p15.d, wzr
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp xzr, p15.h, wzr
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp xzr, p15.s, wzr
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp z0.d, p0.d
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp z0.h, p0.h
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecp z0.s, p0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sqdecp x0, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sqdecp x0, p0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sqdecp x0, p0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sqdecp x0, p0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sqdecp xzr, p15.b, wzr
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sqdecp xzr, p15.d, wzr
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sqdecp xzr, p15.h, wzr
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sqdecp xzr, p15.s, wzr
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecp z0.d, p0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecp z0.h, p0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqdecp z0.s, p0.s
# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecw x0
# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecw x0, #14
# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqdecw x0, all, mul #16
@@ -5792,17 +5792,17 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqinch z0.h, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqinch z0.h, pow2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqinch z0.h, pow2, mul #16
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp x0, p0.b
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp x0, p0.d
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp x0, p0.h
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp x0, p0.s
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp xzr, p15.b, wzr
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp xzr, p15.d, wzr
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp xzr, p15.h, wzr
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp xzr, p15.s, wzr
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp z0.d, p0.d
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp z0.h, p0.h
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincp z0.s, p0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sqincp x0, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sqincp x0, p0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sqincp x0, p0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sqincp x0, p0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sqincp xzr, p15.b, wzr
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sqincp xzr, p15.d, wzr
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sqincp xzr, p15.h, wzr
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - sqincp xzr, p15.s, wzr
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincp z0.d, p0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincp z0.h, p0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sqincp z0.s, p0.s
# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincw x0
# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincw x0, #14
# CHECK-NEXT: 1.00 - - - - - - - - - - - - sqincw x0, all, mul #16
@@ -6539,17 +6539,17 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdech z0.h, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdech z0.h, pow2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdech z0.h, pow2, mul #16
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp wzr, p15.b
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp wzr, p15.d
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp wzr, p15.h
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp wzr, p15.s
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp x0, p0.b
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp x0, p0.d
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp x0, p0.h
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp x0, p0.s
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp z0.d, p0.d
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp z0.h, p0.h
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecp z0.s, p0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uqdecp wzr, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uqdecp wzr, p15.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uqdecp wzr, p15.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uqdecp wzr, p15.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uqdecp x0, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uqdecp x0, p0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uqdecp x0, p0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uqdecp x0, p0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecp z0.d, p0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecp z0.h, p0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqdecp z0.s, p0.s
# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecw w0
# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecw w0, all, mul #16
# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqdecw w0, pow2
@@ -6598,17 +6598,17 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqinch z0.h, all, mul #16
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqinch z0.h, pow2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqinch z0.h, pow2, mul #16
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp wzr, p15.b
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp wzr, p15.d
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp wzr, p15.h
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp wzr, p15.s
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp x0, p0.b
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp x0, p0.d
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp x0, p0.h
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp x0, p0.s
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp z0.d, p0.d
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp z0.h, p0.h
-# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincp z0.s, p0.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uqincp wzr, p15.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uqincp wzr, p15.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uqincp wzr, p15.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uqincp wzr, p15.s
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uqincp x0, p0.b
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uqincp x0, p0.d
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uqincp x0, p0.h
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - uqincp x0, p0.s
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincp z0.d, p0.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincp z0.h, p0.h
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - uqincp z0.s, p0.s
# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincw w0
# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincw w0, all, mul #16
# CHECK-NEXT: 1.00 - - - - - - - - - - - - uqincw w0, pow2
>From 57bece2079cfad901801dbd029fb0fd2ad079c92 Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Thu, 7 May 2026 10:32:13 +0100
Subject: [PATCH 20/22] Fix SVE TBL double table
---
llvm/lib/Target/AArch64/AArch64SchedC1Nano.td | 4 ++--
.../AArch64/Cortex/C1Nano-sve-instructions.s | 18 +++++++++---------
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
index b38af0d097cd7..5e8df2a46396e 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
@@ -1392,10 +1392,10 @@ def : InstRW<[C1NanoWrite<3, C1NanoUnitVALU>], (instregex "^REV_ZZ_[BHSD]",
def : InstRW<[C1NanoWrite<2, C1NanoUnitVALU>], (instregex "^SEL_ZPZZ_[BHSD]")>;
// Table lookup
-def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^TBL_ZZZZ?_[BHS]")>;
+def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^TBL_ZZZ_[BHSD]")>;
// Table lookup, double table
-def : InstRW<[C1NanoMC2Write<8, 5, C1NanoUnitVALU>], (instregex "^TBL_ZZZZ?_D")>;
+def : InstRW<[C1NanoMC2Write<8, 5, C1NanoUnitVALU>], (instregex "^TBL_ZZZZ_[BHSD]")>;
// Table lookup extension
def : InstRW<[C1NanoWrite<4, C1NanoUnitVALU>], (instregex "^TBX_ZZZ_[BHSD]")>;
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
index 99e4c4cec7e45..4fffaf627868b 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-sve-instructions.s
@@ -2888,12 +2888,12 @@
# CHECK-NEXT: 1 3 0.50 sxth z31.s, p7/m, z31.s
# CHECK-NEXT: 1 3 0.50 sxtw z0.d, p0/m, z0.d
# CHECK-NEXT: 1 3 0.50 sxtw z31.d, p7/m, z31.d
-# CHECK-NEXT: 1 4 0.50 tbl z28.b, { z29.b, z30.b }, z31.b
+# CHECK-NEXT: 1 8 5.00 tbl z28.b, { z29.b, z30.b }, z31.b
# CHECK-NEXT: 1 8 5.00 tbl z28.d, { z29.d, z30.d }, z31.d
-# CHECK-NEXT: 1 4 0.50 tbl z28.h, { z29.h, z30.h }, z31.h
-# CHECK-NEXT: 1 4 0.50 tbl z28.s, { z29.s, z30.s }, z31.s
+# CHECK-NEXT: 1 8 5.00 tbl z28.h, { z29.h, z30.h }, z31.h
+# CHECK-NEXT: 1 8 5.00 tbl z28.s, { z29.s, z30.s }, z31.s
# CHECK-NEXT: 1 4 0.50 tbl z31.b, { z31.b }, z31.b
-# CHECK-NEXT: 1 8 5.00 tbl z31.d, { z31.d }, z31.d
+# CHECK-NEXT: 1 4 0.50 tbl z31.d, { z31.d }, z31.d
# CHECK-NEXT: 1 4 0.50 tbl z31.h, { z31.h }, z31.h
# CHECK-NEXT: 1 4 0.50 tbl z31.s, { z31.s }, z31.s
# CHECK-NEXT: 1 4 0.50 tbx z31.b, z31.b, z31.b
@@ -3442,7 +3442,7 @@
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 393.00 54.00 9.00 - 221.00 2425.00 - - 1366.50 1296.50 215.00 215.00 676.00
+# CHECK-NEXT: 393.00 54.00 9.00 - 221.00 2425.00 - - 1375.50 1305.50 215.00 215.00 676.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -6324,12 +6324,12 @@
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxth z31.s, p7/m, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxtw z0.d, p0/m, z0.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - sxtw z31.d, p7/m, z31.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z28.b, { z29.b, z30.b }, z31.b
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - tbl z28.b, { z29.b, z30.b }, z31.b
# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - tbl z28.d, { z29.d, z30.d }, z31.d
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z28.h, { z29.h, z30.h }, z31.h
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z28.s, { z29.s, z30.s }, z31.s
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - tbl z28.h, { z29.h, z30.h }, z31.h
+# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - tbl z28.s, { z29.s, z30.s }, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z31.b, { z31.b }, z31.b
-# CHECK-NEXT: - - - - - - - - 5.00 5.00 - - - tbl z31.d, { z31.d }, z31.d
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z31.d, { z31.d }, z31.d
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z31.h, { z31.h }, z31.h
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbl z31.s, { z31.s }, z31.s
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - tbx z31.b, z31.b, z31.b
>From 776f37a59f83dfe85a36ae4d55e81d27d356e91b Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Thu, 7 May 2026 11:41:33 +0100
Subject: [PATCH 21/22] Fix ASIMD FDIV and FSQRT throughputs
---
llvm/lib/Target/AArch64/AArch64SchedC1Nano.td | 6 +++---
.../llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
index 5e8df2a46396e..c0027ec660cb3 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
@@ -659,7 +659,7 @@ def : InstRW<[C1NanoWriteVMAC], (instregex "^FCMLAv")>;
def : InstRW<[C1NanoWriteVMAC], (instregex "^FML(A|S)v")>;
// ASIMD FP divide, D-form, F61
-def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnitVMC>], (instrs FDIVv4f16)>;
+def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnit2VMC>], (instrs FDIVv4f16)>;
// ASIMD FP divide, D-form, F32
def : InstRW<[C1NanoMC2Write<13, 5, C1NanoUnit2VMC>], (instrs FDIVv2f32)>;
@@ -674,10 +674,10 @@ def : InstRW<[C1NanoMC2Write<13, 10, C1NanoUnit2VMC>], (instrs FDIVv4f32)>;
def : InstRW<[C1NanoMC2Write<22, 19, C1NanoUnit2VMC>], (instrs FDIVv2f64)>;
// ASIMD FP square root, D-form, F16
-def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnitVMC>], (instrs FSQRTv4f16)>;
+def : InstRW<[C1NanoMCWrite<8, 5, C1NanoUnit2VMC>], (instrs FSQRTv4f16)>;
// ASIMD FP square root, D-form, F32
-def : InstRW<[C1NanoMCWrite<12, 9, C1NanoUnitVMC>], (instrs FSQRTv2f32)>;
+def : InstRW<[C1NanoMCWrite<12, 9, C1NanoUnit2VMC>], (instrs FSQRTv2f32)>;
// ASIMD FP square root, Q-form, F16
def : InstRW<[C1NanoMC2Write<8, 5, C1NanoUnit2VMC>], (instrs FSQRTv8f16)>;
diff --git a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s
index 3fde5c2639338..454fbed5f0aae 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-neon-instructions.s
@@ -300,7 +300,7 @@
# CHECK-NEXT: 1 4 0.50 fcvtzu v27.8h, v6.8h, #11
# CHECK-NEXT: 1 22 19.00 fdiv v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 13 5.00 fdiv v0.2s, v0.2s, v0.2s
-# CHECK-NEXT: 1 8 5.00 fdiv v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 8 2.50 fdiv v0.4h, v0.4h, v0.4h
# CHECK-NEXT: 1 13 10.00 fdiv v0.4s, v0.4s, v0.4s
# CHECK-NEXT: 1 8 5.00 fdiv v0.8h, v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fmax v0.2d, v0.2d, v0.2d
@@ -462,8 +462,8 @@
# CHECK-NEXT: 1 4 0.50 frsqrts s21, s5, s12
# CHECK-NEXT: 1 4 0.50 frsqrts v0.2d, v0.2d, v0.2d
# CHECK-NEXT: 1 22 19.00 fsqrt v0.2d, v0.2d
-# CHECK-NEXT: 1 12 9.00 fsqrt v0.2s, v0.2s
-# CHECK-NEXT: 1 8 5.00 fsqrt v0.4h, v0.4h
+# CHECK-NEXT: 1 12 4.50 fsqrt v0.2s, v0.2s
+# CHECK-NEXT: 1 8 2.50 fsqrt v0.4h, v0.4h
# CHECK-NEXT: 1 12 9.00 fsqrt v0.4s, v0.4s
# CHECK-NEXT: 1 8 5.00 fsqrt v0.8h, v0.8h
# CHECK-NEXT: 1 4 0.50 fsub v13.8h, v15.8h, v17.8h
>From c569506fdae13a1b85ebbc30a03540ca9f5e21bb Mon Sep 17 00:00:00 2001
From: Keith Walker <keith.walker at arm.com>
Date: Thu, 7 May 2026 15:44:25 +0100
Subject: [PATCH 22/22] [AARCH64] C1-Premium Scheduling model MOPS unsupported
---
llvm/lib/Target/AArch64/AArch64SchedC1Premium.td | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/llvm/lib/Target/AArch64/AArch64SchedC1Premium.td b/llvm/lib/Target/AArch64/AArch64SchedC1Premium.td
index 5a8de63618cee..19a9dc75d560f 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedC1Premium.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedC1Premium.td
@@ -23,7 +23,8 @@ def C1PremiumModel : SchedMachineModel {
list<Predicate> UnsupportedFeatures = !listconcat(SMEUnsupported.F,
[HasSVE2p1, HasSVEB16B16,
- HasCPA, HasCSSC]);
+ HasCPA, HasCSSC,
+ HasMOPS, HasMOPS_GO]);
}
//===----------------------------------------------------------------------===//
More information about the llvm-commits
mailing list