Implementation notes: amd64, hobbes, crypto_sign/rainbowbinary16242020

Computer: hobbes
Architecture: amd64
CPU ID: AuthenticAMD-00600f20-178bfbff
SUPERCOP version: 20171218
Operation: crypto_sign
Primitive: rainbowbinary16242020
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
104539? ? ?? ? ?refclang++_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017111620171020
104737? ? ?? ? ?refclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017111620171020
104754? ? ?? ? ?refclang++_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017111620171020
105395? ? ?? ? ?refclang++_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017111620171020
106792? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017111620171020
107376? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017111620171020
107508? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017111620171020
107945? ? ?? ? ?refg++_-m64_-march=corei7_-O3_-fomit-frame-pointer2017111620171020
108041? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017111620171020
108118? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017111620171020
108435? ? ?? ? ?refg++_-m64_-march=core2_-O3_-fomit-frame-pointer2017111620171020
109794? ? ?? ? ?refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017111620171020
139206? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017111620171020
139551? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017111620171020
139890? ? ?? ? ?refg++_-m64_-march=corei7_-O2_-fomit-frame-pointer2017111620171020
140468? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017111620171020
140545? ? ?? ? ?refg++_-m64_-march=core2_-O2_-fomit-frame-pointer2017111620171020
140701? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017111620171020
140713? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017111620171020
148687? ? ?? ? ?refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017111620171020
154703? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017111620171020
158298? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017111620171020
158783? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017111620171020
159949? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017111620171020
160834? ? ?? ? ?refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017111620171020
161545? ? ?? ? ?refg++_-m64_-march=corei7_-O_-fomit-frame-pointer2017111620171020
161741? ? ?? ? ?refg++_-m64_-march=core2_-O_-fomit-frame-pointer2017111620171020
162636? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017111620171020
248343? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017111620171020
249536? ? ?? ? ?refg++_-m64_-march=corei7_-Os_-fomit-frame-pointer2017111620171020
252072? ? ?? ? ?refg++_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017111620171020
253487? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017111620171020
257950? ? ?? ? ?refg++_-m64_-march=core2_-Os_-fomit-frame-pointer2017111620171020
258206? ? ?? ? ?refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017111620171020
265103? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017111620171020
269194? ? ?? ? ?refg++_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017111620171020

Test failure

Implementation: crypto_sign/rainbowbinary16242020/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_sign/rainbowbinary16242020/ref
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
rainbow-test.cpp: In file included from rainbow-test.cpp:1:
rainbow-test.cpp: ./gf.h:171:46: warning: while loop has empty body [-Wempty-body]
rainbow-test.cpp: if( M==n_read ) { while( ttt.set(fp)==16 ) ; break; }
rainbow-test.cpp: ^
rainbow-test.cpp: ./gf.h:171:46: note: put the semicolon on a separate line to silence this warning
rainbow-test.cpp: In file included from rainbow-test.cpp:1:
rainbow-test.cpp: In file included from ./gf.h:181:
rainbow-test.cpp: ./gf16.h:321:9: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function '_mul' that is compiled without support for 'ssse3'
rainbow-test.cpp: return _mm_shuffle_epi8(multable(b.v), a.v);
rainbow-test.cpp: ^
rainbow-test.cpp: fatal error: error in backend: Cannot select: 0x265b160: v16i8 = X86ISD::PSHUFB 0x265a9a0, 0x265c9c0
rainbow-test.cpp: 0x265a9a0: v16i8 = bitcast 0x26334d0
rainbow-test.cpp: 0x26334d0: v2i64,ch = load<LD16[%98](tbaa=<0x20e6248>)(noalias=<0x2405a98>,<0x2405ad8>,<0x2405bf8>)> 0x24a2030, 0x265c170, undef:i64
rainbow-test.cpp: 0x265c170: i64 = add 0x265d2b0, 0x265ed70
rainbow-test.cpp: 0x265d2b0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x265fb20: i64 = TargetGlobalAddress<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x265ed70: i64 = shl 0x265c760, Constant:i8<4>
rainbow-test.cpp: 0x265c760: i64,ch = load<LD1[%90](tbaa=<0x20e6248>)(noalias=<0x24059a8>,<0x24059e8>,<0x2405bf8>), zext from i8> 0x24a2030, 0x2633270, undef:i64
rainbow-test.cpp: 0x2633270: i64 = or 0x2668d10, 0x2633010
rainbow-test.cpp: 0x2668d10: i64 = add FrameIndex:i64<2>, 0x265c040
rainbow-test.cpp: 0x265aad0: i64 = FrameIndex<2>
rainbow-test.cpp: 0x265c040: i64 = and 0x2667540, Constant:i64<4294967280>
rainbow-test.cpp: 0x2667540: i64,ch = CopyFromReg 0x24a2030, Register:i64 %vreg3
rainbow-test.cpp:
rainbow-test.cpp: 0x265ec40: i64 = Constant<4294967280>
rainbow-test.cpp: ...

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

Compiler output

Implementation: crypto_sign/rainbowbinary16242020/ref
Compiler: clang++ -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
rainbow-test.cpp: In file included from rainbow-test.cpp:1:
rainbow-test.cpp: ./gf.h:171:46: warning: while loop has empty body [-Wempty-body]
rainbow-test.cpp: if( M==n_read ) { while( ttt.set(fp)==16 ) ; break; }
rainbow-test.cpp: ^
rainbow-test.cpp: ./gf.h:171:46: note: put the semicolon on a separate line to silence this warning
rainbow-test.cpp: 1 warning generated.

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

Compiler output

Implementation: crypto_sign/rainbowbinary16242020/ref
Compiler: clang++ -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
rainbow-test.cpp: In file included from rainbow-test.cpp:1:
rainbow-test.cpp: ./gf.h:171:46: warning: while loop has empty body [-Wempty-body]
rainbow-test.cpp: if( M==n_read ) { while( ttt.set(fp)==16 ) ; break; }
rainbow-test.cpp: ^
rainbow-test.cpp: ./gf.h:171:46: note: put the semicolon on a separate line to silence this warning
rainbow-test.cpp: In file included from rainbow-test.cpp:1:
rainbow-test.cpp: In file included from ./gf.h:181:
rainbow-test.cpp: ./gf16.h:321:9: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function '_mul' that is compiled without support for 'ssse3'
rainbow-test.cpp: return _mm_shuffle_epi8(multable(b.v), a.v);
rainbow-test.cpp: ^
rainbow-test.cpp: fatal error: error in backend: Cannot select: 0x2f81fd0: v16i8 = X86ISD::PSHUFB 0x2f81810, 0x2f83830
rainbow-test.cpp: 0x2f81810: v16i8 = bitcast 0x2e3c330
rainbow-test.cpp: 0x2e3c330: v2i64,ch = load<LD16[%98](tbaa=<0x2a0d278>)(noalias=<0x2e85838>,<0x2e81398>,<0x2d106c8>)> 0x2dc8fa0, 0x2f82fe0, undef:i64
rainbow-test.cpp: 0x2f82fe0: i64 = add 0x2f84120, 0x2f85be0
rainbow-test.cpp: 0x2f84120: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x2f86990: i64 = TargetGlobalAddress<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x2f85be0: i64 = shl 0x2f835d0, Constant:i8<4>
rainbow-test.cpp: 0x2f835d0: i64,ch = load<LD1[%90](tbaa=<0x2a0d278>)(noalias=<0x2e9f528>,<0x2e9f568>,<0x2d106c8>), zext from i8> 0x2dc8fa0, 0x2e3c0d0, undef:i64
rainbow-test.cpp: 0x2e3c0d0: i64 = or 0x2f8fb80, 0x2e3be70
rainbow-test.cpp: 0x2f8fb80: i64 = add FrameIndex:i64<2>, 0x2f82eb0
rainbow-test.cpp: 0x2f81940: i64 = FrameIndex<2>
rainbow-test.cpp: 0x2f82eb0: i64 = and 0x2f8e3b0, Constant:i64<4294967280>
rainbow-test.cpp: 0x2f8e3b0: i64,ch = CopyFromReg 0x2dc8fa0, Register:i64 %vreg3
rainbow-test.cpp:
rainbow-test.cpp: 0x2f85ab0: i64 = Constant<4294967280>
rainbow-test.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: crypto_sign/rainbowbinary16242020/ref
Compiler: clang++ -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
rainbow-test.cpp: In file included from rainbow-test.cpp:1:
rainbow-test.cpp: ./gf.h:171:46: warning: while loop has empty body [-Wempty-body]
rainbow-test.cpp: if( M==n_read ) { while( ttt.set(fp)==16 ) ; break; }
rainbow-test.cpp: ^
rainbow-test.cpp: ./gf.h:171:46: note: put the semicolon on a separate line to silence this warning
rainbow-test.cpp: In file included from rainbow-test.cpp:1:
rainbow-test.cpp: In file included from ./gf.h:181:
rainbow-test.cpp: ./gf16.h:321:9: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function '_mul' that is compiled without support for 'ssse3'
rainbow-test.cpp: return _mm_shuffle_epi8(multable(b.v), a.v);
rainbow-test.cpp: ^
rainbow-test.cpp: fatal error: error in backend: Cannot select: 0x28ecad0: v16i8 = X86ISD::PSHUFB 0x28ec310, 0x28ee330
rainbow-test.cpp: 0x28ec310: v16i8 = bitcast 0x27a84e0
rainbow-test.cpp: 0x27a84e0: v2i64,ch = load<LD16[%98](tbaa=<0x2378278>)(noalias=<0x280a358>,<0x280a398>,<0x27d27a8>)> 0x2734130, 0x28edae0, undef:i64
rainbow-test.cpp: 0x28edae0: i64 = add 0x28eec20, 0x28f06e0
rainbow-test.cpp: 0x28eec20: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x28f1490: i64 = TargetGlobalAddress<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x28f06e0: i64 = shl 0x28ee0d0, Constant:i8<4>
rainbow-test.cpp: 0x28ee0d0: i64,ch = load<LD1[%90](tbaa=<0x2378278>)(noalias=<0x27d27e8>,<0x27d2828>,<0x27d27a8>), zext from i8> 0x2734130, 0x27a8280, undef:i64
rainbow-test.cpp: 0x27a8280: i64 = or 0x28fa680, 0x27a8020
rainbow-test.cpp: 0x28fa680: i64 = add FrameIndex:i64<2>, 0x28ed9b0
rainbow-test.cpp: 0x28ec440: i64 = FrameIndex<2>
rainbow-test.cpp: 0x28ed9b0: i64 = and 0x28f8eb0, Constant:i64<4294967280>
rainbow-test.cpp: 0x28f8eb0: i64,ch = CopyFromReg 0x2734130, Register:i64 %vreg3
rainbow-test.cpp:
rainbow-test.cpp: 0x28f05b0: i64 = Constant<4294967280>
rainbow-test.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: crypto_sign/rainbowbinary16242020/ref
Compiler: clang++ -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
rainbow-test.cpp: In file included from rainbow-test.cpp:1:
rainbow-test.cpp: ./gf.h:171:46: warning: while loop has empty body [-Wempty-body]
rainbow-test.cpp: if( M==n_read ) { while( ttt.set(fp)==16 ) ; break; }
rainbow-test.cpp: ^
rainbow-test.cpp: ./gf.h:171:46: note: put the semicolon on a separate line to silence this warning
rainbow-test.cpp: In file included from rainbow-test.cpp:1:
rainbow-test.cpp: In file included from ./gf.h:181:
rainbow-test.cpp: ./gf16.h:321:9: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function '_mul' that is compiled without support for 'ssse3'
rainbow-test.cpp: return _mm_shuffle_epi8(multable(b.v), a.v);
rainbow-test.cpp: ^
rainbow-test.cpp: fatal error: error in backend: Cannot select: 0x2face80: v16i8 = X86ISD::PSHUFB 0x2fac6c0, 0x2fae6e0
rainbow-test.cpp: 0x2fac6c0: v16i8 = bitcast 0x2fa0bf0
rainbow-test.cpp: 0x2fa0bf0: v2i64,ch = load<LD16[%98](tbaa=<0x2a38278>)(noalias=<0x2ebac28>,<0x2ea4198>,<0x2ea5c58>)> 0x2df40e0, 0x2fade90, undef:i64
rainbow-test.cpp: 0x2fade90: i64 = add 0x2faefd0, 0x2fb0a90
rainbow-test.cpp: 0x2faefd0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x2fb1840: i64 = TargetGlobalAddress<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x2fb0a90: i64 = shl 0x2fae480, Constant:i8<4>
rainbow-test.cpp: 0x2fae480: i64,ch = load<LD1[%90](tbaa=<0x2a38278>)(noalias=<0x2e8b608>,<0x2d08ef8>,<0x2ea5c58>), zext from i8> 0x2df40e0, 0x2fa0990, undef:i64
rainbow-test.cpp: 0x2fa0990: i64 = or 0x2fbaa30, 0x2fa0730
rainbow-test.cpp: 0x2fbaa30: i64 = add FrameIndex:i64<2>, 0x2fadd60
rainbow-test.cpp: 0x2fac7f0: i64 = FrameIndex<2>
rainbow-test.cpp: 0x2fadd60: i64 = and 0x2fb9260, Constant:i64<4294967280>
rainbow-test.cpp: 0x2fb9260: i64,ch = CopyFromReg 0x2df40e0, Register:i64 %vreg3
rainbow-test.cpp:
rainbow-test.cpp: 0x2fb0960: i64 = Constant<4294967280>
rainbow-test.cpp: ...

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

Compiler output

Implementation: crypto_sign/rainbowbinary16242020/ref
Compiler: g++
rainbow-test.cpp: In file included from gf16.h:4:0,
rainbow-test.cpp: from gf.h:181,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h: In function 'const gfv_unit<p> _mul(const gfv_unit<p>&, const gf<p>&) [with unsigned int p = 16u]':
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '__m128i _mm_shuffle_epi8(__m128i, __m128i)': target specific option mismatch
rainbow-test.cpp: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf.h:181:0,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: gf16.h:321:25: error: called from here
rainbow-test.cpp: return _mm_shuffle_epi8(multable(b.v), a.v);
rainbow-test.cpp: ^

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ ref

Compiler output

Implementation: crypto_sign/rainbowbinary16242020/ref
Compiler: g++ -O2 -fomit-frame-pointer
rainbow-test.cpp: In file included from gf16.h:4:0,
rainbow-test.cpp: from gf.h:181,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h: In function 'const gfv_unit<p> _mul(const gfv_unit<p>&, const gf<p>&) [with unsigned int p = 16u]':
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '__m128i _mm_shuffle_epi8(__m128i, __m128i)': target specific option mismatch
rainbow-test.cpp: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf.h:181:0,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: gf16.h:321:25: error: called from here
rainbow-test.cpp: return _mm_shuffle_epi8(multable(b.v), a.v);
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf16.h:4:0,
rainbow-test.cpp: from gf.h:181,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '__m128i _mm_shuffle_epi8(__m128i, __m128i)': target specific option mismatch
rainbow-test.cpp: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf.h:181:0,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: gf16.h:321:25: error: called from here
rainbow-test.cpp: return _mm_shuffle_epi8(multable(b.v), a.v);
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf16.h:4:0,
rainbow-test.cpp: from gf.h:181,
rainbow-test.cpp: ...

