2.5 KiB
NetBSD
--- gcc/config/vax/vax.md.orig Tue May 12 09:43:48 2009 +++ gcc/config/vax/vax.md @@ -212,6 +212,11 @@ "" " {
- if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) <= 48)
- {
-
emit_insn (gen_movmemsi1_2 (operands[0], operands[1], operands[2]));
-
DONE;
- } emit_insn (gen_movmemhi1 (operands[0], operands[1], operands[2])); DONE; }") @@ -221,6 +226,13 @@ ;; that anything generated as this insn will be recognized as one ;; and that it won't successfully combine with anything.
+(define_insn "movmemsi1_2"
- [(set (match_operand:BLK 0 "memory_operand" "=B")
- (match_operand:BLK 1 "memory_operand" "B"))
- (use (match_operand:SI 2 "const_int_operand" "g"))]
- "INTVAL (operands[2]) <= 48"
- "* return vax_output_movmemsi (insn, operands);")
(define_insn "movmemhi1" [(set (match_operand:BLK 0 "memory_operand" "=o") (match_operand:BLK 1 "memory_operand" "o")) @@ -625,7 +637,7 @@ "" " {
- if (! CONST_INT_P(operands[2]))
- if (! CONST_INT_P (operands[2])) operands[2] = gen_rtx_NEG (QImode, negate_rtx (QImode, operands[2])); }")
@@ -689,14 +701,14 @@ (ashift:DI (match_operand:DI 1 "general_operand" "g") (match_operand:QI 2 "general_operand" "g")))] ""
- "ashq %2,%1,%0")
- "ashq %2,%D1,%0")
(define_insn "" [(set (match_operand:DI 0 "nonimmediate_operand" "=g") (ashiftrt:DI (match_operand:DI 1 "general_operand" "g") (neg:QI (match_operand:QI 2 "general_operand" "g"))))] ""
- "ashq %2,%1,%0")
- "ashq %2,%D1,%0")
;; We used to have expand_shift handle logical right shifts by using extzv, ;; but this make it very difficult to do lshrdi3. Since the VAX is the @@ -945,8 +957,8 @@ "" "* {
- if (!REG_P (operands[0]) || !CONST_INT_P (operands[2])
-
|| !CONST_INT_P (operands[3])
- if (! REG_P (operands[0]) || ! CONST_INT_P (operands[2])
-
|| ! CONST_INT_P (operands[3]) || (INTVAL (operands[2]) != 8 && INTVAL (operands[2]) != 16) || INTVAL (operands[2]) + INTVAL (operands[3]) > 32 || side_effects_p (operands[1])
@@ -974,8 +986,8 @@ "" "* {
- if (!REG_P (operands[0]) || !CONST_INT_P (operands[2])
-
|| !CONST_INT_P (operands[3])
- if (! REG_P (operands[0]) || ! CONST_INT_P (operands[2])
-
|| ! CONST_INT_P (operands[3]) || INTVAL (operands[2]) + INTVAL (operands[3]) > 32 || side_effects_p (operands[1]) || (MEM_P (operands[1])
@@ -1634,3 +1646,5 @@ emit_barrier (); DONE; }) + +(include "builtins.md")