Implementation notes: amd64, mace, crypto_sign/rainbowbinary16242020

Computer: mace
Architecture: amd64
CPU ID: AuthenticAMD-00040fb2-178bfbff
SUPERCOP version: 20170105
Operation: crypto_sign
Primitive: rainbowbinary16242020

Test failure

Implementation: crypto_sign/rainbowbinary16242020/ref
Compiler: g++ -m64 -march=core2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 13, namely:
CompilerImplementations
g++ -m64 -march=core2 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core2 -O3 -fomit-frame-pointer ref
g++ -m64 -march=core2 -O -fomit-frame-pointer ref
g++ -m64 -march=core2 -Os -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
g++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
g++ -m64 -march=corei7 -O2 -fomit-frame-pointer ref
g++ -m64 -march=corei7 -O -fomit-frame-pointer ref
g++ -m64 -march=corei7 -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: 0x2878cb0: v16i8 = X86ISD::PSHUFB 0x28784f0, 0x287a510
rainbow-test.cpp: 0x28784f0: v16i8 = bitcast 0x2763bf0
rainbow-test.cpp: 0x2763bf0: v2i64,ch = load<LD16[%98](tbaa=<0x2304248>)(noalias=<0x2625868>,<0x2757cd8>,<0x2757d18>)> 0x26c0000, 0x2879cc0, undef:i64
rainbow-test.cpp: 0x2879cc0: i64 = add 0x287ae00, 0x287c8c0
rainbow-test.cpp: 0x287ae00: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x287d670: i64 = TargetGlobalAddress<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x287c8c0: i64 = shl 0x287a2b0, Constant:i8<4>
rainbow-test.cpp: 0x287a2b0: i64,ch = load<LD1[%90](tbaa=<0x2304248>)(noalias=<0x2757be8>,<0x2757c28>,<0x2757d18>), zext from i8> 0x26c0000, 0x2763990, undef:i64
rainbow-test.cpp: 0x2763990: i64 = or 0x2886860, 0x2763730
rainbow-test.cpp: 0x2886860: i64 = add FrameIndex:i64<2>, 0x2879b90
rainbow-test.cpp: 0x2878620: i64 = FrameIndex<2>
rainbow-test.cpp: 0x2879b90: i64 = and 0x2885090, Constant:i64<4294967280>
rainbow-test.cpp: 0x2885090: i64,ch = CopyFromReg 0x26c0000, Register:i64 %vreg3
rainbow-test.cpp:
rainbow-test.cpp: 0x287c790: 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: 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: 0x3f5b730: v16i8 = X86ISD::PSHUFB 0x3f5af70, 0x3f5cf90
rainbow-test.cpp: 0x3f5af70: v16i8 = bitcast 0x3e221c0
rainbow-test.cpp: 0x3e221c0: v2i64,ch = load<LD16[%98](tbaa=<0x39f9d98>)(noalias=<0x3cb8d28>,<0x3cb8d68>,<0x3cb8da8>)> 0x3da04e0, 0x3f5c740, undef:i64
rainbow-test.cpp: 0x3f5c740: i64 = add 0x3f5d880, 0x3f5f340
rainbow-test.cpp: 0x3f5d880: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x3f600f0: i64 = TargetGlobalAddress<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x3f5f340: i64 = shl 0x3f5cd30, Constant:i8<4>
rainbow-test.cpp: 0x3f5cd30: i64,ch = load<LD1[%90](tbaa=<0x39f9d98>)(noalias=<0x3cb8e48>,<0x3cb8c08>,<0x3cb8da8>), zext from i8> 0x3da04e0, 0x3e21f60, undef:i64
rainbow-test.cpp: 0x3e21f60: i64 = or 0x3f692e0, 0x3e21d00
rainbow-test.cpp: 0x3f692e0: i64 = add FrameIndex:i64<2>, 0x3f5c610
rainbow-test.cpp: 0x3f5b0a0: i64 = FrameIndex<2>
rainbow-test.cpp: 0x3f5c610: i64 = and 0x3f67b10, Constant:i64<4294967280>
rainbow-test.cpp: 0x3f67b10: i64,ch = CopyFromReg 0x3da04e0, Register:i64 %vreg3
rainbow-test.cpp:
rainbow-test.cpp: 0x3f5f210: i64 = Constant<4294967280>
rainbow-test.cpp: ...

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

