summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S')
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S9
1 files changed, 8 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
index c42ccfbe44..6c075a9a35 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
@@ -1,5 +1,6 @@
/* Save current context and install the given one.
- Copyright (C) 2002, 2004, 2005, 2006, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2005, 2006, 2008, 2009
+ 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
@@ -180,6 +181,8 @@ ENTRY(__novec_swapcontext)
/* Use the extended four-operand version of the mtfsf insn. */
mtfsf 0xff,fp0,1,0
# else
+ .machine push
+ .machine "power6"
/* Availability of DFP indicates a 64-bit FPSCR. */
andi. r6,r8,PPC_FEATURE_HAS_DFP
beq 5f
@@ -190,6 +193,7 @@ ENTRY(__novec_swapcontext)
5:
mtfsf 0xff,fp0
6:
+ .machine pop
#endif /* _ARCH_PWR6 */
lfd fp29,(SIGCONTEXT_FP_REGS+(PT_R29*8))(r31)
lfd fp28,(SIGCONTEXT_FP_REGS+(PT_R28*8))(r31)
@@ -672,6 +676,8 @@ L(has_no_vec2):
/* Use the extended four-operand version of the mtfsf insn. */
mtfsf 0xff,fp0,1,0
# else
+ .machine push
+ .machine "power6"
/* Availability of DFP indicates a 64-bit FPSCR. */
andi. r6,r8,PPC_FEATURE_HAS_DFP
beq 7f
@@ -682,6 +688,7 @@ L(has_no_vec2):
7:
mtfsf 0xff,fp0
8:
+ .machine pop
#endif /* _ARCH_PWR6 */
lfd fp29,(SIGCONTEXT_FP_REGS+(PT_R29*8))(r31)
lfd fp28,(SIGCONTEXT_FP_REGS+(PT_R28*8))(r31)