Implementation notes: amd64, bulldozer, crypto_sign/sflashv2

Computer: bulldozer
Architecture: amd64
CPU ID: AuthenticAMD-00600f12-178bfbff
SUPERCOP version: 20120709
Operation: crypto_sign
Primitive: sflashv2
TimeImplementationCompilerBenchmark dateSUPERCOP version
880176refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012053120120525
931020refgcc -funroll-loops -O2 -fomit-frame-pointer2012053120120525
940331refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012053120120525
943014refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012053120120525
946921refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012053120120525
954405refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012053120120525
972964refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012053120120525
981011refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012053120120525
983694refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012053120120525
993516refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012053120120525
1001470refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012053120120525
1004668refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012053120120525
1009214refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012053120120525
1009578refgcc -funroll-loops -O -fomit-frame-pointer2012053120120525
1015343refgcc -funroll-loops -m64 -O -fomit-frame-pointer2012053120120525
1020062refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012053120120525
1032135refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012053120120525
1032185refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012053120120525
1110071refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012053120120525
1118433refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012053120120525
1129005refgcc -m64 -march=k8 -O -fomit-frame-pointer2012053120120525
1136846refgcc -m64 -march=nocona -O -fomit-frame-pointer2012053120120525
1137989refgcc -march=barcelona -O -fomit-frame-pointer2012053120120525
1140009refgcc -march=k8 -O -fomit-frame-pointer2012053120120525
1143175refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012053120120525
1145648refgcc -fno-schedule-insns -O -fomit-frame-pointer2012053120120525
1145884refgcc -m64 -march=core2 -O -fomit-frame-pointer2012053120120525
1148177refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012053120120525
1148464refgcc -m64 -march=barcelona -O -fomit-frame-pointer2012053120120525
1149190refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012053120120525
1149481refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012053120120525
1149573refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2012053120120525
1150148refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012053120120525
1150319refgcc -funroll-loops -Os -fomit-frame-pointer2012053120120525
1151939refgcc -m64 -O -fomit-frame-pointer2012053120120525
1152740refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012053120120525
1153373refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012053120120525
1153433refgcc -march=nocona -O -fomit-frame-pointer2012053120120525
1155882refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012053120120525
1160147refgcc -m64 -march=corei7 -O -fomit-frame-pointer2012053120120525
1162281refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012053120120525
1162457refgcc -O -fomit-frame-pointer2012053120120525
1165427refgcc -march=k8 -Os -fomit-frame-pointer2012053120120525
1165476refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012053120120525
1167277refgcc -Os -fomit-frame-pointer2012053120120525
1167567refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012053120120525
1168566refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2012053120120525
1168657refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012053120120525
1168965refgcc -fno-schedule-insns -Os -fomit-frame-pointer2012053120120525
1169083refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2012053120120525
1169139refgcc -m64 -march=k8 -Os -fomit-frame-pointer2012053120120525
1169540refgcc -march=barcelona -Os -fomit-frame-pointer2012053120120525
1169900refgcc -m64 -Os -fomit-frame-pointer2012053120120525
1170076refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012053120120525
1190178refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012053120120525
1203715refgcc -march=nocona -Os -fomit-frame-pointer2012053120120525
1204424refgcc -m64 -march=nocona -Os -fomit-frame-pointer2012053120120525
1227167refgcc -m64 -march=core2 -Os -fomit-frame-pointer2012053120120525
1245854refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012053120120525
1269765refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012053120120525
1287218refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012053120120525
1300162refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012053120120525
1301317refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012053120120525
1302560refgcc -funroll-loops -O3 -fomit-frame-pointer2012053120120525
1329658refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012053120120525
1342556refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012053120120525
1362431refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012053120120525
1364998refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2012053120120525
1366278refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012053120120525
1371441refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012053120120525
1375437refgcc -march=nocona -O3 -fomit-frame-pointer2012053120120525
1377452refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2012053120120525
1384222refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2012053120120525
1384508refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012053120120525
1390910refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2012053120120525
1413693refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2012053120120525
1417843refgcc -march=k8 -O3 -fomit-frame-pointer2012053120120525
1420609refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2012053120120525
1424849refgcc -O3 -fomit-frame-pointer2012053120120525
1425357refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2012053120120525
1426889refgcc -m64 -O3 -fomit-frame-pointer2012053120120525
1430776refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2012053120120525
1435427refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2012053120120525
1435688refgcc -march=nocona -O2 -fomit-frame-pointer2012053120120525
1436004refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2012053120120525
1446738refgcc -march=k8 -O2 -fomit-frame-pointer2012053120120525
1450332refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012053120120525
1451278refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2012053120120525
1462691refgcc -march=barcelona -O3 -fomit-frame-pointer2012053120120525
1464577refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012053120120525
1467261refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012053120120525
1468319refgcc -O2 -fomit-frame-pointer2012053120120525
1468707refgcc -m64 -O2 -fomit-frame-pointer2012053120120525
1468721refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2012053120120525
1468851refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2012053120120525
1470514refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2012053120120525
1470726refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2012053120120525
1477749refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012053120120525
1494417refgcc -march=barcelona -O2 -fomit-frame-pointer2012053120120525
1524824refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012053120120525
3657120refcc2012053120120525
3659473refgcc -funroll-loops2012053120120525
3730973refgcc2012053120120525