Compiler output

Implementation: crypto_sign/rainbowbinary16242020/ref
Compiler: clang++ -march=native -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: 0x30a1f30: v16i8 = X86ISD::PSHUFB 0x30a1770, 0x30a3790
rainbow-test.cpp: 0x30a1770: v16i8 = bitcast 0x2f62d60
rainbow-test.cpp: 0x2f62d60: v2i64,ch = load<LD16[%98](tbaa=<0x2b2e2e8>)(noalias=<0x2e31848>,<0x2dd09c8>,<0x2f68358>)> 0x2eea570, 0x30a2f40, undef:i64
rainbow-test.cpp: 0x30a2f40: i64 = add 0x30a4080, 0x30a5b40
rainbow-test.cpp: 0x30a4080: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x30a68f0: i64 = TargetGlobalAddress<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x30a5b40: i64 = shl 0x30a3530, Constant:i8<4>
rainbow-test.cpp: 0x30a3530: i64,ch = load<LD1[%90](tbaa=<0x2b2e2e8>)(noalias=<0x2dffbe8>,<0x2f689f8>,<0x2f68358>), zext from i8> 0x2eea570, 0x2f62b00, undef:i64
rainbow-test.cpp: 0x2f62b00: i64 = or 0x30afae0, 0x2f628a0
rainbow-test.cpp: 0x30afae0: i64 = add FrameIndex:i64<2>, 0x30a2e10
rainbow-test.cpp: 0x30a18a0: i64 = FrameIndex<2>
rainbow-test.cpp: 0x30a2e10: i64 = and 0x30ae310, Constant:i64<4294967280>
rainbow-test.cpp: 0x30ae310: i64,ch = CopyFromReg 0x2eea570, Register:i64 %vreg3
rainbow-test.cpp:
rainbow-test.cpp: 0x30a5a10: i64 = Constant<4294967280>
rainbow-test.cpp: ...

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/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: 0x3e2bab0: v16i8 = X86ISD::PSHUFB 0x3debb20, 0x3e2d310
rainbow-test.cpp: 0x3debb20: v16i8 = bitcast 0x3ce5df0
rainbow-test.cpp: 0x3ce5df0: v2i64,ch = load<LD16[%98](tbaa=<0x38b5278>)(noalias=<0x3ceed98>,<0x3cf3788>,<0x3cf37c8>)> 0x3c70fe0, 0x3e2cac0, undef:i64
rainbow-test.cpp: 0x3e2cac0: i64 = add 0x3e2dc00, 0x3e2f6c0
rainbow-test.cpp: 0x3e2dc00: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x3e30470: i64 = TargetGlobalAddress<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x3e2f6c0: i64 = shl 0x3e2d0b0, Constant:i8<4>
rainbow-test.cpp: 0x3e2d0b0: i64,ch = load<LD1[%90](tbaa=<0x38b5278>)(noalias=<0x3cf36f8>,<0x3cf3738>,<0x3cf37c8>), zext from i8> 0x3c70fe0, 0x3ce5b90, undef:i64
rainbow-test.cpp: 0x3ce5b90: i64 = or 0x3e39660, 0x3ce5930
rainbow-test.cpp: 0x3e39660: i64 = add FrameIndex:i64<2>, 0x3e2c990
rainbow-test.cpp: 0x3debc50: i64 = FrameIndex<2>
rainbow-test.cpp: 0x3e2c990: i64 = and 0x3e37e90, Constant:i64<4294967280>
rainbow-test.cpp: 0x3e37e90: i64,ch = CopyFromReg 0x3c70fe0, Register:i64 %vreg3
rainbow-test.cpp:
rainbow-test.cpp: 0x3e2f590: 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: 0x2947580: v16i8 = X86ISD::PSHUFB 0x2946dc0, 0x298b220
rainbow-test.cpp: 0x2946dc0: v16i8 = bitcast 0x2846890
rainbow-test.cpp: 0x2846890: v2i64,ch = load<LD16[%98](tbaa=<0x2413278>)(noalias=<0x2879668>,<0x284fc78>,<0x28a1c08>)> 0x27cf0a0, 0x298a9d0, undef:i64
rainbow-test.cpp: 0x298a9d0: i64 = add 0x298bb10, 0x298d5d0
rainbow-test.cpp: 0x298bb10: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x298e380: i64 = TargetGlobalAddress<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x298d5d0: i64 = shl 0x298afc0, Constant:i8<4>
rainbow-test.cpp: 0x298afc0: i64,ch = load<LD1[%90](tbaa=<0x2413278>)(noalias=<0x28a1c48>,<0x28a1c88>,<0x28a1c08>), zext from i8> 0x27cf0a0, 0x2846630, undef:i64
rainbow-test.cpp: 0x2846630: i64 = or 0x2997570, 0x28463d0
rainbow-test.cpp: 0x2997570: i64 = add FrameIndex:i64<2>, 0x298a8a0
rainbow-test.cpp: 0x2946ef0: i64 = FrameIndex<2>
rainbow-test.cpp: 0x298a8a0: i64 = and 0x2995da0, Constant:i64<4294967280>
rainbow-test.cpp: 0x2995da0: i64,ch = CopyFromReg 0x27cf0a0, Register:i64 %vreg3
rainbow-test.cpp:
rainbow-test.cpp: 0x298d4a0: 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: 0x2bd8220: v16i8 = X86ISD::PSHUFB 0x2bd7a60, 0x2bd9a80
rainbow-test.cpp: 0x2bd7a60: v16i8 = bitcast 0x2ac64b0
rainbow-test.cpp: 0x2ac64b0: v2i64,ch = load<LD16[%98](tbaa=<0x2667278>)(noalias=<0x2acdce8>,<0x29b88d8>,<0x2aef218>)> 0x2a230b0, 0x2bd9230, undef:i64
rainbow-test.cpp: 0x2bd9230: i64 = add 0x2bda370, 0x2bdbe30
rainbow-test.cpp: 0x2bda370: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x2bdcbe0: i64 = TargetGlobalAddress<[256 x <2 x i64>]* @_ZL8GFV16Mul> 0
rainbow-test.cpp: 0x2bdbe30: i64 = shl 0x2bd9820, Constant:i8<4>
rainbow-test.cpp: 0x2bd9820: i64,ch = load<LD1[%90](tbaa=<0x2667278>)(noalias=<0x2ab1328>,<0x2989178>,<0x2aef218>), zext from i8> 0x2a230b0, 0x2ac6250, undef:i64
rainbow-test.cpp: 0x2ac6250: i64 = or 0x2be5dd0, 0x2ac5ff0
rainbow-test.cpp: 0x2be5dd0: i64 = add FrameIndex:i64<2>, 0x2bd9100
rainbow-test.cpp: 0x2bd7b90: i64 = FrameIndex<2>
rainbow-test.cpp: 0x2bd9100: i64 = and 0x2be4600, Constant:i64<4294967280>
rainbow-test.cpp: 0x2be4600: i64,ch = CopyFromReg 0x2a230b0, Register:i64 %vreg3
rainbow-test.cpp:
rainbow-test.cpp: 0x2bdbd00: 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: 33, 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=native -mtune=native -O2 -fomit-frame-pointer ref
g++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
g++ -m64 -march=native -mtune=native -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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv 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: 11, 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=native -mtune=native -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=native -mtune=native -O -fomit-frame-pointer -fwrapv 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