Chris Lattner | c714f26 | 2006-03-14 06:54:32 +0000 | [diff] [blame] | 1 | ; There should be exactly one shift and one add left. |
Tanya Lattner | 0ea4c8d | 2008-03-19 04:36:04 +0000 | [diff] [blame] | 2 | ; RUN: llvm-as < %s | \ |
Dan Gohman | 72a13d2 | 2009-09-08 22:34:10 +0000 | [diff] [blame] | 3 | ; RUN: opt -reassociate -instcombine -S > %t |
Dan Gohman | f9dd170 | 2007-08-15 13:36:28 +0000 | [diff] [blame] | 4 | ; RUN: grep shl %t | count 1 |
| 5 | ; RUN: grep add %t | count 1 |
Chris Lattner | c714f26 | 2006-03-14 06:54:32 +0000 | [diff] [blame] | 6 | |
Tanya Lattner | 0ea4c8d | 2008-03-19 04:36:04 +0000 | [diff] [blame] | 7 | define i32 @test(i32 %X, i32 %Y) { |
| 8 | %tmp.2 = shl i32 %X, 1 ; <i32> [#uses=1] |
| 9 | %tmp.6 = shl i32 %Y, 1 ; <i32> [#uses=1] |
| 10 | %tmp.4 = add i32 %tmp.6, %tmp.2 ; <i32> [#uses=1] |
| 11 | ret i32 %tmp.4 |
Chris Lattner | c714f26 | 2006-03-14 06:54:32 +0000 | [diff] [blame] | 12 | } |
| 13 | |