summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorRoland Scheidegger <[email protected]>2014-05-15 17:01:40 +0200
committerRoland Scheidegger <[email protected]>2014-05-16 01:09:34 +0200
commitb416645387e9baff9444bffb3b4b90203946d5a6 (patch)
tree3b5755f1ff08290ffd24e988a98484fc983697c3 /src/gallium
parent93731fbeec4e89584f4663c8cc8230d73076eec7 (diff)
gallivm: remove optimization workaround when not having sse 4.1
This workaround doesn't list any llvm version, but it was introduced 2010-06-10 (e277d5c1f6b2c5a6d202561e67d2b6821a69ecc4). It is unlikely this bug is still present in llvm versions we support (3.1+). There's no specific test listed, but I ran lp_test_arit (which uses the mentioned functions) on llvm 3.1 and 3.3 with sse41 disabled and this pass enabled without issues. Reviewed-by: Jose Fonseca <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_init.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c
index 4ad5797a193..83ffad9a838 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
@@ -149,14 +149,7 @@ create_pass_manager(struct gallivm_state *gallivm)
LLVMAddReassociatePass(gallivm->passmgr);
LLVMAddPromoteMemoryToRegisterPass(gallivm->passmgr);
LLVMAddConstantPropagationPass(gallivm->passmgr);
-
- if (util_cpu_caps.has_sse4_1) {
- /* FIXME: There is a bug in this pass, whereby the combination
- * of fptosi and sitofp (necessary for trunc/floor/ceil/round
- * implementation) somehow becomes invalid code.
- */
- LLVMAddInstructionCombiningPass(gallivm->passmgr);
- }
+ LLVMAddInstructionCombiningPass(gallivm->passmgr);
LLVMAddGVNPass(gallivm->passmgr);
}
else {