[PATCH] D130339: [CodeGen] Generate efficient assembly for freeze(poison) version of `mm*_cast*` intel intrinsics

Juneyoung Lee via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 29 02:02:54 PDT 2022


aqjune added inline comments.


================
Comment at: llvm/lib/Target/X86/X86InstrVecCompiler.td:76
+                                  (iPTR 0))),
+            (VT (INSERT_SUBREG (IMPLICIT_DEF), subRC:$src, subIdx))>;
 }
----------------
aqjune wrote:
> I found that using `insert_subvector (freeze undef)` instead of `insert_subvector (freeze (VT undef))` causes this rule to be silently ignored during instruction selection.
> What would the possible reasons be? I tried to figure it out, but couldn't.
FWIW, `insert_subvector (VT (freeze undef)) ..` also results in generating `vblendps  $15, %ymm0, %ymm0, %ymm0`. It seems `(freeze undef)` isn't being recognized. :/

Anyway, `freeze (VT undef)` works well. :)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D130339



More information about the llvm-commits mailing list