summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s')
-rw-r--r--llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s154
1 files changed, 153 insertions, 1 deletions
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
index 8d4091eb8c2..145192932f5 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
@@ -29,6 +29,34 @@ vpaddw (%rax), %zmm17, %zmm19 {k1}
vpaddw %zmm16, %zmm17, %zmm19 {z}{k1}
vpaddw (%rax), %zmm17, %zmm19 {z}{k1}
+vpermw %zmm16, %zmm17, %zmm19
+vpermw (%rax), %zmm17, %zmm19
+vpermw %zmm16, %zmm17, %zmm19 {k1}
+vpermw (%rax), %zmm17, %zmm19 {k1}
+vpermw %zmm16, %zmm17, %zmm19 {z}{k1}
+vpermw (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpshufb %zmm16, %zmm17, %zmm19
+vpshufb (%rax), %zmm17, %zmm19
+vpshufb %zmm16, %zmm17, %zmm19 {k1}
+vpshufb (%rax), %zmm17, %zmm19 {k1}
+vpshufb %zmm16, %zmm17, %zmm19 {z}{k1}
+vpshufb (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpshufhw $0, %zmm16, %zmm19
+vpshufhw $0, (%rax), %zmm19
+vpshufhw $0, %zmm16, %zmm19 {k1}
+vpshufhw $0, (%rax), %zmm19 {k1}
+vpshufhw $0, %zmm16, %zmm19 {z}{k1}
+vpshufhw $0, (%rax), %zmm19 {z}{k1}
+
+vpshuflw $0, %zmm16, %zmm19
+vpshuflw $0, (%rax), %zmm19
+vpshuflw $0, %zmm16, %zmm19 {k1}
+vpshuflw $0, (%rax), %zmm19 {k1}
+vpshuflw $0, %zmm16, %zmm19 {z}{k1}
+vpshuflw $0, (%rax), %zmm19 {z}{k1}
+
vpsubb %zmm16, %zmm17, %zmm19
vpsubb (%rax), %zmm17, %zmm19
vpsubb %zmm16, %zmm17, %zmm19 {k1}
@@ -43,6 +71,34 @@ vpsubw (%rax), %zmm17, %zmm19 {k1}
vpsubw %zmm16, %zmm17, %zmm19 {z}{k1}
vpsubw (%rax), %zmm17, %zmm19 {z}{k1}
+vpunpckhbw %zmm16, %zmm17, %zmm19
+vpunpckhbw (%rax), %zmm17, %zmm19
+vpunpckhbw %zmm16, %zmm17, %zmm19 {k1}
+vpunpckhbw (%rax), %zmm17, %zmm19 {k1}
+vpunpckhbw %zmm16, %zmm17, %zmm19 {z}{k1}
+vpunpckhbw (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpunpckhwd %zmm16, %zmm17, %zmm19
+vpunpckhwd (%rax), %zmm17, %zmm19
+vpunpckhwd %zmm16, %zmm17, %zmm19 {k1}
+vpunpckhwd (%rax), %zmm17, %zmm19 {k1}
+vpunpckhwd %zmm16, %zmm17, %zmm19 {z}{k1}
+vpunpckhwd (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpunpcklbw %zmm16, %zmm17, %zmm19
+vpunpcklbw (%rax), %zmm17, %zmm19
+vpunpcklbw %zmm16, %zmm17, %zmm19 {k1}
+vpunpcklbw (%rax), %zmm17, %zmm19 {k1}
+vpunpcklbw %zmm16, %zmm17, %zmm19 {z}{k1}
+vpunpcklbw (%rax), %zmm17, %zmm19 {z}{k1}
+
+vpunpcklwd %zmm16, %zmm17, %zmm19
+vpunpcklwd (%rax), %zmm17, %zmm19
+vpunpcklwd %zmm16, %zmm17, %zmm19 {k1}
+vpunpcklwd (%rax), %zmm17, %zmm19 {k1}
+vpunpcklwd %zmm16, %zmm17, %zmm19 {z}{k1}
+vpunpcklwd (%rax), %zmm17, %zmm19 {z}{k1}
+
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
@@ -76,6 +132,30 @@ vpsubw (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpaddw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpermw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vpermw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 1 1.00 vpermw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpermw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpermw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vpermw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 0.50 vpshufb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 0.50 * vpshufb (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 1 0.50 vpshufb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 0.50 * vpshufb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 0.50 vpshufb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 0.50 * vpshufb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vpshufhw $0, (%rax), %zmm19
+# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpshufhw $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpshufhw $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vpshufhw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpshuflw $0, %zmm16, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %zmm19
+# CHECK-NEXT: 1 1 1.00 vpshuflw $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpshuflw $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vpshuflw $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpsubb %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 0.50 * vpsubb (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 0.50 vpsubb %zmm16, %zmm17, %zmm19 {%k1}
@@ -88,6 +168,30 @@ vpsubw (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpsubw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpsubw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpunpckhbw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 1 1.00 vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vpunpckhbw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpunpckhwd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 1 1.00 vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vpunpckhwd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpunpcklbw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 1 1.00 vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vpunpcklbw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 1 1.00 vpunpcklwd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 1 1.00 vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 1 1.00 vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 8 1.00 * vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK: Resources:
# CHECK-NEXT: [0] - SBDivider
@@ -101,7 +205,7 @@ vpsubw (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - - - 18.00 - 18.00 9.00 9.00
+# CHECK-NEXT: - - - 21.00 - 63.00 21.00 21.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -129,6 +233,30 @@ vpsubw (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpermw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vpermw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpermw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpermw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufb %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufb (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufb %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufb (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - 0.50 - 0.50 - - vpshufb %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpshufb (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpshufhw $0, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufhw $0, (%rax), %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vpshufhw $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufhw $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpshufhw $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshufhw $0, (%rax), %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpshuflw $0, %zmm16, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshuflw $0, (%rax), %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vpshuflw $0, %zmm16, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshuflw $0, (%rax), %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpshuflw $0, %zmm16, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpshuflw $0, (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubb %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubb (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubb %zmm16, %zmm17, %zmm19 {%k1}
@@ -141,3 +269,27 @@ vpsubw (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpsubw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpsubw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpunpckhbw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhbw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhbw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpunpckhbw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhbw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpunpckhwd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhwd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhwd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpunpckhwd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpckhwd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpunpcklbw %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklbw (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklbw (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpunpcklbw %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklbw (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 - - vpunpcklwd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklwd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - 1.00 - - vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklwd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - 1.00 - - vpunpcklwd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpunpcklwd (%rax), %zmm17, %zmm19 {%k1} {z}
OpenPOWER on IntegriCloud