re PR middle-end/48973 (Inliner bug with one-bit (1-bit) bitfield)
authorJakub Jelinek <jakub@redhat.com>
Mon, 23 May 2011 09:36:05 +0000 (11:36 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 23 May 2011 09:36:05 +0000 (11:36 +0200)
commit7bba408b970437ce2ec52b61e38d7636d1bfaa21
treeca69f48c8a8153515aeec23bcd9eb79666cf46ae
parentc11e39b0bdfc580582012fe56f0cce1b84f064f4
re PR middle-end/48973 (Inliner bug with one-bit (1-bit) bitfield)

PR middle-end/48973
* expr.c (expand_expr_real_2) <case LT_EXPR>: If do_store_flag
failed and the comparison has a single bit signed type, use
constm1_rtx instead of const1_rtx for true value.
(do_store_flag): If ops->type is single bit signed type, disable
signel bit test optimization and pass -1 instead of 1 as last
parameter to emit_store_flag_force.

* gcc.c-torture/execute/pr48973-1.c: New test.
* gcc.c-torture/execute/pr48973-2.c: New test.

From-SVN: r174060
gcc/ChangeLog
gcc/expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/pr48973-1.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/pr48973-2.c [new file with mode: 0644]