From 62f068c68b402c2fd9052579a286c8a2ff2f00cd Mon Sep 17 00:00:00 2001 From: uros Date: Mon, 9 Dec 2013 17:37:43 +0000 Subject: libgcc/ChangeLog: 2013-12-09 Uros Bizjak * config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE instructions when __TARGET_SSE__ is defined. libatomic/ChangeLog: 2013-12-09 Uros Bizjak * config/x86/fenv.c (__atomic_feraiseexcept): Emit SSE instructions when __TARGET_SSE__ is defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205811 138bc75d-0d04-0410-961f-82ee72b054a4 --- libatomic/ChangeLog | 5 +++++ libatomic/config/x86/fenv.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'libatomic') diff --git a/libatomic/ChangeLog b/libatomic/ChangeLog index 143a7292641..58626a70047 100644 --- a/libatomic/ChangeLog +++ b/libatomic/ChangeLog @@ -1,3 +1,8 @@ +2013-12-09 Uros Bizjak + + * config/x86/fenv.c (__atomic_feraiseexcept): Emit SSE + instructions when __TARGET_SSE__ is defined. + 2013-11-18 Joseph Myers * testsuite/libatomic.c/atomic-compare-exchange-1.c, diff --git a/libatomic/config/x86/fenv.c b/libatomic/config/x86/fenv.c index 154983e5f45..bdd9de75e47 100644 --- a/libatomic/config/x86/fenv.c +++ b/libatomic/config/x86/fenv.c @@ -56,7 +56,7 @@ __atomic_feraiseexcept (int excepts) if (excepts & FE_INVALID) { float f = 0.0f; -#ifdef __x86_64__ +#ifdef __SSE_MATH__ volatile float r __attribute__ ((unused)); asm volatile ("%vdivss\t{%0, %d0|%d0, %0}" : "+x" (f)); r = f; /* Needed to trigger exception. */ @@ -76,7 +76,7 @@ __atomic_feraiseexcept (int excepts) if (excepts & FE_DIVBYZERO) { float f = 1.0f, g = 0.0f; -#ifdef __x86_64__ +#ifdef __SSE_MATH__ volatile float r __attribute__ ((unused)); asm volatile ("%vdivss\t{%1, %d0|%d0, %1}" : "+x" (f) : "xm" (g)); r = f; /* Needed to trigger exception. */ @@ -104,7 +104,7 @@ __atomic_feraiseexcept (int excepts) if (excepts & FE_INEXACT) { float f = 1.0f, g = 3.0f; -#ifdef __x86_64__ +#ifdef __SSE_MATH__ volatile float r __attribute__ ((unused)); asm volatile ("%vdivss\t{%1, %d0|%d0, %1}" : "+x" (f) : "xm" (g)); r = f; /* Needed to trigger exception. */ -- cgit v1.2.1