Implementation notes: amd64, mangetsu, crypto_aead/paeq80

Computer: mangetsu
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: paeq80
TimeImplementationCompilerBenchmark dateSUPERCOP version
33312aesniclang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer2014101820141014
33344aesniclang++ -O3 -fwrapv -march=native -fomit-frame-pointer2014101820141014
33380aesniclang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
34188aesniclang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
34476aesnig++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101820141014
34712aesnig++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer2014101820141014
34836aesnig++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101820141014
34848aesnig++ -m64 -march=core-avx-i -O -fomit-frame-pointer2014101820141014
34980aesnig++ -m64 -march=corei7-avx -O -fomit-frame-pointer2014101820141014
35516aesnig++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer2014101820141014
38120aesnig++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101820141014
38216aesnig++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer2014101820141014
38308aesnig++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer2014101820141014
40364aesnig++ -m64 -march=corei7-avx -Os -fomit-frame-pointer2014101820141014
40424aesnig++ -m64 -march=core-avx-i -Os -fomit-frame-pointer2014101820141014
40560aesnig++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101820141014
4315956refg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014101820141014
4318172refg++ -m64 -march=core2 -O3 -fomit-frame-pointer2014101820141014
4318480refg++ -m64 -march=corei7 -O3 -fomit-frame-pointer2014101820141014
4319884refg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014101820141014
4326072refg++ -O3 -fomit-frame-pointer2014101820141014
4330668refg++ -fno-schedule-insns -O3 -fomit-frame-pointer2014101820141014
4347148refg++ -m64 -O3 -fomit-frame-pointer2014101820141014
4348120refg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2014101820141014
4348176refg++ -march=barcelona -O3 -fomit-frame-pointer2014101820141014
4365676refg++ -march=nocona -O3 -fomit-frame-pointer2014101820141014
4366884refg++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer2014101820141014
4377776refg++ -march=k8 -O3 -fomit-frame-pointer2014101820141014
4379520refg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101820141014
4379956refg++ -m64 -march=nocona -O3 -fomit-frame-pointer2014101820141014
4380292refg++ -m64 -march=k8 -O3 -fomit-frame-pointer2014101820141014
4382328refg++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer2014101820141014
4401028refg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101820141014
4473692refg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101820141014
4569264refclang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
4573356refclang++ -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
4594524refclang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
4604256refclang++ -O3 -fomit-frame-pointer2014101820141014
4609892refclang++ -O3 -fwrapv -march=native -fomit-frame-pointer2014101820141014
4609956refclang++ -O3 -fwrapv -mavx -fomit-frame-pointer2014101820141014
4616956refclang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer2014101820141014
7968124refg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101820141014
9427184refg++ -march=nocona -O2 -fomit-frame-pointer2014101820141014
9450012refg++ -m64 -march=nocona -O2 -fomit-frame-pointer2014101820141014
9469368refg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2014101820141014
9478368refg++ -march=barcelona -O2 -fomit-frame-pointer2014101820141014
9522684refg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014101820141014
9527304refg++ -O2 -fomit-frame-pointer2014101820141014
9529116refg++ -m64 -O2 -fomit-frame-pointer2014101820141014
9529272refg++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer2014101820141014
9530492refg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101820141014
9532740refg++ -m64 -march=core2 -O2 -fomit-frame-pointer2014101820141014
9536596refg++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer2014101820141014
9537804refg++ -m64 -march=corei7 -O2 -fomit-frame-pointer2014101820141014
9541176refg++ -fno-schedule-insns -O2 -fomit-frame-pointer2014101820141014
9551644refg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014101820141014
9558096refg++ -march=k8 -O2 -fomit-frame-pointer2014101820141014
9567788refg++ -m64 -march=k8 -O2 -fomit-frame-pointer2014101820141014
9952608refg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101820141014
10087228refg++ -march=k8 -Os -fomit-frame-pointer2014101820141014
10088916refg++ -m64 -march=k8 -Os -fomit-frame-pointer2014101820141014
10090712refg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014101820141014
10092716refg++ -m64 -march=barcelona -Os -fomit-frame-pointer2014101820141014
10094916refg++ -m64 -march=core2 -Os -fomit-frame-pointer2014101820141014
10098816refg++ -fno-schedule-insns -Os -fomit-frame-pointer2014101820141014
10102152refg++ -march=barcelona -Os -fomit-frame-pointer2014101820141014
10102428refg++ -m64 -march=corei7 -Os -fomit-frame-pointer2014101820141014
10103336refg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101820141014
10104020refg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014101820141014
10108268refg++ -m64 -march=core-avx-i -Os -fomit-frame-pointer2014101820141014
10113748refg++ -Os -fomit-frame-pointer2014101820141014
10119300refg++ -m64 -Os -fomit-frame-pointer2014101820141014
10223044refg++ -m64 -march=corei7-avx -Os -fomit-frame-pointer2014101820141014
10391680refg++ -march=nocona -Os -fomit-frame-pointer2014101820141014
10433776refg++ -march=nocona -O -fomit-frame-pointer2014101820141014
10434300refg++ -m64 -march=nocona -O -fomit-frame-pointer2014101820141014
10438184refg++ -m64 -march=nocona -Os -fomit-frame-pointer2014101820141014
10452876refg++ -m64 -march=corei7 -O -fomit-frame-pointer2014101820141014
10459396refg++ -O -fomit-frame-pointer2014101820141014
10460628refg++ -m64 -march=core2 -O -fomit-frame-pointer2014101820141014
10461304refg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014101820141014
10463276refg++ -m64 -march=corei7-avx -O -fomit-frame-pointer2014101820141014
10473400refg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014101820141014
10498832refg++ -fno-schedule-insns -O -fomit-frame-pointer2014101820141014
10517440refg++ -m64 -O -fomit-frame-pointer2014101820141014
10521256refg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101820141014
10597136refg++ -march=barcelona -O -fomit-frame-pointer2014101820141014
10601712refg++ -m64 -march=core-avx-i -O -fomit-frame-pointer2014101820141014
10627724refg++ -m64 -march=barcelona -O -fomit-frame-pointer2014101820141014
10688828refg++ -m64 -march=k8 -O -fomit-frame-pointer2014101820141014
10700860refg++ -march=k8 -O -fomit-frame-pointer2014101820141014
43518292refg++2014101820141014

Test failure

Implementation: crypto_aead/paeq80/aesni
Compiler: clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer aesni ref
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer ref
g++ -m64 -march=core-avx2 -O2 -fomit-frame-pointer aesni ref
g++ -m64 -march=core-avx2 -O -fomit-frame-pointer aesni ref
g++ -m64 -march=core-avx2 -Os -fomit-frame-pointer aesni ref

Compiler output

Implementation: crypto_aead/paeq80/aesni
Compiler: clang++ -O3 -fomit-frame-pointer
encrypt.cpp: In file included from encrypt.cpp:13:
encrypt.cpp: /usr/bin/../lib64/clang/3.3/include/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:166:11: error: use of undeclared identifier '_mm_aesenc_si128'; did you mean '_mm_and_si128'?
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^~~~~~~~~~~~~~~~
encrypt.cpp: _mm_and_si128
encrypt.cpp: /usr/bin/../lib64/clang/3.3/include/emmintrin.h:801:1: note: '_mm_and_si128' declared here
encrypt.cpp: _mm_and_si128(__m128i __a, __m128i __b)
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:167:11: error: use of undeclared identifier '_mm_aesenc_si128'; did you mean '_mm_and_si128'?
encrypt.cpp: acc1 = _mm_aesenc_si128(acc1, roundkey1);
encrypt.cpp: ^~~~~~~~~~~~~~~~
encrypt.cpp: _mm_and_si128
encrypt.cpp: /usr/bin/../lib64/clang/3.3/include/emmintrin.h:801:1: note: '_mm_and_si128' declared here
encrypt.cpp: _mm_and_si128(__m128i __a, __m128i __b)
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:168:11: error: use of undeclared identifier '_mm_aesenc_si128'; did you mean '_mm_and_si128'?
encrypt.cpp: acc2 = _mm_aesenc_si128(acc2, roundkey2);
encrypt.cpp: ^~~~~~~~~~~~~~~~
encrypt.cpp: _mm_and_si128
encrypt.cpp: /usr/bin/../lib64/clang/3.3/include/emmintrin.h:801:1: note: '_mm_and_si128' declared here
encrypt.cpp: _mm_and_si128(__m128i __a, __m128i __b)
encrypt.cpp: ^
encrypt.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -O3 -fomit-frame-pointer aesni

Compiler output

Implementation: crypto_aead/paeq80/aesni
Compiler: clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer aesni ref
clang++ -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer aesni ref

Compiler output

Implementation: crypto_aead/paeq80/aesni
Compiler: clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
encrypt.cpp: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer aesni ref

Compiler output

Implementation: crypto_aead/paeq80/aesni
Compiler: clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer
encrypt.cpp: In file included from encrypt.cpp:13:
encrypt.cpp: /usr/bin/../lib64/clang/3.3/include/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:166:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:167:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc1 = _mm_aesenc_si128(acc1, roundkey1);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:168:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc2 = _mm_aesenc_si128(acc2, roundkey2);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:169:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc3 = _mm_aesenc_si128(acc3, roundkey3);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:171:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc4 = _mm_aesenc_si128(acc4, roundkey0);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:172:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc5 = _mm_aesenc_si128(acc5, roundkey1);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:173:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc6 = _mm_aesenc_si128(acc6, roundkey2);
encrypt.cpp: ^
encrypt.cpp: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer aesni
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer aesni

Compiler output

Implementation: crypto_aead/paeq80/aesni
Compiler: clang++ -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
encrypt.cpp: In file included from encrypt.cpp:13:
encrypt.cpp: /usr/bin/../lib64/clang/3.3/include/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:166:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:167:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc1 = _mm_aesenc_si128(acc1, roundkey1);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:168:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc2 = _mm_aesenc_si128(acc2, roundkey2);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:169:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc3 = _mm_aesenc_si128(acc3, roundkey3);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:171:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc4 = _mm_aesenc_si128(acc4, roundkey0);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:172:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc5 = _mm_aesenc_si128(acc5, roundkey1);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp:173:11: error: use of undeclared identifier '_mm_aesenc_si128'
encrypt.cpp: acc6 = _mm_aesenc_si128(acc6, roundkey2);
encrypt.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer aesni

