This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH, AVR]PING^2 Fix PR target/41885 AVR Rotate patterns
- From: Andrew Hutchinson <andrewhutchinson at cox dot net>
- To: Anatoly Sokolov <aesok at post dot ru>, gcc-patches at gcc dot gnu dot org, Denis Chertykov <chertykov at gmail dot com>
- Cc: "Weddington, Eric" <Eric dot Weddington at atmel dot com>
- Date: Tue, 24 Nov 2009 18:25:16 -0500
- Subject: [PATCH, AVR]PING^2 Fix PR target/41885 AVR Rotate patterns
Almost a month since posted.
Could you please approve this patch?
Andy
http://gcc.gnu.org/ml/gcc-patches/2009-10/msg01831.html
-------- Original Message --------
Subject: Re: [PATCH, AVR]PING Fix PR target/41885 AVR Rotate patterns
Date: Thu, 12 Nov 2009 13:22:44 -0500
From: Andrew Hutchinson <andrewhutchinson@cox.net>
To: gcc-patches@gcc.gnu.org, Anatoly Sokolov <aesok@post.ru>
CC: Weddington, Eric <Eric.Weddington@atmel.com>
References: <4AEBAA06.8010503@cox.net>
PING!
Andrew Hutchinson wrote:
Hi Anatoly
The attached patch correct AVR target rotate split patterns so they
correctly consider all overlapping cases of source and destination
operands.
The new patterns use mode iterators and now also split DI mode
rotates. A missing CONST_INT_P check before use of INTVAL is also
correct in QImode rotate.
The patched version was tested using the executable testsuite for AVR
target. There were no regressions.
make check-gcc RUNTESTFLAGS="execute.exp --target_board=atmega128-sim"
=== gcc Summary ===
# of expected passes 12981
# of unexpected failures 40
# of unresolved testcases 23
# of untested testcases 6
# of unsupported tests 750
/home/andy/gcchead/obj-dir/gcc/xgcc version 4.5.0 20091031
(experimental) (GCC)
Ok to comit to 4.5?
2009-10-31 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
PR target/41885
* avr.md (rotlqi3): Add CONST_INT_P check.
(rotlhi3): Delete.
(rotlhi3_8): Delete.
(rotlsi3): Delete.
(rotlsi3_8): Delete.
(rotlsi3_16): Delete.
(rotlsi3_24): Delete.
(rotl<mode>3): New.
(*rotw<mode>3): New.
(*rotb<mode>3): New.
*avr.c (avr_rotate_bytes): New function.
*avr-proto.h (avr_rotate_bytes): New function.