x86: i686 != PentiumPro
authorJan Beulich <jbeulich@suse.com>
Mon, 23 Oct 2023 08:33:02 +0000 (10:33 +0200)
committerJan Beulich <jbeulich@suse.com>
Mon, 23 Oct 2023 08:33:02 +0000 (10:33 +0200)
The two are distinct in opcodes/, distinguished precisely by CpuNOP
that's relevant in i386_generate_nops(), yet the function has the PPro
case label in the other group. Simply removing it revealed that
cpu_arch[] had a wrong entry for i686.

While there also add PROCESSOR_IAMCU to the respective comment.

gas/config/tc-i386.c
gas/config/tc-i386.h

index d936252ce8824d6be3d88a03ca095007a423f11a..c59dee46df79e60b2728168a3c77395382f3f764 100644 (file)
@@ -987,8 +987,8 @@ static const arch_entry cpu_arch[] =
   ARCH (i386, I386, 386, false),
   ARCH (i486, I486, 486, false),
   ARCH (i586, PENTIUM, 586, false),
-  ARCH (i686, PENTIUMPRO, 686, false),
   ARCH (pentium, PENTIUM, 586, false),
+  ARCH (i686, I686, 686, false),
   ARCH (pentiumpro, PENTIUMPRO, PENTIUMPRO, false),
   ARCH (pentiumii, PENTIUMPRO, P2, false),
   ARCH (pentiumiii, PENTIUMPRO, P3, false),
@@ -1440,7 +1440,7 @@ i386_generate_nops (fragS *fragP, char *where, offsetT count, int limit)
   /* We need to decide which NOP sequence to use for 32bit and
      64bit. When -mtune= is used:
 
-     1. For PROCESSOR_I386, PROCESSOR_I486, PROCESSOR_PENTIUM and
+     1. For PROCESSOR_I?86, PROCESSOR_PENTIUM, PROCESSOR_IAMCU, and
      PROCESSOR_GENERIC32, f32_patt will be used.
      2. For the rest, alt_patt will be used.
 
@@ -1473,6 +1473,8 @@ i386_generate_nops (fragS *fragP, char *where, offsetT count, int limit)
              if (fragP->tc_frag_data.isa_flags.bitfield.cpunop)
                patt = alt_patt;
              break;
+
+           case PROCESSOR_PENTIUMPRO:
            case PROCESSOR_PENTIUM4:
            case PROCESSOR_NOCONA:
            case PROCESSOR_CORE:
@@ -1493,7 +1495,7 @@ i386_generate_nops (fragS *fragP, char *where, offsetT count, int limit)
            case PROCESSOR_I386:
            case PROCESSOR_I486:
            case PROCESSOR_PENTIUM:
-           case PROCESSOR_PENTIUMPRO:
+           case PROCESSOR_I686:
            case PROCESSOR_IAMCU:
            case PROCESSOR_GENERIC32:
              break;
index 696e519ed495531795110e513ae33f63c1231e0e..a697c48738782545b9580d516f26d8cd3f8a789c 100644 (file)
@@ -242,6 +242,7 @@ enum processor_type
   PROCESSOR_I386,
   PROCESSOR_I486,
   PROCESSOR_PENTIUM,
+  PROCESSOR_I686,
   PROCESSOR_PENTIUMPRO,
   PROCESSOR_PENTIUM4,
   PROCESSOR_NOCONA,