[X86] Fix typo in getCMovOpcode.
authorCraig Topper <craig.topper@gmail.com>
Wed, 1 Jan 2020 05:40:58 +0000 (21:40 -0800)
committerCraig Topper <craig.topper@gmail.com>
Wed, 1 Jan 2020 05:50:38 +0000 (21:50 -0800)
The 64-bit HasMemoryOperand line was using CMOV32rm instead of
CMOV64rm. Not sure how to test this. We have no test coverage
that passes true for HasMemoryOperand.

llvm/lib/Target/X86/X86InstrInfo.cpp

index c70d096..f41a27a 100644 (file)
@@ -2305,7 +2305,7 @@ unsigned X86::getCMovOpcode(unsigned RegBytes, bool HasMemoryOperand) {
   default: llvm_unreachable("Illegal register size!");
   case 2: return HasMemoryOperand ? X86::CMOV16rm : X86::CMOV16rr;
   case 4: return HasMemoryOperand ? X86::CMOV32rm : X86::CMOV32rr;
-  case 8: return HasMemoryOperand ? X86::CMOV32rm : X86::CMOV64rr;
+  case 8: return HasMemoryOperand ? X86::CMOV64rm : X86::CMOV64rr;
   }
 }