summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/mul-constant-i32.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/X86/mul-constant-i32.ll')
-rw-r--r--llvm/test/CodeGen/X86/mul-constant-i32.ll132
1 files changed, 66 insertions, 66 deletions
diff --git a/llvm/test/CodeGen/X86/mul-constant-i32.ll b/llvm/test/CodeGen/X86/mul-constant-i32.ll
index 9fccaaba6b7..9acb2c758bf 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: [7: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: [7: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: def %edi killed %edi def %rdi
; X64-HSW-NEXT: leal (%rdi,%rdi), %eax # sched: [1:0.50]
-; X64-HSW-NEXT: retq # sched: [2:1.00]
+; X64-HSW-NEXT: retq # sched: [7: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: def %edi killed %edi def %rdi
; HSW-NOOPT-NEXT: leal (%rdi,%rdi), %eax # sched: [1:0.50]
-; HSW-NOOPT-NEXT: retq # sched: [2:1.00]
+; HSW-NOOPT-NEXT: retq # sched: [7: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: def %edi killed %edi def %rdi
; 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: [7: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: def %edi killed %edi def %rdi
; 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: [7: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: def %edi killed %edi def %rdi
; X64-HSW-NEXT: leal (,%rdi,4), %eax # sched: [1:0.50]
-; X64-HSW-NEXT: retq # sched: [2:1.00]
+; X64-HSW-NEXT: retq # sched: [7: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: def %edi killed %edi def %rdi
; HSW-NOOPT-NEXT: leal (,%rdi,4), %eax # sched: [1:0.50]
-; HSW-NOOPT-NEXT: retq # sched: [2:1.00]
+; HSW-NOOPT-NEXT: retq # sched: [7: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: def %edi killed %edi def %rdi
; 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: [7: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: def %edi killed %edi def %rdi
; 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: [7: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: def %edi killed %edi def %rdi
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_6:
; X64-JAG: # %bb.0:
@@ -286,7 +286,7 @@ 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: retq # sched: [7: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: def %edi killed %edi def %rdi
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_7:
; X64-JAG: # %bb.0:
@@ -338,7 +338,7 @@ 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: retq # sched: [7: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: def %edi killed %edi def %rdi
; X64-HSW-NEXT: leal (,%rdi,8), %eax # sched: [1:0.50]
-; X64-HSW-NEXT: retq # sched: [2:1.00]
+; X64-HSW-NEXT: retq # sched: [7: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: def %edi killed %edi def %rdi
; HSW-NOOPT-NEXT: leal (,%rdi,8), %eax # sched: [1:0.50]
-; HSW-NOOPT-NEXT: retq # sched: [2:1.00]
+; HSW-NOOPT-NEXT: retq # sched: [7: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: def %edi killed %edi def %rdi
; 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: [7: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: def %edi killed %edi def %rdi
; 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: [7: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: def %edi killed %edi def %rdi
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_10:
; X64-JAG: # %bb.0:
@@ -492,7 +492,7 @@ 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: retq # sched: [7: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: def %edi killed %edi def %rdi
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_11:
; X64-JAG: # %bb.0:
@@ -544,7 +544,7 @@ 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: retq # sched: [7:1.00]
;
; JAG-NOOPT-LABEL: test_mul_by_11:
; JAG-NOOPT: # %bb.0:
@@ -577,7 +577,7 @@ define i32 @test_mul_by_12(i32 %x) {
; X64-HSW-NEXT: # kill: def %edi killed %edi def %rdi
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_12:
; X64-JAG: # %bb.0:
@@ -594,7 +594,7 @@ 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: retq # sched: [7: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: def %edi killed %edi def %rdi
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_13:
; X64-JAG: # %bb.0:
@@ -646,7 +646,7 @@ 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: retq # sched: [7: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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_14:
; X64-JAG: # %bb.0:
@@ -699,7 +699,7 @@ 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: retq # sched: [7: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: def %edi killed %edi def %rdi
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_15:
; X64-JAG: # %bb.0:
@@ -749,7 +749,7 @@ 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: retq # sched: [7:1.00]
;
; JAG-NOOPT-LABEL: test_mul_by_15:
; JAG-NOOPT: # %bb.0:
@@ -782,7 +782,7 @@ define i32 @test_mul_by_16(i32 %x) {
; X64-HSW: # %bb.0:
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_16:
; X64-JAG: # %bb.0:
@@ -800,7 +800,7 @@ define i32 @test_mul_by_16(i32 %x) {
; HSW-NOOPT: # %bb.0:
; 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: [7:1.00]
;
; JAG-NOOPT-LABEL: test_mul_by_16:
; JAG-NOOPT: # %bb.0:
@@ -838,7 +838,7 @@ define i32 @test_mul_by_17(i32 %x) {
; X64-HSW-NEXT: movl %edi, %eax # sched: [1:0.25]
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_17:
; X64-JAG: # %bb.0:
@@ -856,7 +856,7 @@ 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: retq # sched: [7: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: def %edi killed %edi def %rdi
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_18:
; X64-JAG: # %bb.0:
@@ -909,7 +909,7 @@ 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: retq # sched: [7:1.00]
;
; JAG-NOOPT-LABEL: test_mul_by_18:
; JAG-NOOPT: # %bb.0:
@@ -946,7 +946,7 @@ define i32 @test_mul_by_19(i32 %x) {
; X64-HSW-NEXT: leal (%rdi,%rdi,4), %eax # sched: [1:0.50]
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_19:
; X64-JAG: # %bb.0:
@@ -964,7 +964,7 @@ 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: retq # sched: [7:1.00]
;
; JAG-NOOPT-LABEL: test_mul_by_19:
; JAG-NOOPT: # %bb.0:
@@ -997,7 +997,7 @@ define i32 @test_mul_by_20(i32 %x) {
; X64-HSW-NEXT: # kill: def %edi killed %edi def %rdi
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_20:
; X64-JAG: # %bb.0:
@@ -1014,7 +1014,7 @@ 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: retq # sched: [7: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: def %edi killed %edi def %rdi
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_21:
; X64-JAG: # %bb.0:
@@ -1066,7 +1066,7 @@ 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: retq # sched: [7: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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_22:
; X64-JAG: # %bb.0:
@@ -1119,7 +1119,7 @@ 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: retq # sched: [7:1.00]
;
; JAG-NOOPT-LABEL: test_mul_by_22:
; JAG-NOOPT: # %bb.0:
@@ -1154,7 +1154,7 @@ define i32 @test_mul_by_23(i32 %x) {
; X64-HSW-NEXT: leal (%rdi,%rdi,2), %eax # sched: [1:0.50]
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_23:
; X64-JAG: # %bb.0:
@@ -1172,7 +1172,7 @@ 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: retq # sched: [7:1.00]
;
; JAG-NOOPT-LABEL: test_mul_by_23:
; JAG-NOOPT: # %bb.0:
@@ -1205,7 +1205,7 @@ define i32 @test_mul_by_24(i32 %x) {
; X64-HSW-NEXT: # kill: def %edi killed %edi def %rdi
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_24:
; X64-JAG: # %bb.0:
@@ -1222,7 +1222,7 @@ 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: retq # sched: [7: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: def %edi killed %edi def %rdi
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_25:
; X64-JAG: # %bb.0:
@@ -1274,7 +1274,7 @@ 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: retq # sched: [7: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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_26:
; X64-JAG: # %bb.0:
@@ -1329,7 +1329,7 @@ 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: retq # sched: [7: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: def %edi killed %edi def %rdi
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_27:
; X64-JAG: # %bb.0:
@@ -1379,7 +1379,7 @@ 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: retq # sched: [7: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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_28:
; X64-JAG: # %bb.0:
@@ -1434,7 +1434,7 @@ 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: retq # sched: [7: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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_29:
; X64-JAG: # %bb.0:
@@ -1490,7 +1490,7 @@ 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: retq # sched: [7:1.00]
;
; JAG-NOOPT-LABEL: test_mul_by_29:
; JAG-NOOPT: # %bb.0:
@@ -1526,7 +1526,7 @@ define i32 @test_mul_by_30(i32 %x) {
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_30:
; X64-JAG: # %bb.0:
@@ -1544,7 +1544,7 @@ 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: retq # sched: [7:1.00]
;
; JAG-NOOPT-LABEL: test_mul_by_30:
; JAG-NOOPT: # %bb.0:
@@ -1578,7 +1578,7 @@ define i32 @test_mul_by_31(i32 %x) {
; X64-HSW-NEXT: movl %edi, %eax # sched: [1:0.25]
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_31:
; X64-JAG: # %bb.0:
@@ -1595,7 +1595,7 @@ 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: retq # sched: [7:1.00]
;
; JAG-NOOPT-LABEL: test_mul_by_31:
; JAG-NOOPT: # %bb.0:
@@ -1628,7 +1628,7 @@ define i32 @test_mul_by_32(i32 %x) {
; X64-HSW: # %bb.0:
; 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: [7:1.00]
;
; X64-JAG-LABEL: test_mul_by_32:
; X64-JAG: # %bb.0:
@@ -1646,7 +1646,7 @@ define i32 @test_mul_by_32(i32 %x) {
; HSW-NOOPT: # %bb.0:
; 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: [7:1.00]
;
; JAG-NOOPT-LABEL: test_mul_by_32:
; JAG-NOOPT: # %bb.0:
@@ -1687,7 +1687,7 @@ define i32 @test_mul_spec(i32 %x) nounwind {
; 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: [4:1.00]
-; X64-HSW-NEXT: retq # sched: [2:1.00]
+; X64-HSW-NEXT: retq # sched: [7:1.00]
;
; X64-JAG-LABEL: test_mul_spec:
; X64-JAG: # %bb.0:
@@ -1713,7 +1713,7 @@ define i32 @test_mul_spec(i32 %x) nounwind {
; 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: [4:1.00]
-; HSW-NOOPT-NEXT: retq # sched: [2:1.00]
+; HSW-NOOPT-NEXT: retq # sched: [7:1.00]
;
; JAG-NOOPT-LABEL: test_mul_spec:
; JAG-NOOPT: # %bb.0:
OpenPOWER on IntegriCloud