[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