This is the mail archive of the gcc-bugs@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]

[Bug target/50447] [avr] Better support of AND, OR, XOR and PLUS with constant integers for 16- and 32-bit values


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50447

--- Comment #2 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-09-23 17:02:20 UTC ---
Author: gjl
Date: Fri Sep 23 17:02:10 2011
New Revision: 179123

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179123
Log:
    PR target/50447
    * config/avr/avr.md: (adjust_len): Add alternative "out_plus".
    (addsi3): Rewrite using QI scratch register.  Adjust text
    peepholes using plus:SI.
    (*addsi3_zero_extend.hi): New insn.
    (*subsi3_zero_extend.hi): New insn.
    (*subhi3_zero_extend1): Set attribute "cc" to "set_czn".
    (*subsi3_zero_extend): Ditto.
    (subsi3): Change predicate #2 to register_operand.
    * config/avr/avr-protos.h (avr_out_plus): New prototype.
    (avr_out_plus_1): New static function.
    (avr_out_plus): New function.
    (adjust_insn_length): Handle ADJUST_LEN_OUT_PLUS.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/avr/avr-protos.h
    trunk/gcc/config/avr/avr.c
    trunk/gcc/config/avr/avr.md


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