aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/x86_64/dl-trampoline.S6
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 5d6658ad51..40c1ea9905 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2011-07-22 Ulrich Drepper <drepper@gmail.com>
+ * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix test for
+ OSXSAVE.
+ (_dl_x86_64_save_sse): Likewise.
+
* crypt/crypt_util.c (__init_des_r): Optimize memset calls.
* crypt/crypt_util.c (__init_des_r): Add read barrier as well.
diff --git a/sysdeps/x86_64/dl-trampoline.S b/sysdeps/x86_64/dl-trampoline.S
index ad7479fd29..4aa63ee8d5 100644
--- a/sysdeps/x86_64/dl-trampoline.S
+++ b/sysdeps/x86_64/dl-trampoline.S
@@ -141,7 +141,8 @@ L(have_avx):
movq %r11,%rbx # Restore rbx
xorl %eax, %eax
// AVX and XSAVE supported?
- testl $((1 << 28) | (1 << 27)), %ecx
+ andl $((1 << 28) | (1 << 27)), %ecx
+ cmpl $((1 << 28) | (1 << 27)), %ecx
je 2f
xorl %ecx, %ecx
// Get XFEATURE_ENABLED_MASK
@@ -186,7 +187,8 @@ _dl_x86_64_save_sse:
movq %r11,%rbx # Restore rbx
xorl %eax, %eax
// AVX and XSAVE supported?
- testl $((1 << 28) | (1 << 27)), %ecx
+ andl $((1 << 28) | (1 << 27)), %ecx
+ cmpl $((1 << 28) | (1 << 27)), %ecx
je 2f
xorl %ecx, %ecx
// Get XFEATURE_ENABLED_MASK