Commit 46049cff by Richard Earnshaw Committed by Richard Earnshaw

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
parent 4e394293
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> 2004-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR optimization/12372 PR optimization/12372
......
/* ieee754-df.S double-precision floating point support for ARM /* 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) Contributed by Nicolas Pitre (nico@cam.org)
This file is free software; you can redistribute it and/or modify it This file is free software; you can redistribute it and/or modify it
...@@ -940,19 +940,19 @@ LSYM(Ldv_s): ...@@ -940,19 +940,19 @@ LSYM(Ldv_s):
#ifdef L_cmpdf2 #ifdef L_cmpdf2
FUNC_START gedf2
ARM_FUNC_START gtdf2 ARM_FUNC_START gtdf2
ARM_FUNC_ALIAS gedf2 gtdf2
mov ip, #-1 mov ip, #-1
b 1f b 1f
FUNC_START ledf2
ARM_FUNC_START ltdf2 ARM_FUNC_START ltdf2
ARM_FUNC_ALIAS ledf2 ltdf2
mov ip, #1 mov ip, #1
b 1f b 1f
FUNC_START nedf2
FUNC_START eqdf2
ARM_FUNC_START cmpdf2 ARM_FUNC_START cmpdf2
ARM_FUNC_ALIAS nedf2 cmpdf2
ARM_FUNC_ALIAS eqdf2 cmpdf2
mov ip, #1 @ how should we specify unordered here? mov ip, #1 @ how should we specify unordered here?
1: stmfd sp!, {r4, r5, lr} 1: stmfd sp!, {r4, r5, lr}
......
/* ieee754-sf.S single-precision floating point support for ARM /* 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) Contributed by Nicolas Pitre (nico@cam.org)
This file is free software; you can redistribute it and/or modify it This file is free software; you can redistribute it and/or modify it
...@@ -642,19 +642,19 @@ LSYM(Ldv_s): ...@@ -642,19 +642,19 @@ LSYM(Ldv_s):
#ifdef L_cmpsf2 #ifdef L_cmpsf2
FUNC_START gesf2
ARM_FUNC_START gtsf2 ARM_FUNC_START gtsf2
ARM_FUNC_ALIAS gesf2 gtsf2
mov r3, #-1 mov r3, #-1
b 1f b 1f
FUNC_START lesf2
ARM_FUNC_START ltsf2 ARM_FUNC_START ltsf2
ARM_FUNC_ALIAS lesf2 ltsf2
mov r3, #1 mov r3, #1
b 1f b 1f
FUNC_START nesf2
FUNC_START eqsf2
ARM_FUNC_START cmpsf2 ARM_FUNC_START cmpsf2
ARM_FUNC_ALIAS nesf2 cmpsf2
ARM_FUNC_ALIAS eqsf2 cmpsf2
mov r3, #1 @ how should we specify unordered here? mov r3, #1 @ how should we specify unordered here?
1: @ Trap any INF/NAN first. 1: @ Trap any INF/NAN first.
......
@ libgcc routines for ARM cpu. @ libgcc routines for ARM cpu.
@ Division routines, written by Richard Earnshaw, (rearnsha@armltd.co.uk) @ 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 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 under the terms of the GNU General Public License as published by the
...@@ -202,12 +203,24 @@ SYM (__\name): ...@@ -202,12 +203,24 @@ SYM (__\name):
.arm .arm
_L__\name: /* A hook to tell gdb that we've switched to ARM */ _L__\name: /* A hook to tell gdb that we've switched to ARM */
.endm .endm
#define EQUIV .thumb_set
#else #else
.macro ARM_FUNC_START name .macro ARM_FUNC_START name
FUNC_START \name .text
.globl SYM (__\name)
TYPE (__\name)
.align 0
.arm
SYM (__\name):
.endm .endm
#define EQUIV .set
#endif #endif
.macro ARM_FUNC_ALIAS new old
.globl SYM (__\new)
EQUIV SYM (__\new), SYM (__\old)
.endm
#ifdef __thumb__ #ifdef __thumb__
/* Register aliases. */ /* Register aliases. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment