OSDN Git Service

Richard Earnshaw <rearnsha@arm.com>
authorrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 15 Jan 2004 16:56:34 +0000 (16:56 +0000)
committerrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 15 Jan 2004 16:56:34 +0000 (16:56 +0000)
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.

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

gcc/ChangeLog
gcc/config/arm/ieee754-df.S
gcc/config/arm/ieee754-sf.S
gcc/config/arm/lib1funcs.asm

index 5ae1456..cdc724b 100644 (file)
@@ -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
index b04d3df..58e019a 100644 (file)
@@ -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}
index 73c598b..5c97245 100644 (file)
@@ -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.
index fe14070..e72af6c 100644 (file)
@@ -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.  */