PR30120: fix x87 fucomp misassembled
authorMichael Matz <matz@suse.de>
Mon, 13 Feb 2023 17:20:44 +0000 (18:20 +0100)
committerMichael Matz <matz@suse.de>
Mon, 13 Feb 2023 17:41:05 +0000 (18:41 +0100)
this fixes the entry for 'fucomp' to use the correct Reg value
(otherwise it's assembled as 'fucom').

gas/testsuite/gas/i386/float.l
gas/testsuite/gas/i386/float.s
opcodes/i386-opc.tbl
opcodes/i386-tbl.h

index ec56f555d36a2f11a9c1f658cd2b94c5e32896fb..d7b3ca022da4bb192ed9e9e283b87327ca7f6315 100644 (file)
   67 0080 DEFB [       ]*fdivrp        %st\(3\)
   68 0082 DEFB [       ]*fdivrp        %st,%st\(3\)
   69 [         ]*
-  70 0084 00000000 [   ]*.p2align      4,0
-  70      00000000 
-  70      00000000 
+  70 0084 DDE9 [       ]*fucomp %st\(1\)
+  71 0086 DDE2 [       ]*fucom %st\(2\)
+  72 0088 DAE9 [       ]*fucompp
+  73 008a DBF2 [       ]*fcomi %st\(2\)
+  74 008c DFF3 [       ]*fcomip %st\(3\)
+  75 008e DBEC [       ]*fucomi %st\(4\)
+  76 0090 DFED [       ]*fucomip %st\(5\)
+  77 [         ]*
+  78 0092 00000000 [   ]*.p2align      4,0
+  78      00000000 
+  78      00000000 
+  78      0000
index 03d30b7ed74935f95135d4e9a611752f041f7db0..1388e5b68933458c62248c6c57c80a90af91431d 100644 (file)
        fdivrp  %st(3)
        fdivrp  %st,%st(3)
 
+       fucomp %st(1)
+       fucom %st(2)
+       fucompp
+       fcomi %st(2)
+       fcomip %st(3)
+       fucomi %st(4)
+       fucomip %st(5)
+
        .p2align        4,0
index 4b7b7891e518474c05da55e0f2c40b7f44e4b979..2e39b712697366f2e6328e086fa9482612f7c0f9 100644 (file)
@@ -651,7 +651,7 @@ fcompp, 0xded9, FP, NoSuf, {}
 fucom, 0xdd/4, i387, Modrm|NoSuf, { FloatReg }
 // alias for fucom %st(1)
 fucom, 0xdde1, i387, NoSuf, {}
-fucomp, 0xdd/4, i387, Modrm|NoSuf, { FloatReg }
+fucomp, 0xdd/5, i387, Modrm|NoSuf, { FloatReg }
 // alias for fucomp %st(1)
 fucomp, 0xdde9, i387, NoSuf, {}
 fucompp, 0xdae9, i387, NoSuf, {}
index 585a5bb875c0a11405af2a5add0f36e0f98835ca..021f607872e2f59e79a1932e936a84eb9c34a2be 100644 (file)
@@ -5290,7 +5290,7 @@ static const insn_template i386_optab[] =
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
          0, 0, 0, 0, 0, 0 } } } },
-  { MN_fucomp, 0xdd, 1, SPACE_BASE, 4,
+  { MN_fucomp, 0xdd, 1, SPACE_BASE, 5,
     { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,