diff options
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/X86/X86FastISel.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/llvm/lib/Target/X86/X86FastISel.cpp b/llvm/lib/Target/X86/X86FastISel.cpp index cdf10a73cc6..4d0ea2166c7 100644 --- a/llvm/lib/Target/X86/X86FastISel.cpp +++ b/llvm/lib/Target/X86/X86FastISel.cpp @@ -2065,6 +2065,12 @@ bool X86FastISel::X86SelectSelect(const Instruction *I) { } bool X86FastISel::X86SelectSIToFP(const Instruction *I) { + // The target-independent selection algorithm in FastISel already knows how + // to select a SINT_TO_FP if the target is SSE but not AVX. + // Early exit if the subtarget doesn't have AVX. + if (!Subtarget->hasAVX()) + return false; + if (!I->getOperand(0)->getType()->isIntegerTy(32)) return false; @@ -2087,11 +2093,6 @@ bool X86FastISel::X86SelectSIToFP(const Instruction *I) { } else return false; - // The target-independent selection algorithm in FastISel already knows how - // to select a SINT_TO_FP if the target is SSE but not AVX. This code is only - // reachable if the subtarget has AVX. - assert(Subtarget->hasAVX() && "Expected a subtarget with AVX!"); - unsigned ImplicitDefReg = createResultReg(RC); BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, TII.get(TargetOpcode::IMPLICIT_DEF), ImplicitDefReg); |

