machmode.h (GET_MODE_UNIT_PRECISION): New macro.
authorRichard Sandiford <rdsandiford@googlemail.com>
Sun, 7 Oct 2012 19:17:37 +0000 (19:17 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Sun, 7 Oct 2012 19:17:37 +0000 (19:17 +0000)
commit40c5ed5b5a7f1fc4e05c36c3f9d069467390b5d3
treef37c7454d22dd409224a66eb0ff4242c096607a2
parented901e4c617dec0b7388b2410e802545a2a55bb0
machmode.h (GET_MODE_UNIT_PRECISION): New macro.

gcc/
* machmode.h (GET_MODE_UNIT_PRECISION): New macro.
* simplify-rtx.c (simplify_truncation): New function,
extracted from simplify_subreg and (in small part) from
simplify_unary_operation_1.
(simplify_unary_operation_1) <TRUNCATE>: Use it.  Remove sign bit
test for !TRULY_NOOP_TRUNCATION_MODES_P.
(simplify_subreg): Use simplify_truncate for lowpart subregs
where both the inner and outer modes are scalar integers.
* config/mips/mips.c (mips_truncated_op_cost): New function.
(mips_rtx_costs): Adjust test for BADDU.
* config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.

From-SVN: r192186
gcc/ChangeLog
gcc/config/mips/mips.c
gcc/config/mips/mips.md
gcc/machmode.h
gcc/simplify-rtx.c