[AVX512] Add masking variants for vextract*x4

Adam Nemet anemet at apple.com
Wed Oct 1 12:41:09 PDT 2014


On Oct 1, 2014, at 10:05 AM, Adam Nemet <anemet at apple.com> wrote:

> 
> On Oct 1, 2014, at 6:41 AM, Demikhovsky, Elena <elena.demikhovsky at intel.com> wrote:
> 
>> Patch 0002: I suggest to add "++additionalOperands" for all relevant modrm forms,
>> or just do this before switch.
> 
> Doing before the switch would be a good improvement to this code, let me see if I can do it.  I will probably commit that as a separate patch.

It’s r218790.

> 
> Thanks,
> Adam
> 
>> 
>> -  Elena
>> 
>> 
>> -----Original Message-----
>> From: Adam Nemet [mailto:anemet at apple.com] 
>> Sent: Wednesday, October 01, 2014 08:57
>> To: Demikhovsky, Elena; Robert Khasanov
>> Cc: LLVM Commits
>> Subject: [AVX512] Add masking variants for vextract*x4
>> 
>> Hi Elena and Robert,
>> 
>> First I tried to implement this with the usual intrinsic lowering but unfortunately because vextract*x4 produces v4* vectors I would have needed VK4 and v4i1 for masking in AVX512f which only come with AVX512vl.  I don't think these intrinsics are worth the hassle making that work so instead I went for asm-only instructions.  Then I have the intrinsics Pat<>s to call the corresponding instruction.
>> 
>> This approach gave me a chance to incorporate asm-only masking support into the AVX512_masking hierarchy.  See patch 1 and 4.
>> 
>> Also the masking operand was not supported with the MRMDestReg format, so I've added that too.  See patch 2.
>> 
>> Please let me know if it looks good to you.
>> 
>> Thanks,
>> Adam
>> 
>> ---------------------------------------------------------------------
>> 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.
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141001/59e3d6ba/attachment.html>


More information about the llvm-commits mailing list