Implementation notes: amd64, hydra6, crypto_sign/rainbowbinary16242020

Computer: hydra6
Architecture: amd64
CPU ID: AuthenticAMD-00600f12-178bfbff
SUPERCOP version: 20171218
Operation: crypto_sign
Primitive: rainbowbinary16242020
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
114641? ? ?? ? ?refclang++_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017111420171020
114843? ? ?? ? ?refclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017111420171020
114912? ? ?? ? ?refclang++_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017111420171020
115271? ? ?? ? ?refclang++_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017111420171020
119789? ? ?? ? ?refg++_-m64_-march=corei7_-O3_-fomit-frame-pointer2017111420171020
119983? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017111420171020
120152? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017111420171020
120290? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017111420171020
120398? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017111420171020
120637? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017111420171020
122318? ? ?? ? ?refg++_-m64_-march=core2_-O3_-fomit-frame-pointer2017111420171020
123454? ? ?? ? ?refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017111420171020
152577? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017111420171020
153135? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017111420171020
153724? ? ?? ? ?refg++_-m64_-march=corei7_-O2_-fomit-frame-pointer2017111420171020
154125? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017111420171020
154618? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017111420171020
155396? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017111420171020
156766? ? ?? ? ?refg++_-m64_-march=core2_-O2_-fomit-frame-pointer2017111420171020
163759? ? ?? ? ?refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017111420171020
172036? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017111420171020
173186? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017111420171020
174467? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017111420171020
178678? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017111420171020
179130? ? ?? ? ?refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017111420171020
179546? ? ?? ? ?refg++_-m64_-march=core2_-O_-fomit-frame-pointer2017111420171020
196872? ? ?? ? ?refg++_-m64_-march=corei7_-O_-fomit-frame-pointer2017111420171020
197535? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017111420171020
270852? ? ?? ? ?refg++_-m64_-march=corei7_-Os_-fomit-frame-pointer2017111420171020
272921? ? ?? ? ?refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017111420171020
280548? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017111420171020
283550? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017111420171020
284364? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017111420171020
285404? ? ?? ? ?refg++_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017111420171020
286179? ? ?? ? ?refg++_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017111420171020
290006? ? ?? ? ?refg++_-m64_-march=core2_-Os_-fomit-frame-pointer2017111420171020

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: 0x28349e0: v16i8 = X86ISD::PSHUFB 0x2834220, 0x2836240
rainbow-test.cpp: 0x2834220: v16i8 = bitcast 0x278e8e0
rainbow-test.cpp: 0x278e8e0: v2i64,ch = load<LD16[%98](tbaa=<0x22bf248>)(noalias=<0x26fbf98>,<0x26fc5f8>,<0x26fc638>)> 0x267afd0, 0x28359f0, undef:i64
rainbow-test.cpp: 0x28359f0: i64 = add 0x2836b30, 0x28385f0
rainbow-test.cpp: 0x2836b30: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x28393a0: i64 = TargetGlobalAddress<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x28385f0: i64 = shl 0x2835fe0, Constant:i8<4>
rainbow-test.cpp: 0x2835fe0: i64,ch = load<LD1[%90](tbaa=<0x22bf248>)(noalias=<0x2713118>,<0x2713158>,<0x26fc638>), zext from i8> 0x267afd0, 0x278e680, undef:i64
rainbow-test.cpp: 0x278e680: i64 = or 0x2842590, 0x278e420
rainbow-test.cpp: 0x2842590: i64 = add FrameIndex:i64<2>, 0x28358c0
rainbow-test.cpp: 0x2834350: i64 = FrameIndex<2>
rainbow-test.cpp: 0x28358c0: i64 = and 0x2840dc0, Constant:i64<4294967280>
rainbow-test.cpp: 0x2840dc0: i64,ch = CopyFromReg 0x267afd0, Register:i64 %vreg3
rainbow-test.cpp:
rainbow-test.cpp: 0x28384c0: 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: 0x35691a0: v16i8 = X86ISD::PSHUFB 0x35689e0, 0x356aa00
rainbow-test.cpp: 0x35689e0: v16i8 = bitcast 0x354bdb0
rainbow-test.cpp: 0x354bdb0: v2i64,ch = load<LD16[%98](tbaa=<0x2ffe278>)(noalias=<0x347d5e8>,<0x347d628>,<0x347d6b8>)> 0x33ba030, 0x356a1b0, undef:i64
rainbow-test.cpp: 0x356a1b0: i64 = add 0x356b2f0, 0x356cdb0
rainbow-test.cpp: 0x356b2f0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x356db60: i64 = TargetGlobalAddress<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x356cdb0: i64 = shl 0x356a7a0, Constant:i8<4>
rainbow-test.cpp: 0x356a7a0: i64,ch = load<LD1[%90](tbaa=<0x2ffe278>)(noalias=<0x347d4c8>,<0x347d508>,<0x347d6b8>), zext from i8> 0x33ba030, 0x354bb50, undef:i64
rainbow-test.cpp: 0x354bb50: i64 = or 0x3576d50, 0x354b8f0
rainbow-test.cpp: 0x3576d50: i64 = add FrameIndex:i64<2>, 0x356a080
rainbow-test.cpp: 0x3568b10: i64 = FrameIndex<2>
rainbow-test.cpp: 0x356a080: i64 = and 0x3575580, Constant:i64<4294967280>
rainbow-test.cpp: 0x3575580: i64,ch = CopyFromReg 0x33ba030, Register:i64 %vreg3
rainbow-test.cpp:
rainbow-test.cpp: 0x356cc80: 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: 0x3185e40: v16i8 = X86ISD::PSHUFB 0x3185680, 0x31876a0
rainbow-test.cpp: 0x3185680: v16i8 = bitcast 0x3179bb0
rainbow-test.cpp: 0x3179bb0: v2i64,ch = load<LD16[%98](tbaa=<0x2c29638>)(noalias=<0x304f508>,<0x304ee38>,<0x304ee78>)> 0x2fcafb0, 0x3186e50, undef:i64
rainbow-test.cpp: 0x3186e50: i64 = add 0x3187f90, 0x3189a50
rainbow-test.cpp: 0x3187f90: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x318a800: i64 = TargetGlobalAddress<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x3189a50: i64 = shl 0x3187440, Constant:i8<4>
rainbow-test.cpp: 0x3187440: i64,ch = load<LD1[%90](tbaa=<0x2c29638>)(noalias=<0x3066cf8>,<0x3066d38>,<0x304ee78>), zext from i8> 0x2fcafb0, 0x3179950, undef:i64
rainbow-test.cpp: 0x3179950: i64 = or 0x31939f0, 0x31796f0
rainbow-test.cpp: 0x31939f0: i64 = add FrameIndex:i64<2>, 0x3186d20
rainbow-test.cpp: 0x31857b0: i64 = FrameIndex<2>
rainbow-test.cpp: 0x3186d20: i64 = and 0x3192220, Constant:i64<4294967280>
rainbow-test.cpp: 0x3192220: i64,ch = CopyFromReg 0x2fcafb0, Register:i64 %vreg3
rainbow-test.cpp:
rainbow-test.cpp: 0x3189920: 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: 0x42ece50: v16i8 = X86ISD::PSHUFB 0x42ec690, 0x42ee6b0
rainbow-test.cpp: 0x42ec690: v16i8 = bitcast 0x41e14a0
rainbow-test.cpp: 0x41e14a0: v2i64,ch = load<LD16[%98](tbaa=<0x3db2278>)(noalias=<0x41eb338>,<0x41eb378>,<0x41eb3b8>)> 0x416e030, 0x42ede60, undef:i64
rainbow-test.cpp: 0x42ede60: i64 = add 0x4328990, 0x432a450
rainbow-test.cpp: 0x4328990: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x432b200: i64 = TargetGlobalAddress<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x432a450: i64 = shl 0x42ee450, Constant:i8<4>
rainbow-test.cpp: 0x42ee450: i64,ch = load<LD1[%90](tbaa=<0x3db2278>)(noalias=<0x41eb218>,<0x41eb258>,<0x41eb3b8>), zext from i8> 0x416e030, 0x41e1240, undef:i64
rainbow-test.cpp: 0x41e1240: i64 = or 0x43343f0, 0x41e0fe0
rainbow-test.cpp: 0x43343f0: i64 = add FrameIndex:i64<2>, 0x42edd30
rainbow-test.cpp: 0x42ec7c0: i64 = FrameIndex<2>
rainbow-test.cpp: 0x42edd30: i64 = and 0x4332c20, Constant:i64<4294967280>
rainbow-test.cpp: 0x4332c20: i64,ch = CopyFromReg 0x416e030, Register:i64 %vreg3
rainbow-test.cpp:
rainbow-test.cpp: 0x432a320: 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