[PATCH] R600/SI: Set HasMultipleConditionRegisters
Tom Stellard
thomas.stellard at amd.com
Thu Apr 30 19:46:17 PDT 2015
The shader-db shows this is a slight improvement overall. However, I did find a regression case:
define void @test(float addrspace(1)* %out) {
entry:
br i1 undef, label %IF0, label %ENDIF
IF0: ; preds = %entry
%cmp1 = fcmp oeq float undef, 0.000000e+00
br i1 %cmp1, label %IF1, label %ENDIF
IF1: ; preds = %IF0
%cmp2 = xor i1 %cmp1, true
br label %ENDIF
ENDIF: ; preds = %IF1, %IF0, %entry
%tmp0 = phi i1 [ true, %entry ], [ %cmp2, %IF1 ], [ false, %IF0 ]
%tmp2 = select i1 %tmp0, float undef, float 0.000000e+00
store float %tmp2, float addrspace(1)* %out
ret void
}
http://reviews.llvm.org/D9419
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list