about summary refs log tree commit diff
diff options
context:
space:
mode:
authorStan Shebs <stanshebs@google.com>2016-02-16 13:39:03 -0800
committerStan Shebs <stanshebs@google.com>2016-02-16 13:39:03 -0800
commit000f2cf415b761b4c990b067276f3bb209cc1f95 (patch)
treeea3244a63646db99211bd7f087dc3687bf2b5b3c
parent409bde58fe1298e4d3a3dbaae142e0bc1397fd6c (diff)
downloadglibc-000f2cf415b761b4c990b067276f3bb209cc1f95.tar.gz
glibc-000f2cf415b761b4c990b067276f3bb209cc1f95.tar.xz
glibc-000f2cf415b761b4c990b067276f3bb209cc1f95.zip
Remove uses of operand modifier (%s) in powerpc inline asm.
-rw-r--r--README.google4
-rw-r--r--sysdeps/powerpc/bits/fenvinline.h8
2 files changed, 8 insertions, 4 deletions
diff --git a/README.google b/README.google
index e615a49685..1b5b4b76b8 100644
--- a/README.google
+++ b/README.google
@@ -562,3 +562,7 @@ sysdeps/powerpc/*
   For b/18010034, backport IBM optimizations for Power8.
   https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/ibm/2.19/master
   (stanshebs, backport)
+
+sysdeps/powerpc/bits/fenvinline.h
+  For b/27191207, remove use of %s modifier in inline asm.
+  (stanshebs, google-local)
diff --git a/sysdeps/powerpc/bits/fenvinline.h b/sysdeps/powerpc/bits/fenvinline.h
index 00336f3b0d..95a261c085 100644
--- a/sysdeps/powerpc/bits/fenvinline.h
+++ b/sysdeps/powerpc/bits/fenvinline.h
@@ -38,8 +38,8 @@
     && (__excepts) != FE_INVALID)					      \
    ? ((__excepts) != 0							      \
       ? (__extension__ ({ __asm__ __volatile__				      \
-			  ("mtfsb1 %s0"					      \
-			   : : "i#*X"(__builtin_ffs (__excepts)));	      \
+			  ("mtfsb1 %0"					      \
+			   : : "i#*X"(__builtin_clz (__excepts)));	      \
 			  0; }))					      \
       : 0)								      \
    : (feraiseexcept) (__excepts))
@@ -51,8 +51,8 @@
     && (__excepts) != FE_INVALID)					      \
    ? ((__excepts) != 0							      \
       ? (__extension__ ({ __asm__ __volatile__				      \
-			  ("mtfsb0 %s0"					      \
-			   : : "i#*X"(__builtin_ffs (__excepts)));	      \
+			  ("mtfsb0 %0"					      \
+			   : : "i#*X"(__builtin_clz (__excepts)));	      \
 			  0; }))					      \
       : 0)								      \
    : (feclearexcept) (__excepts))