Implementation notes: amd64, h9ivy, crypto_sign/sflashv2

Computer: h9ivy
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_sign
Primitive: sflashv2
TimeImplementationCompilerBenchmark dateSUPERCOP version
235496refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014050520140425
235808refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014050520140425
238060refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014050520140425
238076refgcc -funroll-loops -O2 -fomit-frame-pointer2014050520140425
238144refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014050520140425
239392refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014050520140425
239580refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014050520140425
242232refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014050520140425
242260refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014050520140425
251624refgcc -funroll-loops -O3 -fomit-frame-pointer2014050520140425
253776refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014050520140425
255320refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014050520140425
255864refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014050520140425
255960refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014050520140425
256692refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014050520140425
260032refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014050520140425
260492refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014050520140425
261296refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014050520140425
308572refgcc -march=k8 -O2 -fomit-frame-pointer2014050520140425
308708refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014050520140425
308724refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014050520140425
308976refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014050520140425
309032refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014050520140425
309288refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014050520140425
309620refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014050520140425
309728refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014050520140425
309768refgcc -funroll-loops -O -fomit-frame-pointer2014050520140425
309884refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014050520140425
310844refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014050520140425
314464refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014050520140425
316768refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014050520140425
317084refgcc -march=nocona -O2 -fomit-frame-pointer2014050520140425
319972refgcc -march=barcelona -O2 -fomit-frame-pointer2014050520140425
334764refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014050520140425
335368refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014050520140425
335596refgcc -O2 -fomit-frame-pointer2014050520140425
335840refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050520140425
335912refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2014050520140425
336428refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2014050520140425
336896refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014050520140425
337012refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014050520140425
337240refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014050520140425
337712refgcc -m64 -O2 -fomit-frame-pointer2014050520140425
337956refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014050520140425
339996refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050520140425
341132refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014050520140425
341132refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014050520140425
342936refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014050520140425
343920refgcc -m64 -O3 -fomit-frame-pointer2014050520140425
344008refgcc -O3 -fomit-frame-pointer2014050520140425
344308refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014050520140425
344692refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014050520140425
345288refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2014050520140425
347912refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2014050520140425
349476refgcc -march=barcelona -O -fomit-frame-pointer2014050520140425
349668refgcc -march=nocona -O -fomit-frame-pointer2014050520140425
349852refgcc -m64 -march=nocona -O -fomit-frame-pointer2014050520140425
350024refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2014050520140425
350576refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014050520140425
350840refgcc -m64 -march=core2 -O -fomit-frame-pointer2014050520140425
351824refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014050520140425
352140refgcc -march=k8 -O3 -fomit-frame-pointer2014050520140425
352920refgcc -fno-schedule-insns -O -fomit-frame-pointer2014050520140425
353084refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014050520140425
353292refgcc -O -fomit-frame-pointer2014050520140425
353652refgcc -m64 -O -fomit-frame-pointer2014050520140425
353660refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014050520140425
353996refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014050520140425
354276refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014050520140425
354928refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2014050520140425
355756refgcc -march=nocona -O3 -fomit-frame-pointer2014050520140425
357932refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014050520140425
358176refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014050520140425
358556refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2014050520140425
359940refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014050520140425
359976refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014050520140425
359984refgcc -march=nocona -Os -fomit-frame-pointer2014050520140425
360052refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014050520140425
360440refgcc -m64 -Os -fomit-frame-pointer2014050520140425
360472refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014050520140425
360688refgcc -march=k8 -Os -fomit-frame-pointer2014050520140425
360856refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014050520140425
361224refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014050520140425
361564refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014050520140425
361956refgcc -march=barcelona -Os -fomit-frame-pointer2014050520140425
362048refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014050520140425
362144refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014050520140425
362400refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014050520140425
363232refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2014050520140425
363700refgcc -march=barcelona -O3 -fomit-frame-pointer2014050520140425
363760refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014050520140425
363804refgcc -funroll-loops -Os -fomit-frame-pointer2014050520140425
363956refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014050520140425
363984refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014050520140425
364056refgcc -Os -fomit-frame-pointer2014050520140425
364144refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014050520140425
366588refgcc -m64 -march=k8 -O -fomit-frame-pointer2014050520140425
367840refgcc -march=k8 -O -fomit-frame-pointer2014050520140425
368660refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014050520140425
371056refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014050520140425
1005656refgcc -funroll-loops2014050520140425
1006840refgcc2014050520140425
1009524refcc2014050520140425

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
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
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
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