This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

pointless expanders?


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]