[llvm-branch-commits] [msan] Implement shadow propagation for _mm_dp_pd, _mm_dp_ps, _mm256_dp_ps (PR #94875)

Florian Mayer via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Jun 10 12:00:02 PDT 2024


================
@@ -3287,6 +3287,76 @@ struct MemorySanitizerVisitor : public InstVisitor<MemorySanitizerVisitor> {
     setOriginForNaryOp(I);
   }
 
+  // Convert `Mask` into `<n x i1>`.
+  Constant *createDppMask(unsigned Width, unsigned Mask) {
+    SmallVector<Constant *, 4> R;
+    R.assign(Width, ConstantInt::getFalse(F.getContext()));
+    for (auto &M : R) {
+      if (Mask & 1)
+        M = ConstantInt::getTrue(F.getContext());
----------------
fmayer wrote:

wouldn't this bge more readable as

```
M = ConstantInt::getBool(F.getContext(), Mask & 1)
```

https://github.com/llvm/llvm-project/pull/94875


More information about the llvm-branch-commits mailing list