diff options
author | Kugan Vivekanandarajah <kuganv@linaro.org> | 2014-08-08 05:31:44 +0000 |
---|---|---|
committer | Kugan Vivekanandarajah <kugan@gcc.gnu.org> | 2014-08-08 05:31:44 +0000 |
commit | 8c9a36b7cac01afb70ca41c1435efb2077202035 (patch) | |
tree | 564b60254e3780325da325e3491a46fca2b8c908 /gcc/expr.h | |
parent | 362d42dcc965c63977160984292b3429c2d15de7 (diff) | |
download | gcc-8c9a36b7cac01afb70ca41c1435efb2077202035.zip gcc-8c9a36b7cac01afb70ca41c1435efb2077202035.tar.gz gcc-8c9a36b7cac01afb70ca41c1435efb2077202035.tar.bz2 |
calls.c (precompute_arguments): Check promoted_for_signed_and_unsigned_p and set the promoted mode.
gcc
2014-08-08 Kugan Vivekanandarajah <kuganv@linaro.org>
* calls.c (precompute_arguments): Check
promoted_for_signed_and_unsigned_p and set the promoted mode.
(promoted_for_signed_and_unsigned_p): New function.
(expand_expr_real_1): Check promoted_for_signed_and_unsigned_p
and set the promoted mode.
* expr.h (promoted_for_signed_and_unsigned_p): New function definition.
* cfgexpand.c (expand_gimple_stmt_1): Call emit_move_insn if
SUBREG is promoted with SRP_SIGNED_AND_UNSIGNED.
gcc/testsuite
2014-08-08 Kugan Vivekanandarajah <kuganv@linaro.org>
* gcc.dg/zero_sign_ext_test.c: New test.
From-SVN: r213750
Diffstat (limited to 'gcc/expr.h')
-rw-r--r-- | gcc/expr.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -440,6 +440,7 @@ extern rtx expand_expr_real_1 (tree, rtx, enum machine_mode, enum expand_modifier, rtx *, bool); extern rtx expand_expr_real_2 (sepops, rtx, enum machine_mode, enum expand_modifier); +extern bool promoted_for_signed_and_unsigned_p (tree, enum machine_mode); /* Generate code for computing expression EXP. An rtx for the computed value is returned. The value is never null. |