Port support for SSE4a extrq/insertq to the old jit code emitter.
authorBenjamin Kramer <benny.kra@googlemail.com>
Wed, 30 May 2012 09:13:55 +0000 (09:13 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Wed, 30 May 2012 09:13:55 +0000 (09:13 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157685 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86CodeEmitter.cpp

index 40fe395092f409fa2361cfd7ac059a27246f0d7c..d84329f33a38f2c0a27603b8738f3108bc6c2ac7 100644 (file)
@@ -1433,7 +1433,7 @@ void Emitter<CodeEmitter>::emitInstruction(MachineInstr &MI,
     break;
   }
 
-  if (CurOp != NumOps) {
+  while (CurOp != NumOps && NumOps - CurOp <= 2) {
     // The last source register of a 4 operand instruction in AVX is encoded
     // in bits[7:4] of a immediate byte.
     if ((TSFlags >> X86II::VEXShift) & X86II::VEX_I8IMM) {