On Sep 10, 2007, at 1:48 PM, Dan Gohman wrote: >> Hi Dan, >> >> This is not safe because xor will clobber flags. It's a >> miscompilation >> if the user of the rematerialized value is a conditional move (e.g. >> cmovne). > > Thanks for spotting that! > >> The current fix is to X86RegisterInfo::reMaterialize() should >> rematerialize it as a move instruction. > > Are you saying such a fix exists already, or that this is how a fix > should work? If the latter, I'd prefer to just revert the change to > the instructions that use xor so that they are not marked > rematerializable for now (though the ones that use pxor/xorps/xorpd > are ok).
s/current/correct :-) I've already implemented it though. Why do you prefer to revert the change? Evan > > Dan > > -- > Dan Gohman, Cray Inc. > _______________________________________________ > llvm-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits _______________________________________________ llvm-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
