[llvm] r330239 - [X86] Give CMOV 2 cycle latency on SLM.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 17 23:04:30 PDT 2018


Author: ctopper
Date: Tue Apr 17 23:04:30 2018
New Revision: 330239

URL: http://llvm.org/viewvc/llvm-project?rev=330239&view=rev
Log:
[X86] Give CMOV 2 cycle latency on SLM.

Modified:
    llvm/trunk/lib/Target/X86/X86ScheduleSLM.td
    llvm/trunk/test/CodeGen/X86/cmov-schedule.ll

Modified: llvm/trunk/lib/Target/X86/X86ScheduleSLM.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ScheduleSLM.td?rev=330239&r1=330238&r2=330239&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ScheduleSLM.td (original)
+++ llvm/trunk/lib/Target/X86/X86ScheduleSLM.td Tue Apr 17 23:04:30 2018
@@ -93,7 +93,7 @@ defm : SLMWriteResPair<WriteShift, [SLM_
 defm : SLMWriteResPair<WriteJump,  [SLM_IEC_RSV1],  1>;
 defm : SLMWriteResPair<WriteCRC32, [SLM_IEC_RSV1],  3>;
 
-defm : SLMWriteResPair<WriteCMOV,  [SLM_IEC_RSV01], 1>;
+defm : SLMWriteResPair<WriteCMOV,  [SLM_IEC_RSV01], 2, [2]>;
 def  : WriteRes<WriteSETCC, [SLM_IEC_RSV01]>;
 def  : WriteRes<WriteSETCCStore, [SLM_IEC_RSV01, SLM_MEC_RSV]> {
   // FIXME Latency and NumMicrOps?

Modified: llvm/trunk/test/CodeGen/X86/cmov-schedule.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/cmov-schedule.ll?rev=330239&r1=330238&r2=330239&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/cmov-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/cmov-schedule.ll Tue Apr 17 23:04:30 2018
@@ -147,66 +147,66 @@ define void @test_cmov_16(i16 %a0, i16 %
 ; SLM-LABEL: test_cmov_16:
 ; SLM:       # %bb.0:
 ; SLM-NEXT:    #APP
-; SLM-NEXT:    cmovow %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovnow %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovbw %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovbw %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovbw %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovaew %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovaew %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovaew %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovew %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovew %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovnew %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovnew %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovbew %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovbew %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovaw %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovaw %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovsw %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovnsw %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovpw %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovpw %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovnpw %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovnpw %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovlw %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovlw %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovgew %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovgew %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovlew %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovlew %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovgw %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovgw %si, %di # sched: [1:0.50]
-; SLM-NEXT:    cmovow (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovnow (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovbw (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovbw (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovbw (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovaew (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovaew (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovaew (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovew (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovew (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovnew (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovnew (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovbew (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovbew (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovaw (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovaw (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovsw (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovnsw (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovpw (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovpw (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovnpw (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovnpw (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovlw (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovlw (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovgew (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovgew (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovlew (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovlew (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovgw (%rdx), %di # sched: [4:1.00]
-; SLM-NEXT:    cmovgw (%rdx), %di # sched: [4:1.00]
+; SLM-NEXT:    cmovow %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovnow %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovbw %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovbw %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovbw %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovaew %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovaew %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovaew %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovew %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovew %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovnew %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovnew %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovbew %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovbew %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovaw %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovaw %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovsw %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovnsw %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovpw %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovpw %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovnpw %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovnpw %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovlw %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovlw %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovgew %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovgew %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovlew %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovlew %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovgw %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovgw %si, %di # sched: [2:1.00]
+; SLM-NEXT:    cmovow (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovnow (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovbw (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovbw (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovbw (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovaew (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovaew (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovaew (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovew (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovew (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovnew (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovnew (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovbew (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovbew (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovaw (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovaw (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovsw (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovnsw (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovpw (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovpw (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovnpw (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovnpw (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovlw (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovlw (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovgew (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovgew (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovlew (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovlew (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovgw (%rdx), %di # sched: [5:1.00]
+; SLM-NEXT:    cmovgw (%rdx), %di # sched: [5:1.00]
 ; SLM-NEXT:    #NO_APP
 ; SLM-NEXT:    retq # sched: [4:1.00]
 ;
@@ -811,66 +811,66 @@ define void @test_cmov_32(i32 %a0, i32 %
 ; SLM-LABEL: test_cmov_32:
 ; SLM:       # %bb.0:
 ; SLM-NEXT:    #APP
-; SLM-NEXT:    cmovol %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovnol %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovbl %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovbl %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovbl %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovael %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovael %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovael %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovel %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovel %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovnel %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovnel %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovbel %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovbel %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmoval %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmoval %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovsl %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovnsl %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovpl %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovpl %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovnpl %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovnpl %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovll %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovll %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovgel %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovgel %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovlel %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovlel %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovgl %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovgl %esi, %edi # sched: [1:0.50]
-; SLM-NEXT:    cmovol (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovnol (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovbl (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovbl (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovbl (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovael (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovael (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovael (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovel (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovel (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovnel (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovnel (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovbel (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovbel (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmoval (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmoval (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovsl (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovnsl (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovpl (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovpl (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovnpl (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovnpl (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovll (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovll (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovgel (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovgel (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovlel (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovlel (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovgl (%rdx), %edi # sched: [4:1.00]
-; SLM-NEXT:    cmovgl (%rdx), %edi # sched: [4:1.00]
+; SLM-NEXT:    cmovol %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovnol %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovbl %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovbl %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovbl %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovael %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovael %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovael %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovel %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovel %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovnel %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovnel %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovbel %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovbel %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmoval %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmoval %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovsl %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovnsl %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovpl %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovpl %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovnpl %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovnpl %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovll %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovll %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovgel %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovgel %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovlel %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovlel %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovgl %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovgl %esi, %edi # sched: [2:1.00]
+; SLM-NEXT:    cmovol (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovnol (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovbl (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovbl (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovbl (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovael (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovael (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovael (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovel (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovel (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovnel (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovnel (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovbel (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovbel (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmoval (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmoval (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovsl (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovnsl (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovpl (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovpl (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovnpl (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovnpl (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovll (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovll (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovgel (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovgel (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovlel (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovlel (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovgl (%rdx), %edi # sched: [5:1.00]
+; SLM-NEXT:    cmovgl (%rdx), %edi # sched: [5:1.00]
 ; SLM-NEXT:    #NO_APP
 ; SLM-NEXT:    retq # sched: [4:1.00]
 ;
@@ -1475,66 +1475,66 @@ define void @test_cmov_64(i64 %a0, i64 %
 ; SLM-LABEL: test_cmov_64:
 ; SLM:       # %bb.0:
 ; SLM-NEXT:    #APP
-; SLM-NEXT:    cmovoq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovnoq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovbq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovbq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovbq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovaeq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovaeq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovaeq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmoveq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmoveq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovneq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovneq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovbeq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovbeq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovaq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovaq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovsq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovnsq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovpq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovpq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovnpq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovnpq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovlq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovlq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovgeq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovgeq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovleq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovleq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovgq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovgq %rsi, %rdi # sched: [1:0.50]
-; SLM-NEXT:    cmovoq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovnoq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovbq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovbq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovbq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovaeq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovaeq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovaeq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmoveq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmoveq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovneq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovneq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovbeq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovbeq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovaq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovaq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovsq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovnsq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovpq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovpq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovnpq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovnpq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovlq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovlq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovgeq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovgeq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovleq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovleq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovgq (%rdx), %rdi # sched: [4:1.00]
-; SLM-NEXT:    cmovgq (%rdx), %rdi # sched: [4:1.00]
+; SLM-NEXT:    cmovoq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovnoq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovbq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovbq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovbq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovaeq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovaeq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovaeq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmoveq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmoveq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovneq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovneq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovbeq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovbeq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovaq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovaq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovsq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovnsq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovpq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovpq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovnpq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovnpq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovlq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovlq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovgeq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovgeq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovleq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovleq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovgq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovgq %rsi, %rdi # sched: [2:1.00]
+; SLM-NEXT:    cmovoq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovnoq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovbq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovbq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovbq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovaeq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovaeq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovaeq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmoveq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmoveq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovneq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovneq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovbeq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovbeq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovaq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovaq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovsq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovnsq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovpq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovpq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovnpq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovnpq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovlq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovlq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovgeq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovgeq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovleq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovleq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovgq (%rdx), %rdi # sched: [5:1.00]
+; SLM-NEXT:    cmovgq (%rdx), %rdi # sched: [5:1.00]
 ; SLM-NEXT:    #NO_APP
 ; SLM-NEXT:    retq # sched: [4:1.00]
 ;




More information about the llvm-commits mailing list