From: Craig Topper Date: Wed, 18 Apr 2018 06:04:30 +0000 (+0000) Subject: [X86] Give CMOV 2 cycle latency on SLM. X-Git-Tag: llvmorg-7.0.0-rc1~8002 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=513e11bb70e24d008dcafb2c8cc7725911e2bc5b;p=platform%2Fupstream%2Fllvm.git [X86] Give CMOV 2 cycle latency on SLM. llvm-svn: 330239 --- diff --git a/llvm/lib/Target/X86/X86ScheduleSLM.td b/llvm/lib/Target/X86/X86ScheduleSLM.td index da4d38f..ffa9c66 100644 --- a/llvm/lib/Target/X86/X86ScheduleSLM.td +++ b/llvm/lib/Target/X86/X86ScheduleSLM.td @@ -93,7 +93,7 @@ defm : SLMWriteResPair; defm : SLMWriteResPair; defm : SLMWriteResPair; -defm : SLMWriteResPair; +defm : SLMWriteResPair; def : WriteRes; def : WriteRes { // FIXME Latency and NumMicrOps? diff --git a/llvm/test/CodeGen/X86/cmov-schedule.ll b/llvm/test/CodeGen/X86/cmov-schedule.ll index 4053f63..8993c30 100644 --- a/llvm/test/CodeGen/X86/cmov-schedule.ll +++ b/llvm/test/CodeGen/X86/cmov-schedule.ll @@ -147,66 +147,66 @@ define void @test_cmov_16(i16 %a0, i16 %a1, i16 *%a2) optsize { ; 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 %a1, i32 *%a2) optsize { ; 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 %a1, i64 *%a2) optsize { ; 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] ;