[llvm] r328295 - [X86] Correct the latencies of SNB integer vector multiplies based on Agner's data. Add missing MMX multiplies.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 22 23:41:43 PDT 2018
Author: ctopper
Date: Thu Mar 22 23:41:43 2018
New Revision: 328295
URL: http://llvm.org/viewvc/llvm-project?rev=328295&view=rev
Log:
[X86] Correct the latencies of SNB integer vector multiplies based on Agner's data. Add missing MMX multiplies.
Modified:
llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td
llvm/trunk/test/CodeGen/X86/mmx-schedule.ll
llvm/trunk/test/CodeGen/X86/sse2-schedule.ll
llvm/trunk/test/CodeGen/X86/sse41-schedule.ll
llvm/trunk/test/CodeGen/X86/ssse3-schedule.ll
Modified: llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td?rev=328295&r1=328294&r2=328295&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td Thu Mar 22 23:41:43 2018
@@ -676,13 +676,18 @@ def: InstRW<[SBWriteResGroup19], (instre
"SHRD(16|32|64)rri8")>;
def SBWriteResGroup20 : SchedWriteRes<[SBPort0]> {
- let Latency = 3;
+ let Latency = 5;
let NumMicroOps = 1;
let ResourceCycles = [1];
}
def: InstRW<[SBWriteResGroup20], (instregex "MMX_PMADDUBSWrr",
+ "MMX_PMADDWDirr",
"MMX_PMULHRSWrr",
+ "MMX_PMULHUWirr",
+ "MMX_PMULHWirr",
+ "MMX_PMULLWirr",
"MMX_PMULUDQirr",
+ "MMX_PSADBWirr",
"(V?)PMADDUBSWrr",
"(V?)PMADDWDrr",
"(V?)PMULDQrr",
@@ -995,7 +1000,7 @@ def: InstRW<[SBWriteResGroup33], (instre
"(V?)MOVUPSmr")>;
def SBWriteResGroup34 : SchedWriteRes<[SBPort0,SBPort15]> {
- let Latency = 5;
+ let Latency = 7;
let NumMicroOps = 3;
let ResourceCycles = [1,2];
}
@@ -1475,9 +1480,7 @@ def SBWriteResGroup71 : SchedWriteRes<[S
let NumMicroOps = 2;
let ResourceCycles = [1,1];
}
-def: InstRW<[SBWriteResGroup71], (instregex "MMX_PMADDUBSWrm",
- "MMX_PMULHRSWrm",
- "VTESTPDYrm",
+def: InstRW<[SBWriteResGroup71], (instregex "VTESTPDYrm",
"VTESTPSYrm")>;
def SBWriteResGroup72 : SchedWriteRes<[SBPort1,SBPort23]> {
@@ -1659,12 +1662,11 @@ def: InstRW<[SBWriteResGroup88], (instre
"SHRD(16|32|64)mri8")>;
def SBWriteResGroup89 : SchedWriteRes<[SBPort0,SBPort23]> {
- let Latency = 9;
+ let Latency = 11;
let NumMicroOps = 2;
let ResourceCycles = [1,1];
}
-def: InstRW<[SBWriteResGroup89], (instregex "MMX_PMULUDQirm",
- "(V?)PMADDUBSWrm",
+def: InstRW<[SBWriteResGroup89], (instregex "(V?)PMADDUBSWrm",
"(V?)PMADDWDrm",
"(V?)PMULDQrm",
"(V?)PMULHRSWrm",
@@ -1675,6 +1677,20 @@ def: InstRW<[SBWriteResGroup89], (instre
"(V?)PMULUDQrm",
"(V?)PSADBWrm")>;
+def SBWriteResGroup89_2 : SchedWriteRes<[SBPort0,SBPort23]> {
+ let Latency = 10;
+ let NumMicroOps = 2;
+ let ResourceCycles = [1,1];
+}
+def: InstRW<[SBWriteResGroup89], (instregex "MMX_PMADDUBSWrm",
+ "MMX_PMADDWDirm"
+ "MMX_PMULHRSWrm",
+ "MMX_PMULHUWirm",
+ "MMX_PMULHWirm",
+ "MMX_PMULLWirm",
+ "MMX_PMULUDQirm",
+ "MMX_PSADBWirm")>;
+
def SBWriteResGroup90 : SchedWriteRes<[SBPort1,SBPort23]> {
let Latency = 9;
let NumMicroOps = 2;
@@ -1932,7 +1948,7 @@ def: InstRW<[SBWriteResGroup107], (instr
"VCVTTPD2DQYrm")>;
def SBWriteResGroup108 : SchedWriteRes<[SBPort0,SBPort23,SBPort15]> {
- let Latency = 11;
+ let Latency = 13;
let NumMicroOps = 4;
let ResourceCycles = [1,1,2];
}
Modified: llvm/trunk/test/CodeGen/X86/mmx-schedule.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/mmx-schedule.ll?rev=328295&r1=328294&r2=328295&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/mmx-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/mmx-schedule.ll Thu Mar 22 23:41:43 2018
@@ -3668,8 +3668,8 @@ declare x86_mmx @llvm.x86.mmx.pmadd.wd(x
define i64 @test_pmaddubsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize {
; GENERIC-LABEL: test_pmaddubsw:
; GENERIC: # %bb.0:
-; GENERIC-NEXT: pmaddubsw %mm1, %mm0 # sched: [3:1.00]
-; GENERIC-NEXT: pmaddubsw (%rdi), %mm0 # sched: [8:1.00]
+; GENERIC-NEXT: pmaddubsw %mm1, %mm0 # sched: [5:1.00]
+; GENERIC-NEXT: pmaddubsw (%rdi), %mm0 # sched: [11:1.00]
; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
@@ -3689,8 +3689,8 @@ define i64 @test_pmaddubsw(x86_mmx %a0,
;
; SANDY-LABEL: test_pmaddubsw:
; SANDY: # %bb.0:
-; SANDY-NEXT: pmaddubsw %mm1, %mm0 # sched: [3:1.00]
-; SANDY-NEXT: pmaddubsw (%rdi), %mm0 # sched: [8:1.00]
+; SANDY-NEXT: pmaddubsw %mm1, %mm0 # sched: [5:1.00]
+; SANDY-NEXT: pmaddubsw (%rdi), %mm0 # sched: [11:1.00]
; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33]
; SANDY-NEXT: retq # sched: [1:1.00]
;
@@ -4113,8 +4113,8 @@ declare i32 @llvm.x86.mmx.pmovmskb(x86_m
define i64 @test_pmulhrsw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize {
; GENERIC-LABEL: test_pmulhrsw:
; GENERIC: # %bb.0:
-; GENERIC-NEXT: pmulhrsw %mm1, %mm0 # sched: [3:1.00]
-; GENERIC-NEXT: pmulhrsw (%rdi), %mm0 # sched: [8:1.00]
+; GENERIC-NEXT: pmulhrsw %mm1, %mm0 # sched: [5:1.00]
+; GENERIC-NEXT: pmulhrsw (%rdi), %mm0 # sched: [9:1.00]
; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
@@ -4134,8 +4134,8 @@ define i64 @test_pmulhrsw(x86_mmx %a0, x
;
; SANDY-LABEL: test_pmulhrsw:
; SANDY: # %bb.0:
-; SANDY-NEXT: pmulhrsw %mm1, %mm0 # sched: [3:1.00]
-; SANDY-NEXT: pmulhrsw (%rdi), %mm0 # sched: [8:1.00]
+; SANDY-NEXT: pmulhrsw %mm1, %mm0 # sched: [5:1.00]
+; SANDY-NEXT: pmulhrsw (%rdi), %mm0 # sched: [9:1.00]
; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33]
; SANDY-NEXT: retq # sched: [1:1.00]
;
@@ -4192,7 +4192,7 @@ define i64 @test_pmulhw(x86_mmx %a0, x86
; GENERIC-LABEL: test_pmulhw:
; GENERIC: # %bb.0:
; GENERIC-NEXT: pmulhw %mm1, %mm0 # sched: [5:1.00]
-; GENERIC-NEXT: pmulhw (%rdi), %mm0 # sched: [9:1.00]
+; GENERIC-NEXT: pmulhw (%rdi), %mm0 # sched: [11:1.00]
; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
@@ -4213,7 +4213,7 @@ define i64 @test_pmulhw(x86_mmx %a0, x86
; SANDY-LABEL: test_pmulhw:
; SANDY: # %bb.0:
; SANDY-NEXT: pmulhw %mm1, %mm0 # sched: [5:1.00]
-; SANDY-NEXT: pmulhw (%rdi), %mm0 # sched: [9:1.00]
+; SANDY-NEXT: pmulhw (%rdi), %mm0 # sched: [11:1.00]
; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33]
; SANDY-NEXT: retq # sched: [1:1.00]
;
@@ -4270,7 +4270,7 @@ define i64 @test_pmulhuw(x86_mmx %a0, x8
; GENERIC-LABEL: test_pmulhuw:
; GENERIC: # %bb.0:
; GENERIC-NEXT: pmulhuw %mm1, %mm0 # sched: [5:1.00]
-; GENERIC-NEXT: pmulhuw (%rdi), %mm0 # sched: [9:1.00]
+; GENERIC-NEXT: pmulhuw (%rdi), %mm0 # sched: [11:1.00]
; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
@@ -4291,7 +4291,7 @@ define i64 @test_pmulhuw(x86_mmx %a0, x8
; SANDY-LABEL: test_pmulhuw:
; SANDY: # %bb.0:
; SANDY-NEXT: pmulhuw %mm1, %mm0 # sched: [5:1.00]
-; SANDY-NEXT: pmulhuw (%rdi), %mm0 # sched: [9:1.00]
+; SANDY-NEXT: pmulhuw (%rdi), %mm0 # sched: [11:1.00]
; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33]
; SANDY-NEXT: retq # sched: [1:1.00]
;
@@ -4348,7 +4348,7 @@ define i64 @test_pmullw(x86_mmx %a0, x86
; GENERIC-LABEL: test_pmullw:
; GENERIC: # %bb.0:
; GENERIC-NEXT: pmullw %mm1, %mm0 # sched: [5:1.00]
-; GENERIC-NEXT: pmullw (%rdi), %mm0 # sched: [9:1.00]
+; GENERIC-NEXT: pmullw (%rdi), %mm0 # sched: [11:1.00]
; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
@@ -4369,7 +4369,7 @@ define i64 @test_pmullw(x86_mmx %a0, x86
; SANDY-LABEL: test_pmullw:
; SANDY: # %bb.0:
; SANDY-NEXT: pmullw %mm1, %mm0 # sched: [5:1.00]
-; SANDY-NEXT: pmullw (%rdi), %mm0 # sched: [9:1.00]
+; SANDY-NEXT: pmullw (%rdi), %mm0 # sched: [11:1.00]
; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33]
; SANDY-NEXT: retq # sched: [1:1.00]
;
@@ -4425,8 +4425,8 @@ declare x86_mmx @llvm.x86.mmx.pmull.w(x8
define i64 @test_pmuludq(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize {
; GENERIC-LABEL: test_pmuludq:
; GENERIC: # %bb.0:
-; GENERIC-NEXT: pmuludq %mm1, %mm0 # sched: [3:1.00]
-; GENERIC-NEXT: pmuludq (%rdi), %mm0 # sched: [9:1.00]
+; GENERIC-NEXT: pmuludq %mm1, %mm0 # sched: [5:1.00]
+; GENERIC-NEXT: pmuludq (%rdi), %mm0 # sched: [11:1.00]
; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
@@ -4446,8 +4446,8 @@ define i64 @test_pmuludq(x86_mmx %a0, x8
;
; SANDY-LABEL: test_pmuludq:
; SANDY: # %bb.0:
-; SANDY-NEXT: pmuludq %mm1, %mm0 # sched: [3:1.00]
-; SANDY-NEXT: pmuludq (%rdi), %mm0 # sched: [9:1.00]
+; SANDY-NEXT: pmuludq %mm1, %mm0 # sched: [5:1.00]
+; SANDY-NEXT: pmuludq (%rdi), %mm0 # sched: [11:1.00]
; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33]
; SANDY-NEXT: retq # sched: [1:1.00]
;
@@ -4582,7 +4582,7 @@ define i64 @test_psadbw(x86_mmx %a0, x86
; GENERIC-LABEL: test_psadbw:
; GENERIC: # %bb.0:
; GENERIC-NEXT: psadbw %mm1, %mm0 # sched: [5:1.00]
-; GENERIC-NEXT: psadbw (%rdi), %mm0 # sched: [9:1.00]
+; GENERIC-NEXT: psadbw (%rdi), %mm0 # sched: [11:1.00]
; GENERIC-NEXT: movq %mm0, %rax # sched: [1:0.33]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
@@ -4603,7 +4603,7 @@ define i64 @test_psadbw(x86_mmx %a0, x86
; SANDY-LABEL: test_psadbw:
; SANDY: # %bb.0:
; SANDY-NEXT: psadbw %mm1, %mm0 # sched: [5:1.00]
-; SANDY-NEXT: psadbw (%rdi), %mm0 # sched: [9:1.00]
+; SANDY-NEXT: psadbw (%rdi), %mm0 # sched: [11:1.00]
; SANDY-NEXT: movq %mm0, %rax # sched: [1:0.33]
; SANDY-NEXT: retq # sched: [1:1.00]
;
Modified: llvm/trunk/test/CodeGen/X86/sse2-schedule.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/sse2-schedule.ll?rev=328295&r1=328294&r2=328295&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/sse2-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/sse2-schedule.ll Thu Mar 22 23:41:43 2018
@@ -5618,8 +5618,8 @@ define <8 x i16> @test_pinsrw(<8 x i16>
define <4 x i32> @test_pmaddwd(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) {
; GENERIC-LABEL: test_pmaddwd:
; GENERIC: # %bb.0:
-; GENERIC-NEXT: pmaddwd %xmm1, %xmm0 # sched: [3:1.00]
-; GENERIC-NEXT: pmaddwd (%rdi), %xmm0 # sched: [9:1.00]
+; GENERIC-NEXT: pmaddwd %xmm1, %xmm0 # sched: [5:1.00]
+; GENERIC-NEXT: pmaddwd (%rdi), %xmm0 # sched: [11:1.00]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
; ATOM-LABEL: test_pmaddwd:
@@ -5636,8 +5636,8 @@ define <4 x i32> @test_pmaddwd(<8 x i16>
;
; SANDY-LABEL: test_pmaddwd:
; SANDY: # %bb.0:
-; SANDY-NEXT: vpmaddwd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
-; SANDY-NEXT: vpmaddwd (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
+; SANDY-NEXT: vpmaddwd %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
+; SANDY-NEXT: vpmaddwd (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
; SANDY-NEXT: retq # sched: [1:1.00]
;
; HASWELL-LABEL: test_pmaddwd:
@@ -6027,8 +6027,8 @@ declare i32 @llvm.x86.sse2.pmovmskb.128(
define <8 x i16> @test_pmulhuw(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) {
; GENERIC-LABEL: test_pmulhuw:
; GENERIC: # %bb.0:
-; GENERIC-NEXT: pmulhuw %xmm1, %xmm0 # sched: [3:1.00]
-; GENERIC-NEXT: pmulhuw (%rdi), %xmm0 # sched: [9:1.00]
+; GENERIC-NEXT: pmulhuw %xmm1, %xmm0 # sched: [5:1.00]
+; GENERIC-NEXT: pmulhuw (%rdi), %xmm0 # sched: [11:1.00]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
; ATOM-LABEL: test_pmulhuw:
@@ -6045,8 +6045,8 @@ define <8 x i16> @test_pmulhuw(<8 x i16>
;
; SANDY-LABEL: test_pmulhuw:
; SANDY: # %bb.0:
-; SANDY-NEXT: vpmulhuw %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
-; SANDY-NEXT: vpmulhuw (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
+; SANDY-NEXT: vpmulhuw %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
+; SANDY-NEXT: vpmulhuw (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
; SANDY-NEXT: retq # sched: [1:1.00]
;
; HASWELL-LABEL: test_pmulhuw:
@@ -6094,8 +6094,8 @@ declare <8 x i16> @llvm.x86.sse2.pmulhu.
define <8 x i16> @test_pmulhw(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) {
; GENERIC-LABEL: test_pmulhw:
; GENERIC: # %bb.0:
-; GENERIC-NEXT: pmulhw %xmm1, %xmm0 # sched: [3:1.00]
-; GENERIC-NEXT: pmulhw (%rdi), %xmm0 # sched: [9:1.00]
+; GENERIC-NEXT: pmulhw %xmm1, %xmm0 # sched: [5:1.00]
+; GENERIC-NEXT: pmulhw (%rdi), %xmm0 # sched: [11:1.00]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
; ATOM-LABEL: test_pmulhw:
@@ -6112,8 +6112,8 @@ define <8 x i16> @test_pmulhw(<8 x i16>
;
; SANDY-LABEL: test_pmulhw:
; SANDY: # %bb.0:
-; SANDY-NEXT: vpmulhw %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
-; SANDY-NEXT: vpmulhw (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
+; SANDY-NEXT: vpmulhw %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
+; SANDY-NEXT: vpmulhw (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
; SANDY-NEXT: retq # sched: [1:1.00]
;
; HASWELL-LABEL: test_pmulhw:
@@ -6161,8 +6161,8 @@ declare <8 x i16> @llvm.x86.sse2.pmulh.w
define <8 x i16> @test_pmullw(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) {
; GENERIC-LABEL: test_pmullw:
; GENERIC: # %bb.0:
-; GENERIC-NEXT: pmullw %xmm1, %xmm0 # sched: [3:1.00]
-; GENERIC-NEXT: pmullw (%rdi), %xmm0 # sched: [9:1.00]
+; GENERIC-NEXT: pmullw %xmm1, %xmm0 # sched: [5:1.00]
+; GENERIC-NEXT: pmullw (%rdi), %xmm0 # sched: [11:1.00]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
; ATOM-LABEL: test_pmullw:
@@ -6179,8 +6179,8 @@ define <8 x i16> @test_pmullw(<8 x i16>
;
; SANDY-LABEL: test_pmullw:
; SANDY: # %bb.0:
-; SANDY-NEXT: vpmullw %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
-; SANDY-NEXT: vpmullw (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
+; SANDY-NEXT: vpmullw %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
+; SANDY-NEXT: vpmullw (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
; SANDY-NEXT: retq # sched: [1:1.00]
;
; HASWELL-LABEL: test_pmullw:
@@ -6227,8 +6227,8 @@ define <8 x i16> @test_pmullw(<8 x i16>
define <2 x i64> @test_pmuludq(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) {
; GENERIC-LABEL: test_pmuludq:
; GENERIC: # %bb.0:
-; GENERIC-NEXT: pmuludq %xmm1, %xmm0 # sched: [3:1.00]
-; GENERIC-NEXT: pmuludq (%rdi), %xmm0 # sched: [9:1.00]
+; GENERIC-NEXT: pmuludq %xmm1, %xmm0 # sched: [5:1.00]
+; GENERIC-NEXT: pmuludq (%rdi), %xmm0 # sched: [11:1.00]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
; ATOM-LABEL: test_pmuludq:
@@ -6245,8 +6245,8 @@ define <2 x i64> @test_pmuludq(<4 x i32>
;
; SANDY-LABEL: test_pmuludq:
; SANDY: # %bb.0:
-; SANDY-NEXT: vpmuludq %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
-; SANDY-NEXT: vpmuludq (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
+; SANDY-NEXT: vpmuludq %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
+; SANDY-NEXT: vpmuludq (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
; SANDY-NEXT: retq # sched: [1:1.00]
;
; HASWELL-LABEL: test_pmuludq:
@@ -6372,8 +6372,8 @@ define <2 x i64> @test_por(<2 x i64> %a0
define <2 x i64> @test_psadbw(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> *%a2) {
; GENERIC-LABEL: test_psadbw:
; GENERIC: # %bb.0:
-; GENERIC-NEXT: psadbw %xmm1, %xmm0 # sched: [3:1.00]
-; GENERIC-NEXT: psadbw (%rdi), %xmm0 # sched: [9:1.00]
+; GENERIC-NEXT: psadbw %xmm1, %xmm0 # sched: [5:1.00]
+; GENERIC-NEXT: psadbw (%rdi), %xmm0 # sched: [11:1.00]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
; ATOM-LABEL: test_psadbw:
@@ -6394,8 +6394,8 @@ define <2 x i64> @test_psadbw(<16 x i8>
;
; SANDY-LABEL: test_psadbw:
; SANDY: # %bb.0:
-; SANDY-NEXT: vpsadbw %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
-; SANDY-NEXT: vpsadbw (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
+; SANDY-NEXT: vpsadbw %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
+; SANDY-NEXT: vpsadbw (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
; SANDY-NEXT: retq # sched: [1:1.00]
;
; HASWELL-LABEL: test_psadbw:
Modified: llvm/trunk/test/CodeGen/X86/sse41-schedule.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/sse41-schedule.ll?rev=328295&r1=328294&r2=328295&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/sse41-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/sse41-schedule.ll Thu Mar 22 23:41:43 2018
@@ -583,8 +583,8 @@ declare <2 x i64> @llvm.x86.sse41.movntd
define <8 x i16> @test_mpsadbw(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> *%a2) {
; GENERIC-LABEL: test_mpsadbw:
; GENERIC: # %bb.0:
-; GENERIC-NEXT: mpsadbw $7, %xmm1, %xmm0 # sched: [5:1.00]
-; GENERIC-NEXT: mpsadbw $7, (%rdi), %xmm0 # sched: [11:1.00]
+; GENERIC-NEXT: mpsadbw $7, %xmm1, %xmm0 # sched: [7:1.00]
+; GENERIC-NEXT: mpsadbw $7, (%rdi), %xmm0 # sched: [13:1.00]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
; SLM-LABEL: test_mpsadbw:
@@ -595,8 +595,8 @@ define <8 x i16> @test_mpsadbw(<16 x i8>
;
; SANDY-LABEL: test_mpsadbw:
; SANDY: # %bb.0:
-; SANDY-NEXT: vmpsadbw $7, %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
-; SANDY-NEXT: vmpsadbw $7, (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
+; SANDY-NEXT: vmpsadbw $7, %xmm1, %xmm0, %xmm0 # sched: [7:1.00]
+; SANDY-NEXT: vmpsadbw $7, (%rdi), %xmm0, %xmm0 # sched: [13:1.00]
; SANDY-NEXT: retq # sched: [1:1.00]
;
; HASWELL-LABEL: test_mpsadbw:
@@ -2761,8 +2761,8 @@ define <2 x i64> @test_pmovzxwq(<8 x i16
define <2 x i64> @test_pmuldq(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) {
; GENERIC-LABEL: test_pmuldq:
; GENERIC: # %bb.0:
-; GENERIC-NEXT: pmuldq %xmm1, %xmm0 # sched: [3:1.00]
-; GENERIC-NEXT: pmuldq (%rdi), %xmm0 # sched: [9:1.00]
+; GENERIC-NEXT: pmuldq %xmm1, %xmm0 # sched: [5:1.00]
+; GENERIC-NEXT: pmuldq (%rdi), %xmm0 # sched: [11:1.00]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
; SLM-LABEL: test_pmuldq:
@@ -2773,8 +2773,8 @@ define <2 x i64> @test_pmuldq(<4 x i32>
;
; SANDY-LABEL: test_pmuldq:
; SANDY: # %bb.0:
-; SANDY-NEXT: vpmuldq %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
-; SANDY-NEXT: vpmuldq (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
+; SANDY-NEXT: vpmuldq %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
+; SANDY-NEXT: vpmuldq (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
; SANDY-NEXT: retq # sched: [1:1.00]
;
; HASWELL-LABEL: test_pmuldq:
@@ -2823,8 +2823,8 @@ declare <2 x i64> @llvm.x86.sse41.pmuldq
define <4 x i32> @test_pmulld(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) {
; GENERIC-LABEL: test_pmulld:
; GENERIC: # %bb.0:
-; GENERIC-NEXT: pmulld %xmm1, %xmm0 # sched: [3:1.00]
-; GENERIC-NEXT: pmulld (%rdi), %xmm0 # sched: [9:1.00]
+; GENERIC-NEXT: pmulld %xmm1, %xmm0 # sched: [5:1.00]
+; GENERIC-NEXT: pmulld (%rdi), %xmm0 # sched: [11:1.00]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
; SLM-LABEL: test_pmulld:
@@ -2835,8 +2835,8 @@ define <4 x i32> @test_pmulld(<4 x i32>
;
; SANDY-LABEL: test_pmulld:
; SANDY: # %bb.0:
-; SANDY-NEXT: vpmulld %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
-; SANDY-NEXT: vpmulld (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
+; SANDY-NEXT: vpmulld %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
+; SANDY-NEXT: vpmulld (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
; SANDY-NEXT: retq # sched: [1:1.00]
;
; HASWELL-LABEL: test_pmulld:
Modified: llvm/trunk/test/CodeGen/X86/ssse3-schedule.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/ssse3-schedule.ll?rev=328295&r1=328294&r2=328295&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/ssse3-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/ssse3-schedule.ll Thu Mar 22 23:41:43 2018
@@ -724,8 +724,8 @@ declare <8 x i16> @llvm.x86.ssse3.phsub.
define <8 x i16> @test_pmaddubsw(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> *%a2) {
; GENERIC-LABEL: test_pmaddubsw:
; GENERIC: # %bb.0:
-; GENERIC-NEXT: pmaddubsw %xmm1, %xmm0 # sched: [3:1.00]
-; GENERIC-NEXT: pmaddubsw (%rdi), %xmm0 # sched: [9:1.00]
+; GENERIC-NEXT: pmaddubsw %xmm1, %xmm0 # sched: [5:1.00]
+; GENERIC-NEXT: pmaddubsw (%rdi), %xmm0 # sched: [11:1.00]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
; ATOM-LABEL: test_pmaddubsw:
@@ -742,8 +742,8 @@ define <8 x i16> @test_pmaddubsw(<16 x i
;
; SANDY-LABEL: test_pmaddubsw:
; SANDY: # %bb.0:
-; SANDY-NEXT: vpmaddubsw %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
-; SANDY-NEXT: vpmaddubsw (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
+; SANDY-NEXT: vpmaddubsw %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
+; SANDY-NEXT: vpmaddubsw (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
; SANDY-NEXT: retq # sched: [1:1.00]
;
; HASWELL-LABEL: test_pmaddubsw:
@@ -792,8 +792,8 @@ declare <8 x i16> @llvm.x86.ssse3.pmadd.
define <8 x i16> @test_pmulhrsw(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) {
; GENERIC-LABEL: test_pmulhrsw:
; GENERIC: # %bb.0:
-; GENERIC-NEXT: pmulhrsw %xmm1, %xmm0 # sched: [3:1.00]
-; GENERIC-NEXT: pmulhrsw (%rdi), %xmm0 # sched: [9:1.00]
+; GENERIC-NEXT: pmulhrsw %xmm1, %xmm0 # sched: [5:1.00]
+; GENERIC-NEXT: pmulhrsw (%rdi), %xmm0 # sched: [11:1.00]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
; ATOM-LABEL: test_pmulhrsw:
@@ -810,8 +810,8 @@ define <8 x i16> @test_pmulhrsw(<8 x i16
;
; SANDY-LABEL: test_pmulhrsw:
; SANDY: # %bb.0:
-; SANDY-NEXT: vpmulhrsw %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
-; SANDY-NEXT: vpmulhrsw (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
+; SANDY-NEXT: vpmulhrsw %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
+; SANDY-NEXT: vpmulhrsw (%rdi), %xmm0, %xmm0 # sched: [11:1.00]
; SANDY-NEXT: retq # sched: [1:1.00]
;
; HASWELL-LABEL: test_pmulhrsw:
More information about the llvm-commits
mailing list