[LLVMdev] Masked vector intrinsics and name mangling

Hal Finkel hfinkel at anl.gov
Sun Oct 26 08:05:43 PDT 2014


----- Original Message -----
> From: "Elena Demikhovsky" <elena.demikhovsky at intel.com>
> To: llvmdev at cs.uiuc.edu
> Sent: Sunday, October 26, 2014 5:34:46 AM
> Subject: [LLVMdev] Masked vector intrinsics and name mangling
> 
> 
> 
> Hi,
> 
> The proposed masked vector intrinsics are overloaded - one intrinsic
> ID for multiple types.
> After name mangling it will look like:
> 
> %res = call <16 x i32>
> @llvm.masked.load.v16i32.p0i32.v16i32.i32.v16i1(i32* %addr, <16 x
> i32>%passthru, i32 4, <16 x i1> %mask)
> 6 types x 3 vector sizes = 18 names for one operation
> 
> I propose to remove name mangling from these intrinsics:
> %res = call <16 x i32> @llvm.masked.load (i32* %addr, <16 x
> i32>%passthru, i32 4, <16 x i1> %mask)
> 
> def int_masked_load :
> Intrinsic<[llvm_anyvector_ty], [llvm_anyptr_ty, llvm_anyvector_ty,
> llvm_anyint_ty, llvm_anyvector_ty],
> [IntrReadArgMem, NoNameMangling]>; // new property
> 
> It will significantly simplify reading and manual writing.
> What do you think?

We already have this kind of situation for @llvm.memcpy and friends, and while it can make the IR look verbose at times, we have reasonable interfaces for creating and manipulating these at the C++ level, so I don't think it is worthwhile to further complicate the system.

 -Hal

> 
> Thank you.
> 
> 
>     * Elena
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> 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.
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-dev mailing list