Skip to content

Commit

Permalink
[X86] Enable v2i64->v2f32 uint_to_fp code in ReplaceNodeResults on SS…
Browse files Browse the repository at this point in the history
…E4.1 target

Now that we generate decent code for (v2i64 (setlt zero, X)) on pre-sse4.2 targets I think we can use this now.

Differential Revision: https://reviews.llvm.org/D72354
  • Loading branch information
topperc committed Jan 7, 2020
1 parent 512b2c7 commit 9685cf7
Show file tree
Hide file tree
Showing 2 changed files with 211 additions and 341 deletions.
4 changes: 1 addition & 3 deletions llvm/lib/Target/X86/X86ISelLowering.cpp
Expand Up @@ -29110,9 +29110,7 @@ void X86TargetLowering::ReplaceNodeResults(SDNode *N,
return;
}
if (SrcVT == MVT::v2i64 && !IsSigned && Subtarget.is64Bit() &&
Subtarget.hasAVX() && !Subtarget.hasAVX512()) {
// TODO Any SSE41+ subtarget should work here but BLENDV codegen ends up
// a lot worse than it should be.
Subtarget.hasSSE41() && !Subtarget.hasAVX512()) {
SDValue Zero = DAG.getConstant(0, dl, SrcVT);
SDValue One = DAG.getConstant(1, dl, SrcVT);
SDValue Sign = DAG.getNode(ISD::OR, dl, SrcVT,
Expand Down

0 comments on commit 9685cf7

Please sign in to comment.