From: Adam Nemet Date: Sun, 17 May 2009 07:31:25 +0000 (+0000) Subject: * config/mips/mips.md (*zero_extend_trunchi, X-Git-Tag: releases/gcc-4.5.0~5682 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ef67af22cb43478cf1ee1693f79d9262c933a13e;p=thirdparty%2Fgcc.git * config/mips/mips.md (*zero_extend_trunchi, *zero_extend_truncqi): Merge these into ... (*zero_extend_trunc): ... this new pattern. Name the pattern following this as *zero_extendhi_truncqi. From-SVN: r147630 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0d7b1acde0fe..844bddf63626 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-05-17 Adam Nemet + + * config/mips/mips.md (*zero_extend_trunchi, + *zero_extend_truncqi): Merge these into ... + (*zero_extend_trunc): ... this new pattern. + Name the pattern following this as *zero_extendhi_truncqi. + 2009-05-16 Brad Lucier PR middle-end/39301 diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md index 78539cbe49db..4ae724a33999 100644 --- a/gcc/config/mips/mips.md +++ b/gcc/config/mips/mips.md @@ -2778,25 +2778,19 @@ ;; Combiner patterns to optimize truncate/zero_extend combinations. -(define_insn "*zero_extend_trunchi" +(define_insn "*zero_extend_trunc" [(set (match_operand:GPR 0 "register_operand" "=d") (zero_extend:GPR - (truncate:HI (match_operand:DI 1 "register_operand" "d"))))] - "TARGET_64BIT && !TARGET_MIPS16" - "andi\t%0,%1,0xffff" - [(set_attr "type" "logical") - (set_attr "mode" "")]) - -(define_insn "*zero_extend_truncqi" - [(set (match_operand:GPR 0 "register_operand" "=d") - (zero_extend:GPR - (truncate:QI (match_operand:DI 1 "register_operand" "d"))))] + (truncate:SHORT (match_operand:DI 1 "register_operand" "d"))))] "TARGET_64BIT && !TARGET_MIPS16" - "andi\t%0,%1,0xff" +{ + operands[2] = GEN_INT (GET_MODE_MASK (mode)); + return "andi\t%0,%1,%x2"; +} [(set_attr "type" "logical") - (set_attr "mode" "")]) + (set_attr "mode" "")]) -(define_insn "" +(define_insn "*zero_extendhi_truncqi" [(set (match_operand:HI 0 "register_operand" "=d") (zero_extend:HI (truncate:QI (match_operand:DI 1 "register_operand" "d"))))]