diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2008-03-13 10:49:43 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2008-03-13 10:49:43 +0100 |
commit | 8a6c843029229e6d289b1a0f31eedbceb3f73d62 (patch) | |
tree | 00e1a4f280957573f0753c2ca1663b6b508d2af3 /gcc/config/i386/i386.h | |
parent | 22aee8c5a9dabc4d5a716eaa0a6a65e71c4e0f03 (diff) | |
download | gcc-8a6c843029229e6d289b1a0f31eedbceb3f73d62.zip gcc-8a6c843029229e6d289b1a0f31eedbceb3f73d62.tar.gz gcc-8a6c843029229e6d289b1a0f31eedbceb3f73d62.tar.bz2 |
re PR c++/35553 (-fkeep-inline-functions and -O errors out in SSE headers)
PR target/35553
* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
__SSE_USE_INLINED_FUNC__ when using -flag-keep-inline-functions
together with optimization.
* config/i386/xmmintrin.h: Use __SSE_USE_INLINED_FUNC__ instead of
__OPTIMIZE__ to choose between inlined intrinsic SSE function having
immediate arguments and its equivalent macro definition.
* config/i386/bmintrin.h: Ditto.
* config/i386/smmintrin.h: Ditto.
* config/i386/tmmintrin.h: Ditto.
* config/i386/mmintrin-common.h: Ditto.
* config/i386/ammintrin.h: Ditto.
* config/i386/emmintrin.h: Ditto.
testsuite/ChangeLog:
PR target/35553
* g++.dg/other/i386-3.C: New test.
From-SVN: r133164
Diffstat (limited to 'gcc/config/i386/i386.h')
-rw-r--r-- | gcc/config/i386/i386.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 98cb72a..ea0a820 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -691,6 +691,11 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); builtin_define ("__SSE_MATH__"); \ if (TARGET_SSE_MATH && TARGET_SSE2) \ builtin_define ("__SSE2_MATH__"); \ + \ + /* Use inlined intrinsic SSE function having immediate \ + arguments instead of a macro definition. */ \ + if (optimize && !flag_keep_inline_functions) \ + builtin_define ("__SSE_USE_INLINED_FUNC__"); \ } \ while (0) |