[PATCH] D82398: [MSAN] Handle x86 {round,min,max}sd intrinsics

Gui Andrade via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 23 13:26:52 PDT 2020


guiand marked an inline comment as done.
guiand added inline comments.


================
Comment at: llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp:3077
+    Value *LowShadow = IRB.CreateOr(LowA, LowB);
+    Value *Shadow = IRB.CreateInsertElement(Second, LowShadow, IRB.getInt32(0));
+
----------------
eugenis wrote:
> You probably want to insert in First, not Second.
> 
> Is the generated code any better if you OR the vectors, and then shuffle to put the top element of First into the top element of the output? That's what LLVM generates if I express this logic in C.
> 
> 
The codegen is basically identical either way, but if you'd like I can still upload a patch to change these into shufflevector instructions.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D82398/new/

https://reviews.llvm.org/D82398





More information about the cfe-commits mailing list