[llvm] r328505 - [X86][Btver2] Add CVTSD2SI/CVTSS2SI scheduler costs
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 26 08:30:48 PDT 2018
Author: rksimon
Date: Mon Mar 26 08:30:47 2018
New Revision: 328505
URL: http://llvm.org/viewvc/llvm-project?rev=328505&view=rev
Log:
[X86][Btver2] Add CVTSD2SI/CVTSS2SI scheduler costs
Account for the "+i" integer pipe transfer cost (1cy use of JALU0 for GPR PRF write)
This also adds missing vcvttss2si tests
Modified:
llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td
llvm/trunk/test/CodeGen/X86/sse-schedule.ll
llvm/trunk/test/CodeGen/X86/sse2-schedule.ll
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s
Modified: llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td?rev=328505&r1=328504&r2=328505&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td (original)
+++ llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td Mon Mar 26 08:30:47 2018
@@ -322,6 +322,18 @@ defm : JWriteResFpuPair<WriteCvtF2I,
defm : JWriteResFpuPair<WriteCvtI2F, [JFPU1, JSTC], 3>; // Integer -> Float.
defm : JWriteResFpuPair<WriteCvtF2F, [JFPU1, JSTC], 3>; // Float -> Float size conversion.
+def JWriteCVTSI2F : SchedWriteRes<[JFPU1, JSTC, JFPA, JALU0]> {
+ let Latency = 7;
+ let NumMicroOps = 2;
+}
+def : InstRW<[JWriteCVTSI2F], (instregex "(V)?CVT(T?)S(D|S)2SI(64)?rr")>;
+
+def JWriteCVTSI2FLd : SchedWriteRes<[JLAGU, JFPU1, JSTC, JFPA, JALU0]> {
+ let Latency = 12;
+ let NumMicroOps = 2;
+}
+def : InstRW<[JWriteCVTSI2FLd], (instregex "(V)?CVT(T?)S(D|S)2SI(64)?rm")>;
+
////////////////////////////////////////////////////////////////////////////////
// Vector integer operations.
////////////////////////////////////////////////////////////////////////////////
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=328505&r1=328504&r2=328505&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/sse-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/sse-schedule.ll Mon Mar 26 08:30:47 2018
@@ -1304,15 +1304,15 @@ define i32 @test_cvtss2si(float %a0, flo
;
; BTVER2-SSE-LABEL: test_cvtss2si:
; BTVER2-SSE: # %bb.0:
-; BTVER2-SSE-NEXT: cvtss2si (%rdi), %eax # sched: [8:1.00]
-; BTVER2-SSE-NEXT: cvtss2si %xmm0, %ecx # sched: [3:1.00]
+; BTVER2-SSE-NEXT: cvtss2si (%rdi), %eax # sched: [12:1.00]
+; BTVER2-SSE-NEXT: cvtss2si %xmm0, %ecx # sched: [7:1.00]
; BTVER2-SSE-NEXT: addl %ecx, %eax # sched: [1:0.50]
; BTVER2-SSE-NEXT: retq # sched: [4:1.00]
;
; BTVER2-LABEL: test_cvtss2si:
; BTVER2: # %bb.0:
-; BTVER2-NEXT: vcvtss2si (%rdi), %eax # sched: [8:1.00]
-; BTVER2-NEXT: vcvtss2si %xmm0, %ecx # sched: [3:1.00]
+; BTVER2-NEXT: vcvtss2si (%rdi), %eax # sched: [12:1.00]
+; BTVER2-NEXT: vcvtss2si %xmm0, %ecx # sched: [7:1.00]
; BTVER2-NEXT: addl %ecx, %eax # sched: [1:0.50]
; BTVER2-NEXT: retq # sched: [4:1.00]
;
@@ -1433,15 +1433,15 @@ define i64 @test_cvtss2siq(float %a0, fl
;
; BTVER2-SSE-LABEL: test_cvtss2siq:
; BTVER2-SSE: # %bb.0:
-; BTVER2-SSE-NEXT: cvtss2si (%rdi), %rax # sched: [8:1.00]
-; BTVER2-SSE-NEXT: cvtss2si %xmm0, %rcx # sched: [3:1.00]
+; BTVER2-SSE-NEXT: cvtss2si (%rdi), %rax # sched: [12:1.00]
+; BTVER2-SSE-NEXT: cvtss2si %xmm0, %rcx # sched: [7:1.00]
; BTVER2-SSE-NEXT: addq %rcx, %rax # sched: [1:0.50]
; BTVER2-SSE-NEXT: retq # sched: [4:1.00]
;
; BTVER2-LABEL: test_cvtss2siq:
; BTVER2: # %bb.0:
-; BTVER2-NEXT: vcvtss2si (%rdi), %rax # sched: [8:1.00]
-; BTVER2-NEXT: vcvtss2si %xmm0, %rcx # sched: [3:1.00]
+; BTVER2-NEXT: vcvtss2si (%rdi), %rax # sched: [12:1.00]
+; BTVER2-NEXT: vcvtss2si %xmm0, %rcx # sched: [7:1.00]
; BTVER2-NEXT: addq %rcx, %rax # sched: [1:0.50]
; BTVER2-NEXT: retq # sched: [4:1.00]
;
@@ -1562,15 +1562,15 @@ define i32 @test_cvttss2si(float %a0, fl
;
; BTVER2-SSE-LABEL: test_cvttss2si:
; BTVER2-SSE: # %bb.0:
-; BTVER2-SSE-NEXT: cvttss2si (%rdi), %eax # sched: [8:1.00]
-; BTVER2-SSE-NEXT: cvttss2si %xmm0, %ecx # sched: [3:1.00]
+; BTVER2-SSE-NEXT: cvttss2si (%rdi), %eax # sched: [12:1.00]
+; BTVER2-SSE-NEXT: cvttss2si %xmm0, %ecx # sched: [7:1.00]
; BTVER2-SSE-NEXT: addl %ecx, %eax # sched: [1:0.50]
; BTVER2-SSE-NEXT: retq # sched: [4:1.00]
;
; BTVER2-LABEL: test_cvttss2si:
; BTVER2: # %bb.0:
-; BTVER2-NEXT: vcvttss2si (%rdi), %eax # sched: [8:1.00]
-; BTVER2-NEXT: vcvttss2si %xmm0, %ecx # sched: [3:1.00]
+; BTVER2-NEXT: vcvttss2si (%rdi), %eax # sched: [12:1.00]
+; BTVER2-NEXT: vcvttss2si %xmm0, %ecx # sched: [7:1.00]
; BTVER2-NEXT: addl %ecx, %eax # sched: [1:0.50]
; BTVER2-NEXT: retq # sched: [4:1.00]
;
@@ -1688,15 +1688,15 @@ define i64 @test_cvttss2siq(float %a0, f
;
; BTVER2-SSE-LABEL: test_cvttss2siq:
; BTVER2-SSE: # %bb.0:
-; BTVER2-SSE-NEXT: cvttss2si (%rdi), %rax # sched: [8:1.00]
-; BTVER2-SSE-NEXT: cvttss2si %xmm0, %rcx # sched: [3:1.00]
+; BTVER2-SSE-NEXT: cvttss2si (%rdi), %rax # sched: [12:1.00]
+; BTVER2-SSE-NEXT: cvttss2si %xmm0, %rcx # sched: [7:1.00]
; BTVER2-SSE-NEXT: addq %rcx, %rax # sched: [1:0.50]
; BTVER2-SSE-NEXT: retq # sched: [4:1.00]
;
; BTVER2-LABEL: test_cvttss2siq:
; BTVER2: # %bb.0:
-; BTVER2-NEXT: vcvttss2si (%rdi), %rax # sched: [8:1.00]
-; BTVER2-NEXT: vcvttss2si %xmm0, %rcx # sched: [3:1.00]
+; BTVER2-NEXT: vcvttss2si (%rdi), %rax # sched: [12:1.00]
+; BTVER2-NEXT: vcvttss2si %xmm0, %rcx # sched: [7:1.00]
; BTVER2-NEXT: addq %rcx, %rax # sched: [1:0.50]
; BTVER2-NEXT: retq # sched: [4: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=328505&r1=328504&r2=328505&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/sse2-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/sse2-schedule.ll Mon Mar 26 08:30:47 2018
@@ -1946,15 +1946,15 @@ define i32 @test_cvtsd2si(double %a0, do
;
; BTVER2-SSE-LABEL: test_cvtsd2si:
; BTVER2-SSE: # %bb.0:
-; BTVER2-SSE-NEXT: cvtsd2si (%rdi), %eax # sched: [8:1.00]
-; BTVER2-SSE-NEXT: cvtsd2si %xmm0, %ecx # sched: [3:1.00]
+; BTVER2-SSE-NEXT: cvtsd2si (%rdi), %eax # sched: [12:1.00]
+; BTVER2-SSE-NEXT: cvtsd2si %xmm0, %ecx # sched: [7:1.00]
; BTVER2-SSE-NEXT: addl %ecx, %eax # sched: [1:0.50]
; BTVER2-SSE-NEXT: retq # sched: [4:1.00]
;
; BTVER2-LABEL: test_cvtsd2si:
; BTVER2: # %bb.0:
-; BTVER2-NEXT: vcvtsd2si (%rdi), %eax # sched: [8:1.00]
-; BTVER2-NEXT: vcvtsd2si %xmm0, %ecx # sched: [3:1.00]
+; BTVER2-NEXT: vcvtsd2si (%rdi), %eax # sched: [12:1.00]
+; BTVER2-NEXT: vcvtsd2si %xmm0, %ecx # sched: [7:1.00]
; BTVER2-NEXT: addl %ecx, %eax # sched: [1:0.50]
; BTVER2-NEXT: retq # sched: [4:1.00]
;
@@ -2075,15 +2075,15 @@ define i64 @test_cvtsd2siq(double %a0, d
;
; BTVER2-SSE-LABEL: test_cvtsd2siq:
; BTVER2-SSE: # %bb.0:
-; BTVER2-SSE-NEXT: cvtsd2si (%rdi), %rax # sched: [8:1.00]
-; BTVER2-SSE-NEXT: cvtsd2si %xmm0, %rcx # sched: [3:1.00]
+; BTVER2-SSE-NEXT: cvtsd2si (%rdi), %rax # sched: [12:1.00]
+; BTVER2-SSE-NEXT: cvtsd2si %xmm0, %rcx # sched: [7:1.00]
; BTVER2-SSE-NEXT: addq %rcx, %rax # sched: [1:0.50]
; BTVER2-SSE-NEXT: retq # sched: [4:1.00]
;
; BTVER2-LABEL: test_cvtsd2siq:
; BTVER2: # %bb.0:
-; BTVER2-NEXT: vcvtsd2si (%rdi), %rax # sched: [8:1.00]
-; BTVER2-NEXT: vcvtsd2si %xmm0, %rcx # sched: [3:1.00]
+; BTVER2-NEXT: vcvtsd2si (%rdi), %rax # sched: [12:1.00]
+; BTVER2-NEXT: vcvtsd2si %xmm0, %rcx # sched: [7:1.00]
; BTVER2-NEXT: addq %rcx, %rax # sched: [1:0.50]
; BTVER2-NEXT: retq # sched: [4:1.00]
;
@@ -3003,15 +3003,15 @@ define i32 @test_cvttsd2si(double %a0, d
;
; BTVER2-SSE-LABEL: test_cvttsd2si:
; BTVER2-SSE: # %bb.0:
-; BTVER2-SSE-NEXT: cvttsd2si (%rdi), %eax # sched: [8:1.00]
-; BTVER2-SSE-NEXT: cvttsd2si %xmm0, %ecx # sched: [3:1.00]
+; BTVER2-SSE-NEXT: cvttsd2si (%rdi), %eax # sched: [12:1.00]
+; BTVER2-SSE-NEXT: cvttsd2si %xmm0, %ecx # sched: [7:1.00]
; BTVER2-SSE-NEXT: addl %ecx, %eax # sched: [1:0.50]
; BTVER2-SSE-NEXT: retq # sched: [4:1.00]
;
; BTVER2-LABEL: test_cvttsd2si:
; BTVER2: # %bb.0:
-; BTVER2-NEXT: vcvttsd2si (%rdi), %eax # sched: [8:1.00]
-; BTVER2-NEXT: vcvttsd2si %xmm0, %ecx # sched: [3:1.00]
+; BTVER2-NEXT: vcvttsd2si (%rdi), %eax # sched: [12:1.00]
+; BTVER2-NEXT: vcvttsd2si %xmm0, %ecx # sched: [7:1.00]
; BTVER2-NEXT: addl %ecx, %eax # sched: [1:0.50]
; BTVER2-NEXT: retq # sched: [4:1.00]
;
@@ -3129,15 +3129,15 @@ define i64 @test_cvttsd2siq(double %a0,
;
; BTVER2-SSE-LABEL: test_cvttsd2siq:
; BTVER2-SSE: # %bb.0:
-; BTVER2-SSE-NEXT: cvttsd2si (%rdi), %rax # sched: [8:1.00]
-; BTVER2-SSE-NEXT: cvttsd2si %xmm0, %rcx # sched: [3:1.00]
+; BTVER2-SSE-NEXT: cvttsd2si (%rdi), %rax # sched: [12:1.00]
+; BTVER2-SSE-NEXT: cvttsd2si %xmm0, %rcx # sched: [7:1.00]
; BTVER2-SSE-NEXT: addq %rcx, %rax # sched: [1:0.50]
; BTVER2-SSE-NEXT: retq # sched: [4:1.00]
;
; BTVER2-LABEL: test_cvttsd2siq:
; BTVER2: # %bb.0:
-; BTVER2-NEXT: vcvttsd2si (%rdi), %rax # sched: [8:1.00]
-; BTVER2-NEXT: vcvttsd2si %xmm0, %rcx # sched: [3:1.00]
+; BTVER2-NEXT: vcvttsd2si (%rdi), %rax # sched: [12:1.00]
+; BTVER2-NEXT: vcvttsd2si %xmm0, %rcx # sched: [7:1.00]
; BTVER2-NEXT: addq %rcx, %rax # sched: [1:0.50]
; BTVER2-NEXT: retq # sched: [4:1.00]
;
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s?rev=328505&r1=328504&r2=328505&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s Mon Mar 26 08:30:47 2018
@@ -206,6 +206,11 @@ vcvttsd2si %xmm0, %rcx
vcvttsd2si (%rax), %ecx
vcvttsd2si (%rax), %rcx
+vcvttss2si %xmm0, %ecx
+vcvttss2si %xmm0, %rcx
+vcvttss2si (%rax), %ecx
+vcvttss2si (%rax), %rcx
+
vdivpd %xmm0, %xmm1, %xmm2
vdivpd (%rax), %xmm1, %xmm2
@@ -1129,10 +1134,10 @@ vzeroupper
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtps2pd (%rax), %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtps2pd %xmm0, %ymm2
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - 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 - - 1.00 - - - vcvtsd2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtsd2si (%rax), %rcx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvtsd2si %xmm0, %ecx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvtsd2si %xmm0, %rcx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvtsd2si (%rax), %ecx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvtsd2si (%rax), %rcx
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtsd2ss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtsd2ss (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtsi2sdl %ecx, %xmm0, %xmm2
@@ -1145,10 +1150,10 @@ vzeroupper
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtsi2ssq (%rax), %xmm0, %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtss2sd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtss2sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtss2si %xmm0, %ecx
-# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvtss2si %xmm0, %rcx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtss2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvtss2si (%rax), %rcx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvtss2si %xmm0, %ecx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvtss2si %xmm0, %rcx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvtss2si (%rax), %ecx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvtss2si (%rax), %rcx
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - vcvttpd2dq %xmm0, %xmm2
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvttpd2dqx (%rax), %xmm2
# CHECK-NEXT: - - - 2.00 2.00 - 2.00 - - - 2.00 - - - vcvttpd2dq %ymm0, %xmm2
@@ -1157,10 +1162,14 @@ vzeroupper
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvttps2dq (%rax), %xmm2
# CHECK-NEXT: - - - - - - 2.00 - - - 2.00 - - - vcvttps2dq %ymm0, %ymm2
# CHECK-NEXT: - - - - - - 2.00 2.00 - - 2.00 - - - 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 - - 1.00 - - - vcvttsd2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - vcvttsd2si (%rax), %rcx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvttsd2si %xmm0, %ecx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvttsd2si %xmm0, %rcx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvttsd2si (%rax), %ecx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvttsd2si (%rax), %rcx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvttss2si %xmm0, %ecx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - vcvttss2si %xmm0, %rcx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvttss2si (%rax), %ecx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - vcvttss2si (%rax), %rcx
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - vdivpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - vdivpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - 38.00 - 2.00 - - - - - - - vdivpd %ymm0, %ymm1, %ymm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s?rev=328505&r1=328504&r2=328505&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s Mon Mar 26 08:30:47 2018
@@ -162,14 +162,14 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 cvtsi2ssq %rcx, %xmm2
# CHECK-NEXT: 1 8 1.00 * cvtsi2ssl (%rax), %xmm2
# CHECK-NEXT: 1 8 1.00 * cvtsi2ssl (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cvtss2si %xmm0, %ecx
-# CHECK-NEXT: 1 3 1.00 cvtss2si %xmm0, %rcx
-# CHECK-NEXT: 1 8 1.00 * cvtss2si (%rax), %ecx
-# CHECK-NEXT: 1 8 1.00 * cvtss2si (%rax), %rcx
-# CHECK-NEXT: 1 3 1.00 cvttss2si %xmm0, %ecx
-# CHECK-NEXT: 1 3 1.00 cvttss2si %xmm0, %rcx
-# CHECK-NEXT: 1 8 1.00 * cvttss2si (%rax), %ecx
-# CHECK-NEXT: 1 8 1.00 * cvttss2si (%rax), %rcx
+# CHECK-NEXT: 2 7 1.00 cvtss2si %xmm0, %ecx
+# CHECK-NEXT: 2 7 1.00 cvtss2si %xmm0, %rcx
+# CHECK-NEXT: 2 12 1.00 * cvtss2si (%rax), %ecx
+# CHECK-NEXT: 2 12 1.00 * cvtss2si (%rax), %rcx
+# CHECK-NEXT: 2 7 1.00 cvttss2si %xmm0, %ecx
+# CHECK-NEXT: 2 7 1.00 cvttss2si %xmm0, %rcx
+# CHECK-NEXT: 2 12 1.00 * cvttss2si (%rax), %ecx
+# CHECK-NEXT: 2 12 1.00 * cvttss2si (%rax), %rcx
# CHECK-NEXT: 1 19 19.00 divps %xmm0, %xmm2
# CHECK-NEXT: 1 24 19.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 19 19.00 divss %xmm0, %xmm2
@@ -274,14 +274,14 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2ssq %rcx, %xmm2
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsi2ssl (%rax), %xmm2
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsi2ssl (%rax), %xmm2
-# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtss2si %xmm0, %ecx
-# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtss2si %xmm0, %rcx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtss2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtss2si (%rax), %rcx
-# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttss2si %xmm0, %ecx
-# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttss2si %xmm0, %rcx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttss2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttss2si (%rax), %rcx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvtss2si %xmm0, %ecx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvtss2si %xmm0, %rcx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvtss2si (%rax), %ecx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvtss2si (%rax), %rcx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvttss2si %xmm0, %ecx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvttss2si %xmm0, %rcx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvttss2si (%rax), %ecx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvttss2si (%rax), %rcx
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divps %xmm0, %xmm2
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divps (%rax), %xmm2
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divss %xmm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s?rev=328505&r1=328504&r2=328505&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s Mon Mar 26 08:30:47 2018
@@ -422,10 +422,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtps2dq (%rax), %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtps2pd %xmm0, %xmm2
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - 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 - - 1.00 - - - cvtsd2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsd2si (%rax), %rcx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvtsd2si %xmm0, %ecx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvtsd2si %xmm0, %rcx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvtsd2si (%rax), %ecx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvtsd2si (%rax), %rcx
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsd2ss %xmm0, %xmm2
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvtsd2ss (%rax), %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtsi2sdl %ecx, %xmm2
@@ -438,10 +438,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttpd2dq (%rax), %xmm2
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvttps2dq %xmm0, %xmm2
# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - 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 - - 1.00 - - - cvttsd2si (%rax), %ecx
-# CHECK-NEXT: - - - - - - 1.00 1.00 - - 1.00 - - - cvttsd2si (%rax), %rcx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvttsd2si %xmm0, %ecx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 - - - 1.00 - - - cvttsd2si %xmm0, %rcx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvttsd2si (%rax), %ecx
+# CHECK-NEXT: 1.00 - - 1.00 - - 1.00 1.00 - - 1.00 - - - cvttsd2si (%rax), %rcx
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divpd %xmm0, %xmm2
# CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - divpd (%rax), %xmm2
# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - divsd %xmm0, %xmm2
More information about the llvm-commits
mailing list