From d6d89aa1c4acdba9525a84d4f04f17269eb37436 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Sat, 25 Apr 2009 22:11:01 +0200 Subject: [PATCH] re PR target/39897 (Revision 146761 caused libgomp.fortran/omp_atomic1.f90) PR target/39897 * config/i386/i386.c (print_operand) ['z']: Revert handling of HImode operands. From-SVN: r146784 --- gcc/ChangeLog | 6 ++++++ gcc/config/i386/i386.c | 12 +++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c3a2d00dab76..113cf11d30d7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2009-04-25 Uros Bizjak + + PR target/39897 + * config/i386/i386.c (print_operand) ['z']: Revert handling of + HImode operands. + 2009-04-25 Joseph Myers PR c/39564 diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 65ee05c81b52..67a4efc04b75 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -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: