diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2013-12-09 18:37:43 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2013-12-09 18:37:43 +0100 |
commit | 8b02e720d284afc560c45326c399e910dca28a47 (patch) | |
tree | 8f3867bb3c6f13d9430521cbc54a93b16393ce0b | |
parent | c38114079be0514b9cc992fd9904ce77328ac81b (diff) | |
download | gcc-8b02e720d284afc560c45326c399e910dca28a47.zip gcc-8b02e720d284afc560c45326c399e910dca28a47.tar.gz gcc-8b02e720d284afc560c45326c399e910dca28a47.tar.bz2 |
sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE instructions when __TARGET_SSE__ is defined.
libgcc/ChangeLog:
2013-12-09 Uros Bizjak <ubizjak@gmail.com>
* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE
instructions when __TARGET_SSE__ is defined.
libatomic/ChangeLog:
2013-12-09 Uros Bizjak <ubizjak@gmail.com>
* config/x86/fenv.c (__atomic_feraiseexcept): Emit SSE
instructions when __TARGET_SSE__ is defined.
From-SVN: r205811
-rw-r--r-- | libatomic/ChangeLog | 5 | ||||
-rw-r--r-- | libatomic/config/x86/fenv.c | 6 | ||||
-rw-r--r-- | libgcc/ChangeLog | 5 | ||||
-rw-r--r-- | libgcc/config/i386/sfp-exceptions.c | 6 |
4 files changed, 16 insertions, 6 deletions
diff --git a/libatomic/ChangeLog b/libatomic/ChangeLog index 143a729..58626a7 100644 --- a/libatomic/ChangeLog +++ b/libatomic/ChangeLog @@ -1,3 +1,8 @@ +2013-12-09 Uros Bizjak <ubizjak@gmail.com> + + * config/x86/fenv.c (__atomic_feraiseexcept): Emit SSE + instructions when __TARGET_SSE__ is defined. + 2013-11-18 Joseph Myers <joseph@codesourcery.com> * testsuite/libatomic.c/atomic-compare-exchange-1.c, diff --git a/libatomic/config/x86/fenv.c b/libatomic/config/x86/fenv.c index 154983e..bdd9de7 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. */ diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index c6b8034..f83bc88 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2013-12-09 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE + instructions when __TARGET_SSE__ is defined. + 2013-12-06 Ralf Corsépius <ralf.corsepius@rtems.org> * config.host (microblaze-*-rtems*): New. diff --git a/libgcc/config/i386/sfp-exceptions.c b/libgcc/config/i386/sfp-exceptions.c index 3504c4a..1bab10b 100644 --- a/libgcc/config/i386/sfp-exceptions.c +++ b/libgcc/config/i386/sfp-exceptions.c @@ -47,7 +47,7 @@ __sfp_handle_exceptions (int _fex) if (_fex & FP_EX_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. */ @@ -67,7 +67,7 @@ __sfp_handle_exceptions (int _fex) if (_fex & FP_EX_DIVZERO) { 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. */ @@ -95,7 +95,7 @@ __sfp_handle_exceptions (int _fex) if (_fex & FP_EX_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. */ |