Implementation notes: amd64, mangetsu, crypto_sign/rainbow6440

Computer: mangetsu
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: rainbow6440
TimeImplementationCompilerBenchmark dateSUPERCOP version
204544refclang++ -O3 -fomit-frame-pointer2014092720140907
207860refclang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014092720140907
207996refclang++ -O3 -fwrapv -march=native -fomit-frame-pointer2014092720140907
208892refclang++ -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014092720140907
208944refclang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer2014101820141014
209728refclang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
210560refclang++ -O3 -fwrapv -mavx -fomit-frame-pointer2014092720140907
222980refg++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer2014092720140907
223268refg++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer2014092720140907
223660refg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014092720140907
230004refg++ -m64 -march=core2 -O2 -fomit-frame-pointer2014092720140907
230676refg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014092720140907
230684refg++ -m64 -march=corei7 -O2 -fomit-frame-pointer2014092720140907
232220refg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014092720140907
234948refg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2014092720140907
236648refg++ -march=barcelona -O2 -fomit-frame-pointer2014092720140907
236864refg++ -march=k8 -O2 -fomit-frame-pointer2014092720140907
238380refg++ -m64 -march=k8 -O2 -fomit-frame-pointer2014092720140907
238504refg++ -march=nocona -O2 -fomit-frame-pointer2014092720140907
238988refg++ -m64 -march=nocona -O2 -fomit-frame-pointer2014092720140907
252784refg++ -m64 -march=core-avx-i -O -fomit-frame-pointer2014092720140907
253596refg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2014092720140907
254752refg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014092720140907
255352refg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014092720140907
256084refg++ -m64 -march=corei7-avx -O -fomit-frame-pointer2014092720140907
256116refg++ -m64 -march=corei7 -O -fomit-frame-pointer2014092720140907
257128refg++ -march=barcelona -O -fomit-frame-pointer2014092720140907
257996refg++ -m64 -march=k8 -O -fomit-frame-pointer2014092720140907
258372refg++ -m64 -march=barcelona -O -fomit-frame-pointer2014092720140907
258796refg++ -m64 -march=core2 -O -fomit-frame-pointer2014092720140907
259148refg++ -march=k8 -O -fomit-frame-pointer2014092720140907
267128refg++ -m64 -march=nocona -O -fomit-frame-pointer2014092720140907
268952refg++ -march=nocona -O -fomit-frame-pointer2014092720140907
536464refg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014092720140907
541032refg++ -m64 -march=core-avx-i -Os -fomit-frame-pointer2014092720140907
541152refg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014092720140907
544428refg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014092720140907
544824refg++ -m64 -march=corei7 -Os -fomit-frame-pointer2014092720140907
545012refg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014092720140907
545680refg++ -m64 -march=corei7-avx -Os -fomit-frame-pointer2014092720140907
546492refg++ -m64 -march=core2 -Os -fomit-frame-pointer2014092720140907
546744refg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014092720140907
551704refg++ -fno-schedule-insns -O2 -fomit-frame-pointer2014092720140907
552024refg++ -O2 -fomit-frame-pointer2014092720140907
558220refg++ -m64 -march=nocona -Os -fomit-frame-pointer2014092720140907
558752refg++ -march=nocona -Os -fomit-frame-pointer2014092720140907
559640refg++ -m64 -march=barcelona -Os -fomit-frame-pointer2014092720140907
559796refg++ -m64 -O -fomit-frame-pointer2014092720140907
559828refg++ -m64 -O2 -fomit-frame-pointer2014092720140907
560156refg++ -fno-schedule-insns -O -fomit-frame-pointer2014092720140907
560620refg++ -fno-schedule-insns -Os -fomit-frame-pointer2014092720140907
561472refg++ -m64 -Os -fomit-frame-pointer2014092720140907
561556refg++ -O -fomit-frame-pointer2014092720140907
561600refg++ -march=k8 -Os -fomit-frame-pointer2014092720140907
561744refg++ -march=barcelona -Os -fomit-frame-pointer2014092720140907
563340refg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014092720140907
573188refg++ -m64 -march=k8 -Os -fomit-frame-pointer2014092720140907
574556refg++ -Os -fomit-frame-pointer2014092720140907
2529712refg++2014092720140907

Test failure

Implementation: crypto_sign/rainbow6440/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: 5, namely:
CompilerImplementations
clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer ref
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer ref
g++ -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core-avx2 -O -fomit-frame-pointer ref
g++ -m64 -march=core-avx2 -Os -fomit-frame-pointer ref

Test failure

Implementation: crypto_sign/rainbow6440/ref
Compiler: g++ -O3 -fomit-frame-pointer
error 111
crypto_sign_open returns nonzero

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
g++ -O3 -fomit-frame-pointer ref
g++ -fno-schedule-insns -O3 -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
g++ -m64 -O3 -fomit-frame-pointer ref
g++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer ref
g++ -m64 -march=core2 -O3 -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
g++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer ref
g++ -m64 -march=corei7 -O3 -fomit-frame-pointer ref
g++ -m64 -march=k8 -O3 -fomit-frame-pointer ref
g++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
g++ -m64 -march=nocona -O3 -fomit-frame-pointer ref
g++ -march=barcelona -O3 -fomit-frame-pointer ref
g++ -march=k8 -O3 -fomit-frame-pointer ref
g++ -march=nocona -O3 -fomit-frame-pointer ref

Test failure

Implementation: crypto_sign/rainbow6440/ref
Compiler: g++ -m64 -march=barcelona -O3 -fomit-frame-pointer
error 111
crypto_sign_open returns nonzero
error 111
crypto_sign_open returns nonzero

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -m64 -march=barcelona -O3 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/rainbow6440/ref
Compiler: clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
rainbow_w-test.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
usehash.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer 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 ref

Compiler output

Implementation: crypto_sign/rainbow6440/ref
Compiler: clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
rainbow_w-test.cpp: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'
usehash.cpp: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'

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