Implementation notes: amd64, mangetsu, crypto_dh/gls254

Computer: mangetsu
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_dh
Primitive: gls254
TimeImplementationCompilerBenchmark dateSUPERCOP version
311328refclang -O3 -fwrapv -march=native -fomit-frame-pointer2014092520140907
311372refclang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014092520140907
313168refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer2014101820141014
313176refclang -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
322264refgcc-4.8 -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014092520140907
322300refgcc-4.8 -m64 -march=corei7-avx -O3 -fomit-frame-pointer2014092520140907
324192refgcc-4.7 -m64 -march=core-avx-i -O3 -fomit-frame-pointer2014092520140907
324520refgcc-4.7 -m64 -march=corei7-avx -O3 -fomit-frame-pointer2014092520140907
325836refgcc-4.8 -m64 -march=core-avx-i -O3 -fomit-frame-pointer2014092520140907
328036refgcc-4.7 -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014092520140907
347412refgcc-4.8 -m64 -march=core-avx-i -O2 -fomit-frame-pointer2014092520140907
347600refgcc-4.8 -m64 -march=native -mtune=native -O -fomit-frame-pointer2014092520140907
347668refgcc-4.8 -m64 -march=core-avx-i -O -fomit-frame-pointer2014092520140907
347968refgcc-4.8 -m64 -march=corei7-avx -O2 -fomit-frame-pointer2014092520140907
348184refgcc-4.8 -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014092520140907
349000refgcc-4.7 -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014092520140907
349012refgcc-4.7 -m64 -march=corei7-avx -O2 -fomit-frame-pointer2014092520140907
349836refgcc-4.8 -m64 -march=corei7-avx -O -fomit-frame-pointer2014092520140907
349892refgcc-4.7 -m64 -march=core-avx-i -O -fomit-frame-pointer2014092520140907
350244refgcc-4.7 -m64 -march=native -mtune=native -O -fomit-frame-pointer2014092520140907
351256refgcc-4.7 -m64 -march=corei7-avx -O -fomit-frame-pointer2014092520140907
351588refgcc-4.7 -m64 -march=core-avx-i -O2 -fomit-frame-pointer2014092520140907
362676refgcc-4.7 -m64 -march=core-avx-i -Os -fomit-frame-pointer2014092520140907
362952refgcc-4.7 -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014092520140907
363220refgcc-4.7 -m64 -march=corei7-avx -Os -fomit-frame-pointer2014092520140907
390848refgcc-4.8 -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014092520140907
391872refgcc-4.8 -m64 -march=core-avx-i -Os -fomit-frame-pointer2014092520140907
395508refgcc-4.8 -m64 -march=corei7-avx -Os -fomit-frame-pointer2014092520140907
463172protgcc-4.8 -m64 -march=corei7-avx -O3 -fomit-frame-pointer2014092520140907
463324protgcc-4.8 -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014092520140907
466016protgcc-4.7 -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014092520140907
466940protgcc-4.8 -m64 -march=core-avx-i -O3 -fomit-frame-pointer2014092520140907
467800protgcc-4.7 -m64 -march=corei7-avx -O3 -fomit-frame-pointer2014092520140907
468336protgcc-4.7 -m64 -march=core-avx-i -O3 -fomit-frame-pointer2014092520140907
485476protgcc-4.8 -m64 -march=corei7-avx -O -fomit-frame-pointer2014092520140907
485884protgcc-4.8 -m64 -march=native -mtune=native -O -fomit-frame-pointer2014092520140907
486544protgcc-4.8 -m64 -march=core-avx-i -O -fomit-frame-pointer2014092520140907
488216protgcc-4.8 -m64 -march=core-avx-i -O2 -fomit-frame-pointer2014092520140907
488316protgcc-4.7 -m64 -march=core-avx-i -O2 -fomit-frame-pointer2014092520140907
488844protgcc-4.7 -m64 -march=core-avx-i -Os -fomit-frame-pointer2014092520140907
489584protgcc-4.7 -m64 -march=corei7-avx -Os -fomit-frame-pointer2014092520140907
489844protgcc-4.7 -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014092520140907
489912protgcc-4.7 -m64 -march=corei7-avx -O2 -fomit-frame-pointer2014092520140907
490216protgcc-4.7 -m64 -march=corei7-avx -O -fomit-frame-pointer2014092520140907
490328protgcc-4.8 -m64 -march=corei7-avx -O2 -fomit-frame-pointer2014092520140907
491120protgcc-4.7 -m64 -march=native -mtune=native -O -fomit-frame-pointer2014092520140907
491464protgcc-4.7 -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014092520140907
491488protgcc-4.8 -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014092520140907
492904protgcc-4.7 -m64 -march=core-avx-i -O -fomit-frame-pointer2014092520140907

