This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/56298] wmmintrin.h aborts compilation on the machines without AES


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").


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]