[X86] Keep looping over operands looking for byte registers even if we already found...
authorCraig Topper <craig.topper@gmail.com>
Sat, 27 Aug 2016 17:13:41 +0000 (17:13 +0000)
committerCraig Topper <craig.topper@gmail.com>
Sat, 27 Aug 2016 17:13:41 +0000 (17:13 +0000)
llvm-svn: 279923

llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp

index 0b59a69..735694a 100644 (file)
@@ -1017,11 +1017,10 @@ uint8_t X86MCCodeEmitter::DetermineREXPrefix(const MCInst &MI, uint64_t TSFlags,
     unsigned Reg = MO.getReg();
     if (Reg == X86::AH || Reg == X86::BH || Reg == X86::CH || Reg == X86::DH)
       UsesHighByteReg = true;
-    if (!X86II::isX86_64NonExtLowByteReg(Reg)) continue;
-    // FIXME: The caller of DetermineREXPrefix slaps this prefix onto anything
-    // that returns non-zero.
-    REX |= 0x40; // REX fixed encoding prefix
-    break;
+    if (X86II::isX86_64NonExtLowByteReg(Reg))
+      // FIXME: The caller of DetermineREXPrefix slaps this prefix onto anything
+      // that returns non-zero.
+      REX |= 0x40; // REX fixed encoding prefix
   }
 
   switch (TSFlags & X86II::FormMask) {