Files
binutils-gdb/opcodes
Borislav Petkov e4bdd67955 X86: Disassemble primary opcode map's group 2 ModRM.reg == 6 aliases correctly
The instructions are not documented in the Intel SDM but are documented
in the AMD APM as an alias to the group 2, ModRM.reg == 4 variant.

Both AMD and Intel CPUs execute the C[0-1] and D[0-3] instructions as
expected, i.e., like the /4 aliases:

  #include <stdio.h>

  int main(void)
  {
          int a = 2;

          printf ("a before: %d\n", a);

          asm volatile(".byte 0xd0,0xf0"          /* SHL %al */
                       : "+a" (a));

          printf("a after : %d\n", a);

          return 0;
  }

  $ ./a.out
  a before: 2
  a after : 4
2017-07-05 11:27:49 +02:00
..
2017-07-03 17:02:01 +02:00
2017-05-10 14:42:22 +02:00
2017-04-25 17:07:00 +02:00
2017-05-10 14:42:22 +02:00
2016-01-01 22:59:17 +10:30
2017-01-02 13:55:05 +10:30
2017-07-04 11:15:33 +02:00
2017-06-14 16:29:01 +01:00
2017-04-13 21:38:04 +09:30
2017-01-02 23:59:24 +10:30
2017-01-02 23:59:24 +10:30
2017-04-13 21:38:04 +09:30
2017-01-02 23:59:24 +10:30
2017-01-02 23:59:24 +10:30
2017-04-13 21:38:04 +09:30
2017-01-02 23:59:24 +10:30
2017-01-02 23:59:24 +10:30
2017-05-22 11:02:58 -07:00
2017-05-22 11:02:58 -07:00
2017-06-14 16:29:01 +01:00
2017-04-13 21:38:04 +09:30
2017-01-02 23:59:24 +10:30
2017-01-02 23:59:24 +10:30
2017-04-13 21:38:04 +09:30
2017-01-02 23:59:24 +10:30
2017-01-02 23:59:24 +10:30
2017-04-13 21:38:04 +09:30
2017-01-02 23:59:24 +10:30
2017-01-02 23:59:24 +10:30
2017-04-13 21:38:04 +09:30
2017-01-02 23:59:24 +10:30
2017-01-02 23:59:24 +10:30
2017-04-13 21:38:04 +09:30
2017-01-02 23:59:24 +10:30
2017-01-02 23:59:24 +10:30
2017-04-13 21:38:04 +09:30
2017-01-02 23:59:24 +10:30
2017-01-02 23:59:24 +10:30
2017-04-13 21:38:04 +09:30
2017-01-02 23:59:24 +10:30
2017-01-02 23:59:24 +10:30
2017-04-13 21:38:04 +09:30
2017-01-02 23:59:24 +10:30
2017-01-02 23:59:24 +10:30
2017-04-22 17:45:50 +09:30
2017-06-23 09:23:58 -07:00
2017-06-17 00:03:02 +09:30
2017-06-01 15:06:17 +02:00
2017-06-14 16:29:01 +01:00
2017-04-13 21:38:04 +09:30
2017-01-02 23:59:24 +10:30
2017-01-02 23:59:24 +10:30
2017-04-13 21:38:04 +09:30
2017-01-02 23:59:24 +10:30
2017-01-02 23:59:24 +10:30