[llvm] r328241 - [X86][SkylakeClient] Fix a bunch of instructions that were incorrectly assigned Port015 instead of Port01.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 22 14:10:07 PDT 2018
Author: ctopper
Date: Thu Mar 22 14:10:07 2018
New Revision: 328241
URL: http://llvm.org/viewvc/llvm-project?rev=328241&view=rev
Log:
[X86][SkylakeClient] Fix a bunch of instructions that were incorrectly assigned Port015 instead of Port01.
The VEC ADD and VEC MUL units aren't present on port 5 on SkylakeClient.
Modified:
llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td
llvm/trunk/test/CodeGen/X86/avx-schedule.ll
llvm/trunk/test/CodeGen/X86/avx2-schedule.ll
llvm/trunk/test/CodeGen/X86/sse-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/X86SchedSkylakeClient.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td?rev=328241&r1=328240&r2=328241&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td Thu Mar 22 14:10:07 2018
@@ -1424,47 +1424,7 @@ def: InstRW<[SKLWriteResGroup48], (instr
"ADDSSrr",
"ADDSUBPDrr",
"ADDSUBPSrr",
- "MULPDrr",
- "MULPSrr",
- "MULSDrr",
- "MULSSrr",
- "SUBPDrr",
- "SUBPSrr",
- "SUBSDrr",
- "SUBSSrr",
- "VADDPDYrr",
- "VADDPDrr",
- "VADDPSYrr",
- "VADDPSrr",
- "VADDSDrr",
- "VADDSSrr",
- "VADDSUBPDYrr",
- "VADDSUBPDrr",
- "VADDSUBPSYrr",
- "VADDSUBPSrr",
- "VMULPDYrr",
- "VMULPDrr",
- "VMULPSYrr",
- "VMULPSrr",
- "VMULSDrr",
- "VMULSSrr",
- "VSUBPDYrr",
- "VSUBPDrr",
- "VSUBPSYrr",
- "VSUBPSrr",
- "VSUBSDrr",
- "VSUBSSrr")>;
-def: InstRW<[SKLWriteResGroup48],
- (instregex
- "VF(N)?M(ADD|SUB|ADDSUB|SUBADD)(132|213|231)P(D|S)(Y)?r",
- "VF(N)?M(ADD|SUB)(132|213|231)S(D|S)r")>;
-
-def SKLWriteResGroup49 : SchedWriteRes<[SKLPort015]> {
- let Latency = 4;
- let NumMicroOps = 1;
- let ResourceCycles = [1];
-}
-def: InstRW<[SKLWriteResGroup49], (instregex "CMPPDrri",
+ "CMPPDrri",
"CMPPSrri",
"CMPSDrr",
"CMPSSrr",
@@ -1479,6 +1439,10 @@ def: InstRW<[SKLWriteResGroup49], (instr
"MIN(C?)PSrr",
"MIN(C?)SDrr",
"MIN(C?)SSrr",
+ "MULPDrr",
+ "MULPSrr",
+ "MULSDrr",
+ "MULSSrr",
"PHMINPOSUWrr",
"PMADDUBSWrr",
"PMADDWDrr",
@@ -1488,6 +1452,20 @@ def: InstRW<[SKLWriteResGroup49], (instr
"PMULHWrr",
"PMULLWrr",
"PMULUDQrr",
+ "SUBPDrr",
+ "SUBPSrr",
+ "SUBSDrr",
+ "SUBSSrr",
+ "VADDPDYrr",
+ "VADDPDrr",
+ "VADDPSYrr",
+ "VADDPSrr",
+ "VADDSDrr",
+ "VADDSSrr",
+ "VADDSUBPDYrr",
+ "VADDSUBPDrr",
+ "VADDSUBPSYrr",
+ "VADDSUBPSrr",
"VCMPPDYrri",
"VCMPPDrri",
"VCMPPSYrri",
@@ -1512,6 +1490,12 @@ def: InstRW<[SKLWriteResGroup49], (instr
"VMIN(C?)PSrr",
"VMIN(C?)SDrr",
"VMIN(C?)SSrr",
+ "VMULPDYrr",
+ "VMULPDrr",
+ "VMULPSYrr",
+ "VMULPSrr",
+ "VMULSDrr",
+ "VMULSSrr",
"VPHMINPOSUWrr",
"VPMADDUBSWYrr",
"VPMADDUBSWrr",
@@ -1528,7 +1512,17 @@ def: InstRW<[SKLWriteResGroup49], (instr
"VPMULLWYrr",
"VPMULLWrr",
"VPMULUDQYrr",
- "VPMULUDQrr")>;
+ "VPMULUDQrr",
+ "VSUBPDYrr",
+ "VSUBPDrr",
+ "VSUBPSYrr",
+ "VSUBPSrr",
+ "VSUBSDrr",
+ "VSUBSSrr")>;
+def: InstRW<[SKLWriteResGroup48],
+ (instregex
+ "VF(N)?M(ADD|SUB|ADDSUB|SUBADD)(132|213|231)P(D|S)(Y)?r",
+ "VF(N)?M(ADD|SUB)(132|213|231)S(D|S)r")>;
def SKLWriteResGroup50 : SchedWriteRes<[SKLPort5]> {
let Latency = 4;
@@ -1785,7 +1779,7 @@ def: InstRW<[SKLWriteResGroup69], (instr
"MMX_PSUBUSBirm",
"MMX_PSUBUSWirm")>;
-def SKLWriteResGroup70 : SchedWriteRes<[SKLPort0,SKLPort015]> {
+def SKLWriteResGroup70 : SchedWriteRes<[SKLPort0,SKLPort01]> {
let Latency = 6;
let NumMicroOps = 2;
let ResourceCycles = [1,1];
@@ -1955,7 +1949,7 @@ def: InstRW<[SKLWriteResGroup77], (instr
"VHSUBPSYrr",
"VHSUBPSrr")>;
-def SKLWriteResGroup78 : SchedWriteRes<[SKLPort5,SKLPort015]> {
+def SKLWriteResGroup78 : SchedWriteRes<[SKLPort5,SKLPort01]> {
let Latency = 6;
let NumMicroOps = 3;
let ResourceCycles = [2,1];
@@ -1977,7 +1971,7 @@ def SKLWriteResGroup80 : SchedWriteRes<[
}
def: InstRW<[SKLWriteResGroup80], (instregex "SLDT(16|32|64)r")>;
-def SKLWriteResGroup81 : SchedWriteRes<[SKLPort4,SKLPort5,SKLPort237,SKLPort015]> {
+def SKLWriteResGroup81 : SchedWriteRes<[SKLPort4,SKLPort5,SKLPort237,SKLPort01]> {
let Latency = 6;
let NumMicroOps = 4;
let ResourceCycles = [1,1,1,1];
@@ -2137,7 +2131,7 @@ def: InstRW<[SKLWriteResGroup88], (instr
"VUNPCKLPDrm",
"VUNPCKLPSrm")>;
-def SKLWriteResGroup89 : SchedWriteRes<[SKLPort5,SKLPort015]> {
+def SKLWriteResGroup89 : SchedWriteRes<[SKLPort5,SKLPort01]> {
let Latency = 7;
let NumMicroOps = 2;
let ResourceCycles = [1,1];
@@ -2330,7 +2324,7 @@ def: InstRW<[SKLWriteResGroup94], (instr
"SCASQ",
"SCASW")>;
-def SKLWriteResGroup95 : SchedWriteRes<[SKLPort0,SKLPort5,SKLPort015]> {
+def SKLWriteResGroup95 : SchedWriteRes<[SKLPort0,SKLPort5,SKLPort01]> {
let Latency = 7;
let NumMicroOps = 3;
let ResourceCycles = [1,1,1];
@@ -2399,7 +2393,7 @@ def SKLWriteResGroup103 : SchedWriteRes<
}
def: InstRW<[SKLWriteResGroup103], (instrs LOOP)>;
-def SKLWriteResGroup105 : SchedWriteRes<[SKLPort015]> {
+def SKLWriteResGroup105 : SchedWriteRes<[SKLPort01]> {
let Latency = 8;
let NumMicroOps = 2;
let ResourceCycles = [2];
@@ -2622,7 +2616,7 @@ def: InstRW<[SKLWriteResGroup113], (inst
"MMX_PHSUBDrm",
"MMX_PHSUBWrm")>;
-def SKLWriteResGroup114 : SchedWriteRes<[SKLPort4,SKLPort5,SKLPort237,SKLPort015]> {
+def SKLWriteResGroup114 : SchedWriteRes<[SKLPort4,SKLPort5,SKLPort237,SKLPort01]> {
let Latency = 8;
let NumMicroOps = 4;
let ResourceCycles = [1,1,1,1];
@@ -2714,12 +2708,24 @@ def SKLWriteResGroup122 : SchedWriteRes<
}
def: InstRW<[SKLWriteResGroup122], (instregex "ADDSDrm",
"ADDSSrm",
+ "CMPSDrm",
+ "CMPSSrm",
+ "MAX(C?)SDrm",
+ "MAX(C?)SSrm",
+ "MIN(C?)SDrm",
+ "MIN(C?)SSrm",
"MULSDrm",
"MULSSrm",
"SUBSDrm",
"SUBSSrm",
"VADDSDrm",
"VADDSSrm",
+ "VCMPSDrm",
+ "VCMPSSrm",
+ "VMAX(C?)SDrm",
+ "VMAX(C?)SSrm",
+ "VMIN(C?)SDrm",
+ "VMIN(C?)SSrm",
"VMULSDrm",
"VMULSSrm",
"VSUBSDrm",
@@ -2727,30 +2733,18 @@ def: InstRW<[SKLWriteResGroup122], (inst
def: InstRW<[SKLWriteResGroup122],
(instregex "VF(N)?M(ADD|SUB)(132|213|231)S(D|S)m")>;
-def SKLWriteResGroup123 : SchedWriteRes<[SKLPort23,SKLPort015]> {
+def SKLWriteResGroup123 : SchedWriteRes<[SKLPort23,SKLPort01]> {
let Latency = 9;
let NumMicroOps = 2;
let ResourceCycles = [1,1];
}
-def: InstRW<[SKLWriteResGroup123], (instregex "CMPSDrm",
- "CMPSSrm",
- "CVTPS2PDrm",
- "MAX(C?)SDrm",
- "MAX(C?)SSrm",
- "MIN(C?)SDrm",
- "MIN(C?)SSrm",
+def: InstRW<[SKLWriteResGroup123], (instregex "CVTPS2PDrm",
"MMX_CVTPS2PIirm",
"MMX_CVTTPS2PIirm",
- "VCMPSDrm",
- "VCMPSSrm",
"VCVTPH2PSrm",
- "VCVTPS2PDrm",
- "VMAX(C?)SDrm",
- "VMAX(C?)SSrm",
- "VMIN(C?)SDrm",
- "VMIN(C?)SSrm")>;
+ "VCVTPS2PDrm")>;
-def SKLWriteResGroup124 : SchedWriteRes<[SKLPort5,SKLPort015]> {
+def SKLWriteResGroup124 : SchedWriteRes<[SKLPort5,SKLPort01]> {
let Latency = 9;
let NumMicroOps = 3;
let ResourceCycles = [1,2];
@@ -2858,27 +2852,7 @@ def: InstRW<[SKLWriteResGroup134], (inst
"ADDPSrm",
"ADDSUBPDrm",
"ADDSUBPSrm",
- "MULPDrm",
- "MULPSrm",
- "SUBPDrm",
- "SUBPSrm",
- "VADDPDrm",
- "VADDPSrm",
- "VADDSUBPDrm",
- "VADDSUBPSrm",
- "VMULPDrm",
- "VMULPSrm",
- "VSUBPDrm",
- "VSUBPSrm")>;
-def: InstRW<[SKLWriteResGroup134],
- (instregex "VF(N)?M(ADD|SUB|ADDSUB|SUBADD)(132|213|231)P(D|S)m")>;
-
-def SKLWriteResGroup135 : SchedWriteRes<[SKLPort23,SKLPort015]> {
- let Latency = 10;
- let NumMicroOps = 2;
- let ResourceCycles = [1,1];
-}
-def: InstRW<[SKLWriteResGroup135], (instregex "CMPPDrmi",
+ "CMPPDrmi",
"CMPPSrmi",
"CVTDQ2PSrm",
"CVTPS2DQrm",
@@ -2888,6 +2862,8 @@ def: InstRW<[SKLWriteResGroup135], (inst
"MAX(C?)PSrm",
"MIN(C?)PDrm",
"MIN(C?)PSrm",
+ "MULPDrm",
+ "MULPSrm",
"PHMINPOSUWrm",
"PMADDUBSWrm",
"PMADDWDrm",
@@ -2897,6 +2873,12 @@ def: InstRW<[SKLWriteResGroup135], (inst
"PMULHWrm",
"PMULLWrm",
"PMULUDQrm",
+ "SUBPDrm",
+ "SUBPSrm",
+ "VADDPDrm",
+ "VADDPSrm",
+ "VADDSUBPDrm",
+ "VADDSUBPSrm",
"VCMPPDrmi",
"VCMPPSrmi",
"VCVTDQ2PSrm",
@@ -2908,6 +2890,8 @@ def: InstRW<[SKLWriteResGroup135], (inst
"VMAX(C?)PSrm",
"VMIN(C?)PDrm",
"VMIN(C?)PSrm",
+ "VMULPDrm",
+ "VMULPSrm",
"VPHMINPOSUWrm",
"VPMADDUBSWrm",
"VPMADDWDrm",
@@ -2916,7 +2900,11 @@ def: InstRW<[SKLWriteResGroup135], (inst
"VPMULHUWrm",
"VPMULHWrm",
"VPMULLWrm",
- "VPMULUDQrm")>;
+ "VPMULUDQrm",
+ "VSUBPDrm",
+ "VSUBPSrm")>;
+def: InstRW<[SKLWriteResGroup134],
+ (instregex "VF(N)?M(ADD|SUB|ADDSUB|SUBADD)(132|213|231)P(D|S)m")>;
def SKLWriteResGroup137 : SchedWriteRes<[SKLPort5,SKLPort23]> {
let Latency = 10;
@@ -2933,7 +2921,7 @@ def SKLWriteResGroup138 : SchedWriteRes<
def: InstRW<[SKLWriteResGroup138], (instregex "MMX_CVTPI2PDirm",
"VPTESTYrm")>;
-def SKLWriteResGroup139 : SchedWriteRes<[SKLPort5,SKLPort23,SKLPort015]> {
+def SKLWriteResGroup139 : SchedWriteRes<[SKLPort5,SKLPort23,SKLPort01]> {
let Latency = 10;
let NumMicroOps = 3;
let ResourceCycles = [1,1,1];
@@ -3009,19 +2997,7 @@ def: InstRW<[SKLWriteResGroup147], (inst
"VADDPSYrm",
"VADDSUBPDYrm",
"VADDSUBPSYrm",
- "VMULPDYrm",
- "VMULPSYrm",
- "VSUBPDYrm",
- "VSUBPSYrm")>;
-def: InstRW<[SKLWriteResGroup147],
- (instregex "VF(N)?M(ADD|SUB|ADDSUB|SUBADD)(132|213|231)P(D|S)Ym")>;
-
-def SKLWriteResGroup148 : SchedWriteRes<[SKLPort23,SKLPort015]> {
- let Latency = 11;
- let NumMicroOps = 2;
- let ResourceCycles = [1,1];
-}
-def: InstRW<[SKLWriteResGroup148], (instregex "VCMPPDYrmi",
+ "VCMPPDYrmi",
"VCMPPSYrmi",
"VCVTDQ2PSYrm",
"VCVTPS2DQYrm",
@@ -3031,6 +3007,8 @@ def: InstRW<[SKLWriteResGroup148], (inst
"VMAX(C?)PSYrm",
"VMIN(C?)PDYrm",
"VMIN(C?)PSYrm",
+ "VMULPDYrm",
+ "VMULPSYrm",
"VPMADDUBSWYrm",
"VPMADDWDYrm",
"VPMULDQYrm",
@@ -3038,7 +3016,11 @@ def: InstRW<[SKLWriteResGroup148], (inst
"VPMULHUWYrm",
"VPMULHWYrm",
"VPMULLWYrm",
- "VPMULUDQYrm")>;
+ "VPMULUDQYrm",
+ "VSUBPDYrm",
+ "VSUBPSYrm")>;
+def: InstRW<[SKLWriteResGroup147],
+ (instregex "VF(N)?M(ADD|SUB|ADDSUB|SUBADD)(132|213|231)P(D|S)Ym")>;
def SKLWriteResGroup149 : SchedWriteRes<[SKLPort5,SKLPort23]> {
let Latency = 11;
@@ -3058,7 +3040,7 @@ def SKLWriteResGroup150 : SchedWriteRes<
}
def: InstRW<[SKLWriteResGroup150], (instregex "(V?)CVTDQ2PDrm")>;
-def SKLWriteResGroup151 : SchedWriteRes<[SKLPort0,SKLPort23,SKLPort015]> {
+def SKLWriteResGroup151 : SchedWriteRes<[SKLPort0,SKLPort23,SKLPort01]> {
let Latency = 11;
let NumMicroOps = 3;
let ResourceCycles = [1,1,1];
@@ -3079,7 +3061,7 @@ def: InstRW<[SKLWriteResGroup151], (inst
"VCVTTSS2SI64rm",
"VCVTTSS2SIrm")>;
-def SKLWriteResGroup152 : SchedWriteRes<[SKLPort5,SKLPort23,SKLPort015]> {
+def SKLWriteResGroup152 : SchedWriteRes<[SKLPort5,SKLPort23,SKLPort01]> {
let Latency = 11;
let NumMicroOps = 3;
let ResourceCycles = [1,1,1];
@@ -3139,7 +3121,7 @@ def: InstRW<[SKLWriteResGroup159], (inst
"(V?)HSUBPDrm",
"(V?)HSUBPSrm")>;
-def SKLWriteResGroup160 : SchedWriteRes<[SKLPort0,SKLPort5,SKLPort23,SKLPort015]> {
+def SKLWriteResGroup160 : SchedWriteRes<[SKLPort0,SKLPort5,SKLPort23,SKLPort01]> {
let Latency = 12;
let NumMicroOps = 4;
let ResourceCycles = [1,1,1,1];
@@ -3173,7 +3155,7 @@ def SKLWriteResGroup163 : SchedWriteRes<
}
def: InstRW<[SKLWriteResGroup163], (instregex "VCVTDQ2PDYrm")>;
-def SKLWriteResGroup164 : SchedWriteRes<[SKLPort5,SKLPort015]> {
+def SKLWriteResGroup164 : SchedWriteRes<[SKLPort5,SKLPort01]> {
let Latency = 13;
let NumMicroOps = 4;
let ResourceCycles = [1,3];
@@ -3203,7 +3185,7 @@ def: InstRW<[SKLWriteResGroup166], (inst
"VDIVPDrr",
"VDIVSDrr")>;
-def SKLWriteResGroup168 : SchedWriteRes<[SKLPort23,SKLPort015]> {
+def SKLWriteResGroup168 : SchedWriteRes<[SKLPort23,SKLPort01]> {
let Latency = 14;
let NumMicroOps = 3;
let ResourceCycles = [1,2];
@@ -3244,7 +3226,7 @@ def: InstRW<[SKLWriteResGroup171], (inst
"DIVR_FST0r",
"DIVR_FrST0")>;
-def SKLWriteResGroup172 : SchedWriteRes<[SKLPort23,SKLPort015]> {
+def SKLWriteResGroup172 : SchedWriteRes<[SKLPort23,SKLPort01]> {
let Latency = 15;
let NumMicroOps = 3;
let ResourceCycles = [1,2];
@@ -3259,7 +3241,7 @@ def SKLWriteResGroup172_2 : SchedWriteRe
}
def: InstRW<[SKLWriteResGroup172_2], (instregex "VPMULLDYrm")>;
-def SKLWriteResGroup173 : SchedWriteRes<[SKLPort5,SKLPort23,SKLPort015]> {
+def SKLWriteResGroup173 : SchedWriteRes<[SKLPort5,SKLPort23,SKLPort01]> {
let Latency = 15;
let NumMicroOps = 4;
let ResourceCycles = [1,1,2];
@@ -3351,7 +3333,7 @@ def: InstRW<[SKLWriteResGroup186], (inst
"VDIVSDrm",
"VSQRTPSYm")>;
-def SKLWriteResGroup187 : SchedWriteRes<[SKLPort5,SKLPort23,SKLPort015]> {
+def SKLWriteResGroup187 : SchedWriteRes<[SKLPort5,SKLPort23,SKLPort01]> {
let Latency = 19;
let NumMicroOps = 5;
let ResourceCycles = [1,1,3];
@@ -3376,7 +3358,7 @@ def SKLWriteResGroup190 : SchedWriteRes<
}
def: InstRW<[SKLWriteResGroup190], (instregex "(V?)DIVPDrm")>;
-def SKLWriteResGroup191 : SchedWriteRes<[SKLPort5,SKLPort23,SKLPort015]> {
+def SKLWriteResGroup191 : SchedWriteRes<[SKLPort5,SKLPort23,SKLPort01]> {
let Latency = 20;
let NumMicroOps = 5;
let ResourceCycles = [1,1,3];
Modified: llvm/trunk/test/CodeGen/X86/avx-schedule.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/avx-schedule.ll?rev=328241&r1=328240&r2=328241&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/avx-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/avx-schedule.ll Thu Mar 22 14:10:07 2018
@@ -949,7 +949,7 @@ define <4 x double> @test_cmppd(<4 x dou
;
; SKYLAKE-LABEL: test_cmppd:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vcmpeqpd %ymm1, %ymm0, %ymm1 # sched: [4:0.33]
+; SKYLAKE-NEXT: vcmpeqpd %ymm1, %ymm0, %ymm1 # sched: [4:0.50]
; SKYLAKE-NEXT: vcmpeqpd (%rdi), %ymm0, %ymm0 # sched: [11:0.50]
; SKYLAKE-NEXT: vorpd %ymm0, %ymm1, %ymm0 # sched: [1:0.33]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
@@ -1015,7 +1015,7 @@ define <8 x float> @test_cmpps(<8 x floa
;
; SKYLAKE-LABEL: test_cmpps:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vcmpeqps %ymm1, %ymm0, %ymm1 # sched: [4:0.33]
+; SKYLAKE-NEXT: vcmpeqps %ymm1, %ymm0, %ymm1 # sched: [4:0.50]
; SKYLAKE-NEXT: vcmpeqps (%rdi), %ymm0, %ymm0 # sched: [11:0.50]
; SKYLAKE-NEXT: vorps %ymm0, %ymm1, %ymm0 # sched: [1:0.33]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
@@ -1146,7 +1146,7 @@ define <8 x float> @test_cvtdq2ps(<8 x i
;
; SKYLAKE-LABEL: test_cvtdq2ps:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vcvtdq2ps %ymm0, %ymm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vcvtdq2ps %ymm0, %ymm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vcvtdq2ps (%rdi), %ymm1 # sched: [11:0.50]
; SKYLAKE-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [4:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
@@ -1399,7 +1399,7 @@ define <8 x i32> @test_cvtps2dq(<8 x flo
;
; SKYLAKE-LABEL: test_cvtps2dq:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vcvtps2dq %ymm0, %ymm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vcvtps2dq %ymm0, %ymm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vcvtps2dq (%rdi), %ymm1 # sched: [11:0.50]
; SKYLAKE-NEXT: vorpd %ymm1, %ymm0, %ymm0 # sched: [1:0.33]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
@@ -1463,7 +1463,7 @@ define <8 x i32> @test_cvttps2dq(<8 x fl
;
; SKYLAKE-LABEL: test_cvttps2dq:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vcvttps2dq %ymm0, %ymm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vcvttps2dq %ymm0, %ymm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vcvttps2dq (%rdi), %ymm1 # sched: [11:0.50]
; SKYLAKE-NEXT: vorps %ymm1, %ymm0, %ymm0 # sched: [1:0.33]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
@@ -1630,8 +1630,8 @@ define <8 x float> @test_dpps(<8 x float
;
; SKYLAKE-LABEL: test_dpps:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vdpps $7, %ymm1, %ymm0, %ymm0 # sched: [13:1.33]
-; SKYLAKE-NEXT: vdpps $7, (%rdi), %ymm0, %ymm0 # sched: [20:1.33]
+; SKYLAKE-NEXT: vdpps $7, %ymm1, %ymm0, %ymm0 # sched: [13:1.50]
+; SKYLAKE-NEXT: vdpps $7, (%rdi), %ymm0, %ymm0 # sched: [20:1.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
; SKX-LABEL: test_dpps:
@@ -2328,7 +2328,7 @@ define <4 x double> @test_maxpd(<4 x dou
;
; SKYLAKE-LABEL: test_maxpd:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vmaxpd %ymm1, %ymm0, %ymm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vmaxpd %ymm1, %ymm0, %ymm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vmaxpd (%rdi), %ymm0, %ymm0 # sched: [11:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -2383,7 +2383,7 @@ define <8 x float> @test_maxps(<8 x floa
;
; SKYLAKE-LABEL: test_maxps:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vmaxps %ymm1, %ymm0, %ymm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vmaxps %ymm1, %ymm0, %ymm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vmaxps (%rdi), %ymm0, %ymm0 # sched: [11:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -2438,7 +2438,7 @@ define <4 x double> @test_minpd(<4 x dou
;
; SKYLAKE-LABEL: test_minpd:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vminpd %ymm1, %ymm0, %ymm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vminpd %ymm1, %ymm0, %ymm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vminpd (%rdi), %ymm0, %ymm0 # sched: [11:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -2493,7 +2493,7 @@ define <8 x float> @test_minps(<8 x floa
;
; SKYLAKE-LABEL: test_minps:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vminps %ymm1, %ymm0, %ymm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vminps %ymm1, %ymm0, %ymm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vminps (%rdi), %ymm0, %ymm0 # sched: [11:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -4111,8 +4111,8 @@ define <4 x double> @test_roundpd(<4 x d
;
; SKYLAKE-LABEL: test_roundpd:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vroundpd $7, %ymm0, %ymm0 # sched: [8:0.67]
-; SKYLAKE-NEXT: vroundpd $7, (%rdi), %ymm1 # sched: [15:0.67]
+; SKYLAKE-NEXT: vroundpd $7, %ymm0, %ymm0 # sched: [8:1.00]
+; SKYLAKE-NEXT: vroundpd $7, (%rdi), %ymm1 # sched: [15:1.00]
; SKYLAKE-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [4:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -4175,8 +4175,8 @@ define <8 x float> @test_roundps(<8 x fl
;
; SKYLAKE-LABEL: test_roundps:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vroundps $7, %ymm0, %ymm0 # sched: [8:0.67]
-; SKYLAKE-NEXT: vroundps $7, (%rdi), %ymm1 # sched: [15:0.67]
+; SKYLAKE-NEXT: vroundps $7, %ymm0, %ymm0 # sched: [8:1.00]
+; SKYLAKE-NEXT: vroundps $7, (%rdi), %ymm1 # sched: [15:1.00]
; SKYLAKE-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [4:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
Modified: llvm/trunk/test/CodeGen/X86/avx2-schedule.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/avx2-schedule.ll?rev=328241&r1=328240&r2=328241&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/avx2-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/avx2-schedule.ll Thu Mar 22 14:10:07 2018
@@ -3310,7 +3310,7 @@ define <16 x i16> @test_pmaddubsw(<32 x
;
; SKYLAKE-LABEL: test_pmaddubsw:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vpmaddubsw %ymm1, %ymm0, %ymm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vpmaddubsw %ymm1, %ymm0, %ymm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vpmaddubsw (%rdi), %ymm0, %ymm0 # sched: [11:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -3354,7 +3354,7 @@ define <8 x i32> @test_pmaddwd(<16 x i16
;
; SKYLAKE-LABEL: test_pmaddwd:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vpmaddwd %ymm1, %ymm0, %ymm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vpmaddwd %ymm1, %ymm0, %ymm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vpmaddwd (%rdi), %ymm0, %ymm0 # sched: [11:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -4751,7 +4751,7 @@ define <4 x i64> @test_pmuldq(<8 x i32>
;
; SKYLAKE-LABEL: test_pmuldq:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vpmuldq %ymm1, %ymm0, %ymm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vpmuldq %ymm1, %ymm0, %ymm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vpmuldq (%rdi), %ymm0, %ymm0 # sched: [11:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -4795,7 +4795,7 @@ define <16 x i16> @test_pmulhrsw(<16 x i
;
; SKYLAKE-LABEL: test_pmulhrsw:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vpmulhrsw %ymm1, %ymm0, %ymm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vpmulhrsw %ymm1, %ymm0, %ymm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vpmulhrsw (%rdi), %ymm0, %ymm0 # sched: [11:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -4838,7 +4838,7 @@ define <16 x i16> @test_pmulhuw(<16 x i1
;
; SKYLAKE-LABEL: test_pmulhuw:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vpmulhuw %ymm1, %ymm0, %ymm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vpmulhuw %ymm1, %ymm0, %ymm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vpmulhuw (%rdi), %ymm0, %ymm0 # sched: [11:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -4881,7 +4881,7 @@ define <16 x i16> @test_pmulhw(<16 x i16
;
; SKYLAKE-LABEL: test_pmulhw:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vpmulhw %ymm1, %ymm0, %ymm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vpmulhw %ymm1, %ymm0, %ymm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vpmulhw (%rdi), %ymm0, %ymm0 # sched: [11:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -4966,7 +4966,7 @@ define <16 x i16> @test_pmullw(<16 x i16
;
; SKYLAKE-LABEL: test_pmullw:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vpmullw %ymm1, %ymm0, %ymm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vpmullw %ymm1, %ymm0, %ymm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vpmullw (%rdi), %ymm0, %ymm0 # sched: [11:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -5008,7 +5008,7 @@ define <4 x i64> @test_pmuludq(<8 x i32>
;
; SKYLAKE-LABEL: test_pmuludq:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vpmuludq %ymm1, %ymm0, %ymm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vpmuludq %ymm1, %ymm0, %ymm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vpmuludq (%rdi), %ymm0, %ymm0 # sched: [11:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
Modified: llvm/trunk/test/CodeGen/X86/sse-schedule.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/sse-schedule.ll?rev=328241&r1=328240&r2=328241&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/sse-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/sse-schedule.ll Thu Mar 22 14:10:07 2018
@@ -338,7 +338,7 @@ define <4 x float> @test_cmpps(<4 x floa
;
; SKYLAKE-LABEL: test_cmpps:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vcmpeqps %xmm1, %xmm0, %xmm1 # sched: [4:0.33]
+; SKYLAKE-NEXT: vcmpeqps %xmm1, %xmm0, %xmm1 # sched: [4:0.50]
; SKYLAKE-NEXT: vcmpeqps (%rdi), %xmm0, %xmm0 # sched: [10:0.50]
; SKYLAKE-NEXT: vorps %xmm0, %xmm1, %xmm0 # sched: [1:0.33]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
@@ -412,7 +412,7 @@ define float @test_cmpss(float %a0, floa
;
; SKYLAKE-LABEL: test_cmpss:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vcmpeqss %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vcmpeqss %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vcmpeqss (%rdi), %xmm0, %xmm0 # sched: [9:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -1299,7 +1299,7 @@ define <4 x float> @test_maxps(<4 x floa
;
; SKYLAKE-LABEL: test_maxps:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vmaxps %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vmaxps %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vmaxps (%rdi), %xmm0, %xmm0 # sched: [10:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -1366,7 +1366,7 @@ define <4 x float> @test_maxss(<4 x floa
;
; SKYLAKE-LABEL: test_maxss:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vmaxss %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vmaxss %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vmaxss (%rdi), %xmm0, %xmm0 # sched: [9:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -1433,7 +1433,7 @@ define <4 x float> @test_minps(<4 x floa
;
; SKYLAKE-LABEL: test_minps:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vminps %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vminps %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vminps (%rdi), %xmm0, %xmm0 # sched: [10:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -1500,7 +1500,7 @@ define <4 x float> @test_minss(<4 x floa
;
; SKYLAKE-LABEL: test_minss:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vminss %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vminss %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vminss (%rdi), %xmm0, %xmm0 # sched: [9:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -2630,8 +2630,8 @@ define <4 x float> @test_rcpss(float %a0
; ATOM-LABEL: test_rcpss:
; ATOM: # %bb.0:
; ATOM-NEXT: movss {{.*#+}} xmm1 = mem[0],zero,zero,zero sched: [1:1.00]
-; ATOM-NEXT: rcpss %xmm0, %xmm0
-; ATOM-NEXT: rcpss %xmm1, %xmm1
+; ATOM-NEXT: rcpss %xmm0, %xmm0 # sched: [0:?]
+; ATOM-NEXT: rcpss %xmm1, %xmm1 # sched: [0:?]
; ATOM-NEXT: addps %xmm1, %xmm0 # sched: [5:5.00]
; ATOM-NEXT: retq # sched: [79:39.50]
;
@@ -2802,8 +2802,8 @@ define <4 x float> @test_rsqrtss(float %
; ATOM-LABEL: test_rsqrtss:
; ATOM: # %bb.0:
; ATOM-NEXT: movss {{.*#+}} xmm1 = mem[0],zero,zero,zero sched: [1:1.00]
-; ATOM-NEXT: rsqrtss %xmm0, %xmm0
-; ATOM-NEXT: rsqrtss %xmm1, %xmm1
+; ATOM-NEXT: rsqrtss %xmm0, %xmm0 # sched: [0:?]
+; ATOM-NEXT: rsqrtss %xmm1, %xmm1 # sched: [0:?]
; ATOM-NEXT: addps %xmm1, %xmm0 # sched: [5:5.00]
; ATOM-NEXT: retq # sched: [79:39.50]
;
@@ -3111,8 +3111,8 @@ define <4 x float> @test_sqrtss(<4 x flo
; ATOM-LABEL: test_sqrtss:
; ATOM: # %bb.0:
; ATOM-NEXT: movaps (%rdi), %xmm1 # sched: [1:1.00]
-; ATOM-NEXT: sqrtss %xmm0, %xmm0
-; ATOM-NEXT: sqrtss %xmm1, %xmm1
+; ATOM-NEXT: sqrtss %xmm0, %xmm0 # sched: [0:?]
+; ATOM-NEXT: sqrtss %xmm1, %xmm1 # sched: [0:?]
; ATOM-NEXT: addps %xmm1, %xmm0 # sched: [5:5.00]
; ATOM-NEXT: retq # sched: [79:39.50]
;
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=328241&r1=328240&r2=328241&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/sse2-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/sse2-schedule.ll Thu Mar 22 14:10:07 2018
@@ -413,7 +413,7 @@ define <2 x double> @test_cmppd(<2 x dou
;
; SKYLAKE-LABEL: test_cmppd:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vcmpeqpd %xmm1, %xmm0, %xmm1 # sched: [4:0.33]
+; SKYLAKE-NEXT: vcmpeqpd %xmm1, %xmm0, %xmm1 # sched: [4:0.50]
; SKYLAKE-NEXT: vcmpeqpd (%rdi), %xmm0, %xmm0 # sched: [10:0.50]
; SKYLAKE-NEXT: vorpd %xmm0, %xmm1, %xmm0 # sched: [1:0.33]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
@@ -487,7 +487,7 @@ define double @test_cmpsd(double %a0, do
;
; SKYLAKE-LABEL: test_cmpsd:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vcmpeqsd %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vcmpeqsd %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vcmpeqsd (%rdi), %xmm0, %xmm0 # sched: [9:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -792,7 +792,7 @@ define <4 x float> @test_cvtdq2ps(<4 x i
;
; SKYLAKE-LABEL: test_cvtdq2ps:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vcvtdq2ps %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vcvtdq2ps %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vcvtdq2ps (%rdi), %xmm1 # sched: [10:0.50]
; SKYLAKE-NEXT: vaddps %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
@@ -1028,7 +1028,7 @@ define <4 x i32> @test_cvtps2dq(<4 x flo
;
; SKYLAKE-LABEL: test_cvtps2dq:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vcvtps2dq %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vcvtps2dq %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vcvtps2dq (%rdi), %xmm1 # sched: [10:0.50]
; SKYLAKE-NEXT: vpaddd %xmm1, %xmm0, %xmm0 # sched: [1:0.33]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
@@ -1759,7 +1759,7 @@ define <4 x i32> @test_cvttps2dq(<4 x fl
;
; SKYLAKE-LABEL: test_cvttps2dq:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vcvttps2dq %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vcvttps2dq %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vcvttps2dq (%rdi), %xmm1 # sched: [10:0.50]
; SKYLAKE-NEXT: vpaddd %xmm1, %xmm0, %xmm0 # sched: [1:0.33]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
@@ -2297,7 +2297,7 @@ define <2 x double> @test_maxpd(<2 x dou
;
; SKYLAKE-LABEL: test_maxpd:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vmaxpd %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vmaxpd %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vmaxpd (%rdi), %xmm0, %xmm0 # sched: [10:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -2364,7 +2364,7 @@ define <2 x double> @test_maxsd(<2 x dou
;
; SKYLAKE-LABEL: test_maxsd:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vmaxsd %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vmaxsd %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vmaxsd (%rdi), %xmm0, %xmm0 # sched: [9:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -2431,7 +2431,7 @@ define <2 x double> @test_minpd(<2 x dou
;
; SKYLAKE-LABEL: test_minpd:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vminpd %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vminpd %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vminpd (%rdi), %xmm0, %xmm0 # sched: [10:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -2498,7 +2498,7 @@ define <2 x double> @test_minsd(<2 x dou
;
; SKYLAKE-LABEL: test_minsd:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vminsd %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vminsd %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vminsd (%rdi), %xmm0, %xmm0 # sched: [9:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -5654,7 +5654,7 @@ define <4 x i32> @test_pmaddwd(<8 x i16>
;
; SKYLAKE-LABEL: test_pmaddwd:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vpmaddwd %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vpmaddwd %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vpmaddwd (%rdi), %xmm0, %xmm0 # sched: [10:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -6063,7 +6063,7 @@ define <8 x i16> @test_pmulhuw(<8 x i16>
;
; SKYLAKE-LABEL: test_pmulhuw:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vpmulhuw %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vpmulhuw %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vpmulhuw (%rdi), %xmm0, %xmm0 # sched: [10:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -6130,7 +6130,7 @@ define <8 x i16> @test_pmulhw(<8 x i16>
;
; SKYLAKE-LABEL: test_pmulhw:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vpmulhw %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vpmulhw %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vpmulhw (%rdi), %xmm0, %xmm0 # sched: [10:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -6197,7 +6197,7 @@ define <8 x i16> @test_pmullw(<8 x i16>
;
; SKYLAKE-LABEL: test_pmullw:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vpmullw %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vpmullw %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vpmullw (%rdi), %xmm0, %xmm0 # sched: [10:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -6263,7 +6263,7 @@ define <2 x i64> @test_pmuludq(<4 x i32>
;
; SKYLAKE-LABEL: test_pmuludq:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vpmuludq %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vpmuludq %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vpmuludq (%rdi), %xmm0, %xmm0 # sched: [10:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -8829,8 +8829,8 @@ define <2 x double> @test_sqrtsd(<2 x do
; ATOM-LABEL: test_sqrtsd:
; ATOM: # %bb.0:
; ATOM-NEXT: movapd (%rdi), %xmm1 # sched: [1:1.00]
-; ATOM-NEXT: sqrtsd %xmm0, %xmm0
-; ATOM-NEXT: sqrtsd %xmm1, %xmm1
+; ATOM-NEXT: sqrtsd %xmm0, %xmm0 # sched: [0:?]
+; ATOM-NEXT: sqrtsd %xmm1, %xmm1 # sched: [0:?]
; ATOM-NEXT: addpd %xmm1, %xmm0 # sched: [6:3.00]
; ATOM-NEXT: retq # sched: [79:39.50]
;
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=328241&r1=328240&r2=328241&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/sse41-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/sse41-schedule.ll Thu Mar 22 14:10:07 2018
@@ -379,8 +379,8 @@ define <4 x float> @test_dpps(<4 x float
;
; SKYLAKE-LABEL: test_dpps:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vdpps $7, %xmm1, %xmm0, %xmm0 # sched: [13:1.33]
-; SKYLAKE-NEXT: vdpps $7, (%rdi), %xmm0, %xmm0 # sched: [19:1.33]
+; SKYLAKE-NEXT: vdpps $7, %xmm1, %xmm0, %xmm0 # sched: [13:1.50]
+; SKYLAKE-NEXT: vdpps $7, (%rdi), %xmm0, %xmm0 # sched: [19:1.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
; SKX-LABEL: test_dpps:
@@ -1189,7 +1189,7 @@ define <8 x i16> @test_phminposuw(<8 x i
; SKYLAKE-LABEL: test_phminposuw:
; SKYLAKE: # %bb.0:
; SKYLAKE-NEXT: vphminposuw (%rdi), %xmm0 # sched: [10:0.50]
-; SKYLAKE-NEXT: vphminposuw %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vphminposuw %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
; SKX-LABEL: test_phminposuw:
@@ -2791,7 +2791,7 @@ define <2 x i64> @test_pmuldq(<4 x i32>
;
; SKYLAKE-LABEL: test_pmuldq:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vpmuldq %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vpmuldq %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vpmuldq (%rdi), %xmm0, %xmm0 # sched: [10:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -3017,8 +3017,8 @@ define <2 x double> @test_roundpd(<2 x d
;
; SKYLAKE-LABEL: test_roundpd:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vroundpd $7, %xmm0, %xmm0 # sched: [8:0.67]
-; SKYLAKE-NEXT: vroundpd $7, (%rdi), %xmm1 # sched: [14:0.67]
+; SKYLAKE-NEXT: vroundpd $7, %xmm0, %xmm0 # sched: [8:1.00]
+; SKYLAKE-NEXT: vroundpd $7, (%rdi), %xmm1 # sched: [14:1.00]
; SKYLAKE-NEXT: vaddpd %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -3089,8 +3089,8 @@ define <4 x float> @test_roundps(<4 x fl
;
; SKYLAKE-LABEL: test_roundps:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vroundps $7, %xmm0, %xmm0 # sched: [8:0.67]
-; SKYLAKE-NEXT: vroundps $7, (%rdi), %xmm1 # sched: [14:0.67]
+; SKYLAKE-NEXT: vroundps $7, %xmm0, %xmm0 # sched: [8:1.00]
+; SKYLAKE-NEXT: vroundps $7, (%rdi), %xmm1 # sched: [14:1.00]
; SKYLAKE-NEXT: vaddps %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -3162,8 +3162,8 @@ define <2 x double> @test_roundsd(<2 x d
;
; SKYLAKE-LABEL: test_roundsd:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vroundsd $7, %xmm1, %xmm0, %xmm1 # sched: [8:0.67]
-; SKYLAKE-NEXT: vroundsd $7, (%rdi), %xmm0, %xmm0 # sched: [14:0.67]
+; SKYLAKE-NEXT: vroundsd $7, %xmm1, %xmm0, %xmm1 # sched: [8:1.00]
+; SKYLAKE-NEXT: vroundsd $7, (%rdi), %xmm0, %xmm0 # sched: [14:1.00]
; SKYLAKE-NEXT: vaddpd %xmm0, %xmm1, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -3235,8 +3235,8 @@ define <4 x float> @test_roundss(<4 x fl
;
; SKYLAKE-LABEL: test_roundss:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vroundss $7, %xmm1, %xmm0, %xmm1 # sched: [8:0.67]
-; SKYLAKE-NEXT: vroundss $7, (%rdi), %xmm0, %xmm0 # sched: [14:0.67]
+; SKYLAKE-NEXT: vroundss $7, %xmm1, %xmm0, %xmm1 # sched: [8:1.00]
+; SKYLAKE-NEXT: vroundss $7, (%rdi), %xmm0, %xmm0 # sched: [14:1.00]
; SKYLAKE-NEXT: vaddps %xmm0, %xmm1, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
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=328241&r1=328240&r2=328241&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/ssse3-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/ssse3-schedule.ll Thu Mar 22 14:10:07 2018
@@ -760,7 +760,7 @@ define <8 x i16> @test_pmaddubsw(<16 x i
;
; SKYLAKE-LABEL: test_pmaddubsw:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vpmaddubsw %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vpmaddubsw %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vpmaddubsw (%rdi), %xmm0, %xmm0 # sched: [10:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
@@ -828,7 +828,7 @@ define <8 x i16> @test_pmulhrsw(<8 x i16
;
; SKYLAKE-LABEL: test_pmulhrsw:
; SKYLAKE: # %bb.0:
-; SKYLAKE-NEXT: vpmulhrsw %xmm1, %xmm0, %xmm0 # sched: [4:0.33]
+; SKYLAKE-NEXT: vpmulhrsw %xmm1, %xmm0, %xmm0 # sched: [4:0.50]
; SKYLAKE-NEXT: vpmulhrsw (%rdi), %xmm0, %xmm0 # sched: [10:0.50]
; SKYLAKE-NEXT: retq # sched: [7:1.00]
;
More information about the llvm-commits
mailing list