diff options
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.s | 154 |
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} |