pointless expanders?

Zack Weinberg zack@wolery.cumb.org
Wed Feb 23 21:55:00 GMT 2000


Is there any functional difference between this:

(define_expand "call_pop"
  [(parallel [(call (match_operand:QI 0 "memory_operand" "m")
                    (match_operand:SI 1 "const_int_operand" "i"))
              (match_operand:SI 2 "const_int_operand" "i")
              (match_operand:SI 3 "const_int_operand" "i")
              (reg:SI 8)])]
  ""
  "")

(define_insn ""
  [(call (match_operand:QI 0 "memory_operand" "m")
         (match_operand:SI 1 "const_int_operand" "i"))
   (match_operand:SI 2 "const_int_operand" "i")
   (match_operand:SI 3 "const_int_operand" "i")
   (match_operand:SI 4 "" "")]
  ""
  "* return output_call (insn, &operands[0]);")


and this:


(define_insn "call_pop"
  [(call (match_operand:QI 0 "memory_operand" "m")
         (match_operand:SI 1 "const_int_operand" "i"))
   (match_operand:SI 2 "const_int_operand" "i")
   (match_operand:SI 3 "const_int_operand" "i")
   (reg:SI 8)]
  ""
  "* return output_call (insn, &operands[0]);")

And what's with the bare (match_operand) and (reg) expressions at top
level of the pattern?

-- this is from clipper.md, for the curious.

zw


More information about the Gcc mailing list