[PATCH] D49315: [X86][SLH] Remove PDEP and PEXT from isDataInvariantLoad

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 13 12:11:56 PDT 2018


craig.topper created this revision.
craig.topper added a reviewer: chandlerc.

Ryzen has something like an 18 cycle latency on these based on Agner's data. AMD's own xls is blank. So it seems like there might be something tricky here. Might be safer to remove them. We never generate them without an intrinsic so this might be ok.


https://reviews.llvm.org/D49315

Files:
  lib/Target/X86/X86SpeculativeLoadHardening.cpp


Index: lib/Target/X86/X86SpeculativeLoadHardening.cpp
===================================================================
--- lib/Target/X86/X86SpeculativeLoadHardening.cpp
+++ lib/Target/X86/X86SpeculativeLoadHardening.cpp
@@ -917,10 +917,6 @@
   case X86::MULX64rm:
 
     // Arithmetic instructions that are both constant time and don't set flags.
-  case X86::PDEP32rm:
-  case X86::PDEP64rm:
-  case X86::PEXT32rm:
-  case X86::PEXT64rm:
   case X86::RORX32mi:
   case X86::RORX64mi:
   case X86::SARX32rm:


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D49315.155454.patch
Type: text/x-patch
Size: 512 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180713/f0c53349/attachment.bin>


More information about the llvm-commits mailing list