[patch] never have sign_extract as an lvalue

Steven Bosscher stevenb@suse.de
Thu Jan 6 00:00:00 GMT 2005


On Thursday 06 January 2005 00:45, John David Anglin wrote:
> > I have also verified by inspection that there are no targets that
> > define insns with a sign_extract as the set destination.
>
> Did you look@vax.md?

My favorite target, so of course.  :-)

sign_extract in vax.md:

(define_insn ""
  [(set (match_operand:SI 0 "nonimmediate_operand" "=g")
        (sign_extract:SI (match_operand:SI 1 "register_operand" "ro")
                         (match_operand:QI 2 "const_int_operand" "n")
                         (match_operand:SI 3 "const_int_operand" "n")))]

(define_insn ""
  [(set (cc0)
        (compare
         (sign_extract:SI (match_operand:SI 0 "register_operand" "r")
                          (match_operand:QI 1 "general_operand" "g")
                          (match_operand:SI 2 "general_operand" "g"))
         (match_operand:SI 3 "general_operand" "g")))]

(define_insn ""
  [(set (match_operand:SI 0 "nonimmediate_operand" "=g")
        (sign_extract:SI (match_operand:SI 1 "register_operand" "ro")
                         (match_operand:QI 2 "general_operand" "g")
                         (match_operand:SI 3 "general_operand" "g")))]

(define_insn ""
  [(set (cc0)
        (compare
         (sign_extract:SI (match_operand:QI 0 "memory_operand" "m")
                          (match_operand:QI 1 "general_operand" "g")
                          (match_operand:SI 2 "general_operand" "g"))
         (match_operand:SI 3 "general_operand" "g")))]

(define_insn "extv"
  [(set (match_operand:SI 0 "nonimmediate_operand" "=g")
        (sign_extract:SI (match_operand:QI 1 "memory_operand" "m")
                         (match_operand:QI 2 "general_operand" "g")
                         (match_operand:SI 3 "general_operand" "g")))]

I looked at *all* machine descriptions.  I'm pretty sure I haven't
overlooked any.

Gr.
Steven



More information about the Gcc-patches mailing list