* config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
authorbwilson <bwilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 12 Mar 2002 20:02:36 +0000 (20:02 +0000)
committerbwilson <bwilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 12 Mar 2002 20:02:36 +0000 (20:02 +0000)
        * config/xtensa/lib1funcs.asm: Fix copyright to include
        special case for libgcc files.
        (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
        (__divsi3): Likewise.
        (__umodsi3): Likewise.
        (__modsi3): Likewise.
        * config/xtensa/lib2funcs.S: Fix copyright to include
        special case for libgcc files.

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

gcc/ChangeLog
gcc/config/xtensa/lib1funcs.asm
gcc/config/xtensa/lib2funcs.S
gcc/config/xtensa/xtensa-config.h

index cccf79f..87e5ca1 100644 (file)
@@ -1,3 +1,15 @@
+2002-03-12  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
+       * config/xtensa/lib1funcs.asm: Fix copyright to include
+       special case for libgcc files.
+       (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
+       (__divsi3): Likewise.
+       (__umodsi3): Likewise.
+       (__modsi3): Likewise.
+       * config/xtensa/lib2funcs.S: Fix copyright to include
+       special case for libgcc files.
+
 2002-03-12  Tom Rix  <trix@redhat.com>
 
        * collect2.c (resolve_lib_name): Move outside of
index acfb357..a40f11b 100644 (file)
@@ -1,5 +1,5 @@
 /* Assembly functions for the Xtensa version of libgcc1.
-   Copyright (C) 2001 Free Software Foundation, Inc.
+   Copyright (C) 2001,2002 Free Software Foundation, Inc.
    Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
 
 This file is part of GCC.
@@ -9,6 +9,15 @@ the terms of the GNU General Public License as published by the Free
 Software Foundation; either version 2, or (at your option) any later
 version.
 
+In addition to the permissions in the GNU General Public License, the
+Free Software Foundation gives you unlimited permission to link the
+compiled version of this file into combinations with other programs,
+and to distribute those combinations without any restriction coming
+from the use of this file.  (The General Public License restrictions
+do apply in other respects; for example, they cover modification of
+the file, and distribution when not linked into a combine
+executable.)
+
 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
 WARRANTY; without even the implied warranty of MERCHANTABILITY or
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
@@ -211,13 +220,20 @@ __udivsi3:
        movi    a2, 0           # quotient = 0
 
        # test-subtract-and-shift loop; one quotient bit on each iteration
+#if XCHAL_HAVE_LOOPS
        loopnez a4, .Lloopend
+#endif /* XCHAL_HAVE_LOOPS */
+.Lloop:
        bltu    a6, a3, .Lzerobit
        sub     a6, a6, a3
        addi    a2, a2, 1
 .Lzerobit:
        slli    a2, a2, 1
        srli    a3, a3, 1
+#if !XCHAL_HAVE_LOOPS
+       addi    a4, a4, -1
+       bnez    a4, .Lloop
+#endif /* !XCHAL_HAVE_LOOPS */
 .Lloopend:
 
        bltu    a6, a3, .Lreturn
@@ -270,13 +286,20 @@ __divsi3:
        movi    a2, 0           # quotient = 0
 
        # test-subtract-and-shift loop; one quotient bit on each iteration
+#if XCHAL_HAVE_LOOPS
        loopnez a4, .Lloopend
+#endif /* XCHAL_HAVE_LOOPS */
+.Lloop:
        bltu    a6, a3, .Lzerobit
        sub     a6, a6, a3
        addi    a2, a2, 1
 .Lzerobit:
        slli    a2, a2, 1
        srli    a3, a3, 1
+#if !XCHAL_HAVE_LOOPS
+       addi    a4, a4, -1
+       bnez    a4, .Lloop
+#endif /* !XCHAL_HAVE_LOOPS */
 .Lloopend:
 
        bltu    a6, a3, .Lreturn
@@ -331,11 +354,18 @@ __umodsi3:
        sll     a3, a3          # divisor <<= count
 
        # test-subtract-and-shift loop
+#if XCHAL_HAVE_LOOPS
        loopnez a4, .Lloopend
+#endif /* XCHAL_HAVE_LOOPS */
+.Lloop:
        bltu    a2, a3, .Lzerobit
        sub     a2, a2, a3
 .Lzerobit:
        srli    a3, a3, 1
+#if !XCHAL_HAVE_LOOPS
+       addi    a4, a4, -1
+       bnez    a4, .Lloop
+#endif /* !XCHAL_HAVE_LOOPS */
 .Lloopend:
 
        bltu    a2, a3, .Lreturn
@@ -384,11 +414,18 @@ __modsi3:
        sll     a3, a3          # udivisor <<= count
 
        # test-subtract-and-shift loop
+#if XCHAL_HAVE_LOOPS
        loopnez a4, .Lloopend
+#endif /* XCHAL_HAVE_LOOPS */
+.Lloop:
        bltu    a2, a3, .Lzerobit
        sub     a2, a2, a3
 .Lzerobit:
        srli    a3, a3, 1
+#if !XCHAL_HAVE_LOOPS
+       addi    a4, a4, -1
+       bnez    a4, .Lloop
+#endif /* !XCHAL_HAVE_LOOPS */
 .Lloopend:
 
        bltu    a2, a3, .Lreturn
index 82679e6..f607e01 100644 (file)
@@ -9,6 +9,15 @@ the terms of the GNU General Public License as published by the Free
 Software Foundation; either version 2, or (at your option) any later
 version.
 
+In addition to the permissions in the GNU General Public License, the
+Free Software Foundation gives you unlimited permission to link the
+compiled version of this file into combinations with other programs,
+and to distribute those combinations without any restriction coming
+from the use of this file.  (The General Public License restrictions
+do apply in other respects; for example, they cover modification of
+the file, and distribution when not linked into a combine
+executable.)
+
 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
 WARRANTY; without even the implied warranty of MERCHANTABILITY or
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
index 277efb2..edeae97 100644 (file)
@@ -1,7 +1,12 @@
 /* Xtensa configuration settings.
-   Copyright (C) 2001 Free Software Foundation, Inc.
+   Copyright (C) 2001,2002 Free Software Foundation, Inc.
    Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
 
+** NOTE: This file was automatically generated by the Xtensa Processor
+** Generator.  Changes made here will be lost when this file is
+** updated or replaced with the settings for a different Xtensa
+** processor configuration.  DO NOT EDIT!
+
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2, or (at your option)
@@ -29,6 +34,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 #define XCHAL_HAVE_NSA                 1
 #define XCHAL_HAVE_MINMAX              0
 #define XCHAL_HAVE_SEXT                        0
+#define XCHAL_HAVE_LOOPS               1
 #define XCHAL_HAVE_BOOLEANS            0
 #define XCHAL_HAVE_FP                  0
 #define XCHAL_HAVE_FP_DIV              0