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>)
 | 
						|
 |