[llvm-commits] [llvm] r97137 - in /llvm/trunk: include/llvm/Target/TargetData.h lib/CodeGen/SelectionDAG/LegalizeDAG.cpp lib/CodeGen/SelectionDAG/LegalizeTypes.cpp lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp lib/Target/TargetData.cpp test/CodeGen/X86/vector-of-i1.ll

Duncan Sands baldrick at free.fr
Thu Feb 25 07:29:36 PST 2010


Hi Dan,

> Revert r97064. Duncan pointed out that bitcasts are defined in
> terms of store and load, which means bitcasting between scalar
> integer and vector has endian-specific results, which undermines
> this whole approach.

thanks for doing this.  Do you have any ideas on how to go forwards
with this?  If we want to keep bitcast of vectors, then that implies
that the way vectors are stored has to be close to target independent
(for example, so that the legality of a bitcast is target independent,
and that bitcast is reversible i.e. so that bitcast A to B, then back
to A is a no-op), which basically forces vectors to be bitpacked.  On
the other hand, we could disallow bitcast of vectors.

Ciao,

Duncan.



More information about the llvm-commits mailing list