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, unsigned long x)
{
return (x << 8) | (x >> 24);
}
Compile with, e.g.
avr-gcc -mmcu=atmega8 -S -Os -fno-split-wide-types
to get
rotl:
/* prologue: function */
/* frame size = 0 */
mov r22,r23
mov r23,r20
mov r24,r21
mov r25,r22
/* epilogue start */
ret
This will map 0x33221100 to 0x33110033 instead of to 0x22110033
Georg-Johann
_______________________________________________
AVR-GCC-list mailing list
AVR-GCC-list@nongnu.org
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list