]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libgcc/config/arm/bpabi.S
Update copyright years.
[thirdparty/gcc.git] / libgcc / config / arm / bpabi.S
index 959ecb157be4a01f5ef6b6da28d10bb87796c841..1362b66e45a47b10a2cff8153ecbfcaf37703e4b 100644 (file)
@@ -1,6 +1,6 @@
 /* Miscellaneous BPABI functions.
 
-   Copyright (C) 2003-2014 Free Software Foundation, Inc.
+   Copyright (C) 2003-2020 Free Software Foundation, Inc.
    Contributed by CodeSourcery, LLC.
 
    This file is free software; you can redistribute it and/or modify it
@@ -80,26 +80,29 @@ ARM_FUNC_START aeabi_ulcmp
 /* Tail-call to divide-by-zero handlers which may be overridden by the user,
    so unwinding works properly.  */
 #if defined(__thumb2__)
-       cbnz    yyh, 1f
-       cbnz    yyl, 1f
+       cbnz    yyh, 2f
+       cbnz    yyl, 2f
        cmp     xxh, #0
+       .ifc \signed, unsigned
        do_it   eq
        cmpeq   xxl, #0
-       .ifc \signed, unsigned
-       beq     2f
-       mov     xxh, #0xffffffff
-       mov     xxl, xxh
-2:
+       do_it   ne, t
+       movne   xxh, #0xffffffff
+       movne   xxl, #0xffffffff
        .else
-       do_it   lt, t
+       do_it   lt, tt
        movlt   xxl, #0
        movlt   xxh, #0x80000000
-       do_it   gt, t
-       movgt   xxh, #0x7fffffff
-       movgt   xxl, #0xffffffff
+       blt     1f
+       do_it   eq
+       cmpeq   xxl, #0
+       do_it   ne, t
+       movne   xxh, #0x7fffffff
+       movne   xxl, #0xffffffff
        .endif
+1:     
        b       SYM (__aeabi_ldiv0) __PLT__
-1:
+2:
 #else
        /* Note: Thumb-1 code calls via an ARM shim on processors which
           support ARM mode.  */
@@ -107,16 +110,19 @@ ARM_FUNC_START aeabi_ulcmp
        cmpeq   yyl, #0
        bne     2f
        cmp     xxh, #0
-       cmpeq   xxl, #0
        .ifc \signed, unsigned
+       cmpeq   xxl, #0
        movne   xxh, #0xffffffff
        movne   xxl, #0xffffffff
        .else
        movlt   xxh, #0x80000000
        movlt   xxl, #0
-       movgt   xxh, #0x7fffffff
-       movgt   xxl, #0xffffffff
+       blt     1f
+       cmpeq   xxl, #0
+       movne   xxh, #0x7fffffff
+       movne   xxl, #0xffffffff
        .endif
+1:
        b       SYM (__aeabi_ldiv0) __PLT__
 2:
 #endif