summaryrefslogtreecommitdiff
path: root/i386/i386/proc_reg.h
diff options
context:
space:
mode:
Diffstat (limited to 'i386/i386/proc_reg.h')
-rw-r--r--i386/i386/proc_reg.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/i386/i386/proc_reg.h b/i386/i386/proc_reg.h
index a83ca0d8..704676cf 100644
--- a/i386/i386/proc_reg.h
+++ b/i386/i386/proc_reg.h
@@ -84,9 +84,9 @@ get_eflags(void)
{
unsigned long eflags;
#ifdef __x86_64__
- asm("pushfq; pop %0" : "=r" (eflags));
+ asm("pushfq; popq %0" : "=r" (eflags));
#else
- asm("pushfd; pop %0" : "=r" (eflags));
+ asm("pushfl; popl %0" : "=r" (eflags));
#endif
return eflags;
}
@@ -95,9 +95,9 @@ static inline void
set_eflags(unsigned long eflags)
{
#ifdef __x86_64__
- asm volatile("push %0; popfq" : : "r" (eflags));
+ asm volatile("pushq %0; popfq" : : "r" (eflags));
#else
- asm volatile("push %0; popfd" : : "r" (eflags));
+ asm volatile("pushl %0; popfl" : : "r" (eflags));
#endif
}
@@ -111,14 +111,14 @@ set_eflags(unsigned long eflags)
#define get_eflags() \
({ \
register unsigned long _temp__; \
- asm("pushfq; pop %0" : "=r" (_temp__)); \
+ asm("pushfq; popq %0" : "=r" (_temp__)); \
_temp__; \
})
#else
#define get_eflags() \
({ \
register unsigned long _temp__; \
- asm("pushfd; pop %0" : "=r" (_temp__)); \
+ asm("pushfl; popl %0" : "=r" (_temp__)); \
_temp__; \
})
#endif