Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F105808076
D13131.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D13131.diff
View Options
Index: lib/libc/arm/gen/Makefile.inc
===================================================================
--- lib/libc/arm/gen/Makefile.inc
+++ lib/libc/arm/gen/Makefile.inc
@@ -1,7 +1,7 @@
# @(#)Makefile.inc 8.1 (Berkeley) 6/4/93
# $FreeBSD$
-SRCS+= _ctx_start.S _setjmp.S _set_tp.c alloca.S fabs.c \
+SRCS+= _ctx_start.S _setjmp.S _set_tp.c alloca.S fabs.S \
infinity.c ldexp.c makecontext.c \
__aeabi_read_tp.S setjmp.S signalcontext.c sigsetjmp.S flt_rounds.c \
arm_initfini.c \
Index: lib/libc/arm/gen/fabs.S
===================================================================
--- lib/libc/arm/gen/fabs.S
+++ lib/libc/arm/gen/fabs.S
@@ -1,7 +1,10 @@
-/* $NetBSD: fabs.c,v 1.2 2002/05/26 11:48:01 wiz Exp $ */
-
-/*
- * Copyright (c) 1996 Mark Brinicombe
+/*-
+ * Copyright (c) 2017 Andrew Turner
+ * All rights reserved.
+ *
+ * This software was developed by SRI International and the University of
+ * Cambridge Computer Laboratory under DARPA/AFRL contract FA8750-10-C-0237
+ * ("CTSRD"), as part of the DARPA CRASH research programme.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -11,12 +14,6 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Mark Brinicombe
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
@@ -31,16 +28,16 @@
* SUCH DAMAGE.
*/
-/*
- * fabs(x) returns the absolute value of x.
- */
-#include <sys/cdefs.h>
+#include <machine/asm.h>
__FBSDID("$FreeBSD$");
-double
-fabs(double x)
-{
- if (x < 0)
- x = -x;
- return(x);
-}
+ENTRY(fabs)
+#if __ARM_ARCH >= 6
+ vabs.f64 d0, d0
+#elif __ARM_BIG_ENDIAN
+ bic r0, r0, #(1 << 31)
+#else
+ bic r1, r1, #(1 << 31)
+#endif
+ RET
+END(fabs)
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Dec 22, 12:00 AM (21 h, 10 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15549018
Default Alt Text
D13131.diff (2 KB)
Attached To
Mode
D13131: Replace the incorrect C arm fabs(3) code with an asm version.
Attached
Detach File
Event Timeline
Log In to Comment