* config/avr/libgcc.S (__ashldi3, __ashrdi3, __lshrdi3): Set shift
authorgjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 16 Jun 2011 09:32:18 +0000 (09:32 +0000)
committergjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 16 Jun 2011 09:32:18 +0000 (09:32 +0000)
truncation mask to 63.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175099 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/avr/libgcc.S

index f6815f5..e02c407 100644 (file)
@@ -1,5 +1,10 @@
 2011-06-16  Georg-Johann Lay  <avr@gjlay.de>
 
+       * config/avr/libgcc.S (__ashldi3, __ashrdi3, __lshrdi3): Set shift
+       truncation mask to 63.
+
+2011-06-16  Georg-Johann Lay  <avr@gjlay.de>
+
        PR target/49313
        PR target/29524
        * longlong.h: Add AVR support:
index cf7d768..1988de9 100644 (file)
@@ -1241,7 +1241,7 @@ ENDF __bswapdi2
 ;; r25:r18 = ashr64 (r25:r18, r17:r16)
 DEFUN __ashrdi3
     push r16
-    andi r16, 31
+    andi r16, 63
     breq 2f
 1:  asr  r25
     ror  r24
@@ -1263,7 +1263,7 @@ ENDF __ashrdi3
 ;; r25:r18 = lshr64 (r25:r18, r17:r16)
 DEFUN __lshrdi3
     push r16
-    andi r16, 31
+    andi r16, 63
     breq 2f
 1:  lsr  r25
     ror  r24
@@ -1285,7 +1285,7 @@ ENDF __lshrdi3
 ;; r25:r18 = ashl64 (r25:r18, r17:r16)
 DEFUN __ashldi3
     push r16
-    andi r16, 31
+    andi r16, 63
     breq 2f
 1:  lsl  r18
     rol  r19