From 4a28b7ba9816fd7e8ecadfcaf6cfd1949f909dfd Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Sat, 12 Nov 2022 18:17:46 +0000 Subject: [PATCH] [X86] IceLakeModel - conversion instructions don't use Port015 Fixes a lot of throughput mismatches - the more complicated conversion instructions use ICXPort5+ICXPort01, not ICXPort5+ICXPort015 (ICXPort015 is mainly used for basic Logic + blend ops) Fixing this should allow us to remove a lot of unnecessary scheduler overrides from IceLakeModel Confirmed by both Agner + uops.info --- llvm/lib/Target/X86/X86SchedIceLake.td | 24 +- .../llvm-mca/X86/IceLakeServer/resources-avx1.s | 46 ++-- .../llvm-mca/X86/IceLakeServer/resources-avx512.s | 178 +++++++-------- .../X86/IceLakeServer/resources-avx512dq.s | 26 +-- .../X86/IceLakeServer/resources-avx512dqvl.s | 26 +-- .../X86/IceLakeServer/resources-avx512vl.s | 242 ++++++++++----------- .../llvm-mca/X86/IceLakeServer/resources-sse1.s | 18 +- .../llvm-mca/X86/IceLakeServer/resources-sse2.s | 36 +-- 8 files changed, 298 insertions(+), 298 deletions(-) diff --git a/llvm/lib/Target/X86/X86SchedIceLake.td b/llvm/lib/Target/X86/X86SchedIceLake.td index e972185..34fcb24 100644 --- a/llvm/lib/Target/X86/X86SchedIceLake.td +++ b/llvm/lib/Target/X86/X86SchedIceLake.td @@ -1066,7 +1066,7 @@ def ICXWriteResGroup57 : SchedWriteRes<[ICXPort1,ICXPort6,ICXPort0156]> { } def: InstRW<[ICXWriteResGroup57], (instregex "LAR(16|32|64)rr")>; -def ICXWriteResGroup61 : SchedWriteRes<[ICXPort5,ICXPort015]> { +def ICXWriteResGroup61 : SchedWriteRes<[ICXPort5,ICXPort01]> { let Latency = 5; let NumMicroOps = 2; let ResourceCycles = [1,1]; @@ -1111,7 +1111,7 @@ def ICXWriteResGroup63 : SchedWriteRes<[ICXPort1,ICXPort6,ICXPort06]> { } def: InstRW<[ICXWriteResGroup63], (instregex "STR(16|32|64)r")>; -def ICXWriteResGroup65 : SchedWriteRes<[ICXPort4,ICXPort237,ICXPort015]> { +def ICXWriteResGroup65 : SchedWriteRes<[ICXPort4,ICXPort237,ICXPort01]> { let Latency = 5; let NumMicroOps = 3; let ResourceCycles = [1,1,1]; @@ -1242,7 +1242,7 @@ def ICXWriteResGroup81 : SchedWriteRes<[ICXPort23,ICXPort0156]> { def: InstRW<[ICXWriteResGroup81], (instrs POP16r, POP32r, POP64r)>; def: InstRW<[ICXWriteResGroup81], (instregex "POP(16|32|64)rmr")>; -def ICXWriteResGroup82 : SchedWriteRes<[ICXPort5,ICXPort015]> { +def ICXWriteResGroup82 : SchedWriteRes<[ICXPort5,ICXPort01]> { let Latency = 6; let NumMicroOps = 3; let ResourceCycles = [2,1]; @@ -1319,7 +1319,7 @@ def: InstRW<[ICXWriteResGroup92], (instregex "VMOV(SD|SS)Zrm(b?)", "(V?)PACK(U|S)S(DW|WB)(Z128)?rm", "(V?)UNPCK(L|H)(PD|PS)(Z128)?rm")>; -def ICXWriteResGroup93 : SchedWriteRes<[ICXPort5,ICXPort015]> { +def ICXWriteResGroup93 : SchedWriteRes<[ICXPort5,ICXPort01]> { let Latency = 7; let NumMicroOps = 2; let ResourceCycles = [1,1]; @@ -1422,7 +1422,7 @@ def ICXWriteResGroup99 : SchedWriteRes<[ICXPort23,ICXPort0156]> { def: InstRW<[ICXWriteResGroup99], (instrs LEAVE, LEAVE64, SCASB, SCASL, SCASQ, SCASW)>; -def ICXWriteResGroup100 : SchedWriteRes<[ICXPort0,ICXPort5,ICXPort015]> { +def ICXWriteResGroup100 : SchedWriteRes<[ICXPort0,ICXPort5,ICXPort01]> { let Latency = 7; let NumMicroOps = 3; let ResourceCycles = [1,1,1]; @@ -1746,7 +1746,7 @@ def: InstRW<[ICXWriteResGroup136_2], (instregex "VCMP(PD|PS)Z128rm(b?)i", "VPTESTNMQZ128rm(b?)", "VPTESTNMWZ128rm(b?)")>; -def ICXWriteResGroup137 : SchedWriteRes<[ICXPort23,ICXPort015]> { +def ICXWriteResGroup137 : SchedWriteRes<[ICXPort23,ICXPort01]> { let Latency = 9; let NumMicroOps = 2; let ResourceCycles = [1,1]; @@ -1813,7 +1813,7 @@ def: InstRW<[ICXWriteResGroup148_2], (instregex "VCMPPD(Z|Z256)rm(b?)i", "VPTESTNM(B|D|Q|W)Z256rm(b?)", "VPTESTNM(B|D|Q|W)Zrm(b?)")>; -def ICXWriteResGroup149 : SchedWriteRes<[ICXPort23,ICXPort015]> { +def ICXWriteResGroup149 : SchedWriteRes<[ICXPort23,ICXPort01]> { let Latency = 10; let NumMicroOps = 2; let ResourceCycles = [1,1]; @@ -1878,7 +1878,7 @@ def ICXWriteResGroup160 : SchedWriteRes<[ICXPort0,ICXPort23]> { } def: InstRW<[ICXWriteResGroup160], (instregex "MUL_F(32|64)m")>; -def ICXWriteResGroup161 : SchedWriteRes<[ICXPort23,ICXPort015]> { +def ICXWriteResGroup161 : SchedWriteRes<[ICXPort23,ICXPort01]> { let Latency = 11; let NumMicroOps = 2; let ResourceCycles = [1,1]; @@ -1919,7 +1919,7 @@ def ICXWriteResGroup164 : SchedWriteRes<[ICXPort0,ICXPort5,ICXPort23]> { } def: InstRW<[ICXWriteResGroup164], (instregex "(V?)CVTDQ2PDrm")>; -def ICXWriteResGroup166 : SchedWriteRes<[ICXPort5,ICXPort23,ICXPort015]> { +def ICXWriteResGroup166 : SchedWriteRes<[ICXPort5,ICXPort23,ICXPort01]> { let Latency = 11; let NumMicroOps = 3; let ResourceCycles = [1,1,1]; @@ -1979,7 +1979,7 @@ def ICXWriteResGroup175 : SchedWriteRes<[ICXPort5,ICXPort23]> { } def: InstRW<[ICXWriteResGroup175], (instregex "VPERMWZ128rm(b?)")>; -def ICXWriteResGroup176 : SchedWriteRes<[ICXPort0,ICXPort23,ICXPort015]> { +def ICXWriteResGroup176 : SchedWriteRes<[ICXPort0,ICXPort23,ICXPort01]> { let Latency = 12; let NumMicroOps = 3; let ResourceCycles = [1,1,1]; @@ -1987,7 +1987,7 @@ def ICXWriteResGroup176 : SchedWriteRes<[ICXPort0,ICXPort23,ICXPort015]> { def: InstRW<[ICXWriteResGroup176], (instregex "VCVT(T?)SD2USIZrm(b?)", "VCVT(T?)SS2USI64Zrm(b?)")>; -def ICXWriteResGroup177 : SchedWriteRes<[ICXPort5,ICXPort23,ICXPort015]> { +def ICXWriteResGroup177 : SchedWriteRes<[ICXPort5,ICXPort23,ICXPort01]> { let Latency = 12; let NumMicroOps = 3; let ResourceCycles = [1,1,1]; @@ -2026,7 +2026,7 @@ def ICXWriteResGroup187 : SchedWriteRes<[ICXPort0,ICXPort5,ICXPort23]> { } def: InstRW<[ICXWriteResGroup187], (instregex "MUL_FI(16|32)m")>; -def ICXWriteResGroup188 : SchedWriteRes<[ICXPort5,ICXPort23,ICXPort015]> { +def ICXWriteResGroup188 : SchedWriteRes<[ICXPort5,ICXPort23,ICXPort01]> { let Latency = 14; let NumMicroOps = 3; let ResourceCycles = [1,1,1]; diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s index 383ddac..e0fed37 100644 --- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s +++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s @@ -1738,7 +1738,7 @@ vzeroupper # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] -# CHECK-NEXT: - 126.00 319.25 228.25 173.17 173.17 34.00 305.25 6.25 12.67 - - +# CHECK-NEXT: - 126.00 322.92 231.92 173.17 173.17 34.00 297.92 6.25 12.67 - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: @@ -1831,59 +1831,59 @@ vzeroupper # CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtdq2pd %xmm0, %ymm2 # CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - - - vcvtdq2pd (%rax), %ymm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax), %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtdq2ps %ymm0, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax), %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax), %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtpd2dq %xmm0, %xmm2 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2dqx (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtpd2dq %ymm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtpd2dq %ymm0, %xmm2 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2dqy (%rax), %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtpd2ps %xmm0, %xmm2 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtpd2psx (%rax), %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtpd2ps %ymm0, %xmm2 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtpd2psy (%rax), %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax), %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtps2dq %ymm0, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax), %ymm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtps2pd %xmm0, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax), %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax), %ymm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2pd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2pd %xmm0, %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2pd (%rax), %ymm2 # CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vcvtsd2si %xmm0, %ecx # CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vcvtsd2si %xmm0, %rcx # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vcvtsd2si (%rax), %ecx # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vcvtsd2si (%rax), %rcx # CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtsd2ss %xmm0, %xmm1, %xmm2 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtsd2ss (%rax), %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtsi2sd %ecx, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtsi2sd %rcx, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtsi2sd %ecx, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtsi2sd %rcx, %xmm0, %xmm2 # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - - - vcvtsi2sdl (%rax), %xmm0, %xmm2 # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - - - vcvtsi2sdq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtsi2ss %ecx, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - - - vcvtsi2ss %rcx, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtsi2ss %ecx, %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - - - vcvtsi2ss %rcx, %xmm0, %xmm2 # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - - - vcvtsi2ssl (%rax), %xmm0, %xmm2 # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - - - vcvtsi2ssq (%rax), %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtss2sd %xmm0, %xmm1, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtss2sd (%rax), %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtss2sd %xmm0, %xmm1, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtss2sd (%rax), %xmm1, %xmm2 # CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vcvtss2si %xmm0, %ecx -# CHECK-NEXT: - - 1.33 0.33 - - - 1.33 - - - - vcvtss2si %xmm0, %rcx +# CHECK-NEXT: - - 1.50 0.50 - - - 1.00 - - - - vcvtss2si %xmm0, %rcx # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vcvtss2si (%rax), %ecx # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vcvtss2si (%rax), %rcx -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttpd2dq %xmm0, %xmm2 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2dqx (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvttpd2dq %ymm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttpd2dq %ymm0, %xmm2 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2dqy (%rax), %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax), %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttps2dq %ymm0, %ymm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax), %ymm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax), %ymm2 # CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vcvttsd2si %xmm0, %ecx # CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vcvttsd2si %xmm0, %rcx # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vcvttsd2si (%rax), %ecx # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vcvttsd2si (%rax), %rcx # CHECK-NEXT: - - 1.00 1.00 - - - - - - - - vcvttss2si %xmm0, %ecx -# CHECK-NEXT: - - 1.33 0.33 - - - 1.33 - - - - vcvttss2si %xmm0, %rcx +# CHECK-NEXT: - - 1.50 0.50 - - - 1.00 - - - - vcvttss2si %xmm0, %rcx # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vcvttss2si (%rax), %ecx # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - vcvttss2si (%rax), %rcx # CHECK-NEXT: - 4.00 1.00 - - - - - - - - - vdivpd %xmm0, %xmm1, %xmm2 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 2c061be..240c99b 100644 --- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s +++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s @@ -1915,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 301.50 85.00 314.83 314.83 16.00 641.50 2.00 5.33 - - +# CHECK-NEXT: - 612.00 316.17 99.67 314.83 314.83 16.00 612.17 2.00 5.33 - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: @@ -2010,59 +2010,59 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} # CHECK-NEXT: - - 1.00 - - - - - - - - - vcomiss %xmm16, %xmm17 # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vcomiss (%rax), %xmm17 # CHECK-NEXT: - - 0.50 - - - - 1.50 - - - - vcvtdq2pd %ymm16, %zmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2pd (%rax), %zmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2pd (%rax){1to8}, %zmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2pd (%rax), %zmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2pd (%rax){1to8}, %zmm19 # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtdq2pd %ymm16, %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2pd (%rax), %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2pd (%rax){1to8}, %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2pd (%rax), %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2pd (%rax){1to8}, %zmm19 {%k1} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtdq2pd %ymm16, %zmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2pd (%rax), %zmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2pd (%rax){1to8}, %zmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2pd (%rax), %zmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2pd (%rax){1to8}, %zmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtdq2ps %zmm16, %zmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax), %zmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax){1to16}, %zmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax), %zmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax){1to16}, %zmm19 # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtdq2ps %zmm16, %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax), %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax){1to16}, %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax), %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax){1to16}, %zmm19 {%k1} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtdq2ps %zmm16, %zmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax), %zmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax){1to16}, %zmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax), %zmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax){1to16}, %zmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 - - - - 1.50 - - - - vcvtpd2dq %zmm16, %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvtpd2dq (%rax), %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvtpd2dq (%rax){1to8}, %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtpd2dq (%rax), %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtpd2dq (%rax){1to8}, %ymm19 # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtpd2dq %zmm16, %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvtpd2dq (%rax), %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvtpd2dq (%rax){1to8}, %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtpd2dq (%rax), %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtpd2dq (%rax){1to8}, %ymm19 {%k1} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtpd2dq %zmm16, %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvtpd2dq (%rax), %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvtpd2dq (%rax){1to8}, %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtpd2dq (%rax), %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtpd2dq (%rax){1to8}, %ymm19 {%k1} {z} # CHECK-NEXT: - - 0.50 - - - - 1.50 - - - - vcvtpd2udq %zmm16, %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvtpd2udq (%rax), %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvtpd2udq (%rax){1to8}, %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtpd2udq (%rax), %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtpd2udq (%rax){1to8}, %ymm19 # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtpd2udq %zmm16, %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvtpd2udq (%rax), %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvtpd2udq (%rax){1to8}, %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtpd2udq (%rax), %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtpd2udq (%rax){1to8}, %ymm19 {%k1} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtpd2udq %zmm16, %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvtpd2udq (%rax), %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvtpd2udq (%rax){1to8}, %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtpd2udq (%rax), %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtpd2udq (%rax){1to8}, %ymm19 {%k1} {z} # CHECK-NEXT: - - 0.50 - - - - 1.50 - - - - vcvttpd2dq %zmm16, %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvttpd2dq (%rax), %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvttpd2dq (%rax){1to8}, %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttpd2dq (%rax), %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttpd2dq (%rax){1to8}, %ymm19 # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttpd2dq %zmm16, %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvttpd2dq (%rax), %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvttpd2dq (%rax){1to8}, %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttpd2dq (%rax), %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttpd2dq (%rax){1to8}, %ymm19 {%k1} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttpd2dq %zmm16, %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvttpd2dq (%rax), %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvttpd2dq (%rax){1to8}, %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttpd2dq (%rax), %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttpd2dq (%rax){1to8}, %ymm19 {%k1} {z} # CHECK-NEXT: - - 0.50 - - - - 1.50 - - - - vcvttpd2udq %zmm16, %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvttpd2udq (%rax), %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvttpd2udq (%rax){1to8}, %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttpd2udq (%rax), %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttpd2udq (%rax){1to8}, %ymm19 # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttpd2udq %zmm16, %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvttpd2udq (%rax), %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvttpd2udq (%rax){1to8}, %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttpd2udq (%rax), %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttpd2udq (%rax){1to8}, %ymm19 {%k1} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttpd2udq %zmm16, %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvttpd2udq (%rax), %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvttpd2udq (%rax){1to8}, %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttpd2udq (%rax), %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvttpd2udq (%rax){1to8}, %ymm19 {%k1} {z} # CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vcvtpd2ps %zmm16, %ymm19 # CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - - - vcvtpd2ps (%rax), %ymm19 # CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - - - vcvtpd2ps (%rax){1to8}, %ymm19 @@ -2073,90 +2073,90 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1} # CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - - - vcvtpd2ps (%rax), %ymm19 {%k1} {z} # CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - - - vcvtpd2ps (%rax){1to8}, %ymm19 {%k1} {z} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtps2dq %zmm16, %zmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax), %zmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax){1to16}, %zmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax), %zmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax){1to16}, %zmm19 # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtps2dq %zmm16, %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax), %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax){1to16}, %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax), %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax){1to16}, %zmm19 {%k1} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtps2dq %zmm16, %zmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax), %zmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax){1to16}, %zmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax), %zmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax){1to16}, %zmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttps2dq %zmm16, %zmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax), %zmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax){1to16}, %zmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax), %zmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax){1to16}, %zmm19 # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttps2dq %zmm16, %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax), %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax){1to16}, %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax), %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax){1to16}, %zmm19 {%k1} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttps2dq %zmm16, %zmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax), %zmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax){1to16}, %zmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax), %zmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax){1to16}, %zmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 - - - - 1.50 - - - - vcvtps2pd %ymm16, %zmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax), %zmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax){1to8}, %zmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2pd (%rax), %zmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2pd (%rax){1to8}, %zmm19 # CHECK-NEXT: - - 1.00 - - - - 1.00 - - - - vcvtps2pd %ymm16, %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax), %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax){1to8}, %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2pd (%rax), %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2pd (%rax){1to8}, %zmm19 {%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: - - 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.33 0.33 0.50 0.50 - 0.33 - - - - vcvtsd2usi (%rax), %ecx +# 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.33 0.33 - - - 1.33 - - - - vcvtss2usi %xmm0, %rcx +# 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.33 0.33 0.50 0.50 - 0.33 - - - - vcvtss2usi (%rax), %rcx +# 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.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 +# 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 # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtps2udq %zmm16, %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2udq (%rax), %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2udq (%rax){1to16}, %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2udq (%rax), %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2udq (%rax){1to16}, %zmm19 {%k1} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtps2udq %zmm16, %zmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2udq (%rax), %zmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2udq (%rax){1to16}, %zmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2udq (%rax), %zmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2udq (%rax){1to16}, %zmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttps2udq %zmm16, %zmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2udq (%rax), %zmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2udq (%rax){1to16}, %zmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2udq (%rax), %zmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2udq (%rax){1to16}, %zmm19 # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvttps2udq %zmm16, %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2udq (%rax), %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2udq (%rax){1to16}, %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2udq (%rax), %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2udq (%rax){1to16}, %zmm19 {%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: - - 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.33 0.33 0.50 0.50 - 0.33 - - - - vcvttsd2usi (%rax), %ecx +# 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.33 0.33 - - - 1.33 - - - - vcvttss2usi %xmm0, %rcx +# 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.33 0.33 0.50 0.50 - 0.33 - - - - vcvttss2usi (%rax), %rcx +# 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.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 +# 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 # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtudq2pd %ymm16, %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtudq2pd (%rax), %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtudq2pd (%rax){1to8}, %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtudq2pd (%rax), %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtudq2pd (%rax){1to8}, %zmm19 {%k1} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtudq2pd %ymm16, %zmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtudq2pd (%rax), %zmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtudq2pd (%rax){1to8}, %zmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtudq2pd (%rax), %zmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtudq2pd (%rax){1to8}, %zmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtudq2ps %zmm16, %zmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtudq2ps (%rax), %zmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtudq2ps (%rax){1to16}, %zmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtudq2ps (%rax), %zmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtudq2ps (%rax){1to16}, %zmm19 # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtudq2ps %zmm16, %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtudq2ps (%rax), %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtudq2ps (%rax){1to16}, %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtudq2ps (%rax), %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtudq2ps (%rax){1to16}, %zmm19 {%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: - - 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.33 0.33 - - - 1.33 - - - - vcvtusi2ss %ecx, %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - - - vcvtusi2ss %rcx, %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 diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s index 1ed6326..b74428f 100644 --- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s +++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s @@ -357,7 +357,7 @@ vpmovq2m %zmm0, %k0 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] -# CHECK-NEXT: - - 75.00 10.00 46.50 46.50 - 87.00 - - - - +# CHECK-NEXT: - - 77.00 12.00 46.50 46.50 - 83.00 - - - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: @@ -431,23 +431,23 @@ vpmovq2m %zmm0, %k0 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vbroadcasti64x2 (%rax), %zmm19 {%k1} # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vbroadcasti64x2 (%rax), %zmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtqq2pd %zmm16, %zmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtqq2pd (%rax), %zmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtqq2pd (%rax){1to8}, %zmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax), %zmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax){1to8}, %zmm19 # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtqq2pd %zmm16, %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtqq2pd (%rax), %zmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtqq2pd (%rax){1to8}, %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax), %zmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax){1to8}, %zmm19 {%k1} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtqq2pd %zmm16, %zmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtqq2pd (%rax), %zmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtqq2pd (%rax){1to8}, %zmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax), %zmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax){1to8}, %zmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 - - - - 1.50 - - - - vcvtqq2ps %zmm16, %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvtqq2ps (%rax), %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvtqq2ps (%rax){1to8}, %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtqq2ps (%rax), %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtqq2ps (%rax){1to8}, %ymm19 # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtqq2ps %zmm16, %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvtqq2ps (%rax), %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvtqq2ps (%rax){1to8}, %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtqq2ps (%rax), %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtqq2ps (%rax){1to8}, %ymm19 {%k1} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vcvtqq2ps %zmm16, %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvtqq2ps (%rax), %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - vcvtqq2ps (%rax){1to8}, %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtqq2ps (%rax), %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtqq2ps (%rax){1to8}, %ymm19 {%k1} {z} # CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vorpd %zmm16, %zmm17, %zmm19 # CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorpd (%rax), %zmm17, %zmm19 # CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vorpd (%rax){1to8}, %zmm17, %zmm19 diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dqvl.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dqvl.s index 9c7e93f..236b711 100644 --- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dqvl.s +++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dqvl.s @@ -482,7 +482,7 @@ vpmovq2m %ymm0, %k0 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] -# CHECK-NEXT: - - 77.33 73.33 66.50 66.50 - 85.33 - - - - +# CHECK-NEXT: - - 79.33 75.33 66.50 66.50 - 81.33 - - - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: @@ -565,23 +565,23 @@ vpmovq2m %ymm0, %k0 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vbroadcasti64x2 (%rax), %ymm19 {%k1} # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vbroadcasti64x2 (%rax), %ymm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtqq2pd %xmm16, %xmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtqq2pd (%rax), %xmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtqq2pd (%rax){1to2}, %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax), %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax){1to2}, %xmm19 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtqq2pd %xmm16, %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtqq2pd (%rax), %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtqq2pd (%rax){1to2}, %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax), %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax){1to2}, %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtqq2pd %xmm16, %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtqq2pd (%rax), %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtqq2pd (%rax){1to2}, %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax), %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax){1to2}, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtqq2pd %ymm16, %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtqq2pd (%rax), %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtqq2pd (%rax){1to4}, %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax), %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax){1to4}, %ymm19 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtqq2pd %ymm16, %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtqq2pd (%rax), %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtqq2pd (%rax){1to4}, %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax), %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax){1to4}, %ymm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtqq2pd %ymm16, %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtqq2pd (%rax), %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtqq2pd (%rax){1to4}, %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax), %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtqq2pd (%rax){1to4}, %ymm19 {%k1} {z} # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vorpd %xmm16, %xmm17, %xmm19 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vorpd (%rax), %xmm17, %xmm19 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vorpd (%rax){1to2}, %xmm17, %xmm19 diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s index 8ee8f9e..d1f6573 100644 --- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s +++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s @@ -3004,7 +3004,7 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1} # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] -# CHECK-NEXT: - 423.00 364.33 339.33 467.17 467.17 32.00 762.33 4.00 10.67 - - +# CHECK-NEXT: - 423.00 384.33 359.33 467.17 467.17 32.00 722.33 4.00 10.67 - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: @@ -3128,58 +3128,58 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1} # CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpeqps %ymm0, %ymm1, %k2 {%k3} # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vcmpeqps (%rax), %ymm1, %k2 {%k3} # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vcmpeqps (%rax){1to8}, %ymm1, %k2 {%k3} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtdq2pd %xmm16, %xmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2pd (%rax), %xmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2pd (%rax){1to2}, %xmm19 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtdq2pd %xmm16, %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2pd (%rax), %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2pd (%rax){1to2}, %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtdq2pd %xmm16, %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2pd (%rax), %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2pd (%rax){1to2}, %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtdq2pd %xmm16, %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2pd (%rax), %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2pd (%rax){1to4}, %ymm19 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtdq2pd %xmm16, %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2pd (%rax), %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2pd (%rax){1to4}, %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtdq2pd %xmm16, %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2pd (%rax), %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2pd (%rax){1to4}, %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtdq2pd %xmm16, %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2pd (%rax), %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2pd (%rax){1to2}, %xmm19 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtdq2pd %xmm16, %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2pd (%rax), %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2pd (%rax){1to2}, %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtdq2pd %xmm16, %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2pd (%rax), %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2pd (%rax){1to2}, %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtdq2pd %xmm16, %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2pd (%rax), %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2pd (%rax){1to4}, %ymm19 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtdq2pd %xmm16, %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2pd (%rax), %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2pd (%rax){1to4}, %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtdq2pd %xmm16, %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2pd (%rax), %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2pd (%rax){1to4}, %ymm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtdq2ps %xmm16, %xmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax), %xmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax){1to4}, %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax), %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax){1to4}, %xmm19 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtdq2ps %xmm16, %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax), %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax){1to4}, %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax), %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax){1to4}, %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtdq2ps %xmm16, %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax), %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax){1to4}, %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax), %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax){1to4}, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtdq2ps %ymm16, %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax), %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax){1to8}, %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax), %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax){1to8}, %ymm19 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtdq2ps %ymm16, %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax), %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax){1to8}, %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax), %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax){1to8}, %ymm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtdq2ps %ymm16, %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax), %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtdq2ps (%rax){1to8}, %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtpd2dq %ymm16, %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax), %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtdq2ps (%rax){1to8}, %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtpd2dq %ymm16, %xmm19 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2dqy (%rax), %xmm19 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2dq (%rax){1to4}, %xmm19 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtpd2dq %ymm16, %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtpd2dq %ymm16, %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2dqy (%rax), %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2dq (%rax){1to4}, %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtpd2dq %ymm16, %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtpd2dq %ymm16, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2dqy (%rax), %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2dq (%rax){1to4}, %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtpd2dq %xmm16, %xmm19 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtpd2dq %xmm16, %xmm19 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2dqx (%rax), %xmm19 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2dq (%rax){1to2}, %xmm19 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtpd2dq %xmm16, %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtpd2dq %xmm16, %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2dqx (%rax), %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2dq (%rax){1to2}, %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtpd2dq %xmm16, %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtpd2dq %xmm16, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2dqx (%rax), %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2dq (%rax){1to2}, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtpd2ps %ymm16, %xmm19 @@ -3200,150 +3200,150 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1} # CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtpd2ps %xmm16, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtpd2psx (%rax), %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - vcvtpd2ps (%rax){1to2}, %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtpd2udq %ymm16, %xmm19 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtpd2udq %ymm16, %xmm19 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2udqy (%rax), %xmm19 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2udq (%rax){1to4}, %xmm19 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtpd2udq %ymm16, %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtpd2udq %ymm16, %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2udqy (%rax), %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2udq (%rax){1to4}, %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtpd2udq %ymm16, %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtpd2udq %ymm16, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2udqy (%rax), %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2udq (%rax){1to4}, %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtpd2udq %xmm16, %xmm19 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtpd2udq %xmm16, %xmm19 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2udqx (%rax), %xmm19 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2udq (%rax){1to2}, %xmm19 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtpd2udq %xmm16, %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtpd2udq %xmm16, %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2udqx (%rax), %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2udq (%rax){1to2}, %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtpd2udq %xmm16, %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtpd2udq %xmm16, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2udqx (%rax), %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtpd2udq (%rax){1to2}, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtps2dq %xmm16, %xmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax), %xmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax){1to4}, %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax), %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax){1to4}, %xmm19 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtps2dq %xmm16, %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax), %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax){1to4}, %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax), %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax){1to4}, %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtps2dq %xmm16, %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax), %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax){1to4}, %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax), %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax){1to4}, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtps2dq %ymm16, %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax), %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax){1to8}, %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax), %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax){1to8}, %ymm19 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtps2dq %ymm16, %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax), %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax){1to8}, %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax), %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax){1to8}, %ymm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtps2dq %ymm16, %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax), %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2dq (%rax){1to8}, %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtps2pd %xmm16, %xmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax), %xmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax){1to2}, %xmm19 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtps2pd %xmm16, %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax), %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax){1to2}, %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtps2pd %xmm16, %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax), %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax){1to2}, %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtps2pd %xmm16, %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax), %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax){1to4}, %ymm19 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtps2pd %xmm16, %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax), %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax){1to4}, %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvtps2pd %xmm16, %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax), %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2pd (%rax){1to4}, %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax), %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2dq (%rax){1to8}, %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2pd %xmm16, %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2pd (%rax), %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2pd (%rax){1to2}, %xmm19 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2pd %xmm16, %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2pd (%rax), %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2pd (%rax){1to2}, %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2pd %xmm16, %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2pd (%rax), %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2pd (%rax){1to2}, %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2pd %xmm16, %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2pd (%rax), %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2pd (%rax){1to4}, %ymm19 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2pd %xmm16, %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2pd (%rax), %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2pd (%rax){1to4}, %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvtps2pd %xmm16, %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2pd (%rax), %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2pd (%rax){1to4}, %ymm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtps2udq %xmm16, %xmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2udq (%rax), %xmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2udq (%rax){1to4}, %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2udq (%rax), %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2udq (%rax){1to4}, %xmm19 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtps2udq %xmm16, %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2udq (%rax), %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2udq (%rax){1to4}, %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2udq (%rax), %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2udq (%rax){1to4}, %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtps2udq %xmm16, %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2udq (%rax), %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2udq (%rax){1to4}, %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2udq (%rax), %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2udq (%rax){1to4}, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtps2udq %ymm16, %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2udq (%rax), %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2udq (%rax){1to8}, %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2udq (%rax), %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2udq (%rax){1to8}, %ymm19 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtps2udq %ymm16, %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2udq (%rax), %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2udq (%rax){1to8}, %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2udq (%rax), %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2udq (%rax){1to8}, %ymm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvtps2udq %ymm16, %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2udq (%rax), %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvtps2udq (%rax){1to8}, %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvttpd2dq %ymm16, %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2udq (%rax), %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvtps2udq (%rax){1to8}, %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttpd2dq %ymm16, %xmm19 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2dqy (%rax), %xmm19 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2dq (%rax){1to4}, %xmm19 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvttpd2dq %ymm16, %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttpd2dq %ymm16, %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2dqy (%rax), %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2dq (%rax){1to4}, %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvttpd2dq %ymm16, %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttpd2dq %ymm16, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2dqy (%rax), %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2dq (%rax){1to4}, %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvttpd2dq %xmm16, %xmm19 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttpd2dq %xmm16, %xmm19 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2dqx (%rax), %xmm19 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2dq (%rax){1to2}, %xmm19 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvttpd2dq %xmm16, %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttpd2dq %xmm16, %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2dqx (%rax), %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2dq (%rax){1to2}, %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvttpd2dq %xmm16, %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttpd2dq %xmm16, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2dqx (%rax), %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2dq (%rax){1to2}, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttps2dq %xmm16, %xmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax), %xmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax){1to4}, %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax), %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax){1to4}, %xmm19 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttps2dq %xmm16, %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax), %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax){1to4}, %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax), %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax){1to4}, %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttps2dq %xmm16, %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax), %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax){1to4}, %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax), %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax){1to4}, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttps2dq %ymm16, %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax), %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax){1to8}, %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax), %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax){1to8}, %ymm19 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttps2dq %ymm16, %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax), %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax){1to8}, %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax), %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax){1to8}, %ymm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttps2dq %ymm16, %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax), %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2dq (%rax){1to8}, %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvttpd2udq %ymm16, %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax), %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2dq (%rax){1to8}, %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttpd2udq %ymm16, %xmm19 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2udqy (%rax), %xmm19 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2udq (%rax){1to4}, %xmm19 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvttpd2udq %ymm16, %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttpd2udq %ymm16, %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2udqy (%rax), %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2udq (%rax){1to4}, %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvttpd2udq %ymm16, %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttpd2udq %ymm16, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2udqy (%rax), %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2udq (%rax){1to4}, %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvttpd2udq %xmm16, %xmm19 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttpd2udq %xmm16, %xmm19 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2udqx (%rax), %xmm19 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2udq (%rax){1to2}, %xmm19 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvttpd2udq %xmm16, %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttpd2udq %xmm16, %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2udqx (%rax), %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2udq (%rax){1to2}, %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - vcvttpd2udq %xmm16, %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - vcvttpd2udq %xmm16, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2udqx (%rax), %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttpd2udq (%rax){1to2}, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttps2udq %xmm16, %xmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2udq (%rax), %xmm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2udq (%rax){1to4}, %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2udq (%rax), %xmm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2udq (%rax){1to4}, %xmm19 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttps2udq %xmm16, %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2udq (%rax), %xmm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2udq (%rax){1to4}, %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2udq (%rax), %xmm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2udq (%rax){1to4}, %xmm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttps2udq %xmm16, %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2udq (%rax), %xmm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2udq (%rax){1to4}, %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2udq (%rax), %xmm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2udq (%rax){1to4}, %xmm19 {%k1} {z} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttps2udq %ymm16, %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2udq (%rax), %ymm19 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2udq (%rax){1to8}, %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2udq (%rax), %ymm19 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2udq (%rax){1to8}, %ymm19 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttps2udq %ymm16, %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2udq (%rax), %ymm19 {%k1} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2udq (%rax){1to8}, %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2udq (%rax), %ymm19 {%k1} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2udq (%rax){1to8}, %ymm19 {%k1} # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vcvttps2udq %ymm16, %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2udq (%rax), %ymm19 {%k1} {z} -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vcvttps2udq (%rax){1to8}, %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2udq (%rax), %ymm19 {%k1} {z} +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vcvttps2udq (%rax){1to8}, %ymm19 {%k1} {z} # CHECK-NEXT: - 4.00 1.00 - - - - - - - - - vdivpd %xmm16, %xmm17, %xmm19 # CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - - - vdivpd (%rax), %xmm17, %xmm19 # CHECK-NEXT: - 4.00 1.00 - 0.50 0.50 - - - - - - vdivpd (%rax){1to2}, %xmm17, %xmm19 diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse1.s index 1730d67..5c4d49a 100644 --- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse1.s +++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse1.s @@ -335,7 +335,7 @@ xorps (%rax), %xmm2 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] -# CHECK-NEXT: - 24.00 65.83 27.83 32.00 32.00 8.00 34.83 0.50 3.00 - - +# CHECK-NEXT: - 24.00 67.17 29.17 32.00 32.00 8.00 32.17 0.50 3.00 - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: @@ -355,20 +355,20 @@ xorps (%rax), %xmm2 # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - comiss (%rax), %xmm1 # CHECK-NEXT: - - - - - - - 2.00 - - - - cvtpi2ps %mm0, %xmm2 # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - cvtpi2ps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - cvtps2pi %xmm0, %mm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - cvtps2pi (%rax), %mm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - cvtsi2ss %ecx, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 2.33 - - - - cvtsi2ss %rcx, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - cvtps2pi %xmm0, %mm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - cvtps2pi (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - cvtsi2ss %ecx, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 2.00 - - - - cvtsi2ss %rcx, %xmm2 # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - - - cvtsi2ssl (%rax), %xmm2 # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - - - cvtsi2ssq (%rax), %xmm2 # CHECK-NEXT: - - 1.00 1.00 - - - - - - - - cvtss2si %xmm0, %ecx -# CHECK-NEXT: - - 1.33 0.33 - - - 1.33 - - - - cvtss2si %xmm0, %rcx +# CHECK-NEXT: - - 1.50 0.50 - - - 1.00 - - - - cvtss2si %xmm0, %rcx # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - cvtss2si (%rax), %ecx # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - cvtss2si (%rax), %rcx -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - cvttps2pi %xmm0, %mm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - cvttps2pi (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - cvttps2pi %xmm0, %mm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - cvttps2pi (%rax), %mm2 # CHECK-NEXT: - - 1.00 1.00 - - - - - - - - cvttss2si %xmm0, %ecx -# CHECK-NEXT: - - 1.33 0.33 - - - 1.33 - - - - cvttss2si %xmm0, %rcx +# CHECK-NEXT: - - 1.50 0.50 - - - 1.00 - - - - cvttss2si %xmm0, %rcx # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - cvttss2si (%rax), %ecx # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - cvttss2si (%rax), %rcx # CHECK-NEXT: - 3.00 1.00 - - - - - - - - - divps %xmm0, %xmm2 diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse2.s index 4720831..0205aef 100644 --- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse2.s +++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse2.s @@ -691,7 +691,7 @@ xorpd (%rax), %xmm2 # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] -# CHECK-NEXT: - 40.00 104.58 96.58 63.50 63.50 14.00 82.58 2.25 5.00 - - +# CHECK-NEXT: - 40.00 107.42 99.42 63.50 63.50 14.00 76.92 2.25 5.00 - - # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: @@ -713,37 +713,37 @@ xorpd (%rax), %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - cvtdq2pd %xmm0, %xmm2 # CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - - - cvtdq2pd (%rax), %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - cvtdq2ps %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - cvtdq2ps (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - cvtpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - cvtpd2dq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - cvtpd2pi %xmm0, %mm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - cvtpd2pi (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - cvtdq2ps (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - cvtpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - cvtpd2dq (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - cvtpd2pi %xmm0, %mm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - cvtpd2pi (%rax), %mm2 # CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - cvtpd2ps %xmm0, %xmm2 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - cvtpd2ps (%rax), %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - cvtpi2pd %mm0, %xmm2 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - cvtpi2pd (%rax), %xmm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - cvtps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - cvtps2dq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - cvtps2pd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - cvtps2pd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - cvtps2dq (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - cvtps2pd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - cvtps2pd (%rax), %xmm2 # CHECK-NEXT: - - 1.00 1.00 - - - - - - - - cvtsd2si %xmm0, %ecx # CHECK-NEXT: - - 1.00 1.00 - - - - - - - - cvtsd2si %xmm0, %rcx # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - cvtsd2si (%rax), %ecx # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - cvtsd2si (%rax), %rcx # CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - cvtsd2ss %xmm0, %xmm2 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - cvtsd2ss (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - cvtsi2sd %ecx, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - cvtsi2sd %rcx, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - cvtsi2sd %ecx, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - cvtsi2sd %rcx, %xmm2 # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - - - cvtsi2sdl (%rax), %xmm2 # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - - - cvtsi2sdq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - cvtss2sd %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - cvtss2sd (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - cvttpd2dq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - cvttpd2dq (%rax), %xmm2 -# CHECK-NEXT: - - 0.33 0.33 - - - 1.33 - - - - cvttpd2pi %xmm0, %mm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 1.33 - - - - cvttpd2pi (%rax), %mm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - cvtss2sd %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - cvtss2sd (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - cvttpd2dq %xmm0, %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - cvttpd2dq (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 - - - 1.00 - - - - cvttpd2pi %xmm0, %mm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - 1.00 - - - - cvttpd2pi (%rax), %mm2 # CHECK-NEXT: - - 0.50 0.50 - - - - - - - - cvttps2dq %xmm0, %xmm2 -# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - cvttps2dq (%rax), %xmm2 +# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - cvttps2dq (%rax), %xmm2 # CHECK-NEXT: - - 1.00 1.00 - - - - - - - - cvttsd2si %xmm0, %ecx # CHECK-NEXT: - - 1.00 1.00 - - - - - - - - cvttsd2si %xmm0, %rcx # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - - - cvttsd2si (%rax), %ecx -- 2.7.4