[PATCH, i386]: Fix PR39897

Uros Bizjak ubizjak@gmail.com
Sat Apr 25 21:20:00 GMT 2009


Hello!

Attached patch reverts %z handling of HImode operands back to previous
(wrong) state until better fix is found. Unfortunately, integer and
x87 operators don't agree which suffix to use for integer operands.

2009-04-25  Uros Bizjak  <ubizjak@gmail.com>

	PR target/39897
	* config/i386/i386.c (print_operand) ['z']: Revert handling of
	HImode operands.

Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline.

Uros.
-------------- next part --------------
Index: i386.c
===================================================================
--- i386.c	(revision 146783)
+++ i386.c	(working copy)
@@ -10996,7 +10996,17 @@ print_operand (FILE *file, rtx x, int code)
 	      return;
 
 	    case 2:
-	      putc ('w', file);
+	      /* ??? This fails for HImode integer
+		 operator with memory operand.  */
+	      if (MEM_P (x))
+		{
+#ifdef HAVE_AS_IX86_FISTS
+		  putc ('s', file);
+#endif
+		  return;
+		}
+	      else
+		putc ('w', file);
 	      return;
 
 	    case 4:


More information about the Gcc-patches mailing list