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

Eli Friedman eli.friedman at gmail.com
Thu Jul 9 12:40:14 PDT 2009


On Thu, Jul 9, 2009 at 11:54 AM, David Greene<dag at cray.com> wrote:
> On Thursday 09 July 2009 13:20, Chris Lattner wrote:
>> > 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.
>
> So what's the alternative?  Bitcast to i8 and then store?

My proposal in an earlier message would allow this; how efficient this
operation will be depends a lot on the target in question.

> If <N x i1> is defined to be bitpacked except when storing to memory, that
> should be ok.  Then we can use intrinsics to load/store vector masks and
> have the resulting type of the load by <N x i1> which is natural.

Well, it's not defined to be not bit-packed; the distinction doesn't
really make sense when it isn't in memory.

-Eli




More information about the llvm-commits mailing list