aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2007-05-03 16:32:25 +0200
committerUros Bizjak <uros@gcc.gnu.org>2007-05-03 16:32:25 +0200
commitf3ba4235297de12ef987881cb250fefa34e995a8 (patch)
tree75360108aa1b3b8bdafc6526bc310e8d2542fcaa /gcc
parente604f56c8f802145e244871cbbf667c683d1b964 (diff)
downloadgcc-f3ba4235297de12ef987881cb250fefa34e995a8.zip
gcc-f3ba4235297de12ef987881cb250fefa34e995a8.tar.gz
gcc-f3ba4235297de12ef987881cb250fefa34e995a8.tar.bz2
re PR target/31768 (Invalid code or ICE for %z constraint)
PR target/31768 * config/i386/i386.c (print_operand) ['z']: Output 'w' for operands of size 2 when operand is not MEM_P. From-SVN: r124379
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.c8
2 files changed, 13 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bfbde54..8f1c3f4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2007-05-03 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/31768
+ * config/i386/i386.c (print_operand) ['z']: Output 'w' for
+ operands of size 2 when operand is not MEM_P.
+
2007-05-03 Zdenek Dvorak <dvorakz@suse.cz>
PR tree-optimization/30565
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 138f605..a393654 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -8372,9 +8372,15 @@ print_operand (FILE *file, rtx x, int code)
return;
case 2:
+ if (MEM_P (x))
+ {
#ifdef HAVE_GAS_FILDS_FISTS
- putc ('s', file);
+ putc ('s', file);
#endif
+ return;
+ }
+ else
+ putc ('w', file);
return;
case 4: