[LLVMdev] Vectors in structures

Bob Wilson bob.wilson at apple.com
Mon Sep 27 10:19:03 PDT 2010


On Sep 27, 2010, at 2:58 AM, Renato Golin wrote:

> On 22 September 2010 03:43, Bob Wilson <bob.wilson at apple.com> wrote:
>> But regardless they are still structures, right?  What does it mean for them to map onto other types?  Is the parser supposed to treat them as if they _were_ those other types?  If so, I think you need to define a type system for those fundamental vector types.  I had read those statements to say something about the data types used in the generated code.
> 
> Hi Bob,
> 
> Just tested with plain vectors and LLVM's back-end seems to get them
> all right. Plain instructions (add, mul, sub) and intrinsics (adds,
> subs, muls). Haven't seen any compatibility issues so far, not to
> mention that the IR is a fifth of what Clang generates... ;)

I'm not sure what you mean by this.  The llvm intrinsics and built-in vector operations use plain vectors regardless of the front-end.  The structures are only relevant for things like argument passing and copying -- you can't do anything else with them.  Can you post an example of the 5X IR code size that you're seeing with clang?  I'd like to understand the issue that you're seeing.



More information about the llvm-dev mailing list