Commit d9f0b960 by Richard Henderson Committed by Richard Henderson

i386.md (widening and peepholes): Mask the constant instead of using gen_lowpart.

        * i386.md (widening and peepholes): Mask the constant instead of
        using gen_lowpart.

From-SVN: r31822
parent 5fbdde42
2000-02-06 Richard Henderson <rth@cygnus.com>
* i386.c (ix86_agi_dependant): Handle pro_epilogue_adjust_stack
as a TYPE_LEA insn.
* i386.md (widening and peepholes): Mask the constant instead of
using gen_lowpart.
2000-02-05 Zack Weinberg <zack@wolery.cumb.org> 2000-02-05 Zack Weinberg <zack@wolery.cumb.org>
* cppfiles.c (read_and_prescan) [case SPECCASE_QUESTION]: Bump * cppfiles.c (read_and_prescan) [case SPECCASE_QUESTION]: Bump
......
...@@ -8928,7 +8928,7 @@ ...@@ -8928,7 +8928,7 @@
(define_split (define_split
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (and (match_operand 1 "aligned_operand" "") (compare:CCNO (and (match_operand 1 "aligned_operand" "")
(match_operand 2 "immediate_operand" "")) (match_operand 2 "const_int_operand" ""))
(const_int 0))) (const_int 0)))
(set (match_operand 0 "register_operand" "") (set (match_operand 0 "register_operand" "")
(and (match_dup 1) (match_dup 2)))] (and (match_dup 1) (match_dup 2)))]
...@@ -8941,14 +8941,15 @@ ...@@ -8941,14 +8941,15 @@
(const_int 0))) (const_int 0)))
(set (match_dup 0) (set (match_dup 0)
(and:SI (match_dup 1) (match_dup 2)))])] (and:SI (match_dup 1) (match_dup 2)))])]
"operands[0] = gen_lowpart (SImode, operands[0]); "operands[2]
operands[1] = gen_lowpart (SImode, operands[1]); = GEN_INT (INTVAL (operands[2]) & GET_MODE_MASK (GET_MODE (operands[0])));
operands[2] = gen_lowpart (SImode, operands[2]);") operands[0] = gen_lowpart (SImode, operands[0]);
operands[1] = gen_lowpart (SImode, operands[1]);")
(define_split (define_split
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (and (match_operand 0 "aligned_operand" "") (compare:CCNO (and (match_operand 0 "aligned_operand" "")
(match_operand 1 "immediate_operand" "")) (match_operand 1 "const_int_operand" ""))
(const_int 0)))] (const_int 0)))]
"! TARGET_PARTIAL_REG_STALL && reload_completed "! TARGET_PARTIAL_REG_STALL && reload_completed
&& (GET_MODE (operands[0]) == HImode && (GET_MODE (operands[0]) == HImode
...@@ -8957,8 +8958,9 @@ ...@@ -8957,8 +8958,9 @@
[(set (reg:CCNO 17) [(set (reg:CCNO 17)
(compare:CCNO (and:SI (match_dup 0) (match_dup 1)) (compare:CCNO (and:SI (match_dup 0) (match_dup 1))
(const_int 0)))] (const_int 0)))]
"operands[0] = gen_lowpart (SImode, operands[0]); "operands[1]
operands[1] = gen_lowpart (SImode, operands[1]);") = GEN_INT (INTVAL (operands[1]) & GET_MODE_MASK (GET_MODE (operands[0])));
operands[0] = gen_lowpart (SImode, operands[0]);")
(define_split (define_split
[(set (match_operand 0 "register_operand" "") [(set (match_operand 0 "register_operand" "")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment