Implementation notes: amd64, sliver, crypto_sign/3icp

Computer: sliver
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20160731
Operation: crypto_sign
Primitive: 3icp
TimeImplementationCompilerBenchmark dateSUPERCOP version
3751902refg++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072520160718
3801066refg++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072520160718
4209942refg++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072520160718
4548750refg++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072520160718

Compiler output

Implementation: crypto_sign/3icp/ref
Compiler: clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
ThreeIC_p-test.cpp: In file included from ThreeIC_p-test.cpp:16:
ThreeIC_p-test.cpp: In file included from ./ThreeIC_p.h:6:
ThreeIC_p-test.cpp: ./tower.h:364:9: error: argument to '__builtin_ia32_palignr128' must be a constant integer
ThreeIC_p-test.cpp: return _mm_alignr_epi8(a1, a0, i*2);
ThreeIC_p-test.cpp: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ThreeIC_p-test.cpp: /usr/local/bin/../lib/clang/3.5/include/tmmintrin.h:72:12: note: expanded from macro '_mm_alignr_epi8'
ThreeIC_p-test.cpp: (__m128i)__builtin_ia32_palignr128((__v16qi)__a, (__v16qi)__b, (n)); })
ThreeIC_p-test.cpp: ^ ~~~
ThreeIC_p-test.cpp: In file included from ThreeIC_p-test.cpp:16:
ThreeIC_p-test.cpp: In file included from ./ThreeIC_p.h:6:
ThreeIC_p-test.cpp: ./tower.h:364:9: error: cannot initialize return object of type '__m128i' with an rvalue of type 'void'
ThreeIC_p-test.cpp: return _mm_alignr_epi8(a1, a0, i*2);
ThreeIC_p-test.cpp: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ThreeIC_p-test.cpp: /usr/local/bin/../lib/clang/3.5/include/tmmintrin.h:69:34: note: expanded from macro '_mm_alignr_epi8'
ThreeIC_p-test.cpp: #define _mm_alignr_epi8(a, b, n) __extension__ ({ \
ThreeIC_p-test.cpp: ^~~~~~~~~~~~~~~~~~
ThreeIC_p-test.cpp: 2 errors generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: crypto_sign/3icp/ref
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.cpp: /tmp//cc6bGJzX.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.cpp: crypto_sign_3icp.a(ThreeIC_p-test.o): In function `signatureofshorthash(unsigned char*, unsigned long long*, unsigned char const*, unsigned long long, unsigned char const*, unsigned long long)':
try.cpp: ThreeIC_p-test.cpp:(.text+0x...): warning: warning: rand() may return deterministic values, is that what you want?
try.cpp: /tmp//ccMrWzHw.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.cpp: crypto_sign_3icp.a(ThreeIC_p-test.o): In function `signatureofshorthash(unsigned char*, unsigned long long*, unsigned char const*, unsigned long long, unsigned char const*, unsigned long long)':
try.cpp: ThreeIC_p-test.cpp:(.text+0x...): warning: warning: rand() may return deterministic values, is that what you want?
measure.cpp: crypto_sign_3icp.a(ThreeIC_p-test.o): In function `signatureofshorthash(unsigned char*, unsigned long long*, unsigned char const*, unsigned long long, unsigned char const*, unsigned long long)':
measure.cpp: ThreeIC_p-test.cpp:(.text+0x...): warning: warning: rand() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref

Compiler output

Implementation: crypto_sign/3icp/ref
Compiler: g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
try.cpp: /tmp//cc1KYwYk.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.cpp: crypto_sign_3icp.a(ThreeIC_p-test.o): In function `signatureofshorthash(unsigned char*, unsigned long long*, unsigned char const*, unsigned long long, unsigned char const*, unsigned long long)':
try.cpp: ThreeIC_p-test.cpp:(.text+0x...): warning: warning: rand() may return deterministic values, is that what you want?
try.cpp: /tmp//cczh0JFs.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.cpp: crypto_sign_3icp.a(ThreeIC_p-test.o): In function `signatureofshorthash(unsigned char*, unsigned long long*, unsigned char const*, unsigned long long, unsigned char const*, unsigned long long)':
try.cpp: ThreeIC_p-test.cpp:(.text+0x...): warning: warning: rand() may return deterministic values, is that what you want?
measure.cpp: crypto_sign_3icp.a(ThreeIC_p-test.o): In function `signatureofshorthash(unsigned char*, unsigned long long*, unsigned char const*, unsigned long long, unsigned char const*, unsigned long long)':
measure.cpp: ThreeIC_p-test.cpp:(.text+0x...): warning: warning: rand() may return deterministic values, is that what you want?

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

Compiler output

Implementation: crypto_sign/3icp/ref
Compiler: g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
try.cpp: /tmp//cc1upya7.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.cpp: crypto_sign_3icp.a(ThreeIC_p-test.o): In function `signatureofshorthash(unsigned char*, unsigned long long*, unsigned char const*, unsigned long long, unsigned char const*, unsigned long long)':
try.cpp: ThreeIC_p-test.cpp:(.text+0x...): warning: warning: rand() may return deterministic values, is that what you want?
try.cpp: /tmp//cceBGTZv.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.cpp: crypto_sign_3icp.a(ThreeIC_p-test.o): In function `signatureofshorthash(unsigned char*, unsigned long long*, unsigned char const*, unsigned long long, unsigned char const*, unsigned long long)':
try.cpp: ThreeIC_p-test.cpp:(.text+0x...): warning: warning: rand() may return deterministic values, is that what you want?
measure.cpp: crypto_sign_3icp.a(ThreeIC_p-test.o): In function `signatureofshorthash(unsigned char*, unsigned long long*, unsigned char const*, unsigned long long, unsigned char const*, unsigned long long)':
measure.cpp: ThreeIC_p-test.cpp:(.text+0x...): warning: warning: rand() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref

Compiler output

Implementation: crypto_sign/3icp/ref
Compiler: g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
try.cpp: /tmp//ccue0A0Z.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.cpp: crypto_sign_3icp.a(ThreeIC_p-test.o): In function `gfgt;::rand_unit()':
try.cpp: ThreeIC_p-test.cpp:(.gnu.linkonce.t._ZN2gfILj31EE9rand_unitEv+0x9): warning: warning: rand() may return deterministic values, is that what you want?
try.cpp: /tmp//ccwM273q.o: In function `alignedcalloc(unsigned long long)':
try.cpp: try-anything.cpp:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.cpp: crypto_sign_3icp.a(ThreeIC_p-test.o): In function `gfgt;::rand_unit()':
try.cpp: ThreeIC_p-test.cpp:(.gnu.linkonce.t._ZN2gfILj31EE9rand_unitEv+0x9): warning: warning: rand() may return deterministic values, is that what you want?
measure.cpp: crypto_sign_3icp.a(ThreeIC_p-test.o): In function `gfgt;::rand_unit()':
measure.cpp: ThreeIC_p-test.cpp:(.gnu.linkonce.t._ZN2gfILj31EE9rand_unitEv+0x9): warning: warning: rand() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref