Implementation notes: amd64, mangetsu, crypto_aead/paeq64

Computer: mangetsu
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: paeq64
TimeImplementationCompilerBenchmark dateSUPERCOP version
31952aesniclang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer2014101820141014
32040aesniclang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
32068aesniclang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
32396aesniclang++ -O3 -fwrapv -march=native -fomit-frame-pointer2014101820141014
33040aesnig++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101820141014
33096aesnig++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer2014101820141014
33196aesnig++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer2014101820141014
33304aesnig++ -m64 -march=corei7-avx -O -fomit-frame-pointer2014101820141014
33536aesnig++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101820141014
33736aesnig++ -m64 -march=core-avx-i -O -fomit-frame-pointer2014101820141014
36492aesnig++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101820141014
36496aesnig++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer2014101820141014
36596aesnig++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer2014101820141014
43576aesnig++ -m64 -march=core-avx-i -Os -fomit-frame-pointer2014101820141014
43596aesnig++ -m64 -march=corei7-avx -Os -fomit-frame-pointer2014101820141014
43612aesnig++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101820141014
4225512refg++ -m64 -march=corei7 -O3 -fomit-frame-pointer2014101820141014
4225568refg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2014101820141014
4225768refg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014101820141014
4225844refg++ -m64 -march=core2 -O3 -fomit-frame-pointer2014101820141014
4232324refg++ -O3 -fomit-frame-pointer2014101820141014
4233156refg++ -fno-schedule-insns -O3 -fomit-frame-pointer2014101820141014
4237988refg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014101820141014
4239556refg++ -march=barcelona -O3 -fomit-frame-pointer2014101820141014
4247128refg++ -march=k8 -O3 -fomit-frame-pointer2014101820141014
4247504refg++ -m64 -march=k8 -O3 -fomit-frame-pointer2014101820141014
4248472refg++ -m64 -O3 -fomit-frame-pointer2014101820141014
4257464refg++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer2014101820141014
4272004refg++ -march=nocona -O3 -fomit-frame-pointer2014101820141014
4272876refg++ -m64 -march=nocona -O3 -fomit-frame-pointer2014101820141014
4281752refg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101820141014
4284148refg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101820141014
4285380refg++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer2014101820141014
4357112refg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101820141014
4436764refclang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
4446312refclang++ -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
4459744refclang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
4473528refclang++ -O3 -fomit-frame-pointer2014101820141014
4476016refclang++ -O3 -fwrapv -mavx -fomit-frame-pointer2014101820141014
4478208refclang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer2014101820141014
4483612refclang++ -O3 -fwrapv -march=native -fomit-frame-pointer2014101820141014
7856612refg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101820141014
9332764refg++ -march=barcelona -O2 -fomit-frame-pointer2014101820141014
9336256refg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2014101820141014
9394612refg++ -m64 -march=k8 -O2 -fomit-frame-pointer2014101820141014
9395128refg++ -m64 -march=nocona -O2 -fomit-frame-pointer2014101820141014
9397896refg++ -march=k8 -O2 -fomit-frame-pointer2014101820141014
9425580refg++ -march=nocona -O2 -fomit-frame-pointer2014101820141014
9513300refg++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer2014101820141014
9516624refg++ -m64 -march=core2 -O2 -fomit-frame-pointer2014101820141014
9523832refg++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer2014101820141014
9526016refg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014101820141014
9526912refg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101820141014
9528068refg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014101820141014
9547152refg++ -m64 -march=corei7 -O2 -fomit-frame-pointer2014101820141014
9561644refg++ -m64 -O2 -fomit-frame-pointer2014101820141014
9565152refg++ -fno-schedule-insns -O2 -fomit-frame-pointer2014101820141014
9573544refg++ -O2 -fomit-frame-pointer2014101820141014
9803268refg++ -march=k8 -Os -fomit-frame-pointer2014101820141014
9804048refg++ -m64 -Os -fomit-frame-pointer2014101820141014
9805220refg++ -Os -fomit-frame-pointer2014101820141014
9815940refg++ -fno-schedule-insns -Os -fomit-frame-pointer2014101820141014
9823992refg++ -m64 -march=k8 -Os -fomit-frame-pointer2014101820141014
9832028refg++ -m64 -march=barcelona -Os -fomit-frame-pointer2014101820141014
9840564refg++ -m64 -march=core-avx-i -Os -fomit-frame-pointer2014101820141014
9842248refg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014101820141014
9842616refg++ -march=barcelona -Os -fomit-frame-pointer2014101820141014
9844424refg++ -m64 -march=corei7 -Os -fomit-frame-pointer2014101820141014
9849032refg++ -m64 -march=core2 -Os -fomit-frame-pointer2014101820141014
9851180refg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101820141014
9854396refg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101820141014
9859016refg++ -march=nocona -Os -fomit-frame-pointer2014101820141014
9859688refg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014101820141014
9866060refg++ -m64 -march=corei7-avx -Os -fomit-frame-pointer2014101820141014
9883800refg++ -m64 -march=nocona -Os -fomit-frame-pointer2014101820141014
10429260refg++ -m64 -march=k8 -O -fomit-frame-pointer2014101820141014
10466492refg++ -march=k8 -O -fomit-frame-pointer2014101820141014
10516828refg++ -m64 -march=barcelona -O -fomit-frame-pointer2014101820141014
10587476refg++ -march=barcelona -O -fomit-frame-pointer2014101820141014
10602408refg++ -fno-schedule-insns -O -fomit-frame-pointer2014101820141014
10606292refg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101820141014
10607340refg++ -m64 -march=corei7-avx -O -fomit-frame-pointer2014101820141014
10607488refg++ -m64 -march=corei7 -O -fomit-frame-pointer2014101820141014
10607600refg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014101820141014
10608376refg++ -O -fomit-frame-pointer2014101820141014
10635660refg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014101820141014
10641164refg++ -m64 -march=core-avx-i -O -fomit-frame-pointer2014101820141014
10653700refg++ -m64 -march=core2 -O -fomit-frame-pointer2014101820141014
10654472refg++ -m64 -march=nocona -O -fomit-frame-pointer2014101820141014
10655768refg++ -march=nocona -O -fomit-frame-pointer2014101820141014
10656568refg++ -m64 -O -fomit-frame-pointer2014101820141014
42890976refg++2014101820141014

Test failure

Implementation: crypto_aead/paeq64/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/paeq64/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/paeq64/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/paeq64/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/paeq64/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/paeq64/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/paeq64/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/paeq64/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