| Index: gcc/config/i386/i386.md
|
| diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
|
| index 6429360bb9de1ac243ec95f6da95411d58219418..783d13d337163035b8ea198c795d62fc848b4793 100644
|
| --- a/gcc/config/i386/i386.md
|
| +++ b/gcc/config/i386/i386.md
|
| @@ -17500,7 +17500,19 @@
|
| (unspec:XF [(match_dup 2)] UNSPEC_SINCOS_SIN))]
|
| "TARGET_USE_FANCY_MATH_387
|
| && flag_unsafe_math_optimizations"
|
| - "fsincos"
|
| +{
|
| + if (TARGET_NACL)
|
| + {
|
| + return "fld %%st(0)"
|
| + "\n\tfsin"
|
| + "\n\tfxch"
|
| + "\n\tfcos";
|
| + }
|
| + else
|
| + {
|
| + return "fsincos";
|
| + }
|
| +}
|
| [(set_attr "type" "fpspc")
|
| (set_attr "mode" "XF")])
|
|
|
| @@ -17538,6 +17550,19 @@
|
| || TARGET_MIX_SSE_I387)
|
| && flag_unsafe_math_optimizations"
|
| "fsincos"
|
| +{
|
| + if (TARGET_NACL)
|
| + {
|
| + return "fld %%st(0)"
|
| + "\n\tfsin"
|
| + "\n\tfxch"
|
| + "\n\tfcos";
|
| + }
|
| + else
|
| + {
|
| + return "fsincos";
|
| + }
|
| +}
|
| [(set_attr "type" "fpspc")
|
| (set_attr "mode" "XF")])
|
|
|
|
|