aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/fpu/tst-setcontext-fpscr.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2009-03-10 04:47:30 +0000
committerUlrich Drepper <drepper@redhat.com>2009-03-10 04:47:30 +0000
commit1454da21955742494232aa8b34c5e238263ad37a (patch)
treea04d6ce06e12e2d8a36208b7b1125346eeeb787a /sysdeps/powerpc/fpu/tst-setcontext-fpscr.c
parentbddec78c7b827fde3f086f6a576237508f7099b0 (diff)
downloadglibc-1454da21955742494232aa8b34c5e238263ad37a.tar
glibc-1454da21955742494232aa8b34c5e238263ad37a.tar.gz
glibc-1454da21955742494232aa8b34c5e238263ad37a.tar.bz2
glibc-1454da21955742494232aa8b34c5e238263ad37a.zip
* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Use
.machine push; .machine "power6" and .machine pop around mtfsf insns outside of _ARCH_PWR6 define. * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S: Likewise. * sysdeps/powerpc/fpu/tst-setcontext-fpscr.c (_SET_DI_FPSCR): Likewise. * sysdeps/powerpc/fpu/fenv_libc.h (fesetenv_register, relax_fenv_state): Likewise.
Diffstat (limited to 'sysdeps/powerpc/fpu/tst-setcontext-fpscr.c')
-rw-r--r--sysdeps/powerpc/fpu/tst-setcontext-fpscr.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sysdeps/powerpc/fpu/tst-setcontext-fpscr.c b/sysdeps/powerpc/fpu/tst-setcontext-fpscr.c
index a15fe86fb9..e75a7f1941 100644
--- a/sysdeps/powerpc/fpu/tst-setcontext-fpscr.c
+++ b/sysdeps/powerpc/fpu/tst-setcontext-fpscr.c
@@ -111,7 +111,11 @@ typedef unsigned int si_fpscr_t __attribute__ ((__mode__ (__SI__)));
tmp __attribute__ ((__aligned__(8))); \
tmp.fpscr = __fpscr; \
/* Set the entire 64-bit FPSCR. */ \
- __asm__ ("lfd%U0 0,%0; mtfsf 255,0,1,0" : : "m" (tmp.d) : "fr0"); \
+ __asm__ ("lfd%U0 0,%0; " \
+ ".machine push; " \
+ ".machine \"power6\"; " \
+ "mtfsf 255,0,1,0; " \
+ ".machine pop" : : "m" (tmp.d) : "fr0"); \
tmp.d = 0; \
__asm__("lfd%U0 0,%0" : : "m" (tmp.d) : "fr0"); \
}