[LLVMdev] [llvm-commits] Vectors of Pointers and Vector-GEP

Rotem, Nadav nadav.rotem at intel.com
Tue Nov 29 09:35:24 PST 2011


David, 

I agree with you, scatter/gather and predication are orthogonal concepts. In theory, you could implement load/store predication using scatter/gather instructions by loading/storing to dedicated 'dead' stack slots. Having said that, I don't know of any architecture which has scatter/gather but does not have predicated instructions. 

Looking onward, I definitely want to see LLVM support predicated architectures. Dan Gohman had some excellent ideas on different way this can be done. As soon as I finish stabilizing the pointer-vector patch, and implement scatter/gather intrinsics, I would like to start a discussion on the implementation of predicated instructions in LLVM. 

Nadav


-----Original Message-----
From: David A. Greene [mailto:greened at obbligato.org] 
Sent: Tuesday, November 29, 2011 18:18
To: David A. Greene
Cc: Rotem, Nadav; llvm-commits at cs.uiuc.edu; LLVM Developers Mailing List
Subject: Re: [llvm-commits] Vectors of Pointers and Vector-GEP

greened at obbligato.org (David A. Greene) writes:

> "Rotem, Nadav" <nadav.rotem at intel.com> writes:
>
>> Following the discussion in last week’s LLVM developers conference I
>> started working on support for vectors-of-pointers.  Vectors of
>> pointers are needed for supporting scatter/gather operations and are
>> the first step in the direction of supporting predicated
>> architectures.

I just want to make clear that gather/scatter and prediction are
orthogonal concepts.  You don't need one to do the other.  You can use
scatter/gather to vectorize conditional code but it's not the same as
true predication, which is generally much more efficient.

                               -Dave
---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.




More information about the llvm-dev mailing list