This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Re: [PATCH] AVR: take 3: implement HI/SI logic operations and sign/zero extension by define_insn_and_split


Björn Haase <bjoern.m.haase@web.de> writes:
> +  "reload_completed 
> +   && ((GET_CODE (operands[2]) == CONST_INT) || REG_P (operands[2]))"
> +  [(set (subreg:QI (match_dup 0) 0)
> +        (and:QI (subreg:QI (match_dup 1) 0)
> +                (subreg:QI (match_dup 2) 0)))
> +   (set (subreg:QI (match_dup 0) 1)
> +        (and:QI (subreg:QI (match_dup 1) 1)
> +                (subreg:QI (match_dup 2) 1)))]

This is just to invite comments from others really, but FWIW: I don't
think this is right.  You shouldn't have subregs of hard registers.
The splitter should be generating (reg:QI ...)s instead.

Richard


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