Test failure

Implementation: crypto_dh/gls254/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core-avx2 -O2 -fomit-frame-pointer prot ref
gcc-4.7 -m64 -march=core-avx2 -O -fomit-frame-pointer prot ref
gcc-4.7 -m64 -march=core-avx2 -Os -fomit-frame-pointer prot ref
gcc-4.8 -m64 -march=core-avx-i -Os -fomit-frame-pointer prot
gcc-4.8 -m64 -march=core-avx2 -O2 -fomit-frame-pointer prot ref
gcc-4.8 -m64 -march=core-avx2 -O -fomit-frame-pointer prot ref
gcc-4.8 -m64 -march=core-avx2 -Os -fomit-frame-pointer prot ref
gcc-4.8 -m64 -march=corei7-avx -Os -fomit-frame-pointer prot
gcc-4.8 -m64 -march=native -mtune=native -Os -fomit-frame-pointer prot

Compiler output

Implementation: crypto_dh/gls254/ref
Compiler: cc
dh.c: In file included from gls254.h:18:0,
dh.c: from dh.c:3:
dh.c: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
dh.c: # error "AES/PCLMUL instructions not enabled"
dh.c: ^
dh.c: In file included from dh.c:3:0:
dh.c: curves.incl: In function 'AESkeyExp':
dh.c: gls254.h:272:4: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c: ^
dh.c: curves.incl:53:2: note: in expansion of macro 'STEP'
dh.c: STEP(k, t, tmp, 16*1, 0x01);
dh.c: ^
dh.c: gls254.h:272:4: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c: ^
dh.c: curves.incl:54:2: note: in expansion of macro 'STEP'
dh.c: STEP(k, t, tmp, 16*2, 0x02);
dh.c: ^
dh.c: gls254.h:272:4: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c: ^
dh.c: curves.incl:55:2: note: in expansion of macro 'STEP'
dh.c: STEP(k, t, tmp, 16*3, 0x04);
dh.c: ^
dh.c: ...

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

Compiler output

Implementation: crypto_dh/gls254/prot
Compiler: cc
dh.c: In file included from gls254.h:18:0,
dh.c: from dh.c:3:
dh.c: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
dh.c: # error "AES/PCLMUL instructions not enabled"
dh.c: ^
dh.c: In file included from dh.c:3:0:
dh.c: low.incl: In function 'low_mul':
dh.c: gls254.h:155:5: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: r0 = _mm_clmulepi64_si128(ma, mb, 0x00);\
dh.c: ^
dh.c: low.incl:26:2: note: in expansion of macro 'MUL4'
dh.c: MUL4(m1, m0, ma, mb);
dh.c: ^
dh.c: gls254.h:156:5: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: r1 = _mm_clmulepi64_si128(ma, mb, 0x11);\
dh.c: ^
dh.c: low.incl:26:2: note: in expansion of macro 'MUL4'
dh.c: MUL4(m1, m0, ma, mb);
dh.c: ^
dh.c: gls254.h:157:5: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: t0 = _mm_clmulepi64_si128(t0, t0, 0x10);\
dh.c: ^
dh.c: low.incl:26:2: note: in expansion of macro 'MUL4'
dh.c: MUL4(m1, m0, ma, mb);
dh.c: ^
dh.c: ...

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

Compiler output

Implementation: crypto_dh/gls254/ref
Compiler: clang -O3 -fomit-frame-pointer
dh.c: In file included from dh.c:3:
dh.c: In file included from ./gls254.h:18:
dh.c: /usr/bin/../lib64/clang/3.3/include/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
dh.c: # error "AES/PCLMUL instructions not enabled"
dh.c: ^
dh.c: In file included from dh.c:6:
dh.c: ./curves.incl:53:2: warning: implicit declaration of function '_mm_aeskeygenassist_si128' is invalid in C99 [-Wimplicit-function-declaration]
dh.c: STEP(k, t, tmp, 16*1, 0x01);
dh.c: ^
dh.c: ./gls254.h:272:6: note: expanded from macro 'STEP'
dh.c: t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c: ^
dh.c: In file included from dh.c:6:
dh.c: ./curves.incl:53:2: error: assigning to '__m128i' from incompatible type 'int'
dh.c: STEP(k, t, tmp, 16*1, 0x01);
dh.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~
dh.c: ./gls254.h:272:4: note: expanded from macro 'STEP'
dh.c: t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dh.c: In file included from dh.c:6:
dh.c: ./curves.incl:54:2: error: assigning to '__m128i' from incompatible type 'int'
dh.c: STEP(k, t, tmp, 16*2, 0x02);
dh.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~
dh.c: ./gls254.h:272:4: note: expanded from macro 'STEP'
dh.c: t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c: ...

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

Compiler output

Implementation: crypto_dh/gls254/prot
Compiler: clang -O3 -fomit-frame-pointer
dh.c: In file included from dh.c:3:
dh.c: In file included from ./gls254.h:18:
dh.c: /usr/bin/../lib64/clang/3.3/include/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
dh.c: # error "AES/PCLMUL instructions not enabled"
dh.c: ^
dh.c: In file included from dh.c:7:
dh.c: ./low.incl:26:2: warning: implicit declaration of function '_mm_clmulepi64_si128' is invalid in C99 [-Wimplicit-function-declaration]
dh.c: MUL4(m1, m0, ma, mb);
dh.c: ^
dh.c: ./gls254.h:155:7: note: expanded from macro 'MUL4'
dh.c: r0 = _mm_clmulepi64_si128(ma, mb, 0x00);\
dh.c: ^
dh.c: In file included from dh.c:7:
dh.c: ./low.incl:26:2: error: assigning to '__m128i' from incompatible type 'int'
dh.c: MUL4(m1, m0, ma, mb);
dh.c: ^~~~~~~~~~~~~~~~~~~~
dh.c: ./gls254.h:155:5: note: expanded from macro 'MUL4'
dh.c: r0 = _mm_clmulepi64_si128(ma, mb, 0x00);\
dh.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dh.c: In file included from dh.c:7:
dh.c: ./low.incl:26:2: error: assigning to '__m128i' from incompatible type 'int'
dh.c: MUL4(m1, m0, ma, mb);
dh.c: ^~~~~~~~~~~~~~~~~~~~
dh.c: ./gls254.h:156:5: note: expanded from macro 'MUL4'
dh.c: r1 = _mm_clmulepi64_si128(ma, mb, 0x11);\
dh.c: ...

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

Compiler output

Implementation: crypto_dh/gls254/prot
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:18:22: warning: redefinition of typedef 'uint128_t' is a C11 feature [-Wtypedef-redefinition]
dh.c: typedef unsigned int uint128_t __attribute__((mode(TI)));
dh.c: ^
dh.c: ./gls254.h:27:22: note: previous definition is here
dh.c: typedef unsigned int uint128_t __attribute__((mode(TI)));
dh.c: ^
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:19:23: warning: redefinition of typedef 'ui64' is a C11 feature [-Wtypedef-redefinition]
dh.c: typedef unsigned long ui64;
dh.c: ^
dh.c: ./gls254.h:26:23: note: previous definition is here
dh.c: typedef unsigned long ui64;
dh.c: ^
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:20:14: warning: redefinition of typedef 'elt' is a C11 feature [-Wtypedef-redefinition]
dh.c: typedef ui64 elt[2];
dh.c: ^
dh.c: ./gls254.h:34:14: note: previous definition is here
dh.c: typedef ui64 elt[2];
dh.c: ^
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:21:14: warning: redefinition of typedef 'elt254' is a C11 feature [-Wtypedef-redefinition]
dh.c: typedef ui64 elt254[4];
dh.c: ^
dh.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer prot
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer prot

Compiler output

