Richard Guenther - Re: [PATCH, i386]: Vectorize conversions for i386 (original) (raw)
This is the mail archive of the gcc-patches@gcc.gnu.orgmailing list for the GCC project.
Uros Bizjak ubizjak@gmail.com wrote on 08/02/2007 16:50:23:
Hello!
This patch implements conversions for i386 and x86_64 targets. Patch
Cool, thanks!
builds on (yet uncommitted) patch that implements vectorized conversions infrastructure by Tehila Meyzels (http://gcc.gnu.org/ml/gcc-patches/2007-02/msg00494.html).
I plan to commit it soonish. The vectorization-of-induction patch that I committed a couple of days ago actually exposed a couple of problems in this patch - I'm fixing it now - will commit the fixed version (and submit the fixes to the list) this weekend.
Here is the patch I ended up committing.The diffs relative to Tehila's patch are as follows:1) Mark the arguments of the call-expr for renaming:
FOR_EACH_SSA_TREE_OPERAND (sym, new_stmt, iter, SSA_OP_ALL_VIRTUALS)
{
if (TREE_CODE (sym) == SSA_NAME)
sym = SSA_NAME_VAR (sym);
mark_sym_for_renaming (sym);
}
this is necessary because on some targets the builtins we call are not marked as readonly (e.g. Altivec), which IIUC causes the compiler to create vdefs/vuses, which resulted in an ICE for some of there not getting renamed.