13 lines
		
	
	
		
			316 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			13 lines
		
	
	
		
			316 B
		
	
	
	
		
			LLVM
		
	
	
	
| ; With shl->mul reassociation, we can see that this is (shl A, 9) * A
 | |
| ;
 | |
| ; RUN: opt < %s -reassociate -instcombine -S |\
 | |
| ; RUN:    grep "shl .*, 9"
 | |
| 
 | |
| define i32 @test(i32 %A, i32 %B) {
 | |
| 	%X = shl i32 %A, 5		; <i32> [#uses=1]
 | |
| 	%Y = shl i32 %A, 4		; <i32> [#uses=1]
 | |
| 	%Z = mul i32 %Y, %X		; <i32> [#uses=1]
 | |
| 	ret i32 %Z
 | |
| }
 | |
| 
 |