[llvm-commits] PATCH: remove VICmp and VFCmp.

Eli Friedman eli.friedman at gmail.com
Thu Jul 9 10:34:58 PDT 2009


On Thu, Jul 9, 2009 at 1:15 AM, Duncan Sands<baldrick at free.fr> wrote:
> Basically VectorType::getBitWidth is completely bogus (IMHO).  Instead
> I think for memory layout vectors should be the same as arrays.  This
> means they may have holes (eg: vectors of x86 long double) and that you
> need target data to calculate the size.  This may be problematic because
> you can no longer tell whether a bitcast is valid or not without target
> data.  By the way, I'm pretty sure that gcc lays out vectors of x86 long
> double the same as an array.

It's quite possible we can get away with fixing this without changing
anything at the IR level: we can both allow bitcasting from a <8 x i1>
to i8 and lay out <8 x i1> and [8 x i1] the same way in memory.  The
only downside I can think of is that the code for such a bitcast would
likely be very inefficient in the general case.

-Eli




More information about the llvm-commits mailing list