[llvm-commits] [llvm] r90108 - in /llvm/trunk: include/llvm/CodeGen/SelectionDAG.h lib/CodeGen/SelectionDAG/LegalizeTypes.cpp lib/CodeGen/SelectionDAG/LegalizeTypes.h lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp lib/CodeGen/SelectionDAG/SelectionDAG.cpp lib/Target/X86/X86ISelLowering.cpp

Duncan Sands baldrick at free.fr
Mon Nov 30 04:33:24 PST 2009


Hi Mon Ping,

> Added support to allow clients to custom widen. For X86, custom widen vectors for
> divide/remainder since these operations can trap by unroll them and adding undefs
> for the resulting vector.

does this really have anything to do with unrolling?  After all, even if you
don't unroll then the additional vector elements might contain anything (since
they are "undef") and "anything" might be zero if you get unlucky.  Will that
trap with vector division (or does it slow the division down?)  Wouldn't it
be better to ensure that the extra elements in the denominator of the division
contain 1 or some other thing sure to be non-zero.

Ciao,

Duncan.



More information about the llvm-commits mailing list