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

Chris Lattner clattner at apple.com
Thu Jul 9 11:20:59 PDT 2009


On Jul 9, 2009, at 11:00 AM, Dan Gohman wrote:

>> how is <8 x i1> stored in memory?  8 bits packed into a byte, or
>> like an
>> array [8 x i1], which on most machines is stored as 8 bytes?  I
>> think it
>> is clear that it should be stored the same as an array would be.
>
> Storing an <8 x i1> to memory with the same layout as [8 x i1] -- as
> 8 bytes -- has the nice property of being friendly to various LLVM
> assumptions. Unfortunately, it's also highly artificial; existing
> vector hardware I'm familiar with doesn't work that way, and it
> seems unlikely that anyone ever would want it to. However, it might
> be ok for LLVM to define <8 x i1> stores this way for consistency
> and then tell everyone to avoid using them.

Right.  I think it is more important for it to be well defined what it  
does and how it works than it is for it to be performant.  It  
"working" is important for bugpoint, reg2mem and other stuff like  
that, but noone would actually want to use it. :)

If a specific piece of hardware has support for "vectors of bools" in  
some way, they will probably have intrinsics to load/store them in  
their own specific format.

-Chris



More information about the llvm-commits mailing list