libgcc2.c (__bswapdi2): Rename from bswapDI2.

2006-11-07  Eric Christopher  <echristo@apple.com>

        * libgcc2.c (__bswapdi2): Rename from bswapDI2.
        (__bswapsi2): Ditto.
        * libgcc2.h: Remove transformation of bswap routines.
        * config/i386/i386.md (bswapsi2): New.
        (bswapdi2): Ditto.

2006-11-07  Eric Christopher  <echristo@apple.com>

        * gcc.target/i386/builtin-bswap-1.c: Rewrite for 64-bit.
        Test using scan-assembler-not.

From-SVN: r118576
This commit is contained in:
Eric Christopher 2006-11-08 02:24:26 +00:00
parent 701640b1f9
commit 6300f037d0
6 changed files with 328 additions and 295 deletions

View File

@ -1,3 +1,11 @@
2006-11-07 Eric Christopher <echristo@apple.com>
* libgcc2.c (__bswapdi2): Rename from bswapDI2.
(__bswapsi2): Ditto.
* libgcc2.h: Remove transformation of bswap routines.
* config/i386/i386.md (bswapsi2): New.
(bswapdi2): Ditto.
2006-11-07 Jakub Jelinek <jakub@redhat.com>
* c-common.c (c_common_attributes): Add gnu_inline attribyte.
@ -14,7 +22,7 @@
2006-11-06 Anatoly Sokolov <aesok@post.ru>
* config/avr/avr-protos.h (mask_one_bit_p, const_int_pow2_p): Remove
* config/avr/avr-protos.h (mask_one_bit_p, const_int_pow2_p): Remove
prototype.
* config/avr/avr.c (mask_one_bit_p, const_int_pow2_p): Remove.
(output_movhi, ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out,
@ -50,9 +58,9 @@
* gcc.c (process_command): Treat -b as normal switch if its argument
has no dash.
2006-11-07 David Ung <davidu@mips.com>
* config/mips/mips.h (ISA_HAS_PREFETCHX): Add ISA_MIPS32R2 to the
list.

File diff suppressed because it is too large Load Diff

View File

@ -494,7 +494,7 @@ __ashrdi3 (DWtype u, word_type b)
#ifdef L_bswapsi2
UWtype
__bswapSI2 (UWtype u)
__bswapsi2 (UWtype u)
{
return ((((u) & 0xff000000) >> 24)
| (((u) & 0x00ff0000) >> 8)
@ -504,7 +504,7 @@ __bswapSI2 (UWtype u)
#endif
#ifdef L_bswapdi2
UDWtype
__bswapDI2 (UDWtype u)
__bswapdi2 (UDWtype u)
{
return ((((u) & 0xff00000000000000ull) >> 56)
| (((u) & 0x00ff000000000000ull) >> 40)
@ -1886,7 +1886,7 @@ CONCAT3(__div,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d)
{
MTYPE denom, ratio, x, y;
/* ??? We can get better behavior from logarithmic scaling instead of
/* ??? We can get better behavior from logarithmic scaling instead of
the division. But that would mean starting to link libgcc against
libm. We could implement something akin to ldexp/frexp as gcc builtins
fairly easily... */

View File

@ -304,13 +304,11 @@ typedef int word_type __attribute__ ((mode (__word__)));
#define __ctzSI2 __NW(ctz,2)
#define __popcountSI2 __NW(popcount,2)
#define __paritySI2 __NW(parity,2)
#define __bswapSI2 __NW(bswap,2)
#define __ffsDI2 __NDW(ffs,2)
#define __clzDI2 __NDW(clz,2)
#define __ctzDI2 __NDW(ctz,2)
#define __popcountDI2 __NDW(popcount,2)
#define __parityDI2 __NDW(parity,2)
#define __bswapDI2 __NDW(bswap,2)
extern DWtype __muldi3 (DWtype, DWtype);
extern DWtype __divdi3 (DWtype, DWtype);
@ -347,13 +345,13 @@ extern Wtype __addvSI3 (Wtype, Wtype);
extern Wtype __subvSI3 (Wtype, Wtype);
extern Wtype __mulvSI3 (Wtype, Wtype);
extern Wtype __negvSI2 (Wtype);
extern UWtype __bswapSI2 (UWtype);
extern UWtype __bswapsi2 (UWtype);
extern DWtype __absvDI2 (DWtype);
extern DWtype __addvDI3 (DWtype, DWtype);
extern DWtype __subvDI3 (DWtype, DWtype);
extern DWtype __mulvDI3 (DWtype, DWtype);
extern DWtype __negvDI2 (DWtype);
extern UDWtype __bswapDI2 (UDWtype);
extern UDWtype __bswapdi2 (UDWtype);
#ifdef COMPAT_SIMODE_TRAPPING_ARITHMETIC
extern SItype __absvsi2 (SItype);

View File

@ -1,3 +1,8 @@
2006-11-07 Eric Christopher <echristo@apple.com>
* gcc.target/i386/builtin-bswap-1.c: Rewrite for 64-bit.
Test using scan-assembler-not.
2006-11-07 Jakub Jelinek <jakub@redhat.com>
* gcc.dg/inline-17.c: New test.
@ -216,7 +221,7 @@
PR fortran/29641
* gfortran.dg/used_types_11.f90: New test.
2006-10-30 Dirk Mueller <dmueller@suse.de>
* g++.old-deja/g++.pt/eichin01a.C (main): Fix prototype.
@ -305,7 +310,7 @@
2006-10-28 Tobias Burnus <burnus@net-b.de>
PR libgfortran/24313
* gfortran.dg/csqrt_2.f: Remove xfail *-*-linux-gnu.
* gfortran.dg/csqrt_2.f: Remove xfail *-*-linux-gnu.
2006-10-29 Kazu Hirata <kazu@codesourcery.com>
@ -332,9 +337,9 @@
2006-10-28 Tobias Burnus <burnus@net-b.de>
PR fortran/28224
PR fortran/28224
* gfortran.dg/io_constraints_2.f90: Use -std=f95.
* gfortran.dg/namelist_internal.f90: New test.
* gfortran.dg/namelist_internal.f90: New test.
2006-10-28 Tobias Burnus <burnus@net-b.de>
@ -358,7 +363,7 @@
* gcc.dg/builtins-44.c: Likewise.
* gcc.dg/builtins-45.c: Likewise.
* gcc.dg/pr28796-2.c: Likewise.
* gcc.dg/unordered-3.c: Likewise.
* gcc.dg/unordered-3.c: Likewise.
2006-10-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
@ -416,7 +421,7 @@
* gcc.dg/torture/builtin-math-2.c: Add checks for asin, acos,
acosh and atanh.
* gcc.dg/torture/builtin-math-3.c (TESTIT): Append 'F' and 'L'
floating point modifiers to arguments passed to float and long
double functions respectively. Update all callers to use floating
@ -517,11 +522,11 @@
* gcc.dg/torture/pr26898-2.c: Likewise.
2006-10-20 Lee Millward <lee.millward@codesourcery.com>
PR c++/28053
* g++.dg/parse/bitfield1.C: Adjust error markers.
* g++.dg/parse/bitfield2.C: New test.
* g++.dg/parse/bitfield2.C: New test.
2006-10-20 Adam Nemet <anemet@caviumnetworks.com>
* gcc.dg/tree-ssa/ivopts-2.c: Match final candidates line only.
@ -563,7 +568,7 @@
PR c++/27952
* g++.dg/inherit/virtual1.C: New test.
2006-10-17 Mark Mitchell <mark@codesourcery.com>
PR c++/28261
@ -573,7 +578,7 @@
PR c++/29039
* g++.dg/init/ctor8.C: New test.
2006-10-17 Mark Mitchell <mark@codesourcery.com>
PR c++/27270

View File

@ -1,12 +1,16 @@
/* { dg-do compile } */
/* { dg-options "-march=i486" } */
/* { dg-final { scan-assembler "bswap" } } */
/* { dg-options "-march=nocona" } */
/* { dg-final { scan-assembler-not "builtin_bswap" } } */
int foo (int a)
long foo (long a)
{
int b;
long b;
b = __builtin_bswap (a);
#if __LP64__
b = __builtin_bswap64 (a);
#else
b = __builtin_bswap32 (a);
#endif
return b;
}