This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/56298] wmmintrin.h aborts compilation on the machines without AES
- From: "piotr.wyderski at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 15 Feb 2013 11:41:07 +0000
- Subject: [Bug target/56298] wmmintrin.h aborts compilation on the machines without AES
- Auto-submitted: auto-generated
- References: <bug-56298-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56298
--- Comment #10 from Piotr Wyderski <piotr.wyderski at gmail dot com> 2013-02-15 11:41:07 UTC ---
(In reply to comment #1)
More related problems -- do they deserve their own bug reports?
1. The following workaround provided by Jakub
doesen't solve the #error problem:
> #pragma GCC push_options
> #pragma GCC target ("aes")
> #include <wmmintrin.h>
> #pragma GCC pop_options
It is reported by checking the __AES__ macro, which is not
defined by #pragma GCC target ("aes"). Similarly with
target("sse4.1") and __SSE_4_1__ form nmmintrin.h.
2. Additionally, the use of intrinsic _mm_aeskeygenassist_si128,
implemented as shown below:
_mm_aeskeygenassist_si128 (__m128i __X, const int __C)
{
return (__m128i) __builtin_ia32_aeskeygenassist128 ((__v2di)__X, __C);
}
aborts compilation (on 4.7.2) claiming that the
__builtin_ia32_aeskeygenassist128 function explicitly
requires "-maes" in the command line, despite the fact
it is used within a block surrounded by #pragma GCC target ("aes").