[llvm] 4d96a6b - [AArch64] Fix N2 SchedModel for arithmetic and logic ops with cheap LSL
Ricardo Jesus via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 10 04:39:25 PST 2023
Author: Ricardo Jesus
Date: 2023-03-10T12:37:59Z
New Revision: 4d96a6b7be08e63576af1b3c177a9a24795bae88
URL: https://github.com/llvm/llvm-project/commit/4d96a6b7be08e63576af1b3c177a9a24795bae88
DIFF: https://github.com/llvm/llvm-project/commit/4d96a6b7be08e63576af1b3c177a9a24795bae88.diff
LOG: [AArch64] Fix N2 SchedModel for arithmetic and logic ops with cheap LSL
According to the N2 Software Optimization Guide, arithmetic ops with LSL
≤ 4, no flagset logical ops, and flagset logical ops with LSL = 0 have a
latency of 1 and use pipeline group I. However, most of these ops were
being modelled as having a latency of 2 and using pipeline M. The
affected instructions include the "unshifted" versions of ADD/SUB, among
others.
Differential Revision: https://reviews.llvm.org/D145370
Added:
llvm/lib/Target/AArch64/AArch64SchedPredNeoverse.td
Modified:
llvm/lib/Target/AArch64/AArch64.td
llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-basic-instructions.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/AArch64/AArch64.td b/llvm/lib/Target/AArch64/AArch64.td
index cbe0b83f9e553..e113a21d74b93 100644
--- a/llvm/lib/Target/AArch64/AArch64.td
+++ b/llvm/lib/Target/AArch64/AArch64.td
@@ -666,6 +666,7 @@ include "AArch64InstrInfo.td"
include "AArch64SchedPredicates.td"
include "AArch64SchedPredExynos.td"
include "AArch64SchedPredAmpere.td"
+include "AArch64SchedPredNeoverse.td"
include "AArch64Combine.td"
def AArch64InstrInfo : InstrInfo;
diff --git a/llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td b/llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
index a6bf778cbc668..ee5c9280095f6 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
@@ -609,6 +609,16 @@ def N2Write_11cyc_9L01_9S_9V : SchedWriteRes<[N2UnitL01, N2UnitL01, N2UnitL01,
let NumMicroOps = 27;
}
+//===----------------------------------------------------------------------===//
+// Define types for arithmetic and logical ops with short shifts
+def N2Write_Arith : SchedWriteVariant<[
+ SchedVar<NeoverseCheapLSL, [N2Write_1cyc_1I]>,
+ SchedVar<NoSchedPred, [N2Write_2cyc_1M]>]>;
+
+def N2Write_Logical: SchedWriteVariant<[
+ SchedVar<NeoverseNoLSL, [N2Write_1cyc_1I]>,
+ SchedVar<NoSchedPred, [N2Write_2cyc_1M]>]>;
+
// Miscellaneous
// -----------------------------------------------------------------------------
@@ -636,9 +646,20 @@ def : InstRW<[N2Write_1cyc_1B_1S], (instrs BL, BLR)>;
def : SchedAlias<WriteI, N2Write_1cyc_1I>;
// ALU, extend and shift
-def : SchedAlias<WriteISReg, N2Write_2cyc_1M>;
def : SchedAlias<WriteIEReg, N2Write_2cyc_1M>;
+// Arithmetic, LSL shift, shift <= 4
+// Arithmetic, flagset, LSL shift, shift <= 4
+// Arithmetic, LSR/ASR/ROR shift or LSL shift > 4
+def : SchedAlias<WriteISReg, N2Write_Arith>;
+
+// Logical, shift, no flagset
+def : InstRW<[N2Write_1cyc_1I],
+ (instregex "^(AND|BIC|EON|EOR|ORN|ORR)[WX]rs$")>;
+
+// Logical, shift, flagset
+def : InstRW<[N2Write_Logical], (instregex "^(AND|BIC)S[WX]rs$")>;
+
// Arithmetic, immediate to logical address tag
def : InstRW<[N2Write_2cyc_1M], (instrs ADDG, SUBG)>;
diff --git a/llvm/lib/Target/AArch64/AArch64SchedPredNeoverse.td b/llvm/lib/Target/AArch64/AArch64SchedPredNeoverse.td
new file mode 100644
index 0000000000000..80a300236716f
--- /dev/null
+++ b/llvm/lib/Target/AArch64/AArch64SchedPredNeoverse.td
@@ -0,0 +1,30 @@
+//===- AArch64SchedPredNeoverse.td - AArch64 Sched Preds -----*- 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 scheduling predicate definitions that are used by the
+// AArch64 Neoverse processors.
+//
+//===----------------------------------------------------------------------===//
+
+// Auxiliary predicates.
+
+// Check for LSL shift <= 4
+def NeoverseCheapLSL : MCSchedPredicate<
+ CheckAll<
+ [CheckShiftLSL,
+ CheckAny<
+ [CheckShiftBy0,
+ CheckShiftBy1,
+ CheckShiftBy2,
+ CheckShiftBy3,
+ CheckShiftBy4]>]>>;
+
+// Check for LSL shift == 0
+def NeoverseNoLSL : MCSchedPredicate<
+ CheckAll<[CheckShiftLSL,
+ CheckShiftBy0]>>;
diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-basic-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-basic-instructions.s
index 83ffb37af726e..f4c4a20573c4e 100644
--- a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-basic-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-basic-instructions.s
@@ -1406,11 +1406,11 @@ drps
# CHECK-NEXT: 1 1 0.25 mov wsp, w20
# CHECK-NEXT: 1 1 0.25 mov x11, sp
# CHECK-NEXT: 1 1 0.25 mov w24, wsp
-# CHECK-NEXT: 1 2 0.50 add w3, w5, w7
-# CHECK-NEXT: 1 2 0.50 add wzr, w3, w5
-# CHECK-NEXT: 1 2 0.50 add w20, wzr, w4
-# CHECK-NEXT: 1 2 0.50 add w4, w6, wzr
-# CHECK-NEXT: 1 2 0.50 add w11, w13, w15
+# CHECK-NEXT: 1 1 0.25 add w3, w5, w7
+# CHECK-NEXT: 1 1 0.25 add wzr, w3, w5
+# CHECK-NEXT: 1 1 0.25 add w20, wzr, w4
+# CHECK-NEXT: 1 1 0.25 add w4, w6, wzr
+# CHECK-NEXT: 1 1 0.25 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
@@ -1419,11 +1419,11 @@ drps
# 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 2 0.50 add x3, x5, x7
-# CHECK-NEXT: 1 2 0.50 add xzr, x3, x5
-# CHECK-NEXT: 1 2 0.50 add x20, xzr, x4
-# CHECK-NEXT: 1 2 0.50 add x4, x6, xzr
-# CHECK-NEXT: 1 2 0.50 add x11, x13, x15
+# CHECK-NEXT: 1 1 0.25 add x3, x5, x7
+# CHECK-NEXT: 1 1 0.25 add xzr, x3, x5
+# CHECK-NEXT: 1 1 0.25 add x20, xzr, x4
+# CHECK-NEXT: 1 1 0.25 add x4, x6, xzr
+# CHECK-NEXT: 1 1 0.25 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
@@ -1432,11 +1432,11 @@ drps
# 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 2 0.50 adds w3, w5, w7
-# CHECK-NEXT: 1 2 0.50 cmn w3, w5
-# CHECK-NEXT: 1 2 0.50 adds w20, wzr, w4
-# CHECK-NEXT: 1 2 0.50 adds w4, w6, wzr
-# CHECK-NEXT: 1 2 0.50 adds w11, w13, w15
+# CHECK-NEXT: 1 1 0.25 adds w3, w5, w7
+# CHECK-NEXT: 1 1 0.25 cmn w3, w5
+# CHECK-NEXT: 1 1 0.25 adds w20, wzr, w4
+# CHECK-NEXT: 1 1 0.25 adds w4, w6, wzr
+# CHECK-NEXT: 1 1 0.25 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
@@ -1445,11 +1445,11 @@ drps
# 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 2 0.50 adds x3, x5, x7
-# CHECK-NEXT: 1 2 0.50 cmn x3, x5
-# CHECK-NEXT: 1 2 0.50 adds x20, xzr, x4
-# CHECK-NEXT: 1 2 0.50 adds x4, x6, xzr
-# CHECK-NEXT: 1 2 0.50 adds x11, x13, x15
+# CHECK-NEXT: 1 1 0.25 adds x3, x5, x7
+# CHECK-NEXT: 1 1 0.25 cmn x3, x5
+# CHECK-NEXT: 1 1 0.25 adds x20, xzr, x4
+# CHECK-NEXT: 1 1 0.25 adds x4, x6, xzr
+# CHECK-NEXT: 1 1 0.25 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
@@ -1458,10 +1458,10 @@ drps
# 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 2 0.50 sub w3, w5, w7
-# CHECK-NEXT: 1 2 0.50 sub wzr, w3, w5
-# CHECK-NEXT: 1 2 0.50 sub w4, w6, wzr
-# CHECK-NEXT: 1 2 0.50 sub w11, w13, w15
+# CHECK-NEXT: 1 1 0.25 sub w3, w5, w7
+# CHECK-NEXT: 1 1 0.25 sub wzr, w3, w5
+# CHECK-NEXT: 1 1 0.25 sub w4, w6, wzr
+# CHECK-NEXT: 1 1 0.25 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
@@ -1470,10 +1470,10 @@ drps
# 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 2 0.50 sub x3, x5, x7
-# CHECK-NEXT: 1 2 0.50 sub xzr, x3, x5
-# CHECK-NEXT: 1 2 0.50 sub x4, x6, xzr
-# CHECK-NEXT: 1 2 0.50 sub x11, x13, x15
+# CHECK-NEXT: 1 1 0.25 sub x3, x5, x7
+# CHECK-NEXT: 1 1 0.25 sub xzr, x3, x5
+# CHECK-NEXT: 1 1 0.25 sub x4, x6, xzr
+# CHECK-NEXT: 1 1 0.25 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
@@ -1482,10 +1482,10 @@ drps
# 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 2 0.50 subs w3, w5, w7
-# CHECK-NEXT: 1 2 0.50 cmp w3, w5
-# CHECK-NEXT: 1 2 0.50 subs w4, w6, wzr
-# CHECK-NEXT: 1 2 0.50 subs w11, w13, w15
+# CHECK-NEXT: 1 1 0.25 subs w3, w5, w7
+# CHECK-NEXT: 1 1 0.25 cmp w3, w5
+# CHECK-NEXT: 1 1 0.25 subs w4, w6, wzr
+# CHECK-NEXT: 1 1 0.25 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
@@ -1494,10 +1494,10 @@ drps
# 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 2 0.50 subs x3, x5, x7
-# CHECK-NEXT: 1 2 0.50 cmp x3, x5
-# CHECK-NEXT: 1 2 0.50 subs x4, x6, xzr
-# CHECK-NEXT: 1 2 0.50 subs x11, x13, x15
+# CHECK-NEXT: 1 1 0.25 subs x3, x5, x7
+# CHECK-NEXT: 1 1 0.25 cmp x3, x5
+# CHECK-NEXT: 1 1 0.25 subs x4, x6, xzr
+# CHECK-NEXT: 1 1 0.25 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
@@ -1506,9 +1506,9 @@ drps
# 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 2 0.50 cmn wzr, w4
-# CHECK-NEXT: 1 2 0.50 cmn w5, wzr
-# CHECK-NEXT: 1 2 0.50 cmn w6, w7
+# CHECK-NEXT: 1 1 0.25 cmn wzr, w4
+# CHECK-NEXT: 1 1 0.25 cmn w5, wzr
+# CHECK-NEXT: 1 1 0.25 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
@@ -1517,10 +1517,10 @@ drps
# 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 2 0.50 cmn x0, x3
-# CHECK-NEXT: 1 2 0.50 cmn xzr, x4
-# CHECK-NEXT: 1 2 0.50 cmn x5, xzr
-# CHECK-NEXT: 1 2 0.50 cmn x6, x7
+# CHECK-NEXT: 1 1 0.25 cmn x0, x3
+# CHECK-NEXT: 1 1 0.25 cmn xzr, x4
+# CHECK-NEXT: 1 1 0.25 cmn x5, xzr
+# CHECK-NEXT: 1 1 0.25 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
@@ -1529,10 +1529,10 @@ drps
# 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 2 0.50 cmp w0, w3
-# CHECK-NEXT: 1 2 0.50 cmp wzr, w4
-# CHECK-NEXT: 1 2 0.50 cmp w5, wzr
-# CHECK-NEXT: 1 2 0.50 cmp w6, w7
+# CHECK-NEXT: 1 1 0.25 cmp w0, w3
+# CHECK-NEXT: 1 1 0.25 cmp wzr, w4
+# CHECK-NEXT: 1 1 0.25 cmp w5, wzr
+# CHECK-NEXT: 1 1 0.25 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
@@ -1540,10 +1540,10 @@ drps
# 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 2 0.50 cmp x0, x3
-# CHECK-NEXT: 1 2 0.50 cmp xzr, x4
-# CHECK-NEXT: 1 2 0.50 cmp x5, xzr
-# CHECK-NEXT: 1 2 0.50 cmp x6, x7
+# CHECK-NEXT: 1 1 0.25 cmp x0, x3
+# CHECK-NEXT: 1 1 0.25 cmp xzr, x4
+# CHECK-NEXT: 1 1 0.25 cmp x5, xzr
+# CHECK-NEXT: 1 1 0.25 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
@@ -1552,8 +1552,8 @@ drps
# 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 2 0.50 cmp wzr, w0
-# CHECK-NEXT: 1 2 0.50 cmp xzr, x0
+# CHECK-NEXT: 1 1 0.25 cmp wzr, w0
+# CHECK-NEXT: 1 1 0.25 cmp xzr, x0
# CHECK-NEXT: 1 1 0.25 adc w29, w27, w25
# CHECK-NEXT: 1 1 0.25 adc wzr, w3, w4
# CHECK-NEXT: 1 1 0.25 adc w9, wzr, w10
@@ -2484,34 +2484,34 @@ drps
# CHECK-NEXT: 3 6 0.67 * ldnp q23, q29, [x1, #-1024]
# CHECK-NEXT: 1 1 0.25 mov w3, #983055
# CHECK-NEXT: 1 1 0.25 mov x10, #-6148914691236517206
-# CHECK-NEXT: 1 2 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 2 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 2 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 2 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 2 0.50 orn w2, w5, w29
+# CHECK-NEXT: 1 1 0.25 and w12, w23, w21
+# CHECK-NEXT: 1 1 0.25 and w16, w15, w1, lsl #1
+# CHECK-NEXT: 1 1 0.25 and w9, w4, w10, lsl #31
+# CHECK-NEXT: 1 1 0.25 and w3, w30, w11
+# CHECK-NEXT: 1 1 0.25 and x3, x5, x7, lsl #63
+# CHECK-NEXT: 1 1 0.25 and x5, x14, x19, asr #4
+# CHECK-NEXT: 1 1 0.25 and w3, w17, w19, ror #31
+# CHECK-NEXT: 1 1 0.25 and w0, w2, wzr, lsr #17
+# CHECK-NEXT: 1 1 0.25 and w3, w30, w11, asr #2
+# CHECK-NEXT: 1 1 0.25 and xzr, x4, x26
+# CHECK-NEXT: 1 1 0.25 and w3, wzr, w20, ror #2
+# CHECK-NEXT: 1 1 0.25 and x7, x20, xzr, asr #63
+# CHECK-NEXT: 1 1 0.25 bic x13, x20, x14, lsl #47
+# CHECK-NEXT: 1 1 0.25 bic w2, w7, w9
+# CHECK-NEXT: 1 1 0.25 orr w2, w7, w0, asr #31
+# CHECK-NEXT: 1 1 0.25 orr x8, x9, x10, lsl #12
+# CHECK-NEXT: 1 1 0.25 orn x3, x5, x7, asr #2
+# CHECK-NEXT: 1 1 0.25 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 2 0.50 bics w3, w5, w7
+# CHECK-NEXT: 1 1 0.25 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 2 0.50 mov x3, x6
-# CHECK-NEXT: 1 2 0.50 mov x3, xzr
-# CHECK-NEXT: 1 2 0.50 mov wzr, w2
-# CHECK-NEXT: 1 2 0.50 mov w3, w5
+# CHECK-NEXT: 1 1 0.25 mov x3, x6
+# CHECK-NEXT: 1 1 0.25 mov x3, xzr
+# CHECK-NEXT: 1 1 0.25 mov wzr, w2
+# CHECK-NEXT: 1 1 0.25 mov w3, w5
# CHECK-NEXT: 1 1 0.25 movz w2, #0, lsl #16
# CHECK-NEXT: 1 1 0.25 mov w2, #-1235
# CHECK-NEXT: 1 1 0.25 mov x2, #5299989643264
@@ -2557,7 +2557,7 @@ drps
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8]
-# CHECK-NEXT: 11.00 11.00 33.00 33.00 87.33 151.33 151.33 536.00 270.00 143.50 143.50 169.50 85.50
+# CHECK-NEXT: 11.00 11.00 33.00 33.00 87.33 151.33 151.33 517.00 251.00 162.50 162.50 169.50 85.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions:
@@ -2590,11 +2590,11 @@ drps
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - mov wsp, w20
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - mov x11, sp
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - 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.25 0.25 0.25 0.25 - - add w3, w5, w7
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - add wzr, w3, w5
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - add w20, wzr, w4
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - add w4, w6, wzr
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - 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
@@ -2603,11 +2603,11 @@ drps
# 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.25 0.25 0.25 0.25 - - add x3, x5, x7
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - add xzr, x3, x5
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - add x20, xzr, x4
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - add x4, x6, xzr
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - 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
@@ -2616,11 +2616,11 @@ drps
# 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.25 0.25 0.25 0.25 - - adds w3, w5, w7
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - cmn w3, w5
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - adds w20, wzr, w4
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - adds w4, w6, wzr
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - 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
@@ -2629,11 +2629,11 @@ drps
# 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.25 0.25 0.25 0.25 - - adds x3, x5, x7
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - cmn x3, x5
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - adds x20, xzr, x4
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - adds x4, x6, xzr
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - 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
@@ -2642,10 +2642,10 @@ drps
# 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.25 0.25 0.25 0.25 - - sub w3, w5, w7
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - sub wzr, w3, w5
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - sub w4, w6, wzr
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - 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
@@ -2654,10 +2654,10 @@ drps
# 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.25 0.25 0.25 0.25 - - sub x3, x5, x7
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - sub xzr, x3, x5
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - sub x4, x6, xzr
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - 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
@@ -2666,10 +2666,10 @@ drps
# 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.25 0.25 0.25 0.25 - - subs w3, w5, w7
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - cmp w3, w5
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - subs w4, w6, wzr
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - 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
@@ -2678,10 +2678,10 @@ drps
# 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.25 0.25 0.25 0.25 - - subs x3, x5, x7
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - cmp x3, x5
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - subs x4, x6, xzr
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - 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
@@ -2690,9 +2690,9 @@ drps
# 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.25 0.25 0.25 0.25 - - cmn wzr, w4
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - cmn w5, wzr
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - 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
@@ -2701,10 +2701,10 @@ drps
# 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.25 0.25 0.25 0.25 - - cmn x0, x3
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - cmn xzr, x4
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - cmn x5, xzr
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - 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
@@ -2713,10 +2713,10 @@ drps
# 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.25 0.25 0.25 0.25 - - cmp w0, w3
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - cmp wzr, w4
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - cmp w5, wzr
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - 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
@@ -2724,10 +2724,10 @@ drps
# 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.25 0.25 0.25 0.25 - - cmp x0, x3
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - cmp xzr, x4
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - cmp x5, xzr
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - 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
@@ -2736,8 +2736,8 @@ drps
# 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.25 0.25 0.25 0.25 - - cmp wzr, w0
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - cmp xzr, x0
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - adc w29, w27, w25
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - adc wzr, w3, w4
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - adc w9, wzr, w10
@@ -3668,34 +3668,34 @@ drps
# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - - - ldnp q23, q29, [x1, #-1024]
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - mov w3, #983055
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - 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.25 0.25 0.25 0.25 - - and w12, w23, w21
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - and w16, w15, w1, lsl #1
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - and w9, w4, w10, lsl #31
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - and w3, w30, w11
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - and x3, x5, x7, lsl #63
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - and x5, x14, x19, asr #4
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - and w3, w17, w19, ror #31
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - and w0, w2, wzr, lsr #17
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - and w3, w30, w11, asr #2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - and xzr, x4, x26
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - and w3, wzr, w20, ror #2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - and x7, x20, xzr, asr #63
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - bic x13, x20, x14, lsl #47
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - bic w2, w7, w9
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - orr w2, w7, w0, asr #31
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - orr x8, x9, x10, lsl #12
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - orn x3, x5, x7, asr #2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - 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.25 0.25 0.25 0.25 - - 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.25 0.25 0.25 0.25 - - mov x3, x6
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - mov x3, xzr
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - mov wzr, w2
+# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - mov w3, w5
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - movz w2, #0, lsl #16
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - mov w2, #-1235
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - - mov x2, #5299989643264
More information about the llvm-commits
mailing list