Implementation notes: amd64, mangetsu, crypto_stream/amastrid

Computer: mangetsu
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_stream
Primitive: amastrid
TimeImplementationCompilerBenchmark dateSUPERCOP version
73560refg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014091420140907
74804refg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014091420140907
75688refg++ -m64 -march=corei7 -O3 -fomit-frame-pointer2014091420140907
75728refg++ -m64 -march=core2 -O3 -fomit-frame-pointer2014091420140907
75808refg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014091420140907
76032refg++ -march=k8 -O3 -fomit-frame-pointer2014091420140907
76080refg++ -m64 -march=k8 -O3 -fomit-frame-pointer2014091420140907
76124refg++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer2014091420140907
76216refg++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer2014091420140907
76408refg++ -march=barcelona -O3 -fomit-frame-pointer2014091420140907
76436refg++ -m64 -march=nocona -O3 -fomit-frame-pointer2014091420140907
76476refg++ -march=nocona -O3 -fomit-frame-pointer2014091420140907
76480refg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014091420140907
76484refg++ -fno-schedule-insns -O3 -fomit-frame-pointer2014091420140907
76520refg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2014091420140907
76744refg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014091420140907
76988refg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014091420140907
77012refg++ -m64 -march=barcelona -O -fomit-frame-pointer2014091420140907
77036refg++ -O3 -fomit-frame-pointer2014091420140907
77040refg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014091420140907
77076refg++ -m64 -march=corei7 -O2 -fomit-frame-pointer2014091420140907
77148refg++ -m64 -march=corei7 -O -fomit-frame-pointer2014091420140907
77148refg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2014091420140907
77188refg++ -m64 -march=nocona -O -fomit-frame-pointer2014091420140907
77228refg++ -m64 -O -fomit-frame-pointer2014091420140907
77288refg++ -m64 -O3 -fomit-frame-pointer2014091420140907
77316refg++ -m64 -march=core2 -O2 -fomit-frame-pointer2014091420140907
77384refg++ -m64 -march=core-avx-i -O -fomit-frame-pointer2014091420140907
77384refg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014091420140907
77468refg++ -m64 -march=core2 -O -fomit-frame-pointer2014091420140907
77580refg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2014091420140907
77640refclang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101820141014
77652refclang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer2014091420140907
77656refg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014091420140907
77716refg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014091420140907
77760refg++ -m64 -march=nocona -O2 -fomit-frame-pointer2014091420140907
77788refg++ -m64 -march=corei7-avx -O -fomit-frame-pointer2014091420140907
77800refg++ -march=barcelona -O2 -fomit-frame-pointer2014091420140907
77828refg++ -O -fomit-frame-pointer2014091420140907
78036refg++ -march=nocona -O2 -fomit-frame-pointer2014091420140907
78180refg++ -fno-schedule-insns -O -fomit-frame-pointer2014091420140907
78204refg++ -m64 -O2 -fomit-frame-pointer2014091420140907
78244refg++ -march=nocona -O -fomit-frame-pointer2014091420140907
78416refg++ -O2 -fomit-frame-pointer2014091420140907
78512refg++ -fno-schedule-insns -O2 -fomit-frame-pointer2014091420140907
78796refg++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer2014091420140907
78920refg++ -march=barcelona -O -fomit-frame-pointer2014091420140907
79220refg++ -march=k8 -O -fomit-frame-pointer2014091420140907
79296refg++ -m64 -march=k8 -O -fomit-frame-pointer2014091420140907
79416refclang++ -O3 -fwrapv -march=native -fomit-frame-pointer2014091420140907
79416refclang++ -O3 -fwrapv -mavx -fomit-frame-pointer2014091420140907
79476refclang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer2014101820141014
79532refg++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer2014091420140907
79636refg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014091420140907
79756refclang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014091420140907
79812refclang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101820141014
80000refg++ -march=k8 -O2 -fomit-frame-pointer2014091420140907
80372refclang++ -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014091420140907
80820refclang++ -O3 -fomit-frame-pointer2014091420140907
80956refg++ -m64 -march=k8 -O2 -fomit-frame-pointer2014091420140907
121732refg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014091420140907
122724refg++ -march=nocona -Os -fomit-frame-pointer2014091420140907
122812refg++ -m64 -march=nocona -Os -fomit-frame-pointer2014091420140907
122944refg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014091420140907
122972refg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014091420140907
122988refg++ -m64 -march=core-avx-i -Os -fomit-frame-pointer2014091420140907
123016refg++ -m64 -march=core2 -Os -fomit-frame-pointer2014091420140907
123128refg++ -m64 -march=corei7 -Os -fomit-frame-pointer2014091420140907
123204refg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014091420140907
123320refg++ -m64 -march=barcelona -Os -fomit-frame-pointer2014091420140907
123352refg++ -march=barcelona -Os -fomit-frame-pointer2014091420140907
123584refg++ -march=k8 -Os -fomit-frame-pointer2014091420140907
123704refg++ -Os -fomit-frame-pointer2014091420140907
123984refg++ -m64 -Os -fomit-frame-pointer2014091420140907
124060refg++ -m64 -march=corei7-avx -Os -fomit-frame-pointer2014091420140907
125012refg++ -m64 -march=k8 -Os -fomit-frame-pointer2014091420140907
125228refg++ -fno-schedule-insns -Os -fomit-frame-pointer2014091420140907
222212refg++2014091420140907

Test failure

Implementation: crypto_stream/amastrid/ref
Compiler: g++ -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
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

Compiler output

Implementation: crypto_stream/amastrid/ref
Compiler: clang++ -O3 -fwrapv -march=native -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
Amastrid.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
Counter.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
CounterMode.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
Expansion.cpp: clang-3.3: warning: argument unused during compilation: '-fpolly'
stream.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_stream/amastrid/ref
Compiler: clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
Amastrid.cpp: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'
Counter.cpp: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'
CounterMode.cpp: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'
Expansion.cpp: clang-3.3: warning: argument unused during compilation: '-mcpu=core-avx2'
stream.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