blob: 0afcbf9c87bf3261b1199a895af98dc66df598a4 [file] [log] [blame]
Chandler Carruthf6f57532012-04-22 10:11:23 +00001; RUN: opt < %s -reassociate -instcombine -S | FileCheck %s
Chris Lattnerf97c7f52006-03-04 09:35:02 +00002
Tanya Lattner0ea4c8d2008-03-19 04:36:04 +00003define i32 @f(i32 %a, i32 %b) {
Chandler Carruthf6f57532012-04-22 10:11:23 +00004; CHECK: @f
5; CHECK: mul
6; CHECK: mul
7; CHECK-NOT: mul
8; CHECK: ret
9
10entry:
11 %tmp.2 = mul i32 %a, %a
12 %tmp.5 = shl i32 %a, 1
13 %tmp.6 = mul i32 %tmp.5, %b
14 %tmp.10 = mul i32 %b, %b
15 %tmp.7 = add i32 %tmp.6, %tmp.2
16 %tmp.11 = add i32 %tmp.7, %tmp.10
Tanya Lattner0ea4c8d2008-03-19 04:36:04 +000017 ret i32 %tmp.11
Chris Lattnerf97c7f52006-03-04 09:35:02 +000018}
19