diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/mul-constant-i32.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/mul-constant-i32.ll | 206 |
1 files changed, 103 insertions, 103 deletions
diff --git a/llvm/test/CodeGen/X86/mul-constant-i32.ll b/llvm/test/CodeGen/X86/mul-constant-i32.ll index a8b594904b6..d545b477e10 100644 --- a/llvm/test/CodeGen/X86/mul-constant-i32.ll +++ b/llvm/test/CodeGen/X86/mul-constant-i32.ll @@ -17,7 +17,7 @@ define i32 @test_mul_by_1(i32 %x) { ; X64-HSW-LABEL: test_mul_by_1: ; X64-HSW: # BB#0: ; X64-HSW-NEXT: movl %edi, %eax # sched: [1:0.25] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_1: ; X64-JAG: # BB#0: @@ -32,7 +32,7 @@ define i32 @test_mul_by_1(i32 %x) { ; HSW-NOOPT-LABEL: test_mul_by_1: ; HSW-NOOPT: # BB#0: ; HSW-NOOPT-NEXT: movl %edi, %eax # sched: [1:0.25] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_1: ; JAG-NOOPT: # BB#0: @@ -63,7 +63,7 @@ define i32 @test_mul_by_2(i32 %x) { ; X64-HSW: # BB#0: ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: leal (%rdi,%rdi), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_2: ; X64-JAG: # BB#0: @@ -81,7 +81,7 @@ define i32 @test_mul_by_2(i32 %x) { ; HSW-NOOPT: # BB#0: ; HSW-NOOPT-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; HSW-NOOPT-NEXT: leal (%rdi,%rdi), %eax # sched: [1:0.50] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_2: ; JAG-NOOPT: # BB#0: @@ -114,7 +114,7 @@ define i32 @test_mul_by_3(i32 %x) { ; X64-HSW: # BB#0: ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: leal (%rdi,%rdi,2), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_3: ; X64-JAG: # BB#0: @@ -131,7 +131,7 @@ define i32 @test_mul_by_3(i32 %x) { ; HSW-NOOPT: # BB#0: ; HSW-NOOPT-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; HSW-NOOPT-NEXT: leal (%rdi,%rdi,2), %eax # sched: [1:0.50] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_3: ; JAG-NOOPT: # BB#0: @@ -165,7 +165,7 @@ define i32 @test_mul_by_4(i32 %x) { ; X64-HSW: # BB#0: ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: leal (,%rdi,4), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_4: ; X64-JAG: # BB#0: @@ -183,7 +183,7 @@ define i32 @test_mul_by_4(i32 %x) { ; HSW-NOOPT: # BB#0: ; HSW-NOOPT-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; HSW-NOOPT-NEXT: leal (,%rdi,4), %eax # sched: [1:0.50] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_4: ; JAG-NOOPT: # BB#0: @@ -216,7 +216,7 @@ define i32 @test_mul_by_5(i32 %x) { ; X64-HSW: # BB#0: ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: leal (%rdi,%rdi,4), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_5: ; X64-JAG: # BB#0: @@ -233,7 +233,7 @@ define i32 @test_mul_by_5(i32 %x) { ; HSW-NOOPT: # BB#0: ; HSW-NOOPT-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; HSW-NOOPT-NEXT: leal (%rdi,%rdi,4), %eax # sched: [1:0.50] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_5: ; JAG-NOOPT: # BB#0: @@ -269,7 +269,7 @@ define i32 @test_mul_by_6(i32 %x) { ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: addl %edi, %edi # sched: [1:0.25] ; X64-HSW-NEXT: leal (%rdi,%rdi,2), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_6: ; X64-JAG: # BB#0: @@ -285,8 +285,8 @@ define i32 @test_mul_by_6(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_6: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $6, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $6, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_6: ; JAG-NOOPT: # BB#0: @@ -321,7 +321,7 @@ define i32 @test_mul_by_7(i32 %x) { ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: leal (,%rdi,8), %eax # sched: [1:0.50] ; X64-HSW-NEXT: subl %edi, %eax # sched: [1:0.25] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_7: ; X64-JAG: # BB#0: @@ -337,8 +337,8 @@ define i32 @test_mul_by_7(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_7: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $7, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $7, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_7: ; JAG-NOOPT: # BB#0: @@ -371,7 +371,7 @@ define i32 @test_mul_by_8(i32 %x) { ; X64-HSW: # BB#0: ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: leal (,%rdi,8), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_8: ; X64-JAG: # BB#0: @@ -389,7 +389,7 @@ define i32 @test_mul_by_8(i32 %x) { ; HSW-NOOPT: # BB#0: ; HSW-NOOPT-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; HSW-NOOPT-NEXT: leal (,%rdi,8), %eax # sched: [1:0.50] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_8: ; JAG-NOOPT: # BB#0: @@ -422,7 +422,7 @@ define i32 @test_mul_by_9(i32 %x) { ; X64-HSW: # BB#0: ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: leal (%rdi,%rdi,8), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_9: ; X64-JAG: # BB#0: @@ -439,7 +439,7 @@ define i32 @test_mul_by_9(i32 %x) { ; HSW-NOOPT: # BB#0: ; HSW-NOOPT-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; HSW-NOOPT-NEXT: leal (%rdi,%rdi,8), %eax # sched: [1:0.50] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_9: ; JAG-NOOPT: # BB#0: @@ -475,7 +475,7 @@ define i32 @test_mul_by_10(i32 %x) { ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: addl %edi, %edi # sched: [1:0.25] ; X64-HSW-NEXT: leal (%rdi,%rdi,4), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_10: ; X64-JAG: # BB#0: @@ -491,8 +491,8 @@ define i32 @test_mul_by_10(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_10: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $10, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $10, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_10: ; JAG-NOOPT: # BB#0: @@ -527,7 +527,7 @@ define i32 @test_mul_by_11(i32 %x) { ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: leal (%rdi,%rdi,4), %eax # sched: [1:0.50] ; X64-HSW-NEXT: leal (%rdi,%rax,2), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_11: ; X64-JAG: # BB#0: @@ -543,8 +543,8 @@ define i32 @test_mul_by_11(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_11: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $11, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $11, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_11: ; JAG-NOOPT: # BB#0: @@ -575,9 +575,9 @@ define i32 @test_mul_by_12(i32 %x) { ; X64-HSW-LABEL: test_mul_by_12: ; X64-HSW: # BB#0: ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> -; X64-HSW-NEXT: shll $2, %edi # sched: [1:1.00] +; X64-HSW-NEXT: shll $2, %edi # sched: [1:0.50] ; X64-HSW-NEXT: leal (%rdi,%rdi,2), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_12: ; X64-JAG: # BB#0: @@ -593,8 +593,8 @@ define i32 @test_mul_by_12(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_12: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $12, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $12, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_12: ; JAG-NOOPT: # BB#0: @@ -629,7 +629,7 @@ define i32 @test_mul_by_13(i32 %x) { ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: leal (%rdi,%rdi,2), %eax # sched: [1:0.50] ; X64-HSW-NEXT: leal (%rdi,%rax,4), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_13: ; X64-JAG: # BB#0: @@ -645,8 +645,8 @@ define i32 @test_mul_by_13(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_13: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $13, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $13, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_13: ; JAG-NOOPT: # BB#0: @@ -681,7 +681,7 @@ define i32 @test_mul_by_14(i32 %x) { ; X64-HSW-NEXT: leal (%rdi,%rdi,2), %eax # sched: [1:0.50] ; X64-HSW-NEXT: leal (%rdi,%rax,4), %eax # sched: [1:0.50] ; X64-HSW-NEXT: addl %edi, %eax # sched: [1:0.25] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_14: ; X64-JAG: # BB#0: @@ -698,8 +698,8 @@ define i32 @test_mul_by_14(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_14: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $14, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $14, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_14: ; JAG-NOOPT: # BB#0: @@ -732,7 +732,7 @@ define i32 @test_mul_by_15(i32 %x) { ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: leal (%rdi,%rdi,4), %eax # sched: [1:0.50] ; X64-HSW-NEXT: leal (%rax,%rax,2), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_15: ; X64-JAG: # BB#0: @@ -748,8 +748,8 @@ define i32 @test_mul_by_15(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_15: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $15, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $15, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_15: ; JAG-NOOPT: # BB#0: @@ -780,9 +780,9 @@ define i32 @test_mul_by_16(i32 %x) { ; ; X64-HSW-LABEL: test_mul_by_16: ; X64-HSW: # BB#0: -; X64-HSW-NEXT: shll $4, %edi # sched: [1:1.00] +; X64-HSW-NEXT: shll $4, %edi # sched: [1:0.50] ; X64-HSW-NEXT: movl %edi, %eax # sched: [1:0.25] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_16: ; X64-JAG: # BB#0: @@ -798,9 +798,9 @@ define i32 @test_mul_by_16(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_16: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: shll $4, %edi # sched: [1:1.00] +; HSW-NOOPT-NEXT: shll $4, %edi # sched: [1:0.50] ; HSW-NOOPT-NEXT: movl %edi, %eax # sched: [1:0.25] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_16: ; JAG-NOOPT: # BB#0: @@ -836,9 +836,9 @@ define i32 @test_mul_by_17(i32 %x) { ; X64-HSW: # BB#0: ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: movl %edi, %eax # sched: [1:0.25] -; X64-HSW-NEXT: shll $4, %eax # sched: [1:1.00] +; X64-HSW-NEXT: shll $4, %eax # sched: [1:0.50] ; X64-HSW-NEXT: leal (%rax,%rdi), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_17: ; X64-JAG: # BB#0: @@ -855,8 +855,8 @@ define i32 @test_mul_by_17(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_17: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $17, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $17, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_17: ; JAG-NOOPT: # BB#0: @@ -892,7 +892,7 @@ define i32 @test_mul_by_18(i32 %x) { ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: addl %edi, %edi # sched: [1:0.25] ; X64-HSW-NEXT: leal (%rdi,%rdi,8), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_18: ; X64-JAG: # BB#0: @@ -908,8 +908,8 @@ define i32 @test_mul_by_18(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_18: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $18, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $18, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_18: ; JAG-NOOPT: # BB#0: @@ -944,9 +944,9 @@ define i32 @test_mul_by_19(i32 %x) { ; X64-HSW: # BB#0: ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: leal (%rdi,%rdi,4), %eax # sched: [1:0.50] -; X64-HSW-NEXT: shll $2, %eax # sched: [1:1.00] +; X64-HSW-NEXT: shll $2, %eax # sched: [1:0.50] ; X64-HSW-NEXT: subl %edi, %eax # sched: [1:0.25] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_19: ; X64-JAG: # BB#0: @@ -963,8 +963,8 @@ define i32 @test_mul_by_19(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_19: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $19, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $19, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_19: ; JAG-NOOPT: # BB#0: @@ -995,9 +995,9 @@ define i32 @test_mul_by_20(i32 %x) { ; X64-HSW-LABEL: test_mul_by_20: ; X64-HSW: # BB#0: ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> -; X64-HSW-NEXT: shll $2, %edi # sched: [1:1.00] +; X64-HSW-NEXT: shll $2, %edi # sched: [1:0.50] ; X64-HSW-NEXT: leal (%rdi,%rdi,4), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_20: ; X64-JAG: # BB#0: @@ -1013,8 +1013,8 @@ define i32 @test_mul_by_20(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_20: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $20, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $20, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_20: ; JAG-NOOPT: # BB#0: @@ -1049,7 +1049,7 @@ define i32 @test_mul_by_21(i32 %x) { ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: leal (%rdi,%rdi,4), %eax # sched: [1:0.50] ; X64-HSW-NEXT: leal (%rdi,%rax,4), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_21: ; X64-JAG: # BB#0: @@ -1065,8 +1065,8 @@ define i32 @test_mul_by_21(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_21: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $21, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $21, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_21: ; JAG-NOOPT: # BB#0: @@ -1101,7 +1101,7 @@ define i32 @test_mul_by_22(i32 %x) { ; X64-HSW-NEXT: leal (%rdi,%rdi,4), %eax # sched: [1:0.50] ; X64-HSW-NEXT: leal (%rdi,%rax,4), %eax # sched: [1:0.50] ; X64-HSW-NEXT: addl %edi, %eax # sched: [1:0.25] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_22: ; X64-JAG: # BB#0: @@ -1118,8 +1118,8 @@ define i32 @test_mul_by_22(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_22: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $22, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $22, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_22: ; JAG-NOOPT: # BB#0: @@ -1152,9 +1152,9 @@ define i32 @test_mul_by_23(i32 %x) { ; X64-HSW: # BB#0: ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: leal (%rdi,%rdi,2), %eax # sched: [1:0.50] -; X64-HSW-NEXT: shll $3, %eax # sched: [1:1.00] +; X64-HSW-NEXT: shll $3, %eax # sched: [1:0.50] ; X64-HSW-NEXT: subl %edi, %eax # sched: [1:0.25] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_23: ; X64-JAG: # BB#0: @@ -1171,8 +1171,8 @@ define i32 @test_mul_by_23(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_23: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $23, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $23, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_23: ; JAG-NOOPT: # BB#0: @@ -1203,9 +1203,9 @@ define i32 @test_mul_by_24(i32 %x) { ; X64-HSW-LABEL: test_mul_by_24: ; X64-HSW: # BB#0: ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> -; X64-HSW-NEXT: shll $3, %edi # sched: [1:1.00] +; X64-HSW-NEXT: shll $3, %edi # sched: [1:0.50] ; X64-HSW-NEXT: leal (%rdi,%rdi,2), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_24: ; X64-JAG: # BB#0: @@ -1221,8 +1221,8 @@ define i32 @test_mul_by_24(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_24: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $24, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $24, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_24: ; JAG-NOOPT: # BB#0: @@ -1257,7 +1257,7 @@ define i32 @test_mul_by_25(i32 %x) { ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: leal (%rdi,%rdi,4), %eax # sched: [1:0.50] ; X64-HSW-NEXT: leal (%rax,%rax,4), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_25: ; X64-JAG: # BB#0: @@ -1273,8 +1273,8 @@ define i32 @test_mul_by_25(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_25: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $25, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $25, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_25: ; JAG-NOOPT: # BB#0: @@ -1311,7 +1311,7 @@ define i32 @test_mul_by_26(i32 %x) { ; X64-HSW-NEXT: leal (%rdi,%rdi,8), %eax # sched: [1:0.50] ; X64-HSW-NEXT: leal (%rax,%rax,2), %eax # sched: [1:0.50] ; X64-HSW-NEXT: subl %edi, %eax # sched: [1:0.25] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_26: ; X64-JAG: # BB#0: @@ -1328,8 +1328,8 @@ define i32 @test_mul_by_26(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_26: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $26, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $26, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_26: ; JAG-NOOPT: # BB#0: @@ -1362,7 +1362,7 @@ define i32 @test_mul_by_27(i32 %x) { ; X64-HSW-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def> ; X64-HSW-NEXT: leal (%rdi,%rdi,8), %eax # sched: [1:0.50] ; X64-HSW-NEXT: leal (%rax,%rax,2), %eax # sched: [1:0.50] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_27: ; X64-JAG: # BB#0: @@ -1378,8 +1378,8 @@ define i32 @test_mul_by_27(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_27: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $27, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $27, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_27: ; JAG-NOOPT: # BB#0: @@ -1416,7 +1416,7 @@ define i32 @test_mul_by_28(i32 %x) { ; X64-HSW-NEXT: leal (%rdi,%rdi,8), %eax # sched: [1:0.50] ; X64-HSW-NEXT: leal (%rax,%rax,2), %eax # sched: [1:0.50] ; X64-HSW-NEXT: addl %edi, %eax # sched: [1:0.25] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_28: ; X64-JAG: # BB#0: @@ -1433,8 +1433,8 @@ define i32 @test_mul_by_28(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_28: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $28, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $28, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_28: ; JAG-NOOPT: # BB#0: @@ -1471,7 +1471,7 @@ define i32 @test_mul_by_29(i32 %x) { ; X64-HSW-NEXT: leal (%rax,%rax,2), %eax # sched: [1:0.50] ; X64-HSW-NEXT: addl %edi, %eax # sched: [1:0.25] ; X64-HSW-NEXT: addl %edi, %eax # sched: [1:0.25] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_29: ; X64-JAG: # BB#0: @@ -1489,8 +1489,8 @@ define i32 @test_mul_by_29(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_29: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $29, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $29, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_29: ; JAG-NOOPT: # BB#0: @@ -1523,10 +1523,10 @@ define i32 @test_mul_by_30(i32 %x) { ; X64-HSW-LABEL: test_mul_by_30: ; X64-HSW: # BB#0: ; X64-HSW-NEXT: movl %edi, %eax # sched: [1:0.25] -; X64-HSW-NEXT: shll $5, %eax # sched: [1:1.00] +; X64-HSW-NEXT: shll $5, %eax # sched: [1:0.50] ; X64-HSW-NEXT: subl %edi, %eax # sched: [1:0.25] ; X64-HSW-NEXT: subl %edi, %eax # sched: [1:0.25] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_30: ; X64-JAG: # BB#0: @@ -1543,8 +1543,8 @@ define i32 @test_mul_by_30(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_30: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $30, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $30, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_30: ; JAG-NOOPT: # BB#0: @@ -1576,9 +1576,9 @@ define i32 @test_mul_by_31(i32 %x) { ; X64-HSW-LABEL: test_mul_by_31: ; X64-HSW: # BB#0: ; X64-HSW-NEXT: movl %edi, %eax # sched: [1:0.25] -; X64-HSW-NEXT: shll $5, %eax # sched: [1:1.00] +; X64-HSW-NEXT: shll $5, %eax # sched: [1:0.50] ; X64-HSW-NEXT: subl %edi, %eax # sched: [1:0.25] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_31: ; X64-JAG: # BB#0: @@ -1594,8 +1594,8 @@ define i32 @test_mul_by_31(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_31: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: imull $31, %edi, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull $31, %edi, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_31: ; JAG-NOOPT: # BB#0: @@ -1626,9 +1626,9 @@ define i32 @test_mul_by_32(i32 %x) { ; ; X64-HSW-LABEL: test_mul_by_32: ; X64-HSW: # BB#0: -; X64-HSW-NEXT: shll $5, %edi # sched: [1:1.00] +; X64-HSW-NEXT: shll $5, %edi # sched: [1:0.50] ; X64-HSW-NEXT: movl %edi, %eax # sched: [1:0.25] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_by_32: ; X64-JAG: # BB#0: @@ -1644,9 +1644,9 @@ define i32 @test_mul_by_32(i32 %x) { ; ; HSW-NOOPT-LABEL: test_mul_by_32: ; HSW-NOOPT: # BB#0: -; HSW-NOOPT-NEXT: shll $5, %edi # sched: [1:1.00] +; HSW-NOOPT-NEXT: shll $5, %edi # sched: [1:0.50] ; HSW-NOOPT-NEXT: movl %edi, %eax # sched: [1:0.25] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_by_32: ; JAG-NOOPT: # BB#0: @@ -1686,8 +1686,8 @@ define i32 @test_mul_spec(i32 %x) nounwind { ; X64-HSW-NEXT: addl $42, %ecx # sched: [1:0.25] ; X64-HSW-NEXT: leal (%rdi,%rdi,4), %eax # sched: [1:0.50] ; X64-HSW-NEXT: addl $2, %eax # sched: [1:0.25] -; X64-HSW-NEXT: imull %ecx, %eax # sched: [3:1.00] -; X64-HSW-NEXT: retq # sched: [2:1.00] +; X64-HSW-NEXT: imull %ecx, %eax # sched: [4:1.00] +; X64-HSW-NEXT: retq # sched: [1:1.00] ; ; X64-JAG-LABEL: test_mul_spec: ; X64-JAG: # BB#0: @@ -1712,8 +1712,8 @@ define i32 @test_mul_spec(i32 %x) nounwind { ; HSW-NOOPT-NEXT: addl $42, %ecx # sched: [1:0.25] ; HSW-NOOPT-NEXT: leal (%rdi,%rdi,4), %eax # sched: [1:0.50] ; HSW-NOOPT-NEXT: addl $2, %eax # sched: [1:0.25] -; HSW-NOOPT-NEXT: imull %ecx, %eax # sched: [3:1.00] -; HSW-NOOPT-NEXT: retq # sched: [2:1.00] +; HSW-NOOPT-NEXT: imull %ecx, %eax # sched: [4:1.00] +; HSW-NOOPT-NEXT: retq # sched: [1:1.00] ; ; JAG-NOOPT-LABEL: test_mul_spec: ; JAG-NOOPT: # BB#0: |