Re: [avr-gcc-list] Bug in *rotlsi3 insns?

2009-03-30 Thread Georg-Johann Lay
Anatoly Sokolov schrieb: Hi. Consider this test case: unsigned long rotl (int dummy, unsigned long x) { return (x 8) | (x 24); } Compile with, e.g. avr-gcc -mmcu=atmega8 -S -Os -fno-split-wide-types This will map 0x33221100 to 0x33110033 instead of to 0x22110033 Please test the

RE: [avr-gcc-list] Bug in *rotlsi3 insns?

2009-03-23 Thread Weddington, Eric
-Original Message- From: avr-gcc-list-bounces+eric.weddington=atmel@nongnu.org [mailto:avr-gcc-list-bounces+eric.weddington=atmel@nongnu. org] On Behalf Of Georg-Johann Lay Sent: Monday, March 23, 2009 1:49 PM To: avr-gcc-list@nongnu.org Subject: Re: [avr-gcc-list] Bug

Re: [avr-gcc-list] Bug in *rotlsi3 insns?

2009-03-23 Thread Anatoly Sokolov
Hi. Consider this test case: unsigned long rotl (int dummy, unsigned long x) { return (x 8) | (x 24); } Compile with, e.g. avr-gcc -mmcu=atmega8 -S -Os -fno-split-wide-types This will map 0x33221100 to 0x33110033 instead of to 0x22110033 Please test the patch. And what version

Re: [avr-gcc-list] Bug in *rotlsi3 insns?

2009-03-23 Thread Georg-Johann Lay
: Re: [avr-gcc-list] Bug in *rotlsi3 insns? Georg-Johann Lay schrieb: Hi, im just browsing avr.md in trunk and stumbled over some new patterns that implement rotlsi3. IMHO, they are buggy. But I have no testcase to make it explicit. Consider this test case: unsigned long rotl (int dummy

Re: [avr-gcc-list] Bug in *rotlsi3 insns?

2009-03-23 Thread Georg-Johann Lay
Anatoly Sokolov schrieb: Hi. Consider this test case: unsigned long rotl (int dummy, unsigned long x) { return (x 8) | (x 24); } Compile with, e.g. avr-gcc -mmcu=atmega8 -S -Os -fno-split-wide-types This will map 0x33221100 to 0x33110033 instead of to 0x22110033 Please test the

[avr-gcc-list] Bug in *rotlsi3 insns?

2009-03-18 Thread Georg-Johann Lay
Hi, im just browsing avr.md in trunk and stumbled over some new patterns that implement rotlsi3. IMHO, they are buggy. But I have no testcase to make it explicit. *rotlsi3_8 splits for sched2 under the condition that ... REGNO (operands[0]) != REGNO (operands[1]) Now suppose REGNO(op0) ==