Don't use implicit register operands to calculate L-bit for AVX instructions. Needed...
authorCraig Topper <craig.topper@gmail.com>
Fri, 20 Jul 2012 07:03:46 +0000 (07:03 +0000)
committerCraig Topper <craig.topper@gmail.com>
Fri, 20 Jul 2012 07:03:46 +0000 (07:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160543 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86CodeEmitter.cpp

index 977cc50c1393228100a24ca769499c32bc35245f..d7050495f89c83455e0b7d2845c5c920b6d03a77 100644 (file)
@@ -927,6 +927,8 @@ void Emitter<CodeEmitter>::emitVEXOpcodePrefix(uint64_t TSFlags,
   for (unsigned i = 0; i != MI.getNumOperands(); ++i) {
     if (!MI.getOperand(i).isReg())
       continue;
+    if (MI.getOperand(i).isImplicit())
+      continue;
     unsigned SrcReg = MI.getOperand(i).getReg();
     if (SrcReg >= X86::YMM0 && SrcReg <= X86::YMM15)
       VEX_L = 1;