diff --git a/lib/Target/X86/X86FastISel.cpp b/lib/Target/X86/X86FastISel.cpp index 50dd2c5d3f1..e7813716e47 100644 --- a/lib/Target/X86/X86FastISel.cpp +++ b/lib/Target/X86/X86FastISel.cpp @@ -1194,6 +1194,9 @@ bool X86FastISel::X86SelectSelect(const Instruction *I) { if (VT == MVT::Other || !isTypeLegal(I->getType(), VT)) return false; + // We only use cmov here, if we don't have a cmov instruction bail. + if (!Subtarget->hasCMov()) return false; + unsigned Opc = 0; const TargetRegisterClass *RC = NULL; if (VT.getSimpleVT() == MVT::i16) {