diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-03-02 19:28:05 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-03-02 19:28:05 +0000 |
commit | 9d63dbe6b454a33381a73e1ca93aff85b0594f05 (patch) | |
tree | f8a1cb507af3e7ceb424d8056fc0f50558e9cd28 /gcc/expr.c | |
parent | f98abc094eceacf320655d4f16c9f71243455544 (diff) | |
download | gcc-9d63dbe6b454a33381a73e1ca93aff85b0594f05.tar.gz |
2008-03-02 Basile Starynkevitch <basile@starynkevitch.net>
merged with trunk 132817
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@132818 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/expr.c b/gcc/expr.c index 36741918fb3..79a039a529f 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -8898,10 +8898,16 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, case BIT_XOR_EXPR: goto binop; - case LSHIFT_EXPR: - case RSHIFT_EXPR: case LROTATE_EXPR: case RROTATE_EXPR: + /* The expansion code only handles expansion of mode precision + rotates. */ + gcc_assert (GET_MODE_PRECISION (TYPE_MODE (type)) + == TYPE_PRECISION (type)); + + /* Falltrough. */ + case LSHIFT_EXPR: + case RSHIFT_EXPR: /* If this is a fixed-point operation, then we cannot use the code below because "expand_shift" doesn't support sat/no-sat fixed-point shifts. */ |