aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2006-07-26 18:47:28 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2006-07-26 16:47:28 +0000
commite69e3d0e8b7ccc7ba990130dfd6ed909609ed971 (patch)
tree29c0cc7ebb01049429c54e789330710175ac3bf8 /gcc/expr.c
parentbf3fb7e43c8d1f22edda0c427a2ac194e8db104b (diff)
downloadgcc-e69e3d0e8b7ccc7ba990130dfd6ed909609ed971.zip
gcc-e69e3d0e8b7ccc7ba990130dfd6ed909609ed971.tar.gz
gcc-e69e3d0e8b7ccc7ba990130dfd6ed909609ed971.tar.bz2
re PR target/27907 (ICE in expand_simple_unop, at optabs.c:2307)
PR rtl-optimization/27907 * expr.c (force_operand): Use convert_move to handle FLOAT_EXTEND and FLOAT_TRUNCATE. * gcc.c-torture/compile/pr27907.c: New test. From-SVN: r115760
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 48ec0ef..a0dc9c3 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -6024,6 +6024,8 @@ force_operand (rtx value, rtx target)
case ZERO_EXTEND:
case SIGN_EXTEND:
case TRUNCATE:
+ case FLOAT_EXTEND:
+ case FLOAT_TRUNCATE:
convert_move (target, op1, code == ZERO_EXTEND);
return target;