1 ; RUN: opt -S -reassociate < %s | FileCheck %s 2 3 define void @test1() { 4 ; CHECK-LABEL: @test1 5 ; CHECK: call 6 ; CHECK: fsub 7 ; CHECK: fadd 8 %tmp = tail call <4 x float> @blam() 9 %tmp23 = fsub fast <4 x float> undef, %tmp 10 %tmp24 = fadd fast <4 x float> %tmp23, undef 11 tail call void @wombat(<4 x float> %tmp24) 12 ret void 13 } 14 15 define half @test2() { 16 ; CHECK-LABEL: @test2 17 ; CHECK: fsub 18 ; CHECK: fsub 19 ; CHECK: fadd 20 %tmp15 = fsub fast half undef, undef 21 %tmp17 = fsub fast half undef, %tmp15 22 %tmp18 = fadd fast half undef, %tmp17 23 ret half %tmp18 24 } 25 26 27 28 ; Function Attrs: optsize 29 declare <4 x float> @blam() 30 31 ; Function Attrs: optsize 32 declare void @wombat(<4 x float>) 33 34