aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.h
diff options
context:
space:
mode:
authorKugan Vivekanandarajah <kuganv@linaro.org>2014-08-08 05:31:44 +0000
committerKugan Vivekanandarajah <kugan@gcc.gnu.org>2014-08-08 05:31:44 +0000
commit8c9a36b7cac01afb70ca41c1435efb2077202035 (patch)
tree564b60254e3780325da325e3491a46fca2b8c908 /gcc/expr.h
parent362d42dcc965c63977160984292b3429c2d15de7 (diff)
downloadgcc-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.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/expr.h b/gcc/expr.h
index 6a1d3ab..a429509 100644
--- a/gcc/expr.h
+++ b/gcc/expr.h
@@ -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.