Message ID | 537BC70F.1070304@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
Adhemerval Zanella <azanella@linux.vnet.ibm.com> writes: > diff --git a/sysdeps/powerpc/fpu/math_private.h b/sysdeps/powerpc/fpu/math_private.h > index dde153d..1ec4881 100644 > --- a/sysdeps/powerpc/fpu/math_private.h > +++ b/sysdeps/powerpc/fpu/math_private.h > @@ -166,11 +166,13 @@ __ieee754_sqrtf (float __x) > # ifndef __copysignf > # define __copysignf(x, y) \ > ({ float __z; \ > + float __x = x; \ > + float __y = y; \ > __asm __volatile ( \ > " fcpsgn %0,%1,%2\n" \ > " frsp %0,%0\n" \ > : "=f" (__z) \ > - : "f" (y), "f" (x)); \ > + : "f" (__y), "f" (__x));\ > __z; }) > # endif Is that definition actually needed at all? sysdeps/generic/math_private.h defines it as __builtin_copysignf. Andreas.
On 21-05-2014 03:55, Andreas Schwab wrote: > Adhemerval Zanella <azanella@linux.vnet.ibm.com> writes: > >> diff --git a/sysdeps/powerpc/fpu/math_private.h b/sysdeps/powerpc/fpu/math_private.h >> index dde153d..1ec4881 100644 >> --- a/sysdeps/powerpc/fpu/math_private.h >> +++ b/sysdeps/powerpc/fpu/math_private.h >> @@ -166,11 +166,13 @@ __ieee754_sqrtf (float __x) >> # ifndef __copysignf >> # define __copysignf(x, y) \ >> ({ float __z; \ >> + float __x = x; \ >> + float __y = y; \ >> __asm __volatile ( \ >> " fcpsgn %0,%1,%2\n" \ >> " frsp %0,%0\n" \ >> : "=f" (__z) \ >> - : "f" (y), "f" (x)); \ >> + : "f" (__y), "f" (__x));\ >> __z; }) >> # endif > Is that definition actually needed at all? > sysdeps/generic/math_private.h defines it as __builtin_copysignf. > > Andreas. > Indeed it is not, I'll remove both version in powerpc math_private.h
diff --git a/sysdeps/powerpc/fpu/math_private.h b/sysdeps/powerpc/fpu/math_private.h index dde153d..1ec4881 100644 --- a/sysdeps/powerpc/fpu/math_private.h +++ b/sysdeps/powerpc/fpu/math_private.h @@ -166,11 +166,13 @@ __ieee754_sqrtf (float __x) # ifndef __copysignf # define __copysignf(x, y) \ ({ float __z; \ + float __x = x; \ + float __y = y; \ __asm __volatile ( \ " fcpsgn %0,%1,%2\n" \ " frsp %0,%0\n" \ : "=f" (__z) \ - : "f" (y), "f" (x)); \ + : "f" (__y), "f" (__x));\ __z; }) # endif