[PATCH] D69339: [SelectionDAG] Add support for FP_ROUND in WidenVectorOperand.

Jay Foad via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 24 01:34:17 PDT 2019


foad marked 2 inline comments as done.
foad added inline comments.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp:4301
     SDValue Res;
     if (N->isStrictFPOpcode()) {
+      if (Opcode == ISD::STRICT_FP_ROUND)
----------------
craig.topper wrote:
> I'm not sure how this if could be true given that the opposite was checked in outer if. But since that was already like that when you got here this looks fine.
I hadn't noticed that. My guess is that the check for !N->isStrictFPOpcode() in the outer if was added along with the FIXME comment, so maybe it was supposed to be a temporary fix?


================
Comment at: llvm/test/CodeGen/AMDGPU/fptrunc.ll:34
+; FUNC-LABEL: {{^}}fptrunc_v3f64_to_v3f32:
+; GCN: v_cvt_f32_f64_e32
+; GCN: v_cvt_f32_f64_e32
----------------
craig.topper wrote:
> Is this hitting the unrolling path rather than any of the code that creates a wider node?
The test definitely fails without the fix above, but I haven't looked in detail at how it is handled.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D69339





More information about the llvm-commits mailing list