[PATCH] D72307: [X86] Directly emit a BROADCAST_LOAD from constant pool in lowerUINT_TO_FP_vXi32 to avoid double loads seen in D71971

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 9 18:12:41 PST 2020


craig.topper marked an inline comment as done.
craig.topper added inline comments.


================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:19121
                              DAG.getBitcast(MVT::v4i64, VBias));
     Or = DAG.getBitcast(MVT::v4f64, Or);
 
----------------
RKSimon wrote:
> RKSimon wrote:
> > Could we avoid all this by using X86ISD::FOR instead?
> Turns out - no we can't, but this still seems a hacky way to fix this.
I admit this is hacky. But its not the only place we are directly emitting loads pool operations during int->fp conversion.  See also LowerUINT_TO_FP_i64, LowerUINT_TO_FP, and SelectionDAGLegalize::ExpandLegalINT_TO_FP


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

https://reviews.llvm.org/D72307





More information about the llvm-commits mailing list