[llvm] 2be46b3 - [MCA][X86][AVX512] Add test coverage for unsigned<->fp conversion instructions
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sat Nov 12 05:47:38 PST 2022
Author: Simon Pilgrim
Date: 2022-11-12T13:45:16Z
New Revision: 2be46b33d3d8bc383c529dca412b71f1f162a439
URL: https://github.com/llvm/llvm-project/commit/2be46b33d3d8bc383c529dca412b71f1f162a439
DIFF: https://github.com/llvm/llvm-project/commit/2be46b33d3d8bc383c529dca412b71f1f162a439.diff
LOG: [MCA][X86][AVX512] Add test coverage for unsigned<->fp conversion instructions
Added:
Modified:
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
Removed:
################################################################################
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
index 9282df15b5f0b..668434d684499 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
@@ -207,6 +207,16 @@ vcvtps2pd %ymm16, %zmm19 {z}{k1}
vcvtps2pd (%rax), %zmm19 {z}{k1}
vcvtps2pd (%rax){1to8}, %zmm19 {z}{k1}
+vcvtsd2usi %xmm0, %ecx
+vcvtsd2usi %xmm0, %rcx
+vcvtsd2usi (%rax), %ecx
+vcvtsd2usi (%rax), %rcx
+
+vcvtss2usi %xmm0, %ecx
+vcvtss2usi %xmm0, %rcx
+vcvtss2usi (%rax), %ecx
+vcvtss2usi (%rax), %rcx
+
vcvtps2udq %zmm16, %zmm19
vcvtps2udq (%rax), %zmm19
vcvtps2udq (%rax){1to16}, %zmm19
@@ -227,6 +237,16 @@ vcvttps2udq %zmm16, %zmm19 {z}{k1}
vcvttps2udq (%rax), %zmm19 {z}{k1}
vcvttps2udq (%rax){1to16}, %zmm19 {z}{k1}
+vcvttsd2usi %xmm0, %ecx
+vcvttsd2usi %xmm0, %rcx
+vcvttsd2usi (%rax), %ecx
+vcvttsd2usi (%rax), %rcx
+
+vcvttss2usi %xmm0, %ecx
+vcvttss2usi %xmm0, %rcx
+vcvttss2usi (%rax), %ecx
+vcvttss2usi (%rax), %rcx
+
vcvtudq2pd %ymm16, %zmm19
vcvtudq2pd (%rax), %zmm19
vcvtudq2pd (%rax){1to8}, %zmm19
@@ -247,6 +267,16 @@ vcvtudq2ps %zmm16, %zmm19 {z}{k1}
vcvtudq2ps (%rax), %zmm19 {z}{k1}
vcvtudq2ps (%rax){1to16}, %zmm19 {z}{k1}
+vcvtusi2sdl %ecx, %xmm0, %xmm2
+vcvtusi2sdq %rcx, %xmm0, %xmm2
+vcvtusi2sdl (%rax), %xmm0, %xmm2
+vcvtusi2sdq (%rax), %xmm0, %xmm2
+
+vcvtusi2ssl %ecx, %xmm0, %xmm2
+vcvtusi2ssq %rcx, %xmm0, %xmm2
+vcvtusi2ssl (%rax), %xmm0, %xmm2
+vcvtusi2ssq (%rax), %xmm0, %xmm2
+
vdivpd %zmm16, %zmm17, %zmm19
vdivpd (%rax), %zmm17, %zmm19
vdivpd (%rax){1to8}, %zmm17, %zmm19
@@ -1164,6 +1194,14 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 2 1.00 vcvtps2pd %ymm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vcvtps2pd (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vcvtps2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 5 1.00 vcvtsd2usi %xmm0, %ecx
+# CHECK-NEXT: 2 5 1.00 vcvtsd2usi %xmm0, %rcx
+# CHECK-NEXT: 3 10 1.00 * vcvtsd2usi (%rax), %ecx
+# CHECK-NEXT: 3 10 1.00 * vcvtsd2usi (%rax), %rcx
+# CHECK-NEXT: 2 5 1.00 vcvtss2usi %xmm0, %ecx
+# CHECK-NEXT: 2 5 1.00 vcvtss2usi %xmm0, %rcx
+# CHECK-NEXT: 3 10 1.00 * vcvtss2usi (%rax), %ecx
+# CHECK-NEXT: 3 10 1.00 * vcvtss2usi (%rax), %rcx
# CHECK-NEXT: 1 3 1.00 vcvtps2udq %zmm16, %zmm19
# CHECK-NEXT: 2 10 1.00 * vcvtps2udq (%rax), %zmm19
# CHECK-NEXT: 2 10 1.00 * vcvtps2udq (%rax){1to16}, %zmm19
@@ -1182,6 +1220,14 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vcvttps2udq %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vcvttps2udq (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vcvttps2udq (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 5 1.00 vcvttsd2usi %xmm0, %ecx
+# CHECK-NEXT: 2 5 1.00 vcvttsd2usi %xmm0, %rcx
+# CHECK-NEXT: 3 10 1.00 * vcvttsd2usi (%rax), %ecx
+# CHECK-NEXT: 3 10 1.00 * vcvttsd2usi (%rax), %rcx
+# CHECK-NEXT: 2 5 1.00 vcvttss2usi %xmm0, %ecx
+# CHECK-NEXT: 2 5 1.00 vcvttss2usi %xmm0, %rcx
+# CHECK-NEXT: 3 10 1.00 * vcvttss2usi (%rax), %ecx
+# CHECK-NEXT: 3 10 1.00 * vcvttss2usi (%rax), %rcx
# CHECK-NEXT: 2 4 1.00 vcvtudq2pd %ymm16, %zmm19
# CHECK-NEXT: 3 10 1.00 * vcvtudq2pd (%rax), %zmm19
# CHECK-NEXT: 3 10 1.00 * vcvtudq2pd (%rax){1to8}, %zmm19
@@ -1200,6 +1246,14 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 3 1.00 vcvtudq2ps %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vcvtudq2ps (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 10 1.00 * vcvtudq2ps (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 4 1.00 vcvtusi2sd %ecx, %xmm0, %xmm2
+# CHECK-NEXT: 2 4 1.00 vcvtusi2sd %rcx, %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcvtusi2sdl (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcvtusi2sdq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 3 5 2.00 vcvtusi2ss %ecx, %xmm0, %xmm2
+# CHECK-NEXT: 3 5 2.00 vcvtusi2ss %rcx, %xmm0, %xmm2
+# CHECK-NEXT: 3 10 1.00 * vcvtusi2ssl (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 3 10 1.00 * vcvtusi2ssq (%rax), %xmm0, %xmm2
# CHECK-NEXT: 3 45 44.00 vdivpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 4 52 44.00 * vdivpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 4 52 44.00 * vdivpd (%rax){1to8}, %zmm17, %zmm19
@@ -1857,7 +1911,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - 1506.00 153.67 282.67 16.00 513.67 275.50 275.50
+# CHECK-NEXT: - 1506.00 169.67 306.67 16.00 521.67 281.50 281.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -2041,6 +2095,14 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 1.00 - - 1.00 - - vcvtps2pd %ymm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vcvtps2pd (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vcvtps2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - vcvtsd2usi %xmm0, %ecx
+# CHECK-NEXT: - - 1.00 1.00 - - - - vcvtsd2usi %xmm0, %rcx
+# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 vcvtsd2usi (%rax), %ecx
+# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 vcvtsd2usi (%rax), %rcx
+# CHECK-NEXT: - - 1.00 1.00 - - - - vcvtss2usi %xmm0, %ecx
+# CHECK-NEXT: - - 1.00 1.00 - - - - vcvtss2usi %xmm0, %rcx
+# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 vcvtss2usi (%rax), %ecx
+# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 vcvtss2usi (%rax), %rcx
# CHECK-NEXT: - - - 1.00 - - - - vcvtps2udq %zmm16, %zmm19
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2udq (%rax), %zmm19
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtps2udq (%rax){1to16}, %zmm19
@@ -2059,6 +2121,14 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - 1.00 - - - - vcvttps2udq %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2udq (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvttps2udq (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - vcvttsd2usi %xmm0, %ecx
+# CHECK-NEXT: - - 1.00 1.00 - - - - vcvttsd2usi %xmm0, %rcx
+# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 vcvttsd2usi (%rax), %ecx
+# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 vcvttsd2usi (%rax), %rcx
+# CHECK-NEXT: - - 1.00 1.00 - - - - vcvttss2usi %xmm0, %ecx
+# CHECK-NEXT: - - 1.00 1.00 - - - - vcvttss2usi %xmm0, %rcx
+# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 vcvttss2usi (%rax), %ecx
+# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 vcvttss2usi (%rax), %rcx
# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtudq2pd %ymm16, %zmm19
# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtudq2pd (%rax), %zmm19
# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtudq2pd (%rax){1to8}, %zmm19
@@ -2077,6 +2147,14 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - 1.00 - - - - vcvtudq2ps %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtudq2ps (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtudq2ps (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtusi2sd %ecx, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - vcvtusi2sd %rcx, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtusi2sdl (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcvtusi2sdq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 2.00 - - vcvtusi2ss %ecx, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 2.00 - - vcvtusi2ss %rcx, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtusi2ssl (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 0.50 0.50 vcvtusi2ssq (%rax), %xmm0, %xmm2
# CHECK-NEXT: - 44.00 2.50 - - 0.50 - - vdivpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - 44.00 2.50 - - 0.50 0.50 0.50 vdivpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - 44.00 2.50 - - 0.50 0.50 0.50 vdivpd (%rax){1to8}, %zmm17, %zmm19
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
index eb370576f2c13..2c061becd93aa 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
@@ -207,6 +207,16 @@ vcvtps2pd %ymm16, %zmm19 {z}{k1}
vcvtps2pd (%rax), %zmm19 {z}{k1}
vcvtps2pd (%rax){1to8}, %zmm19 {z}{k1}
+vcvtsd2usi %xmm0, %ecx
+vcvtsd2usi %xmm0, %rcx
+vcvtsd2usi (%rax), %ecx
+vcvtsd2usi (%rax), %rcx
+
+vcvtss2usi %xmm0, %ecx
+vcvtss2usi %xmm0, %rcx
+vcvtss2usi (%rax), %ecx
+vcvtss2usi (%rax), %rcx
+
vcvtps2udq %zmm16, %zmm19
vcvtps2udq (%rax), %zmm19
vcvtps2udq (%rax){1to16}, %zmm19
@@ -227,6 +237,16 @@ vcvttps2udq %zmm16, %zmm19 {z}{k1}
vcvttps2udq (%rax), %zmm19 {z}{k1}
vcvttps2udq (%rax){1to16}, %zmm19 {z}{k1}
+vcvttsd2usi %xmm0, %ecx
+vcvttsd2usi %xmm0, %rcx
+vcvttsd2usi (%rax), %ecx
+vcvttsd2usi (%rax), %rcx
+
+vcvttss2usi %xmm0, %ecx
+vcvttss2usi %xmm0, %rcx
+vcvttss2usi (%rax), %ecx
+vcvttss2usi (%rax), %rcx
+
vcvtudq2pd %ymm16, %zmm19
vcvtudq2pd (%rax), %zmm19
vcvtudq2pd (%rax){1to8}, %zmm19
@@ -247,6 +267,16 @@ vcvtudq2ps %zmm16, %zmm19 {z}{k1}
vcvtudq2ps (%rax), %zmm19 {z}{k1}
vcvtudq2ps (%rax){1to16}, %zmm19 {z}{k1}
+vcvtusi2sdl %ecx, %xmm0, %xmm2
+vcvtusi2sdq %rcx, %xmm0, %xmm2
+vcvtusi2sdl (%rax), %xmm0, %xmm2
+vcvtusi2sdq (%rax), %xmm0, %xmm2
+
+vcvtusi2ssl %ecx, %xmm0, %xmm2
+vcvtusi2ssq %rcx, %xmm0, %xmm2
+vcvtusi2ssl (%rax), %xmm0, %xmm2
+vcvtusi2ssq (%rax), %xmm0, %xmm2
+
vdivpd %zmm16, %zmm17, %zmm19
vdivpd (%rax), %zmm17, %zmm19
vdivpd (%rax){1to8}, %zmm17, %zmm19
@@ -1164,6 +1194,14 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 3 1.00 vcvtps2pd %ymm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vcvtps2pd (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vcvtps2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 6 1.00 vcvtsd2usi %xmm0, %ecx
+# CHECK-NEXT: 2 6 1.00 vcvtsd2usi %xmm0, %rcx
+# CHECK-NEXT: 3 12 1.00 * vcvtsd2usi (%rax), %ecx
+# CHECK-NEXT: 3 11 1.00 * vcvtsd2usi (%rax), %rcx
+# CHECK-NEXT: 2 6 1.00 vcvtss2usi %xmm0, %ecx
+# CHECK-NEXT: 3 7 1.00 vcvtss2usi %xmm0, %rcx
+# CHECK-NEXT: 3 11 1.00 * vcvtss2usi (%rax), %ecx
+# CHECK-NEXT: 3 12 1.00 * vcvtss2usi (%rax), %rcx
# CHECK-NEXT: 1 4 0.50 vcvtps2udq %zmm16, %zmm19
# CHECK-NEXT: 2 11 0.50 * vcvtps2udq (%rax), %zmm19
# CHECK-NEXT: 2 11 0.50 * vcvtps2udq (%rax){1to16}, %zmm19
@@ -1182,6 +1220,14 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 3 0.50 vcvttps2udq %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vcvttps2udq (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vcvttps2udq (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 6 1.00 vcvttsd2usi %xmm0, %ecx
+# CHECK-NEXT: 2 6 1.00 vcvttsd2usi %xmm0, %rcx
+# CHECK-NEXT: 3 12 1.00 * vcvttsd2usi (%rax), %ecx
+# CHECK-NEXT: 3 11 1.00 * vcvttsd2usi (%rax), %rcx
+# CHECK-NEXT: 2 6 1.00 vcvttss2usi %xmm0, %ecx
+# CHECK-NEXT: 3 7 1.00 vcvttss2usi %xmm0, %rcx
+# CHECK-NEXT: 3 11 1.00 * vcvttss2usi (%rax), %ecx
+# CHECK-NEXT: 3 12 1.00 * vcvttss2usi (%rax), %rcx
# CHECK-NEXT: 2 7 1.00 vcvtudq2pd %ymm16, %zmm19
# CHECK-NEXT: 2 11 0.50 * vcvtudq2pd (%rax), %zmm19
# CHECK-NEXT: 2 11 0.50 * vcvtudq2pd (%rax){1to8}, %zmm19
@@ -1200,6 +1246,14 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 4 0.50 vcvtudq2ps %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vcvtudq2ps (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vcvtudq2ps (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 5 1.00 vcvtusi2sd %ecx, %xmm0, %xmm2
+# CHECK-NEXT: 2 5 1.00 vcvtusi2sd %rcx, %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcvtusi2sdl (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcvtusi2sdq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 2 5 1.00 vcvtusi2ss %ecx, %xmm0, %xmm2
+# CHECK-NEXT: 3 6 2.00 vcvtusi2ss %rcx, %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcvtusi2ssl (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcvtusi2ssq (%rax), %xmm0, %xmm2
# CHECK-NEXT: 3 23 16.00 vdivpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 4 30 16.00 * vdivpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 4 30 16.00 * vdivpd (%rax){1to8}, %zmm17, %zmm19
@@ -1861,7 +1915,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - 612.00 282.17 67.67 308.83 308.83 16.00 631.17 2.00 5.33 - -
+# CHECK-NEXT: - 612.00 301.50 85.00 314.83 314.83 16.00 641.50 2.00 5.33 - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -2045,6 +2099,14 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vcvtps2pd %ymm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vcvtsd2usi %xmm0, %ecx
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vcvtsd2usi %xmm0, %rcx
+# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - - - vcvtsd2usi (%rax), %ecx
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vcvtsd2usi (%rax), %rcx
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vcvtss2usi %xmm0, %ecx
+# CHECK-NEXT: - - 1.33 0.33 - - - 1.33 - - - - vcvtss2usi %xmm0, %rcx
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vcvtss2usi (%rax), %ecx
+# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - - - vcvtss2usi (%rax), %rcx
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtps2udq %zmm16, %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2udq (%rax), %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2udq (%rax){1to16}, %zmm19
@@ -2063,6 +2125,14 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttps2udq %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2udq (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2udq (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vcvttsd2usi %xmm0, %ecx
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vcvttsd2usi %xmm0, %rcx
+# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - - - vcvttsd2usi (%rax), %ecx
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vcvttsd2usi (%rax), %rcx
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vcvttss2usi %xmm0, %ecx
+# CHECK-NEXT: - - 1.33 0.33 - - - 1.33 - - - - vcvttss2usi %xmm0, %rcx
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vcvttss2usi (%rax), %ecx
+# CHECK-NEXT: - - 1.33 0.33 0.50 0.50 - 0.33 - - - - vcvttss2usi (%rax), %rcx
# CHECK-NEXT: - - 0.50 - - - - 1.50 - - - - vcvtudq2pd %ymm16, %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtudq2pd (%rax), %zmm19
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtudq2pd (%rax){1to8}, %zmm19
@@ -2081,6 +2151,14 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtudq2ps %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtudq2ps (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtudq2ps (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtusi2sd %ecx, %xmm0, %xmm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtusi2sd %rcx, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - - - vcvtusi2sdl (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - - - vcvtusi2sdq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtusi2ss %ecx, %xmm0, %xmm2
+# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - - - vcvtusi2ss %rcx, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - - - vcvtusi2ssl (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - - - vcvtusi2ssq (%rax), %xmm0, %xmm2
# CHECK-NEXT: - 16.00 2.00 - - - - 1.00 - - - - vdivpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - 16.00 2.00 - 0.50 0.50 - 1.00 - - - - vdivpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - 16.00 2.00 - 0.50 0.50 - 1.00 - - - - vdivpd (%rax){1to8}, %zmm17, %zmm19
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
index 5576a44b7a75a..f31c9ac42f88f 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
@@ -207,6 +207,16 @@ vcvtps2pd %ymm16, %zmm19 {z}{k1}
vcvtps2pd (%rax), %zmm19 {z}{k1}
vcvtps2pd (%rax){1to8}, %zmm19 {z}{k1}
+vcvtsd2usi %xmm0, %ecx
+vcvtsd2usi %xmm0, %rcx
+vcvtsd2usi (%rax), %ecx
+vcvtsd2usi (%rax), %rcx
+
+vcvtss2usi %xmm0, %ecx
+vcvtss2usi %xmm0, %rcx
+vcvtss2usi (%rax), %ecx
+vcvtss2usi (%rax), %rcx
+
vcvtps2udq %zmm16, %zmm19
vcvtps2udq (%rax), %zmm19
vcvtps2udq (%rax){1to16}, %zmm19
@@ -227,6 +237,16 @@ vcvttps2udq %zmm16, %zmm19 {z}{k1}
vcvttps2udq (%rax), %zmm19 {z}{k1}
vcvttps2udq (%rax){1to16}, %zmm19 {z}{k1}
+vcvttsd2usi %xmm0, %ecx
+vcvttsd2usi %xmm0, %rcx
+vcvttsd2usi (%rax), %ecx
+vcvttsd2usi (%rax), %rcx
+
+vcvttss2usi %xmm0, %ecx
+vcvttss2usi %xmm0, %rcx
+vcvttss2usi (%rax), %ecx
+vcvttss2usi (%rax), %rcx
+
vcvtudq2pd %ymm16, %zmm19
vcvtudq2pd (%rax), %zmm19
vcvtudq2pd (%rax){1to8}, %zmm19
@@ -247,6 +267,16 @@ vcvtudq2ps %zmm16, %zmm19 {z}{k1}
vcvtudq2ps (%rax), %zmm19 {z}{k1}
vcvtudq2ps (%rax){1to16}, %zmm19 {z}{k1}
+vcvtusi2sdl %ecx, %xmm0, %xmm2
+vcvtusi2sdq %rcx, %xmm0, %xmm2
+vcvtusi2sdl (%rax), %xmm0, %xmm2
+vcvtusi2sdq (%rax), %xmm0, %xmm2
+
+vcvtusi2ssl %ecx, %xmm0, %xmm2
+vcvtusi2ssq %rcx, %xmm0, %xmm2
+vcvtusi2ssl (%rax), %xmm0, %xmm2
+vcvtusi2ssq (%rax), %xmm0, %xmm2
+
vdivpd %zmm16, %zmm17, %zmm19
vdivpd (%rax), %zmm17, %zmm19
vdivpd (%rax){1to8}, %zmm17, %zmm19
@@ -1164,6 +1194,14 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 3 1.00 vcvtps2pd %ymm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vcvtps2pd (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vcvtps2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 6 1.00 vcvtsd2usi %xmm0, %ecx
+# CHECK-NEXT: 2 6 1.00 vcvtsd2usi %xmm0, %rcx
+# CHECK-NEXT: 3 12 1.00 * vcvtsd2usi (%rax), %ecx
+# CHECK-NEXT: 3 11 1.00 * vcvtsd2usi (%rax), %rcx
+# CHECK-NEXT: 2 6 1.00 vcvtss2usi %xmm0, %ecx
+# CHECK-NEXT: 3 7 1.00 vcvtss2usi %xmm0, %rcx
+# CHECK-NEXT: 3 11 1.00 * vcvtss2usi (%rax), %ecx
+# CHECK-NEXT: 3 12 1.00 * vcvtss2usi (%rax), %rcx
# CHECK-NEXT: 1 4 0.50 vcvtps2udq %zmm16, %zmm19
# CHECK-NEXT: 2 11 0.50 * vcvtps2udq (%rax), %zmm19
# CHECK-NEXT: 2 11 0.50 * vcvtps2udq (%rax){1to16}, %zmm19
@@ -1182,6 +1220,14 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 3 0.50 vcvttps2udq %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vcvttps2udq (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vcvttps2udq (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 6 1.00 vcvttsd2usi %xmm0, %ecx
+# CHECK-NEXT: 2 6 1.00 vcvttsd2usi %xmm0, %rcx
+# CHECK-NEXT: 3 12 1.00 * vcvttsd2usi (%rax), %ecx
+# CHECK-NEXT: 3 11 1.00 * vcvttsd2usi (%rax), %rcx
+# CHECK-NEXT: 2 6 1.00 vcvttss2usi %xmm0, %ecx
+# CHECK-NEXT: 3 7 1.00 vcvttss2usi %xmm0, %rcx
+# CHECK-NEXT: 3 11 1.00 * vcvttss2usi (%rax), %ecx
+# CHECK-NEXT: 3 12 1.00 * vcvttss2usi (%rax), %rcx
# CHECK-NEXT: 2 7 1.00 vcvtudq2pd %ymm16, %zmm19
# CHECK-NEXT: 2 11 0.50 * vcvtudq2pd (%rax), %zmm19
# CHECK-NEXT: 2 11 0.50 * vcvtudq2pd (%rax){1to8}, %zmm19
@@ -1200,6 +1246,14 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 4 0.50 vcvtudq2ps %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vcvtudq2ps (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: 2 11 0.50 * vcvtudq2ps (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 5 1.00 vcvtusi2sd %ecx, %xmm0, %xmm2
+# CHECK-NEXT: 2 5 1.00 vcvtusi2sd %rcx, %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcvtusi2sdl (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcvtusi2sdq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 2 5 1.00 vcvtusi2ss %ecx, %xmm0, %xmm2
+# CHECK-NEXT: 3 6 2.00 vcvtusi2ss %rcx, %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcvtusi2ssl (%rax), %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcvtusi2ssq (%rax), %xmm0, %xmm2
# CHECK-NEXT: 3 23 16.00 vdivpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 4 30 16.00 * vdivpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: 4 30 16.00 * vdivpd (%rax){1to8}, %zmm17, %zmm19
@@ -1859,7 +1913,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - 612.00 290.67 80.67 308.83 308.83 16.00 609.67 2.00 5.33
+# CHECK-NEXT: - 612.00 311.67 99.67 314.83 314.83 16.00 616.67 2.00 5.33
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -2043,6 +2097,14 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - vcvtps2pd %ymm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2pd (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2pd (%rax){1to8}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vcvtsd2usi %xmm0, %ecx
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vcvtsd2usi %xmm0, %rcx
+# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvtsd2usi (%rax), %ecx
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vcvtsd2usi (%rax), %rcx
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vcvtss2usi %xmm0, %ecx
+# CHECK-NEXT: - - 1.50 0.50 - - - 1.00 - - vcvtss2usi %xmm0, %rcx
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vcvtss2usi (%rax), %ecx
+# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvtss2usi (%rax), %rcx
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtps2udq %zmm16, %zmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2udq (%rax), %zmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtps2udq (%rax){1to16}, %zmm19
@@ -2061,6 +2123,14 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvttps2udq %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2udq (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvttps2udq (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vcvttsd2usi %xmm0, %ecx
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vcvttsd2usi %xmm0, %rcx
+# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvttsd2usi (%rax), %ecx
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vcvttsd2usi (%rax), %rcx
+# CHECK-NEXT: - - 1.00 1.00 - - - - - - vcvttss2usi %xmm0, %ecx
+# CHECK-NEXT: - - 1.50 0.50 - - - 1.00 - - vcvttss2usi %xmm0, %rcx
+# CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - vcvttss2usi (%rax), %ecx
+# CHECK-NEXT: - - 1.50 0.50 0.50 0.50 - - - - vcvttss2usi (%rax), %rcx
# CHECK-NEXT: - - 0.50 - - - - 1.50 - - vcvtudq2pd %ymm16, %zmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtudq2pd (%rax), %zmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtudq2pd (%rax){1to8}, %zmm19
@@ -2079,6 +2149,14 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - vcvtudq2ps %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtudq2ps (%rax), %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcvtudq2ps (%rax){1to16}, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtusi2sd %ecx, %xmm0, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtusi2sd %rcx, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtusi2sdl (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtusi2sdq (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - vcvtusi2ss %ecx, %xmm0, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - vcvtusi2ss %rcx, %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtusi2ssl (%rax), %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcvtusi2ssq (%rax), %xmm0, %xmm2
# CHECK-NEXT: - 16.00 2.00 - - - - 1.00 - - vdivpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - 16.00 2.00 - 0.50 0.50 - 1.00 - - vdivpd (%rax), %zmm17, %zmm19
# CHECK-NEXT: - 16.00 2.00 - 0.50 0.50 - 1.00 - - vdivpd (%rax){1to8}, %zmm17, %zmm19
More information about the llvm-commits
mailing list