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
This commit is contained in:
parent
c38114079b
commit
8b02e720d2
@ -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,
|
||||
|
@ -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. */
|
||||
|
@ -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.
|
||||
|
@ -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. */
|
||||
|
Loading…
Reference in New Issue
Block a user