Compiler output

Implementation: crypto_sign/sflashv2/ref
Compiler: gcc -O2 -fomit-frame-pointer
lib_flash.c: lib_flash.c: In function 'Flash_load_private_key':
lib_flash.c: lib_flash.c:1019:7: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]
lib_flash.c: lib_flash.c: In function 'Flash_load_public_key':
lib_flash.c: lib_flash.c:913:7: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]
lib_flash.c: In file included from /usr/include/string.h:642:0,
lib_flash.c: from /usr/include/memory.h:30,
lib_flash.c: from lib_flash.c:1:
lib_flash.c: In function 'memset',
lib_flash.c: inlined from 'format_message1' at lib_flash.c:726:8:
lib_flash.c: /usr/include/x86_64-linux-gnu/bits/string3.h:82:30: warning: call to '__warn_memset_zero_len' declared with attribute warning: memset used with constant zero length parameter; this could be due to transposed parameters [enabled by default]
lib_flash.c: In function 'memset',
lib_flash.c: inlined from 'format_message2' at lib_flash.c:783:8:
lib_flash.c: /usr/include/x86_64-linux-gnu/bits/string3.h:82:30: warning: call to '__warn_memset_zero_len' declared with attribute warning: memset used with constant zero length parameter; this could be due to transposed parameters [enabled by default]
try.c: crypto_sign_sflashv2.a(lib_flash.o): In function `format_message1':
try.c: lib_flash.c:(.text+0x...): warning: memset used with constant zero length parameter; this could be due to transposed parameters
measure.c: crypto_sign_sflashv2.a(lib_flash.o): In function `format_message1':
measure.c: lib_flash.c:(.text+0x...): warning: memset used with constant zero length parameter; this could be due to transposed parameters

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

Compiler output

Implementation: crypto_sign/sflashv2/ref
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
lib_flash.c: lib_flash.c: In function 'Flash_load_private_key':
lib_flash.c: lib_flash.c:1019:7: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]
lib_flash.c: lib_flash.c: In function 'Flash_load_public_key':
lib_flash.c: lib_flash.c:913:7: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]
lib_flash.c: In file included from /usr/include/string.h:642:0,
lib_flash.c: from /usr/include/memory.h:30,
lib_flash.c: from lib_flash.c:1:
lib_flash.c: In function 'memset',
lib_flash.c: inlined from 'format_message1' at lib_flash.c:726:8:
lib_flash.c: /usr/include/x86_64-linux-gnu/bits/string3.h:82:30: warning: call to '__warn_memset_zero_len' declared with attribute warning: memset used with constant zero length parameter; this could be due to transposed parameters [enabled by default]
lib_flash.c: In function 'memset',
lib_flash.c: inlined from 'format_message2' at lib_flash.c:783:8:
lib_flash.c: /usr/include/x86_64-linux-gnu/bits/string3.h:82:30: warning: call to '__warn_memset_zero_len' declared with attribute warning: memset used with constant zero length parameter; this could be due to transposed parameters [enabled by default]
try.c: crypto_sign_sflashv2.a(lib_flash.o): In function `format_message1':
try.c: lib_flash.c:(.text+0x...): warning: memset used with constant zero length parameter; this could be due to transposed parameters
measure.c: crypto_sign_sflashv2.a(lib_flash.o): In function `format_message1':
measure.c: lib_flash.c:(.text+0x...): warning: memset used with constant zero length parameter; this could be due to transposed parameters
lib_flash.c: lib_flash.c: In function 'Flash_load_private_key':
lib_flash.c: lib_flash.c:1019:7: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]
lib_flash.c: lib_flash.c: In function 'Flash_load_public_key':
lib_flash.c: lib_flash.c:913:7: warning: ignoring return value of 'fread', declared with attribute warn_unused_result [-Wunused-result]
lib_flash.c: In file included from /usr/include/string.h:642:0,
lib_flash.c: from /usr/include/memory.h:30,
lib_flash.c: from lib_flash.c:1:
lib_flash.c: In function 'memset',
lib_flash.c: inlined from 'format_message1' at lib_flash.c:726:8:
lib_flash.c: /usr/include/x86_64-linux-gnu/bits/string3.h:82:30: warning: call to '__warn_memset_zero_len' declared with attribute warning: memset used with constant zero length parameter; this could be due to transposed parameters [enabled by default]
lib_flash.c: In function 'memset',
lib_flash.c: inlined from 'format_message2' at lib_flash.c:783:8:
lib_flash.c: /usr/include/x86_64-linux-gnu/bits/string3.h:82:30: warning: call to '__warn_memset_zero_len' declared with attribute warning: memset used with constant zero length parameter; this could be due to transposed parameters [enabled by default]
try.c: crypto_sign_sflashv2.a(lib_flash.o): In function `format_message1':
try.c: lib_flash.c:(.text+0x...): warning: memset used with constant zero length parameter; this could be due to transposed parameters
measure.c: crypto_sign_sflashv2.a(lib_flash.o): In function `format_message1':
measure.c: lib_flash.c:(.text+0x...): warning: memset used with constant zero length parameter; this could be due to transposed parameters

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