[PATCH][X86] AVX512: Add non-temporal stores

Adam Nemet anemet at apple.com
Tue Jun 17 15:31:21 PDT 2014


Hi Elena,

Thanks for the catch and also for the tip to use XED!  I was using SDE to verify some of the encodings but that is of course more laborious than XED.

Two patches are attached.  The first is to fix movntdqa (NT load) and the second is v2 of the NT store patch.

Let me know if they look good to you.

Thanks,
Adam

On Jun 17, 2014, at 2:27 AM, Demikhovsky, Elena <elena.demikhovsky at intel.com> wrote:

> Hi Adam,
> 
> I checked your encoding with XED:
> 
> +// CHECK: vmovntpd
> +// CHECK: encoding: [0x62,0xf1,0xfd,0x48,0x2b,0x72,0x04]
> +vmovntpd %zmm6, 4(%rdx)
> +
> 
> xed -64 -d 62f1fd482b7204
> 62F1FD482B7204
> ICLASS: VMOVNTPD   CATEGORY: DATAXFER   EXTENSION: AVX512EVEX  IFORM: VMOVNTPD_MEMf64_ZMMf64_AVX512   ISA_SET: AVX512F_512
> SHORT: vmovntpd zmmword ptr [rdx+0x100], zmm6
> 
> I see a different displacement value. You should specify compressed displacement in these instructions EVEX_CD8..
> 
> -  Elena
> 
> 
> -----Original Message-----
> From: Adam Nemet [mailto:anemet at apple.com] 
> Sent: Tuesday, June 17, 2014 04:28
> To: Demikhovsky, Elena
> Cc: llvm-commits
> Subject: [PATCH][X86] AVX512: Add non-temporal stores
> 
> Note that I followed the AVX2 convention here and didn't add LLVM intrinsics for stores.  These can be generated with the nontemporal hint on LLVM IR stores (see new test). The GCC builtins are lowered directly into nontemporal stores.
> 
> <rdar://problem/17082571>
> 
> ---------------------------------------------------------------------
> 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 --------------
A non-text attachment was scrubbed...
Name: X86-AVX512-Specify-compressed-displacement-for-vmovn.patch
Type: application/octet-stream
Size: 1635 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140617/4a7a988d/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: X86-AVX512-Add-non-temporal-stores-v2.patch
Type: application/octet-stream
Size: 4337 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140617/4a7a988d/attachment-0001.obj>


More information about the llvm-commits mailing list