opcodes	* i386-dis.c (print_insn): Fix decoding of three byte operands.
tests	* gas/i386/intel.s: Add test of disassembly of a potential
	three byte instuction at the end of a function.
	* gas/i386/intel.d: Update expected disassembly.
+2015-08-24  Jan Stancek  <jstancek@redhat.com>
+
+       * gas/i386/intel.s: Add test of disassembly of a potential
+       three byte instuction at the end of a function.
+       * gas/i386/intel.d: Update expected disassembly.
+
 2015-08-21  Nick Clifton  <nickc@redhat.com>
 
        PR gas/18581
 
 [      ]*[a-f0-9]+:    0f 4b 90 90 90 90 90    cmovnp -0x6f6f6f70\(%eax\),%edx
 [      ]*[a-f0-9]+:    66 0f 4a 90 90 90 90 90         cmovp  -0x6f6f6f70\(%eax\),%dx
 [      ]*[a-f0-9]+:    66 0f 4b 90 90 90 90 90         cmovnp -0x6f6f6f70\(%eax\),%dx
+[      ]*[a-f0-9]+:    24 2f                   and    \$0x2f,%al
+[      ]*[a-f0-9]+:    0f                      \.byte 0xf
+[a-f0-9]+ <barn>:
+[      ]*[a-f0-9]+:    0f ba e2 03             bt     \$0x3,%edx
 #pass
 
  cmovpo edx, 0x90909090[eax]
  cmovpe  dx, 0x90909090[eax]
  cmovpo dx, 0x90909090[eax]
+
+       # Test that disassembly of a partial instruction shows the partial byte:
+       # https://www.sourceware.org/ml/binutils/2015-08/msg00226.html
+       .byte 0x24
+       .byte 0x2f
+       .byte 0x0f
+barn:
+        .byte 0x0f
+        .byte 0xba
+        .byte 0xe2
+        .byte 0x03
 
+2015-08-24  Jan Stancek  <jstancek@redhat.com>
+
+       * i386-dis.c (print_insn): Fix decoding of three byte operands.
+
 2015-08-21  Alexander Fomin  <alexander.fomin@intel.com>
 
        PR binutils/18257
 
   if (*codep == 0x0f)
     {
       unsigned char threebyte;
-      FETCH_DATA (info, codep + 2);
-      threebyte = *++codep;
+
+      codep++;
+      FETCH_DATA (info, codep + 1);
+      threebyte = *codep;
       dp = &dis386_twobyte[threebyte];
       need_modrm = twobyte_has_modrm[*codep];
       codep++;