Hello!

2012-05-25  Uros Bizjak  <ubiz...@gmail.com>

        PR target/53474
        * config/i386/i386.c (ix86_print_operand) <case 'O'>: Print '.' here.
        <case 'C', case 'c', case 'F', case 'f'>: Print '.' only for C and c.

Tested on i386-pc-solaris2.10 by Rainer, and on x86_64-pc-linux-gnu
{,-m32}. Committed to mainline SVN.

Uros.
Index: config/i386/i386.c
===================================================================
--- config/i386/i386.c  (revision 187882)
+++ config/i386/i386.c  (working copy)
@@ -13931,8 +13931,8 @@
    C -- print opcode suffix for set/cmov insn.
    c -- like C, but print reversed condition
    F,f -- likewise, but for floating-point.
-   O -- if HAVE_AS_IX86_CMOV_SUN_SYNTAX, print the opcode suffix for
-       the size of the current operand, otherwise nothing.
+   O -- if HAVE_AS_IX86_CMOV_SUN_SYNTAX, expand to "w.", "l." or "q.",
+       otherwise nothing
    R -- print the prefix for register names.
    z -- print the opcode suffix for the size of the current operand.
    Z -- likewise, with special suffixes for x87 instructions.
@@ -14061,6 +14061,8 @@
                ("invalid operand size for operand code 'O'");
              return;
            }
+
+         putc ('.', file);
 #endif
          return;
 
@@ -14320,20 +14322,21 @@
            }
          return;
 
+       case 'F':
+       case 'f':
+#ifdef HAVE_AS_IX86_CMOV_SUN_SYNTAX
+         if (ASSEMBLER_DIALECT == ASM_ATT)
+           putc ('.', file);
+#endif
+
        case 'C':
        case 'c':
-       case 'F':
-       case 'f':
          if (!COMPARISON_P (x))
            {
              output_operand_lossage ("operand is not a condition code, "
                                      "invalid operand code '%c'", code);
              return;
            }
-#ifdef HAVE_AS_IX86_CMOV_SUN_SYNTAX
-         if (ASSEMBLER_DIALECT == ASM_ATT)
-           putc ('.', file);
-#endif
          put_condition_code (GET_CODE (x), GET_MODE (XEXP (x, 0)),
                              code == 'c' || code == 'f',
                              code == 'F' || code == 'f',

Reply via email to