Implementation: crypto_dh/gls254/ref
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:204:14: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
dh.c: if (num[0] & 0x1 == 1) {
dh.c: ^~~~~~~~~~
dh.c: ./scmul.incl:204:14: note: place parentheses around the '==' expression to silence this warning
dh.c: if (num[0] & 0x1 == 1) {
dh.c: ^
dh.c: ( )
dh.c: ./scmul.incl:204:14: note: place parentheses around the & expression to evaluate it first
dh.c: if (num[0] & 0x1 == 1) {
dh.c: ^
dh.c: ( )
dh.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer ref

Compiler output

Implementation: crypto_dh/gls254/prot
Compiler: clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
dh.c: clang-3.3: warning: argument unused during compilation: '-fpolly'
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:18:22: warning: redefinition of typedef 'uint128_t' is a C11 feature [-Wtypedef-redefinition]
dh.c: typedef unsigned int uint128_t __attribute__((mode(TI)));
dh.c: ^
dh.c: ./gls254.h:27:22: note: previous definition is here
dh.c: typedef unsigned int uint128_t __attribute__((mode(TI)));
dh.c: ^
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:19:23: warning: redefinition of typedef 'ui64' is a C11 feature [-Wtypedef-redefinition]
dh.c: typedef unsigned long ui64;
dh.c: ^
dh.c: ./gls254.h:26:23: note: previous definition is here
dh.c: typedef unsigned long ui64;
dh.c: ^
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:20:14: warning: redefinition of typedef 'elt' is a C11 feature [-Wtypedef-redefinition]
dh.c: typedef ui64 elt[2];
dh.c: ^
dh.c: ./gls254.h:34:14: note: previous definition is here
dh.c: typedef ui64 elt[2];
dh.c: ^
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:21:14: warning: redefinition of typedef 'elt254' is a C11 feature [-Wtypedef-redefinition]
dh.c: typedef ui64 elt254[4];
dh.c: ...

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

Compiler output

Implementation: crypto_dh/gls254/ref
Compiler: clang -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
dh.c: clang-3.3: warning: argument unused during compilation: '-fpolly'
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:204:14: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
dh.c: if (num[0] & 0x1 == 1) {
dh.c: ^~~~~~~~~~
dh.c: ./scmul.incl:204:14: note: place parentheses around the '==' expression to silence this warning
dh.c: if (num[0] & 0x1 == 1) {
dh.c: ^
dh.c: ( )
dh.c: ./scmul.incl:204:14: note: place parentheses around the & expression to evaluate it first
dh.c: if (num[0] & 0x1 == 1) {
dh.c: ^
dh.c: ( )
dh.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -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 ref

Compiler output

Implementation: crypto_dh/gls254/prot
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
dh.c: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:18:22: warning: redefinition of typedef 'uint128_t' is a C11 feature [-Wtypedef-redefinition]
dh.c: typedef unsigned int uint128_t __attribute__((mode(TI)));
dh.c: ^
dh.c: ./gls254.h:27:22: note: previous definition is here
dh.c: typedef unsigned int uint128_t __attribute__((mode(TI)));
dh.c: ^
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:19:23: warning: redefinition of typedef 'ui64' is a C11 feature [-Wtypedef-redefinition]
dh.c: typedef unsigned long ui64;
dh.c: ^
dh.c: ./gls254.h:26:23: note: previous definition is here
dh.c: typedef unsigned long ui64;
dh.c: ^
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:20:14: warning: redefinition of typedef 'elt' is a C11 feature [-Wtypedef-redefinition]
dh.c: typedef ui64 elt[2];
dh.c: ^
dh.c: ./gls254.h:34:14: note: previous definition is here
dh.c: typedef ui64 elt[2];
dh.c: ^
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:21:14: warning: redefinition of typedef 'elt254' is a C11 feature [-Wtypedef-redefinition]
dh.c: typedef ui64 elt254[4];
dh.c: ...

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

Compiler output

Implementation: crypto_dh/gls254/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
dh.c: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:204:14: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
dh.c: if (num[0] & 0x1 == 1) {
dh.c: ^~~~~~~~~~
dh.c: ./scmul.incl:204:14: note: place parentheses around the '==' expression to silence this warning
dh.c: if (num[0] & 0x1 == 1) {
dh.c: ^
dh.c: ( )
dh.c: ./scmul.incl:204:14: note: place parentheses around the & expression to evaluate it first
dh.c: if (num[0] & 0x1 == 1) {
dh.c: ^
dh.c: ( )
dh.c: 1 warning generated.

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

Compiler output

Implementation: crypto_dh/gls254/ref
Compiler: clang -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
dh.c: clang-3.3: warning: argument unused during compilation: '-fpolly'
dh.c: In file included from dh.c:3:
dh.c: In file included from ./gls254.h:18:
dh.c: /usr/bin/../lib64/clang/3.3/include/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
dh.c: # error "AES/PCLMUL instructions not enabled"
dh.c: ^
dh.c: In file included from dh.c:6:
dh.c: ./curves.incl:53:2: warning: implicit declaration of function '_mm_aeskeygenassist_si128' is invalid in C99 [-Wimplicit-function-declaration]
dh.c: STEP(k, t, tmp, 16*1, 0x01);
dh.c: ^
dh.c: ./gls254.h:272:6: note: expanded from macro 'STEP'
dh.c: t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c: ^
dh.c: In file included from dh.c:6:
dh.c: ./curves.incl:53:2: error: assigning to '__m128i' from incompatible type 'int'
dh.c: STEP(k, t, tmp, 16*1, 0x01);
dh.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~
dh.c: ./gls254.h:272:4: note: expanded from macro 'STEP'
dh.c: t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dh.c: In file included from dh.c:6:
dh.c: ./curves.incl:54:2: error: assigning to '__m128i' from incompatible type 'int'
dh.c: STEP(k, t, tmp, 16*2, 0x02);
dh.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~
dh.c: ./gls254.h:272:4: note: expanded from macro 'STEP'
dh.c: ...

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 ref

Compiler output

Implementation: crypto_dh/gls254/prot
Compiler: clang -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
dh.c: clang-3.3: warning: argument unused during compilation: '-fpolly'
dh.c: In file included from dh.c:3:
dh.c: In file included from ./gls254.h:18:
dh.c: /usr/bin/../lib64/clang/3.3/include/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
dh.c: # error "AES/PCLMUL instructions not enabled"
dh.c: ^
dh.c: In file included from dh.c:7:
dh.c: ./low.incl:26:2: warning: implicit declaration of function '_mm_clmulepi64_si128' is invalid in C99 [-Wimplicit-function-declaration]
dh.c: MUL4(m1, m0, ma, mb);
dh.c: ^
dh.c: ./gls254.h:155:7: note: expanded from macro 'MUL4'
dh.c: r0 = _mm_clmulepi64_si128(ma, mb, 0x00);\
dh.c: ^
dh.c: In file included from dh.c:7:
dh.c: ./low.incl:26:2: error: assigning to '__m128i' from incompatible type 'int'
dh.c: MUL4(m1, m0, ma, mb);
dh.c: ^~~~~~~~~~~~~~~~~~~~
dh.c: ./gls254.h:155:5: note: expanded from macro 'MUL4'
dh.c: r0 = _mm_clmulepi64_si128(ma, mb, 0x00);\
dh.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dh.c: In file included from dh.c:7:
dh.c: ./low.incl:26:2: error: assigning to '__m128i' from incompatible type 'int'
dh.c: MUL4(m1, m0, ma, mb);
dh.c: ^~~~~~~~~~~~~~~~~~~~
dh.c: ./gls254.h:156:5: note: expanded from macro 'MUL4'
dh.c: ...

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 prot

Compiler output

Implementation: crypto_dh/gls254/ref
Compiler: gcc-4.7
dh.c: In file included from gls254.h:18:0,
dh.c: from dh.c:3:
dh.c: /usr/lib64/gcc/x86_64-suse-linux/4.7/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
dh.c: In file included from dh.c:6:0:
dh.c: curves.incl: In function 'AESkeyExp':
dh.c: curves.incl:53:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:54:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:55:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:56:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:57:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:58:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:59:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:60:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:61:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:62:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl: In function 'AESenc':
dh.c: curves.incl:75:5: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:79:4: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: In file included from dh.c:7:0:
dh.c: low.incl: In function 'low_mul':
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:27:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl: In function 'low_mul254':
dh.c: ...

Number of similar (compiler,implementation) pairs: 70, namely:
CompilerImplementations
gcc-4.7 ref
gcc-4.7 -O2 -fomit-frame-pointer ref
gcc-4.7 -O3 -fomit-frame-pointer ref
gcc-4.7 -O -fomit-frame-pointer ref
gcc-4.7 -Os -fomit-frame-pointer ref
gcc-4.7 -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc-4.7 -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc-4.7 -fno-schedule-insns -O -fomit-frame-pointer ref
gcc-4.7 -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc-4.7 -funroll-loops ref
gcc-4.7 -funroll-loops -O2 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -O3 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -O -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -Os -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -O2 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -O3 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -O -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -Os -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=barcelona -O -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=barcelona -Os -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=k8 -O2 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=k8 -O -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=k8 -Os -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=nocona -O2 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=nocona -O3 -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=nocona -O -fomit-frame-pointer ref
gcc-4.7 -funroll-loops -march=nocona -Os -fomit-frame-pointer ref
gcc-4.7 -m64 -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -O3 -fomit-frame-pointer ref
gcc-4.7 -m64 -O -fomit-frame-pointer ref
gcc-4.7 -m64 -Os -fomit-frame-pointer ref
gcc-4.7 -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=k8 -O -fomit-frame-pointer ref
gcc-4.7 -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc-4.7 -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=nocona -O -fomit-frame-pointer ref
gcc-4.7 -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc-4.7 -march=barcelona -O2 -fomit-frame-pointer ref
gcc-4.7 -march=barcelona -O3 -fomit-frame-pointer ref
gcc-4.7 -march=barcelona -O -fomit-frame-pointer ref
gcc-4.7 -march=barcelona -Os -fomit-frame-pointer ref
gcc-4.7 -march=k8 -O2 -fomit-frame-pointer ref
gcc-4.7 -march=k8 -O3 -fomit-frame-pointer ref
gcc-4.7 -march=k8 -O -fomit-frame-pointer ref
gcc-4.7 -march=k8 -Os -fomit-frame-pointer ref
gcc-4.7 -march=nocona -O2 -fomit-frame-pointer ref
gcc-4.7 -march=nocona -O3 -fomit-frame-pointer ref
gcc-4.7 -march=nocona -O -fomit-frame-pointer ref
gcc-4.7 -march=nocona -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_dh/gls254/prot
Compiler: gcc-4.7
dh.c: In file included from gls254.h:18:0,
dh.c: from dh.c:3:
dh.c: /usr/lib64/gcc/x86_64-suse-linux/4.7/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
dh.c: In file included from dh.c:7:0:
dh.c: low.incl: In function 'low_mul':
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:27:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl: In function 'low_mul254':
dh.c: low.incl:45:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:45:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:45:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:46:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:46:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:46:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:47:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:47:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:47:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:55:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:56:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl: In function 'low_mul_nr254':
dh.c: low.incl:74:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:74:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:74:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: ...

Number of similar (compiler,implementation) pairs: 70, namely:
CompilerImplementations
gcc-4.7 prot
gcc-4.7 -O2 -fomit-frame-pointer prot
gcc-4.7 -O3 -fomit-frame-pointer prot
gcc-4.7 -O -fomit-frame-pointer prot
gcc-4.7 -Os -fomit-frame-pointer prot
gcc-4.7 -fno-schedule-insns -O2 -fomit-frame-pointer prot
gcc-4.7 -fno-schedule-insns -O3 -fomit-frame-pointer prot
gcc-4.7 -fno-schedule-insns -O -fomit-frame-pointer prot
gcc-4.7 -fno-schedule-insns -Os -fomit-frame-pointer prot
gcc-4.7 -funroll-loops prot
gcc-4.7 -funroll-loops -O2 -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -O3 -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -O -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -Os -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -m64 -O2 -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -m64 -O3 -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -m64 -O -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -m64 -Os -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -march=barcelona -O2 -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -march=barcelona -O3 -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -march=barcelona -O -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -march=barcelona -Os -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -march=k8 -O2 -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -march=k8 -O3 -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -march=k8 -O -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -march=k8 -Os -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -march=nocona -O2 -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -march=nocona -O3 -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -march=nocona -O -fomit-frame-pointer prot
gcc-4.7 -funroll-loops -march=nocona -Os -fomit-frame-pointer prot
gcc-4.7 -m64 -O2 -fomit-frame-pointer prot
gcc-4.7 -m64 -O3 -fomit-frame-pointer prot
gcc-4.7 -m64 -O -fomit-frame-pointer prot
gcc-4.7 -m64 -Os -fomit-frame-pointer prot
gcc-4.7 -m64 -march=k8 -O2 -fomit-frame-pointer prot
gcc-4.7 -m64 -march=k8 -O3 -fomit-frame-pointer prot
gcc-4.7 -m64 -march=k8 -O -fomit-frame-pointer prot
gcc-4.7 -m64 -march=k8 -Os -fomit-frame-pointer prot
gcc-4.7 -m64 -march=nocona -O2 -fomit-frame-pointer prot
gcc-4.7 -m64 -march=nocona -O3 -fomit-frame-pointer prot
gcc-4.7 -m64 -march=nocona -O -fomit-frame-pointer prot
gcc-4.7 -m64 -march=nocona -Os -fomit-frame-pointer prot
gcc-4.7 -march=barcelona -O2 -fomit-frame-pointer prot
gcc-4.7 -march=barcelona -O3 -fomit-frame-pointer prot
gcc-4.7 -march=barcelona -O -fomit-frame-pointer prot
gcc-4.7 -march=barcelona -Os -fomit-frame-pointer prot
gcc-4.7 -march=k8 -O2 -fomit-frame-pointer prot
gcc-4.7 -march=k8 -O3 -fomit-frame-pointer prot
gcc-4.7 -march=k8 -O -fomit-frame-pointer prot
gcc-4.7 -march=k8 -Os -fomit-frame-pointer prot
gcc-4.7 -march=nocona -O2 -fomit-frame-pointer prot
gcc-4.7 -march=nocona -O3 -fomit-frame-pointer prot
gcc-4.7 -march=nocona -O -fomit-frame-pointer prot
gcc-4.7 -march=nocona -Os -fomit-frame-pointer prot

Compiler output

Implementation: crypto_dh/gls254/ref
Compiler: gcc-4.7 -m64 -march=barcelona -O2 -fomit-frame-pointer
dh.c: In file included from gls254.h:18:0,
dh.c: from dh.c:3:
dh.c: /usr/lib64/gcc/x86_64-suse-linux/4.7/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
dh.c: In file included from dh.c:6:0:
dh.c: curves.incl: In function 'AESkeyExp':
dh.c: curves.incl:53:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:54:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:55:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:56:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:57:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:58:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:59:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:60:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:61:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:62:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl: In function 'AESenc':
dh.c: curves.incl:75:5: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:79:4: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: In file included from dh.c:7:0:
dh.c: low.incl: In function 'low_mul':
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:27:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl: In function 'low_mul254':
dh.c: ...
dh.c: In file included from gls254.h:18:0,
dh.c: from dh.c:3:
dh.c: /usr/lib64/gcc/x86_64-suse-linux/4.7/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
dh.c: In file included from dh.c:6:0:
dh.c: curves.incl: In function 'AESkeyExp':
dh.c: curves.incl:53:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:54:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:55:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:56:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:57:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:58:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:59:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:60:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:61:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:62:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl: In function 'AESenc':
dh.c: curves.incl:75:5: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:79:4: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: In file included from dh.c:7:0:
dh.c: low.incl: In function 'low_mul':
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:27:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl: In function 'low_mul254':
dh.c: ...

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

Compiler output

Implementation: crypto_dh/gls254/prot
Compiler: gcc-4.7 -m64 -march=barcelona -O2 -fomit-frame-pointer
dh.c: In file included from gls254.h:18:0,
dh.c: from dh.c:3:
dh.c: /usr/lib64/gcc/x86_64-suse-linux/4.7/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
dh.c: In file included from dh.c:7:0:
dh.c: low.incl: In function 'low_mul':
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:27:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl: In function 'low_mul254':
dh.c: low.incl:45:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:45:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:45:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:46:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:46:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:46:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:47:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:47:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:47:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:55:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:56:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl: In function 'low_mul_nr254':
dh.c: low.incl:74:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:74:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:74:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: ...
dh.c: In file included from gls254.h:18:0,
dh.c: from dh.c:3:
dh.c: /usr/lib64/gcc/x86_64-suse-linux/4.7/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
dh.c: In file included from dh.c:7:0:
dh.c: low.incl: In function 'low_mul':
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:27:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl: In function 'low_mul254':
dh.c: low.incl:45:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:45:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:45:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:46:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:46:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:46:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:47:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:47:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:47:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:55:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:56:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl: In function 'low_mul_nr254':
dh.c: low.incl:74:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:74:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:74:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: ...

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

Compiler output

Implementation: crypto_dh/gls254/ref
Compiler: gcc-4.7 -m64 -march=core2 -O2 -fomit-frame-pointer
dh.c: In file included from gls254.h:18:0,
dh.c: from dh.c:3:
dh.c: /usr/lib64/gcc/x86_64-suse-linux/4.7/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
dh.c: In file included from dh.c:6:0:
dh.c: curves.incl: In function 'AESkeyExp':
dh.c: curves.incl:53:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:54:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:55:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:56:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:57:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:58:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:59:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:60:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:61:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:62:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl: In function 'AESenc':
dh.c: curves.incl:75:5: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: curves.incl:79:4: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: In file included from dh.c:7:0:
dh.c: low.incl: In function 'low_mul':
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl: In function 'low_mul254':
dh.c: low.incl:45:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: ...

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc-4.7 -m64 -march=core2 -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -O3 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -O -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -Os -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc-4.7 -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc-4.7 -m64 -march=corei7 -O2 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=corei7 -O3 -fomit-frame-pointer ref
gcc-4.7 -m64 -march=corei7 -O -fomit-frame-pointer ref
gcc-4.7 -m64 -march=corei7 -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_dh/gls254/prot
Compiler: gcc-4.7 -m64 -march=core2 -O2 -fomit-frame-pointer
dh.c: In file included from gls254.h:18:0,
dh.c: from dh.c:3:
dh.c: /usr/lib64/gcc/x86_64-suse-linux/4.7/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
dh.c: In file included from dh.c:7:0:
dh.c: low.incl: In function 'low_mul':
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:26:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl: In function 'low_mul254':
dh.c: low.incl:45:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:45:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:45:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:46:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:46:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:46:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:47:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:47:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:47:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl: In function 'low_mul_nr254':
dh.c: low.incl:74:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:74:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:74:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:75:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:75:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: low.incl:75:2: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: ...

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc-4.7 -m64 -march=core2 -O2 -fomit-frame-pointer prot
gcc-4.7 -m64 -march=core2 -O3 -fomit-frame-pointer prot
gcc-4.7 -m64 -march=core2 -O -fomit-frame-pointer prot
gcc-4.7 -m64 -march=core2 -Os -fomit-frame-pointer prot
gcc-4.7 -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer prot
gcc-4.7 -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer prot
gcc-4.7 -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer prot
gcc-4.7 -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer prot
gcc-4.7 -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer prot
gcc-4.7 -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer prot
gcc-4.7 -m64 -march=core2 -msse4 -O -fomit-frame-pointer prot
gcc-4.7 -m64 -march=core2 -msse4 -Os -fomit-frame-pointer prot
gcc-4.7 -m64 -march=corei7 -O2 -fomit-frame-pointer prot
gcc-4.7 -m64 -march=corei7 -O3 -fomit-frame-pointer prot
gcc-4.7 -m64 -march=corei7 -O -fomit-frame-pointer prot
gcc-4.7 -m64 -march=corei7 -Os -fomit-frame-pointer prot

Compiler output

Implementation: crypto_dh/gls254/ref
Compiler: gcc-4.8 -m64 -march=barcelona -O2 -fomit-frame-pointer
dh.c: In file included from gls254.h:18:0,
dh.c: from dh.c:3:
dh.c: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
dh.c: # error "AES/PCLMUL instructions not enabled"
dh.c: ^
dh.c: In file included from dh.c:3:0:
dh.c: curves.incl: In function 'AESkeyExp':
dh.c: gls254.h:272:4: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c: ^
dh.c: curves.incl:53:2: note: in expansion of macro 'STEP'
dh.c: STEP(k, t, tmp, 16*1, 0x01);
dh.c: ^
dh.c: gls254.h:272:4: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c: ^
dh.c: curves.incl:54:2: note: in expansion of macro 'STEP'
dh.c: STEP(k, t, tmp, 16*2, 0x02);
dh.c: ^
dh.c: gls254.h:272:4: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c: ^
dh.c: curves.incl:55:2: note: in expansion of macro 'STEP'
dh.c: STEP(k, t, tmp, 16*3, 0x04);
dh.c: ^
dh.c: ...
dh.c: In file included from gls254.h:18:0,
dh.c: from dh.c:3:
dh.c: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
dh.c: # error "AES/PCLMUL instructions not enabled"
dh.c: ^
dh.c: In file included from dh.c:3:0:
dh.c: curves.incl: In function 'AESkeyExp':
dh.c: gls254.h:272:4: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c: ^
dh.c: curves.incl:53:2: note: in expansion of macro 'STEP'
dh.c: STEP(k, t, tmp, 16*1, 0x01);
dh.c: ^
dh.c: gls254.h:272:4: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c: ^
dh.c: curves.incl:54:2: note: in expansion of macro 'STEP'
dh.c: STEP(k, t, tmp, 16*2, 0x02);
dh.c: ^
dh.c: gls254.h:272:4: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: t = _mm_aeskeygenassist_si128(k, rcon);\
dh.c: ^
dh.c: curves.incl:55:2: note: in expansion of macro 'STEP'
dh.c: STEP(k, t, tmp, 16*3, 0x04);
dh.c: ^
dh.c: ...

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

Compiler output

Implementation: crypto_dh/gls254/prot
Compiler: gcc-4.8 -m64 -march=barcelona -O2 -fomit-frame-pointer
dh.c: In file included from gls254.h:18:0,
dh.c: from dh.c:3:
dh.c: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
dh.c: # error "AES/PCLMUL instructions not enabled"
dh.c: ^
dh.c: In file included from dh.c:3:0:
dh.c: low.incl: In function 'low_mul':
dh.c: gls254.h:155:5: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: r0 = _mm_clmulepi64_si128(ma, mb, 0x00);\
dh.c: ^
dh.c: low.incl:26:2: note: in expansion of macro 'MUL4'
dh.c: MUL4(m1, m0, ma, mb);
dh.c: ^
dh.c: gls254.h:156:5: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: r1 = _mm_clmulepi64_si128(ma, mb, 0x11);\
dh.c: ^
dh.c: low.incl:26:2: note: in expansion of macro 'MUL4'
dh.c: MUL4(m1, m0, ma, mb);
dh.c: ^
dh.c: gls254.h:157:5: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: t0 = _mm_clmulepi64_si128(t0, t0, 0x10);\
dh.c: ^
dh.c: low.incl:26:2: note: in expansion of macro 'MUL4'
dh.c: MUL4(m1, m0, ma, mb);
dh.c: ^
dh.c: ...
dh.c: In file included from gls254.h:18:0,
dh.c: from dh.c:3:
dh.c: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
dh.c: # error "AES/PCLMUL instructions not enabled"
dh.c: ^
dh.c: In file included from dh.c:3:0:
dh.c: low.incl: In function 'low_mul':
dh.c: gls254.h:155:5: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: r0 = _mm_clmulepi64_si128(ma, mb, 0x00);\
dh.c: ^
dh.c: low.incl:26:2: note: in expansion of macro 'MUL4'
dh.c: MUL4(m1, m0, ma, mb);
dh.c: ^
dh.c: gls254.h:156:5: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: r1 = _mm_clmulepi64_si128(ma, mb, 0x11);\
dh.c: ^
dh.c: low.incl:26:2: note: in expansion of macro 'MUL4'
dh.c: MUL4(m1, m0, ma, mb);
dh.c: ^
dh.c: gls254.h:157:5: error: incompatible types when assigning to type '__m128i' from type 'int'
dh.c: t0 = _mm_clmulepi64_si128(t0, t0, 0x10);\
dh.c: ^
dh.c: low.incl:26:2: note: in expansion of macro 'MUL4'
dh.c: MUL4(m1, m0, ma, mb);
dh.c: ^
dh.c: ...

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