34 lines
		
	
	
		
			670 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			670 B
		
	
	
	
		
			LLVM
		
	
	
	
| ; RUN: opt -S -reassociate < %s | FileCheck %s
 | |
| 
 | |
| define void @test1() {
 | |
| ; CHECK-LABEL: @test1
 | |
| ; CHECK: call
 | |
| ; CHECK: fsub
 | |
| ; CHECK: fadd
 | |
|   %tmp = tail call <4 x float> @blam()
 | |
|   %tmp23 = fsub fast <4 x float> undef, %tmp
 | |
|   %tmp24 = fadd fast <4 x float> %tmp23, undef
 | |
|   tail call void @wombat(<4 x float> %tmp24)
 | |
|   ret void
 | |
| }
 | |
| 
 | |
| define half @test2() {
 | |
| ; CHECK-LABEL: @test2
 | |
| ; CHECK: fsub
 | |
| ; CHECK: fsub
 | |
| ; CHECK: fadd
 | |
|   %tmp15 = fsub fast half undef, undef
 | |
|   %tmp17 = fsub fast half undef, %tmp15
 | |
|   %tmp18 = fadd fast half undef, %tmp17
 | |
|   ret half %tmp18
 | |
| }
 | |
| 
 | |
| 
 | |
| 
 | |
| ; Function Attrs: optsize
 | |
| declare <4 x float> @blam()
 | |
| 
 | |
| ; Function Attrs: optsize
 | |
| declare void @wombat(<4 x float>)
 | |
| 
 |