+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>
* cppfiles.c (read_and_prescan) [case SPECCASE_QUESTION]: Bump
(define_split
[(set (reg:CCNO 17)
(compare:CCNO (and (match_operand 1 "aligned_operand" "")
- (match_operand 2 "immediate_operand" ""))
+ (match_operand 2 "const_int_operand" ""))
(const_int 0)))
(set (match_operand 0 "register_operand" "")
(and (match_dup 1) (match_dup 2)))]
(const_int 0)))
(set (match_dup 0)
(and:SI (match_dup 1) (match_dup 2)))])]
- "operands[0] = gen_lowpart (SImode, operands[0]);
- operands[1] = gen_lowpart (SImode, operands[1]);
- operands[2] = gen_lowpart (SImode, operands[2]);")
+ "operands[2]
+ = GEN_INT (INTVAL (operands[2]) & GET_MODE_MASK (GET_MODE (operands[0])));
+ operands[0] = gen_lowpart (SImode, operands[0]);
+ operands[1] = gen_lowpart (SImode, operands[1]);")
(define_split
[(set (reg:CCNO 17)
(compare:CCNO (and (match_operand 0 "aligned_operand" "")
- (match_operand 1 "immediate_operand" ""))
+ (match_operand 1 "const_int_operand" ""))
(const_int 0)))]
"! TARGET_PARTIAL_REG_STALL && reload_completed
&& (GET_MODE (operands[0]) == HImode
[(set (reg:CCNO 17)
(compare:CCNO (and:SI (match_dup 0) (match_dup 1))
(const_int 0)))]
- "operands[0] = gen_lowpart (SImode, operands[0]);
- operands[1] = gen_lowpart (SImode, operands[1]);")
+ "operands[1]
+ = GEN_INT (INTVAL (operands[1]) & GET_MODE_MASK (GET_MODE (operands[0])));
+ operands[0] = gen_lowpart (SImode, operands[0]);")
(define_split
[(set (match_operand 0 "register_operand" "")