This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch,avr] minor tweaks for 8-bit operations
- From: Denis Chertykov <chertykov at gmail dot com>
- To: Georg-Johann Lay <avr at gjlay dot de>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 14 Jul 2016 09:36:07 +0300
- Subject: Re: [patch,avr] minor tweaks for 8-bit operations
- Authentication-results: sourceware.org; auth=none
- References: <14737e83-d5dc-3096-2d12-686c42da1aa9@gjlay.de>
2016-07-13 14:12 GMT+03:00 Georg-Johann Lay <avr@gjlay.de>:
>
> This patch contains some unrelated tweaks
>
> - Supplying no-ldregs variant for andqi3, iorqi3 where a const_int mask affects only 1 bit
>
> - Some patterns that match situations with zero_extend that can be performed with less instructions / register pressure.
>
> - comparing HI against -1
>
> Ok for trunk?
>
> Johann
>
>
> gcc/
> Minor tweaks for QImode.
>
> * config/avr/predicates.md (const_m255_to_m1_operand): New.
> * config/avr/constraints.md (Cn8, Ca1, Co1, Yx2): New constraints.
> * config/avr/avr.md (add<mode>3) <ALL1>: Make "r,0,r" more
> expensive.
> (*cmphi.zero-extend.0, *cmphi.zero-extend.1)
> (*usum_widenqihi3, *udiff_widenqihi3)
> (*addhi3_zero_extend.const): New combiner insns.
> (andqi3, iorqi3): Provide "l" (NO_LD_REGS) alternative if
> just 1 bit is affected.
> * config/avr/avr.c (avr_out_bitop) <QImode>: Don't access xop[3].
> (avr_out_compare) [EQ,NE]: Tweak comparing d-regs against -1.
Please apply.