summaryrefslogtreecommitdiff
path: root/libgcc/config
diff options
context:
space:
mode:
authorEdgar E. Iglesias <edgar.iglesias@gmail.com>2013-02-19 23:00:50 +0000
committerMichael Eager <eager@gcc.gnu.org>2013-02-19 23:00:50 +0000
commit7c422dbbc7446d733bc080617efe7afa3e6c0e20 (patch)
tree2141ae18b639a63c2acd555f600fdca7b4501db4 /libgcc/config
parentd6988187cd6778a81425a3825f6331abac918485 (diff)
downloadgcc-7c422dbbc7446d733bc080617efe7afa3e6c0e20.tar.gz
modsi3.S (modsi3): Fix case with 0x80000000 as dividend.
* config/microblaze/modsi3.S (modsi3): Fix case with 0x80000000 as dividend. From-SVN: r196156
Diffstat (limited to 'libgcc/config')
-rw-r--r--libgcc/config/microblaze/modsi3.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/libgcc/config/microblaze/modsi3.S b/libgcc/config/microblaze/modsi3.S
index ed28acf8f63..93d0c30b688 100644
--- a/libgcc/config/microblaze/modsi3.S
+++ b/libgcc/config/microblaze/modsi3.S
@@ -55,6 +55,8 @@ $LaR5_Pos:
$LaR6_Pos:
ADDIK r3,r0,0 # Clear mod
ADDIK r30,r0,0 # clear div
+ BLTId r5,$LaDIV2 # If r5 is still negative (0x80000000), skip
+ # the first bit search.
ADDIK r29,r0,32 # Initialize the loop count
# First part try to find the first '1' in the r5
$LaDIV1: