- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I installed gcc 4.4.3 on a RH x86-64 host 2.6.18-92.0.0.0.1.el5. The CPUs are Intel Xeon E5335 -- which dont support the new AES instruction set. For this, I downloaded and installed the Intel SDE 2.9.4.
I verified with the simulator that the 'Check_CPU_support_AES()' function returns corectly i.e the simulator confirms that the bit #25 is set :
__cpuid(1, a,b,c,d);
if (c & 0x2000000 != 0) {
// AES support is there
}
Next I tried to compile the code in the gcc test suite that tests aeskeygenassist -- this is basically the gcc test program aeskeygenassist.c where calls to the _mm_aeskeygenassist_si128 intrinsic is being made.
/usr/local/bin/gcc -c -maes -msse4.1 -mpclmul aeskeygenassist-test.c gives me this error:
/tmp/cc1LSyUf.s: Assembler messages:
/tmp/cc1LSyUf.s:106: Error: no such instruction: `aeskeygenassist $1,%xmm0,%xmm0'
Are my gcc compile flags correct?
Thanks,
Sri
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Sri,
Please refer to gcc documentation if that support these new AES instructions and intrinsics. It seems it does not. I would recommend you to try the latest version of Intel C/C++ compiler (youmay needalso check with documentation on the correct compiler options)
Regards,
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Vladimir,
Thank you for your pointers. icc 11.1 works like a charm and I agree that this should be the compiler for AES NI.
Best,
sri

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page