+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
/* 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.
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
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
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
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
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
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
/* 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)
#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