Number of similar (compiler,implementation) pairs: 27, namely:
CompilerImplementations
g++ -O2 -fomit-frame-pointer ref
g++ -O3 -fomit-frame-pointer ref
g++ -Os -fomit-frame-pointer ref
g++ -fno-schedule-insns -O2 -fomit-frame-pointer ref
g++ -fno-schedule-insns -O3 -fomit-frame-pointer ref
g++ -fno-schedule-insns -Os -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
g++ -m64 -O2 -fomit-frame-pointer ref
g++ -m64 -O3 -fomit-frame-pointer ref
g++ -m64 -Os -fomit-frame-pointer ref
g++ -m64 -march=k8 -O2 -fomit-frame-pointer ref
g++ -m64 -march=k8 -O3 -fomit-frame-pointer ref
g++ -m64 -march=k8 -Os -fomit-frame-pointer ref
g++ -m64 -march=nocona -O2 -fomit-frame-pointer ref
g++ -m64 -march=nocona -O3 -fomit-frame-pointer ref
g++ -m64 -march=nocona -Os -fomit-frame-pointer ref
g++ -march=barcelona -O2 -fomit-frame-pointer ref
g++ -march=barcelona -O3 -fomit-frame-pointer ref
g++ -march=barcelona -Os -fomit-frame-pointer ref
g++ -march=k8 -O2 -fomit-frame-pointer ref
g++ -march=k8 -O3 -fomit-frame-pointer ref
g++ -march=k8 -Os -fomit-frame-pointer ref
g++ -march=nocona -O2 -fomit-frame-pointer ref
g++ -march=nocona -O3 -fomit-frame-pointer ref
g++ -march=nocona -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/rainbowbinary16242020/ref
Compiler: g++ -O -fomit-frame-pointer
rainbow-test.cpp: In file included from gf16.h:4:0,
rainbow-test.cpp: from gf.h:181,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h: In function 'const gfv_unit<p> _mul(const gfv_unit<p>&, const gf<p>&) [with unsigned int p = 16u]':
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '__m128i _mm_shuffle_epi8(__m128i, __m128i)': target specific option mismatch
rainbow-test.cpp: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf.h:181:0,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: gf16.h:321:25: error: called from here
rainbow-test.cpp: return _mm_shuffle_epi8(multable(b.v), a.v);
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf16.h:4:0,
rainbow-test.cpp: from gf.h:181,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '__m128i _mm_shuffle_epi8(__m128i, __m128i)': target specific option mismatch
rainbow-test.cpp: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf.h:181:0,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: gf16.h:321:25: error: called from here
rainbow-test.cpp: return _mm_shuffle_epi8(multable(b.v), a.v);
rainbow-test.cpp: ^

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
g++ -O -fomit-frame-pointer ref
g++ -fno-schedule-insns -O -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
g++ -m64 -O -fomit-frame-pointer ref
g++ -m64 -march=k8 -O -fomit-frame-pointer ref
g++ -m64 -march=nocona -O -fomit-frame-pointer ref
g++ -march=barcelona -O -fomit-frame-pointer ref
g++ -march=k8 -O -fomit-frame-pointer ref
g++ -march=nocona -O -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/rainbowbinary16242020/ref
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
rainbow-test.cpp: In file included from gf16.h:4:0,
rainbow-test.cpp: from gf.h:181,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h: In function 'const gfv_unit<p> _mul(const gfv_unit<p>&, const gf<p>&) [with unsigned int p = 16u]':
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '__m128i _mm_shuffle_epi8(__m128i, __m128i)': target specific option mismatch
rainbow-test.cpp: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf.h:181:0,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: gf16.h:321:25: error: called from here
rainbow-test.cpp: return _mm_shuffle_epi8(multable(b.v), a.v);
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf16.h:4:0,
rainbow-test.cpp: from gf.h:181,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '__m128i _mm_shuffle_epi8(__m128i, __m128i)': target specific option mismatch
rainbow-test.cpp: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf.h:181:0,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: gf16.h:321:25: error: called from here
rainbow-test.cpp: return _mm_shuffle_epi8(multable(b.v), a.v);
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf16.h:4:0,
rainbow-test.cpp: from gf.h:181,
rainbow-test.cpp: ...
rainbow-test.cpp: In file included from gf16.h:4:0,
rainbow-test.cpp: from gf.h:181,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h: In function 'const gfv_unit<p> _mul(const gfv_unit<p>&, const gf<p>&) [with unsigned int p = 16u]':
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '__m128i _mm_shuffle_epi8(__m128i, __m128i)': target specific option mismatch
rainbow-test.cpp: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf.h:181:0,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: gf16.h:321:25: error: called from here
rainbow-test.cpp: return _mm_shuffle_epi8(multable(b.v), a.v);
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf16.h:4:0,
rainbow-test.cpp: from gf.h:181,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '__m128i _mm_shuffle_epi8(__m128i, __m128i)': target specific option mismatch
rainbow-test.cpp: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf.h:181:0,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: gf16.h:321:25: error: called from here
rainbow-test.cpp: return _mm_shuffle_epi8(multable(b.v), a.v);
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf16.h:4:0,
rainbow-test.cpp: from gf.h:181,
rainbow-test.cpp: ...

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

