about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2012-06-15 12:00:25 -0700
committerRichard Henderson <rth@twiddle.net>2012-06-15 12:00:25 -0700
commitc0b21b69584c20eb757931f7a7f6a0e8b1154419 (patch)
tree7a351dd35540fdbe1f7779589bfd8ffa20db11b1
parenta7940a70850f0e98e51bd76616203bc17aaa0621 (diff)
downloadglibc-c0b21b69584c20eb757931f7a7f6a0e8b1154419.tar.gz
glibc-c0b21b69584c20eb757931f7a7f6a0e8b1154419.tar.xz
glibc-c0b21b69584c20eb757931f7a7f6a0e8b1154419.zip
alpha: Remove some __GNUC_PREREQs that are too old
-rw-r--r--sysdeps/alpha/fpu/cfloat-compat.h21
-rw-r--r--sysdeps/alpha/fpu/s_fabs.c7
-rw-r--r--sysdeps/alpha/fpu/s_fabsf.c7
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sysconf.c28
4 files changed, 7 insertions, 56 deletions
diff --git a/sysdeps/alpha/fpu/cfloat-compat.h b/sysdeps/alpha/fpu/cfloat-compat.h
index f75bb9bb82..35542e641c 100644
--- a/sysdeps/alpha/fpu/cfloat-compat.h
+++ b/sysdeps/alpha/fpu/cfloat-compat.h
@@ -1,5 +1,5 @@
 /* Compatibility macros for old and new Alpha complex float ABI.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -25,35 +25,20 @@
    follow the official Tru64 ABI, which passes the components of a complex
    as separate parameters.  */
 
-#if __GNUC_PREREQ(3,4)
-  typedef union { double d; _Complex float cf; } c1_compat;
+typedef union { double d; _Complex float cf; } c1_compat;
 # define c1_cfloat_decl(x)	double x
 # define c1_cfloat_real(x)	__real__ c1_cfloat_value (x)
 # define c1_cfloat_imag(x)	__imag__ c1_cfloat_value (x)
 # define c1_cfloat_value(x)	(((c1_compat *)(void *)&x)->cf)
 # define c1_cfloat_rettype	double
 # define c1_cfloat_return(x)	({ c1_compat _; _.cf = (x); _.d; })
+
 # define c2_cfloat_decl(x)	_Complex float x
 # define c2_cfloat_real(x)	__real__ x
 # define c2_cfloat_imag(x)	__imag__ x
 # define c2_cfloat_value(x)	x
 # define c2_cfloat_rettype	_Complex float
 # define c2_cfloat_return(x)	x
-#else
-# define c1_cfloat_decl(x)	_Complex float x
-# define c1_cfloat_real(x)	__real__ x
-# define c1_cfloat_imag(x)	__imag__ x
-# define c1_cfloat_value(x)	x
-# define c1_cfloat_rettype	_Complex float
-# define c1_cfloat_return(x)	x
-# define c2_cfloat_decl(x)	float x ## r, float x ## i
-# define c2_cfloat_real(x)	x ## r
-# define c2_cfloat_imag(x)	x ## i
-# define c2_cfloat_value(x) \
-    ({ _Complex float _; __real__ _ = x##r; __imag__ _ = x##i; _; })
-# define c2_cfloat_rettype	double _Complex
-# define c2_cfloat_return(x)	x
-#endif
 
 /* Get the proper symbol versions defined for each function.  */
 
diff --git a/sysdeps/alpha/fpu/s_fabs.c b/sysdeps/alpha/fpu/s_fabs.c
index 0105162719..f970acd80d 100644
--- a/sysdeps/alpha/fpu/s_fabs.c
+++ b/sysdeps/alpha/fpu/s_fabs.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2006, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson.
 
@@ -22,12 +22,7 @@
 double
 __fabs (double x)
 {
-#if __GNUC_PREREQ (2, 8)
   return __builtin_fabs (x);
-#else
-  __asm ("cpys $f31, %1, %0" : "=f" (x) : "f" (x));
-  return x;
-#endif
 }
 
 weak_alias (__fabs, fabs)
diff --git a/sysdeps/alpha/fpu/s_fabsf.c b/sysdeps/alpha/fpu/s_fabsf.c
index 05f776e906..5c80ae856c 100644
--- a/sysdeps/alpha/fpu/s_fabsf.c
+++ b/sysdeps/alpha/fpu/s_fabsf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson.
 
@@ -21,12 +21,7 @@
 float
 __fabsf (float x)
 {
-#if __GNUC_PREREQ (2, 8)
   return __builtin_fabsf (x);
-#else
-  __asm ("cpys $f31, %1, %0" : "=f" (x) : "f" (x));
-  return x;
-#endif
 }
 
 weak_alias (__fabsf, fabsf)
diff --git a/sysdeps/unix/sysv/linux/alpha/sysconf.c b/sysdeps/unix/sysv/linux/alpha/sysconf.c
index afb7aa6d7f..603157e3ac 100644
--- a/sysdeps/unix/sysv/linux/alpha/sysconf.c
+++ b/sysdeps/unix/sysv/linux/alpha/sysconf.c
@@ -28,30 +28,6 @@ static long int linux_sysconf (int name);
 
 extern long __libc_alpha_cache_shape[4];
 
-static inline unsigned long
-implver (void)
-{
-  unsigned long i;
-#if __GNUC_PREREQ(3,3)
-  i = __builtin_alpha_implver ();
-#else
-  asm ("implver %0" : "=r" (i));
-#endif
-  return i;
-}
-
-static inline unsigned long
-amask (unsigned long x)
-{
-  unsigned long r;
-#if __GNUC_PREREQ(3,3)
-  r = __builtin_alpha_amask (x);
-#else
-  asm ("amask %1,%0" : "=r"(r) : "Ir"(x));
-#endif
-  return r;
-}
-
 /* Get the value of the system variable NAME.  */
 long int
 __sysconf (int name)
@@ -79,7 +55,7 @@ __sysconf (int name)
 	 pages or have the kernel do the timings from KSEG.  Fortunately,
 	 kernels beginning with 2.6.5 will pass us this info in auxvec.  */
 
-      switch (implver())
+      switch (__builtin_alpha_implver ())
 	{
 	case 0: /* EV4 */
 	  /* EV4/LCA45 had 8k L1 caches; EV45 had 16k L1 caches.  */
@@ -89,7 +65,7 @@ __sysconf (int name)
 	  break;
 
 	case 1: /* EV5 */
-	  if (amask (1 << 8))
+	  if (__builtin_alpha_amask (1 << 8))
 	    {
 	      /* MAX insns not present; either EV5 or EV56.  */
 	      shape_l1i = shape_l1d = CSHAPE(8*1024, 5, 1);