diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2004-01-15 16:56:34 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2004-01-15 16:56:34 +0000 |
commit | 46049cff4f689532250bec7a53c8c1d5486bf640 (patch) | |
tree | 305a3234028931f5a4273e0fc0396eb0d281e5d4 | |
parent | 4e394293bf0279f3ef28e2747acc1d97b2d2dcb6 (diff) | |
download | gcc-46049cff4f689532250bec7a53c8c1d5486bf640.zip gcc-46049cff4f689532250bec7a53c8c1d5486bf640.tar.gz gcc-46049cff4f689532250bec7a53c8c1d5486bf640.tar.bz2 |
Richard Earnshaw <rearnsha@arm.com>
Daniel Jacobowitz <drow@mvista.com>
* arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case.
(EQUIV): Define.
(ARM_FUNC_ALIAS): New macro.
* arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it.
* arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it.
Co-Authored-By: Daniel Jacobowitz <drow@mvista.com>
From-SVN: r75930
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/arm/ieee754-df.S | 10 | ||||
-rw-r--r-- | gcc/config/arm/ieee754-sf.S | 10 | ||||
-rw-r--r-- | gcc/config/arm/lib1funcs.asm | 17 |
4 files changed, 34 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5ae1456..cdc724b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2004-01-15 Richard Earnshaw <rearnsha@arm.com> + Daniel Jacobowitz <drow@mvista.com> + + * arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case. + (EQUIV): Define. + (ARM_FUNC_ALIAS): New macro. + * arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it. + * arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it. + 2004-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> PR optimization/12372 diff --git a/gcc/config/arm/ieee754-df.S b/gcc/config/arm/ieee754-df.S index b04d3df..58e019a 100644 --- a/gcc/config/arm/ieee754-df.S +++ b/gcc/config/arm/ieee754-df.S @@ -1,6 +1,6 @@ /* ieee754-df.S double-precision floating point support for ARM - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2004 Free Software Foundation, Inc. Contributed by Nicolas Pitre (nico@cam.org) This file is free software; you can redistribute it and/or modify it @@ -940,19 +940,19 @@ LSYM(Ldv_s): #ifdef L_cmpdf2 -FUNC_START gedf2 ARM_FUNC_START gtdf2 +ARM_FUNC_ALIAS gedf2 gtdf2 mov ip, #-1 b 1f -FUNC_START ledf2 ARM_FUNC_START ltdf2 +ARM_FUNC_ALIAS ledf2 ltdf2 mov ip, #1 b 1f -FUNC_START nedf2 -FUNC_START eqdf2 ARM_FUNC_START cmpdf2 +ARM_FUNC_ALIAS nedf2 cmpdf2 +ARM_FUNC_ALIAS eqdf2 cmpdf2 mov ip, #1 @ how should we specify unordered here? 1: stmfd sp!, {r4, r5, lr} diff --git a/gcc/config/arm/ieee754-sf.S b/gcc/config/arm/ieee754-sf.S index 73c598b..5c97245 100644 --- a/gcc/config/arm/ieee754-sf.S +++ b/gcc/config/arm/ieee754-sf.S @@ -1,6 +1,6 @@ /* ieee754-sf.S single-precision floating point support for ARM - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2004 Free Software Foundation, Inc. Contributed by Nicolas Pitre (nico@cam.org) This file is free software; you can redistribute it and/or modify it @@ -642,19 +642,19 @@ LSYM(Ldv_s): #ifdef L_cmpsf2 -FUNC_START gesf2 ARM_FUNC_START gtsf2 +ARM_FUNC_ALIAS gesf2 gtsf2 mov r3, #-1 b 1f -FUNC_START lesf2 ARM_FUNC_START ltsf2 +ARM_FUNC_ALIAS lesf2 ltsf2 mov r3, #1 b 1f -FUNC_START nesf2 -FUNC_START eqsf2 ARM_FUNC_START cmpsf2 +ARM_FUNC_ALIAS nesf2 cmpsf2 +ARM_FUNC_ALIAS eqsf2 cmpsf2 mov r3, #1 @ how should we specify unordered here? 1: @ Trap any INF/NAN first. diff --git a/gcc/config/arm/lib1funcs.asm b/gcc/config/arm/lib1funcs.asm index fe14070..e72af6c 100644 --- a/gcc/config/arm/lib1funcs.asm +++ b/gcc/config/arm/lib1funcs.asm @@ -1,7 +1,8 @@ @ libgcc routines for ARM cpu. @ Division routines, written by Richard Earnshaw, (rearnsha@armltd.co.uk) -/* Copyright 1995, 1996, 1998, 1999, 2000 Free Software Foundation, Inc. +/* Copyright 1995, 1996, 1998, 1999, 2000, 2003, 2004 + Free Software Foundation, Inc. This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -202,12 +203,24 @@ SYM (__\name): .arm _L__\name: /* A hook to tell gdb that we've switched to ARM */ .endm +#define EQUIV .thumb_set #else .macro ARM_FUNC_START name - FUNC_START \name + .text + .globl SYM (__\name) + TYPE (__\name) + .align 0 + .arm +SYM (__\name): .endm +#define EQUIV .set #endif +.macro ARM_FUNC_ALIAS new old + .globl SYM (__\new) + EQUIV SYM (__\new), SYM (__\old) +.endm + #ifdef __thumb__ /* Register aliases. */ |