Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
6814 Discussions

AES Instruction set usage with gcc 4.4.3 20100105 error

vid_sid
Beginner
586 Views
Hello,

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

0 Kudos
2 Replies
Vladimir_Dudnik
Employee
586 Views

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

0 Kudos
vid_sid
Beginner
586 Views

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

0 Kudos
Reply