Compiler output

Implementation: crypto_aead/paeq80/aesni
Compiler: g++
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const __m128i*, const __m128i*, __m128i*, __m128i*)':
encrypt.cpp: encrypt.cpp:166:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp: In function 'void FPermAsm(const __m128i*, __m128i*)':
encrypt.cpp: encrypt.cpp:240:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^

Number of similar (compiler,implementation) pairs: 53, namely:
CompilerImplementations
g++ aesni
g++ -O2 -fomit-frame-pointer aesni
g++ -O3 -fomit-frame-pointer aesni
g++ -O -fomit-frame-pointer aesni
g++ -Os -fomit-frame-pointer aesni
g++ -fno-schedule-insns -O2 -fomit-frame-pointer aesni
g++ -fno-schedule-insns -O3 -fomit-frame-pointer aesni
g++ -fno-schedule-insns -O -fomit-frame-pointer aesni
g++ -fno-schedule-insns -Os -fomit-frame-pointer aesni
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer aesni
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer aesni
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer aesni
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer aesni
g++ -m64 -O2 -fomit-frame-pointer aesni
g++ -m64 -O3 -fomit-frame-pointer aesni
g++ -m64 -O -fomit-frame-pointer aesni
g++ -m64 -Os -fomit-frame-pointer aesni
g++ -m64 -march=core2 -O2 -fomit-frame-pointer aesni
g++ -m64 -march=core2 -O3 -fomit-frame-pointer aesni
g++ -m64 -march=core2 -O -fomit-frame-pointer aesni
g++ -m64 -march=core2 -Os -fomit-frame-pointer aesni
g++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer aesni
g++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer aesni
g++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer aesni
g++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer aesni
g++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer aesni
g++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer aesni
g++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer aesni
g++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer aesni
g++ -m64 -march=corei7 -O2 -fomit-frame-pointer aesni
g++ -m64 -march=corei7 -O3 -fomit-frame-pointer aesni
g++ -m64 -march=corei7 -O -fomit-frame-pointer aesni
g++ -m64 -march=corei7 -Os -fomit-frame-pointer aesni
g++ -m64 -march=k8 -O2 -fomit-frame-pointer aesni
g++ -m64 -march=k8 -O3 -fomit-frame-pointer aesni
g++ -m64 -march=k8 -O -fomit-frame-pointer aesni
g++ -m64 -march=k8 -Os -fomit-frame-pointer aesni
g++ -m64 -march=nocona -O2 -fomit-frame-pointer aesni
g++ -m64 -march=nocona -O3 -fomit-frame-pointer aesni
g++ -m64 -march=nocona -O -fomit-frame-pointer aesni
g++ -m64 -march=nocona -Os -fomit-frame-pointer aesni
g++ -march=barcelona -O2 -fomit-frame-pointer aesni
g++ -march=barcelona -O3 -fomit-frame-pointer aesni
g++ -march=barcelona -O -fomit-frame-pointer aesni
g++ -march=barcelona -Os -fomit-frame-pointer aesni
g++ -march=k8 -O2 -fomit-frame-pointer aesni
g++ -march=k8 -O3 -fomit-frame-pointer aesni
g++ -march=k8 -O -fomit-frame-pointer aesni
g++ -march=k8 -Os -fomit-frame-pointer aesni
g++ -march=nocona -O2 -fomit-frame-pointer aesni
g++ -march=nocona -O3 -fomit-frame-pointer aesni
g++ -march=nocona -O -fomit-frame-pointer aesni
g++ -march=nocona -Os -fomit-frame-pointer aesni

Compiler output

Implementation: crypto_aead/paeq80/aesni
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const __m128i*, const __m128i*, __m128i*, __m128i*)':
encrypt.cpp: encrypt.cpp:166:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp: In function 'void FPermAsm(const __m128i*, __m128i*)':
encrypt.cpp: encrypt.cpp:240:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^
encrypt.cpp: In file included from encrypt.cpp:13:0:
encrypt.cpp: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.cpp: # error "AES/PCLMUL instructions not enabled"
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp: In function 'void DoubleFPermAsm(const __m128i*, const __m128i*, __m128i*, __m128i*)':
encrypt.cpp: encrypt.cpp:166:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^
encrypt.cpp: encrypt.cpp: In function 'void FPermAsm(const __m128i*, __m128i*)':
encrypt.cpp: encrypt.cpp:240:43: error: '_mm_aesenc_si128' was not declared in this scope
encrypt.cpp: acc0 = _mm_aesenc_si128(acc0, roundkey0);
encrypt.cpp: ^

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
g++ -m64 -march=barcelona -O2 -fomit-frame-pointer aesni
g++ -m64 -march=barcelona -O3 -fomit-frame-pointer aesni
g++ -m64 -march=barcelona -O -fomit-frame-pointer aesni
g++ -m64 -march=barcelona -Os -fomit-frame-pointer aesni