Compiler output

Implementation: crypto_sign/rainbowbinary16242020/ref
Compiler: g++ -m64 -march=barcelona -O -fomit-frame-pointer
rainbow-test.cpp: In file included from gf16.h:4:0,
rainbow-test.cpp: from gf.h:181,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h: In function 'const gfv_unit<p> _mul(const gfv_unit<p>&, const gf<p>&) [with unsigned int p = 16u]':
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '__m128i _mm_shuffle_epi8(__m128i, __m128i)': target specific option mismatch
rainbow-test.cpp: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf.h:181:0,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: gf16.h:321:25: error: called from here
rainbow-test.cpp: return _mm_shuffle_epi8(multable(b.v), a.v);
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf16.h:4:0,
rainbow-test.cpp: from gf.h:181,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '__m128i _mm_shuffle_epi8(__m128i, __m128i)': target specific option mismatch
rainbow-test.cpp: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf.h:181:0,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: gf16.h:321:25: error: called from here
rainbow-test.cpp: return _mm_shuffle_epi8(multable(b.v), a.v);
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf16.h:4:0,
rainbow-test.cpp: from gf.h:181,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h: In function 'const gfv_unit<p> _mul(const gfv_unit<p>&, const gf<p>&) [with unsigned int p = 16u]':
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '__m128i _mm_shuffle_epi8(__m128i, __m128i)': target specific option mismatch
rainbow-test.cpp: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf.h:181:0,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: gf16.h:321:25: error: called from here
rainbow-test.cpp: return _mm_shuffle_epi8(multable(b.v), a.v);
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf16.h:4:0,
rainbow-test.cpp: from gf.h:181,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '__m128i _mm_shuffle_epi8(__m128i, __m128i)': target specific option mismatch
rainbow-test.cpp: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow-test.cpp: ^
rainbow-test.cpp: In file included from gf.h:181:0,
rainbow-test.cpp: from rainbow-test.cpp:1:
rainbow-test.cpp: gf16.h:321:25: error: called from here
rainbow-test.cpp: return _mm_shuffle_epi8(multable(b.v), a.v);
rainbow-test.cpp: ^

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