Implementation notes: amd64, oki, crypto_encrypt/lotus256

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_encrypt
Primitive: lotus256

Compiler output

Implementation: avx2
Security model: unknown
Compiler: cc
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c: In function 'submat_negmul':
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:155:3: error: unknown type name '__m256i'
lwe-arithmetics_avx2.c: __m256i a, b[4], c[8];
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:169:34: error: '__m256i' undeclared (first use in this function)
lwe-arithmetics_avx2.c: b[0] = _mm256_loadu_si256((__m256i*)(p));
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:169:34: note: each undeclared identifier is reported only once for each function it appears in
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:169:42: error: expected expression before ')' token
lwe-arithmetics_avx2.c: b[0] = _mm256_loadu_si256((__m256i*)(p));
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:170:42: error: expected expression before ')' token
lwe-arithmetics_avx2.c: b[1] = _mm256_loadu_si256((__m256i*)(p + 16));
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:171:42: error: expected expression before ')' token
lwe-arithmetics_avx2.c: b[2] = _mm256_loadu_si256((__m256i*)(p + 32));
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:172:42: error: expected expression before ')' token
lwe-arithmetics_avx2.c: b[3] = _mm256_loadu_si256((__m256i*)(p + 48));
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:181:42: error: expected expression before ')' token
lwe-arithmetics_avx2.c: b[0] = _mm256_loadu_si256((__m256i*)(p + 64));
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:182:42: error: expected expression before ')' token
lwe-arithmetics_avx2.c: b[1] = _mm256_loadu_si256((__m256i*)(p + 80));
lwe-arithmetics_avx2.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:158:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'sse4.2', but would be inlined into function 'submat_negmul' that is compiled without support for 'sse4.2'
lwe-arithmetics_avx2.c: c[0] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:159:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'sse4.2', but would be inlined into function 'submat_negmul' that is compiled without support for 'sse4.2'
lwe-arithmetics_avx2.c: c[1] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:160:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'sse4.2', but would be inlined into function 'submat_negmul' that is compiled without support for 'sse4.2'
lwe-arithmetics_avx2.c: c[2] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:161:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'sse4.2', but would be inlined into function 'submat_negmul' that is compiled without support for 'sse4.2'
lwe-arithmetics_avx2.c: c[3] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:162:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'sse4.2', but would be inlined into function 'submat_negmul' that is compiled without support for 'sse4.2'
lwe-arithmetics_avx2.c: c[4] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:163:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'sse4.2', but would be inlined into function 'submat_negmul' that is compiled without support for 'sse4.2'
lwe-arithmetics_avx2.c: c[5] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:164:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'sse4.2', but would be inlined into function 'submat_negmul' that is compiled without support for 'sse4.2'
lwe-arithmetics_avx2.c: c[6] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:165:12: error: always_inline function '_mm256_setzero_si256' requires target feature 'sse4.2', but would be inlined into function 'submat_negmul' that is compiled without support for 'sse4.2'
lwe-arithmetics_avx2.c: c[7] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:168:11: error: always_inline function '_mm256_set1_epi16' requires target feature 'sse4.2', but would be inlined into function 'submat_negmul' that is compiled without support for 'sse4.2'
lwe-arithmetics_avx2.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments avx2
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x10932d0: v4i64 = X86ISD::VTRUNC 0x1097130
try.c: 0x1097130: v16i32 = vselect 0x1086460, 0x10286c0, 0x1097000
try.c: 0x1086460: v4i1 = X86ISD::PCMPGTM 0x107e7e0, 0x1029470
try.c: 0x107e7e0: v4i64 = X86ISD::VBROADCAST 0x1029800
try.c: 0x1029800: i64,ch = load<LD8[%uglygep72]> 0xf77dc0, 0x1066cb0, undef:i64
try.c: 0x1066cb0: i64 = add 0x107f6c0, 0x101d190
try.c: 0x107f6c0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1077e80: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x101d190: i64 = shl 0x1077630, Constant:i8<3>
try.c: 0x1077630: i64,ch = CopyFromReg 0xf77dc0, Register:i64 %vreg50
try.c: 0x107fb80: i64 = Register %vreg50
try.c: 0x100d730: i8 = Constant<3>
try.c: 0x107ce50: i64 = undef
try.c: 0x1029470: v4i64,ch = CopyFromReg 0xf77dc0, Register:v4i64 %vreg13
try.c: 0x10381d0: v4i64 = Register %vreg13
try.c: 0x10286c0: v16i32 = X86ISD::VBROADCAST 0x1077890
try.c: 0x1077890: i32,ch = load<LD4[ConstantPool]> 0xf77dc0, 0x1096c70, undef:i64
try.c: 0x1096c70: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1017670: i64 = TargetConstantPool<i32 1> 0
try.c: 0x107ce50: i64 = undef
try.c: 0x1097000: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x1096ed0: i32 = Constant<0>
try.c: 0x1096ed0: i32 = Constant<0>
try.c: 0x1096ed0: i32 = Constant<0>
try.c: 0x1096ed0: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments
try.c: /usr/bin/ld: crypto_encrypt_lotus256.a(crypto.o): in function `crypto_symenc_encrypt':
try.c: crypto.c:(.text+0x...): undefined reference to `EVP_CIPHER_CTX_reset'
try.c: /usr/bin/ld: crypto_encrypt_lotus256.a(crypto.o): in function `crypto_symenc_decrypt':
try.c: crypto.c:(.text+0x...): undefined reference to `EVP_CIPHER_CTX_reset'
try.c: clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 18, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fomit-frame-pointer -Qunused-arguments opt
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments opt
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments opt
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments opt
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments opt
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -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 -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:173:14: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'submat_negmul' that is compiled without support for 'avx2'
lwe-arithmetics_avx2.c: b[0] = _mm256_mullo_epi16(b[0], a);
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:174:14: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'submat_negmul' that is compiled without support for 'avx2'
lwe-arithmetics_avx2.c: b[1] = _mm256_mullo_epi16(b[1], a);
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:175:14: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'submat_negmul' that is compiled without support for 'avx2'
lwe-arithmetics_avx2.c: b[2] = _mm256_mullo_epi16(b[2], a);
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:176:14: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'submat_negmul' that is compiled without support for 'avx2'
lwe-arithmetics_avx2.c: b[3] = _mm256_mullo_epi16(b[3], a);
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:177:14: error: always_inline function '_mm256_sub_epi16' requires target feature 'avx2', but would be inlined into function 'submat_negmul' that is compiled without support for 'avx2'
lwe-arithmetics_avx2.c: c[0] = _mm256_sub_epi16(c[0], b[0]);
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:178:14: error: always_inline function '_mm256_sub_epi16' requires target feature 'avx2', but would be inlined into function 'submat_negmul' that is compiled without support for 'avx2'
lwe-arithmetics_avx2.c: c[1] = _mm256_sub_epi16(c[1], b[1]);
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:179:14: error: always_inline function '_mm256_sub_epi16' requires target feature 'avx2', but would be inlined into function 'submat_negmul' that is compiled without support for 'avx2'
lwe-arithmetics_avx2.c: c[2] = _mm256_sub_epi16(c[2], b[2]);
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:180:14: error: always_inline function '_mm256_sub_epi16' requires target feature 'avx2', but would be inlined into function 'submat_negmul' that is compiled without support for 'avx2'
lwe-arithmetics_avx2.c: c[3] = _mm256_sub_epi16(c[3], b[3]);
lwe-arithmetics_avx2.c: ^
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:185:14: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'submat_negmul' that is compiled without support for 'avx2'
lwe-arithmetics_avx2.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x1e42f40: v4i64 = X86ISD::VTRUNC 0x1e42d70
try.c: 0x1e42d70: v16i32 = vselect 0x1e34230, 0x1dc7660, 0x1e42c40
try.c: 0x1e34230: v4i1 = X86ISD::PCMPGTM 0x1e25640, 0x1dd9860
try.c: 0x1e25640: v4i64 = X86ISD::VBROADCAST 0x1dd9bf0
try.c: 0x1dd9bf0: i64,ch = load<LD8[%uglygep72]> 0x1d27de0, 0x1df1540, undef:i64
try.c: 0x1df1540: i64 = add 0x1e2d710, 0x1dcd3e0
try.c: 0x1e2d710: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1e0d980: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1dcd3e0: i64 = shl 0x1e0d130, Constant:i8<3>
try.c: 0x1e0d130: i64,ch = CopyFromReg 0x1d27de0, Register:i64 %vreg50
try.c: 0x1e2dbd0: i64 = Register %vreg50
try.c: 0x1dc0500: i8 = Constant<3>
try.c: 0x1e2beb0: i64 = undef
try.c: 0x1dd9860: v4i64,ch = CopyFromReg 0x1d27de0, Register:v4i64 %vreg13
try.c: 0x1dd31f0: v4i64 = Register %vreg13
try.c: 0x1dc7660: v16i32 = X86ISD::VBROADCAST 0x1e0d390
try.c: 0x1e0d390: i32,ch = load<LD4[ConstantPool]> 0x1d27de0, 0x1e428b0, undef:i64
try.c: 0x1e428b0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1dd0d10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1e2beb0: i64 = undef
try.c: 0x1e42c40: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x1e42b10: i32 = Constant<0>
try.c: 0x1e42b10: i32 = Constant<0>
try.c: 0x1e42b10: i32 = Constant<0>
try.c: 0x1e42b10: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c: In function 'submat_negmul':
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:158:10: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
lwe-arithmetics_avx2.c: c[0] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:41:0,
lwe-arithmetics_avx2.c: from lwe-arithmetics_avx2.c:10:
lwe-arithmetics_avx2.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avxintrin.h:1234:1: error: inlining failed in call to always_inline '_mm256_setzero_si256': target specific option mismatch
lwe-arithmetics_avx2.c: _mm256_setzero_si256 (void)
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:165:12: note: called from here
lwe-arithmetics_avx2.c: c[7] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:41:0,
lwe-arithmetics_avx2.c: from lwe-arithmetics_avx2.c:10:
lwe-arithmetics_avx2.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avxintrin.h:1234:1: error: inlining failed in call to always_inline '_mm256_setzero_si256': target specific option mismatch
lwe-arithmetics_avx2.c: _mm256_setzero_si256 (void)
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:164:12: note: called from here
lwe-arithmetics_avx2.c: c[6] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:41:0,
lwe-arithmetics_avx2.c: from lwe-arithmetics_avx2.c:10:
lwe-arithmetics_avx2.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avxintrin.h:1234:1: error: inlining failed in call to always_inline '_mm256_setzero_si256': target specific option mismatch
lwe-arithmetics_avx2.c: _mm256_setzero_si256 (void)
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: ...

Number of similar (compiler,implementation) pairs: 86, namely:
CompilerImplementations
gcc avx2
gcc -O2 -fomit-frame-pointer avx2
gcc -O3 -fomit-frame-pointer avx2
gcc -O -fomit-frame-pointer avx2
gcc -Os -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O2 -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O3 -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O -fomit-frame-pointer avx2
gcc -fno-schedule-insns -Os -fomit-frame-pointer avx2
gcc -funroll-loops avx2
gcc -funroll-loops -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -O -fomit-frame-pointer avx2
gcc -funroll-loops -Os -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer avx2
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer avx2
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer avx2
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer avx2
gcc -m64 -O2 -fomit-frame-pointer avx2
gcc -m64 -O3 -fomit-frame-pointer avx2
gcc -m64 -O -fomit-frame-pointer avx2
gcc -m64 -Os -fomit-frame-pointer avx2
gcc -m64 -march=core2 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -O -fomit-frame-pointer avx2
gcc -m64 -march=core2 -Os -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer avx2
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -O -fomit-frame-pointer avx2
gcc -m64 -march=corei7 -Os -fomit-frame-pointer avx2
gcc -m64 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=k8 -O -fomit-frame-pointer avx2
gcc -m64 -march=k8 -Os -fomit-frame-pointer avx2
gcc -m64 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -m64 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -m64 -march=nocona -O -fomit-frame-pointer avx2
gcc -m64 -march=nocona -Os -fomit-frame-pointer avx2
gcc -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -march=barcelona -O -fomit-frame-pointer avx2
gcc -march=barcelona -Os -fomit-frame-pointer avx2
gcc -march=k8 -O2 -fomit-frame-pointer avx2
gcc -march=k8 -O3 -fomit-frame-pointer avx2
gcc -march=k8 -O -fomit-frame-pointer avx2
gcc -march=k8 -Os -fomit-frame-pointer avx2
gcc -march=nocona -O2 -fomit-frame-pointer avx2
gcc -march=nocona -O3 -fomit-frame-pointer avx2
gcc -march=nocona -O -fomit-frame-pointer avx2
gcc -march=nocona -Os -fomit-frame-pointer avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c: In function 'submat_negmul':
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:158:10: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
lwe-arithmetics_avx2.c: c[0] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:41:0,
lwe-arithmetics_avx2.c: from lwe-arithmetics_avx2.c:10:
lwe-arithmetics_avx2.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avxintrin.h:1234:1: error: inlining failed in call to always_inline '_mm256_setzero_si256': target specific option mismatch
lwe-arithmetics_avx2.c: _mm256_setzero_si256 (void)
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:165:12: note: called from here
lwe-arithmetics_avx2.c: c[7] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:41:0,
lwe-arithmetics_avx2.c: from lwe-arithmetics_avx2.c:10:
lwe-arithmetics_avx2.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avxintrin.h:1234:1: error: inlining failed in call to always_inline '_mm256_setzero_si256': target specific option mismatch
lwe-arithmetics_avx2.c: _mm256_setzero_si256 (void)
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:164:12: note: called from here
lwe-arithmetics_avx2.c: c[6] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:41:0,
lwe-arithmetics_avx2.c: from lwe-arithmetics_avx2.c:10:
lwe-arithmetics_avx2.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avxintrin.h:1234:1: error: inlining failed in call to always_inline '_mm256_setzero_si256': target specific option mismatch
lwe-arithmetics_avx2.c: _mm256_setzero_si256 (void)
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: ...
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c: In function 'submat_negmul':
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:158:10: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
lwe-arithmetics_avx2.c: c[0] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:41:0,
lwe-arithmetics_avx2.c: from lwe-arithmetics_avx2.c:10:
lwe-arithmetics_avx2.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avxintrin.h:1234:1: error: inlining failed in call to always_inline '_mm256_setzero_si256': target specific option mismatch
lwe-arithmetics_avx2.c: _mm256_setzero_si256 (void)
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:165:12: note: called from here
lwe-arithmetics_avx2.c: c[7] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:41:0,
lwe-arithmetics_avx2.c: from lwe-arithmetics_avx2.c:10:
lwe-arithmetics_avx2.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avxintrin.h:1234:1: error: inlining failed in call to always_inline '_mm256_setzero_si256': target specific option mismatch
lwe-arithmetics_avx2.c: _mm256_setzero_si256 (void)
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:164:12: note: called from here
lwe-arithmetics_avx2.c: c[6] = _mm256_setzero_si256();
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:41:0,
lwe-arithmetics_avx2.c: from lwe-arithmetics_avx2.c:10:
lwe-arithmetics_avx2.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avxintrin.h:1234:1: error: inlining failed in call to always_inline '_mm256_setzero_si256': target specific option mismatch
lwe-arithmetics_avx2.c: _mm256_setzero_si256 (void)
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -m64 -march=barcelona -O -fomit-frame-pointer avx2
gcc -m64 -march=barcelona -Os -fomit-frame-pointer avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
lwe-arithmetics_avx2.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:43:0,
lwe-arithmetics_avx2.c: from lwe-arithmetics_avx2.c:10:
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c: In function 'submat_negmul':
lwe-arithmetics_avx2.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avx2intrin.h:808:1: error: inlining failed in call to always_inline '_mm256_sub_epi16': target specific option mismatch
lwe-arithmetics_avx2.c: _mm256_sub_epi16 (__m256i __A, __m256i __B)
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:192:14: note: called from here
lwe-arithmetics_avx2.c: c[7] = _mm256_sub_epi16(c[7], b[3]);
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:43:0,
lwe-arithmetics_avx2.c: from lwe-arithmetics_avx2.c:10:
lwe-arithmetics_avx2.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avx2intrin.h:808:1: error: inlining failed in call to always_inline '_mm256_sub_epi16': target specific option mismatch
lwe-arithmetics_avx2.c: _mm256_sub_epi16 (__m256i __A, __m256i __B)
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:191:14: note: called from here
lwe-arithmetics_avx2.c: c[6] = _mm256_sub_epi16(c[6], b[2]);
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:43:0,
lwe-arithmetics_avx2.c: from lwe-arithmetics_avx2.c:10:
lwe-arithmetics_avx2.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avx2intrin.h:808:1: error: inlining failed in call to always_inline '_mm256_sub_epi16': target specific option mismatch
lwe-arithmetics_avx2.c: _mm256_sub_epi16 (__m256i __A, __m256i __B)
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: lwe-arithmetics_avx2.c:190:14: note: called from here
lwe-arithmetics_avx2.c: c[5] = _mm256_sub_epi16(c[5], b[1]);
lwe-arithmetics_avx2.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
lwe-arithmetics_avx2.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer avx2
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer avx2
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
try.c: /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: crypto_encrypt_lotus256.a(crypto.o): in function `crypto_symenc_encrypt':
try.c: crypto.c:(.text+0x...): undefined reference to `EVP_CIPHER_CTX_reset'
try.c: /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: crypto_encrypt_lotus256.a(crypto.o): in function `crypto_symenc_decrypt':
try.c: crypto.c:(.text+0x...): undefined reference to `EVP_CIPHER_CTX_reset'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 224, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer avx2
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer avx2
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer avx2
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer avx2
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer avx2
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer avx2
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer avx2
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer avx2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv avx2
gcc opt
gcc -O2 -fomit-frame-pointer opt
gcc -O3 -fomit-frame-pointer opt
gcc -O -fomit-frame-pointer opt
gcc -Os -fomit-frame-pointer opt
gcc -fno-schedule-insns -O2 -fomit-frame-pointer opt
gcc -fno-schedule-insns -O3 -fomit-frame-pointer opt
gcc -fno-schedule-insns -O -fomit-frame-pointer opt
gcc -fno-schedule-insns -Os -fomit-frame-pointer opt
gcc -funroll-loops opt
gcc -funroll-loops -O2 -fomit-frame-pointer opt
gcc -funroll-loops -O3 -fomit-frame-pointer opt
gcc -funroll-loops -O -fomit-frame-pointer opt
gcc -funroll-loops -Os -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer opt
gcc -m64 -O2 -fomit-frame-pointer opt
gcc -m64 -O3 -fomit-frame-pointer opt
gcc -m64 -O -fomit-frame-pointer opt
gcc -m64 -Os -fomit-frame-pointer opt
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer opt
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer opt
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer opt
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer opt
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer opt
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer opt
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer opt
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer opt
gcc -m64 -march=core2 -O2 -fomit-frame-pointer opt
gcc -m64 -march=core2 -O3 -fomit-frame-pointer opt
gcc -m64 -march=core2 -O -fomit-frame-pointer opt
gcc -m64 -march=core2 -Os -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer opt
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer opt
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer opt
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer opt
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer opt
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer opt
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer opt
gcc -m64 -march=corei7 -O -fomit-frame-pointer opt
gcc -m64 -march=corei7 -Os -fomit-frame-pointer opt
gcc -m64 -march=k8 -O2 -fomit-frame-pointer opt
gcc -m64 -march=k8 -O3 -fomit-frame-pointer opt
gcc -m64 -march=k8 -O -fomit-frame-pointer opt
gcc -m64 -march=k8 -Os -fomit-frame-pointer opt
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer opt
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer opt
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer opt
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer opt
gcc -m64 -march=nocona -O2 -fomit-frame-pointer opt
gcc -m64 -march=nocona -O3 -fomit-frame-pointer opt
gcc -m64 -march=nocona -O -fomit-frame-pointer opt
gcc -m64 -march=nocona -Os -fomit-frame-pointer opt
gcc -march=barcelona -O2 -fomit-frame-pointer opt
gcc -march=barcelona -O3 -fomit-frame-pointer opt
gcc -march=barcelona -O -fomit-frame-pointer opt
gcc -march=barcelona -Os -fomit-frame-pointer opt
gcc -march=k8 -O2 -fomit-frame-pointer opt
gcc -march=k8 -O3 -fomit-frame-pointer opt
gcc -march=k8 -O -fomit-frame-pointer opt
gcc -march=k8 -Os -fomit-frame-pointer opt
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv opt
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv opt
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv opt
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv opt
gcc -march=nocona -O2 -fomit-frame-pointer opt
gcc -march=nocona -O3 -fomit-frame-pointer opt
gcc -march=nocona -O -fomit-frame-pointer opt
gcc -march=nocona -Os -fomit-frame-pointer opt
gcc ref
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 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=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv 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: opt
Security model: unknown
Compiler: cc
try.c: /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: crypto_encrypt_lotus256.a(crypto.o): in function `crypto_symenc_encrypt':
try.c: crypto.c:(.text+0x...): undefined reference to `EVP_CIPHER_CTX_reset'
try.c: /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: crypto_encrypt_lotus256.a(crypto.o): in function `crypto_symenc_decrypt':
try.c: crypto.c:(.text+0x...): undefined reference to `EVP_CIPHER_CTX_reset'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
cc opt ref

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
lwe-arithmetics_opt.c: fatal error: error in backend: Cannot select: 0x1a67450: v32i16 = X86ISD::VBROADCAST 0x1a00de0
lwe-arithmetics_opt.c: 0x1a00de0: i16,ch = CopyFromReg 0x187d1e0, Register:i16 %vreg24
lwe-arithmetics_opt.c: 0x192a170: i16 = Register %vreg24
lwe-arithmetics_opt.c: In function: submul
lwe-arithmetics_opt.c: clang-3.8: error: clang frontend command failed with exit code 70 (use -v to see invocation)
lwe-arithmetics_opt.c: clang version 3.8.0 (tags/RELEASE_380/final 262553)
lwe-arithmetics_opt.c: Target: x86_64-unknown-linux-gnu
lwe-arithmetics_opt.c: Thread model: posix
lwe-arithmetics_opt.c: InstalledDir: /usr/bin
lwe-arithmetics_opt.c: clang-3.8: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
lwe-arithmetics_opt.c: clang-3.8: note: diagnostic msg:
lwe-arithmetics_opt.c: ********************
lwe-arithmetics_opt.c:
lwe-arithmetics_opt.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
lwe-arithmetics_opt.c: Preprocessed source(s) and associated run script(s) are located at:
lwe-arithmetics_opt.c: clang-3.8: note: diagnostic msg: /tmp/lwe-arithmetics_opt-40637b.c
lwe-arithmetics_opt.c: clang-3.8: note: diagnostic msg: /tmp/lwe-arithmetics_opt-40637b.sh
lwe-arithmetics_opt.c: clang-3.8: note: diagnostic msg:
lwe-arithmetics_opt.c:
lwe-arithmetics_opt.c: ********************

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

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
lwe-arithmetics_opt.c: fatal error: error in backend: Cannot select: 0xb17560: v32i16 = X86ISD::VBROADCAST 0xb6b550
lwe-arithmetics_opt.c: 0xb6b550: i16,ch = CopyFromReg 0x9cd200, Register:i16 %vreg24
lwe-arithmetics_opt.c: 0xc821a0: i16 = Register %vreg24
lwe-arithmetics_opt.c: In function: submul
lwe-arithmetics_opt.c: clang-3.8: error: clang frontend command failed with exit code 70 (use -v to see invocation)
lwe-arithmetics_opt.c: clang version 3.8.0 (tags/RELEASE_380/final 262553)
lwe-arithmetics_opt.c: Target: x86_64-unknown-linux-gnu
lwe-arithmetics_opt.c: Thread model: posix
lwe-arithmetics_opt.c: InstalledDir: /usr/bin
lwe-arithmetics_opt.c: clang-3.8: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
lwe-arithmetics_opt.c: clang-3.8: note: diagnostic msg:
lwe-arithmetics_opt.c: ********************
lwe-arithmetics_opt.c:
lwe-arithmetics_opt.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
lwe-arithmetics_opt.c: Preprocessed source(s) and associated run script(s) are located at:
lwe-arithmetics_opt.c: clang-3.8: note: diagnostic msg: /tmp/lwe-arithmetics_opt-6b2957.c
lwe-arithmetics_opt.c: clang-3.8: note: diagnostic msg: /tmp/lwe-arithmetics_opt-6b2957.sh
lwe-arithmetics_opt.c: clang-3.8: note: diagnostic msg:
lwe-arithmetics_opt.c:
lwe-arithmetics_opt.c: ********************

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

Compiler output

Implementation: opt
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
try.c: /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: crypto_encrypt_lotus256.a(crypto.o): in function `crypto_symenc_encrypt':
try.c: crypto.c:(.text+0x...): undefined reference to `EVP_CIPHER_CTX_reset'
try.c: /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: crypto_encrypt_lotus256.a(crypto.o): in function `crypto_symenc_decrypt':
try.c: crypto.c:(.text+0x...): undefined reference to `EVP_CIPHER_CTX_reset'
try.c: collect2: error: ld returned 1 exit status
try.c: /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: crypto_encrypt_lotus256.a(crypto.o): in function `crypto_symenc_encrypt':
try.c: crypto.c:(.text+0x...): undefined reference to `EVP_CIPHER_CTX_reset'
try.c: /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: crypto_encrypt_lotus256.a(crypto.o): in function `crypto_symenc_decrypt':
try.c: crypto.c:(.text+0x...): undefined reference to `EVP_CIPHER_CTX_reset'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer opt
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer opt
gcc -m64 -march=barcelona -O -fomit-frame-pointer opt
gcc -m64 -march=barcelona -Os -fomit-frame-pointer opt
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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x10591d0: v4i64 = X86ISD::VTRUNC 0x1059000
try.c: 0x1059000: v16i32 = vselect 0x1039590, 0xff0b40, 0x1058ed0
try.c: 0x1039590: v4i1 = X86ISD::PCMPGTM 0x10446e0, 0xff18f0
try.c: 0x10446e0: v4i64 = X86ISD::VBROADCAST 0xff1c80
try.c: 0xff1c80: i64,ch = load<LD8[%uglygep72]> 0xf3ddb0, 0x103c890, undef:i64
try.c: 0x103c890: i64 = add 0x10455c0, 0xff3f90
try.c: 0x10455c0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x10376a0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0xff3f90: i64 = shl 0x1036e50, Constant:i8<3>
try.c: 0x1036e50: i64,ch = CopyFromReg 0xf3ddb0, Register:i64 %vreg50
try.c: 0x1045a80: i64 = Register %vreg50
try.c: 0xfed480: i8 = Constant<3>
try.c: 0x1042d50: i64 = undef
try.c: 0xff18f0: v4i64,ch = CopyFromReg 0xf3ddb0, Register:v4i64 %vreg13
try.c: 0xfe8c60: v4i64 = Register %vreg13
try.c: 0xff0b40: v16i32 = X86ISD::VBROADCAST 0x10370b0
try.c: 0x10370b0: i32,ch = load<LD4[ConstantPool]> 0xf3ddb0, 0x1058b40, undef:i64
try.c: 0x1058b40: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0xfe3fd0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1042d50: i64 = undef
try.c: 0x1058ed0: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x1058da0: i32 = Constant<0>
try.c: 0x1058da0: i32 = Constant<0>
try.c: 0x1058da0: i32 = Constant<0>
try.c: 0x1058da0: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x29e7210: v4i64 = X86ISD::VTRUNC 0x29e7040
try.c: 0x29e7040: v16i32 = vselect 0x29c5db0, 0x2971f10, 0x29e6f10
try.c: 0x29c5db0: v4i1 = X86ISD::PCMPGTM 0x29d2720, 0x2972cc0
try.c: 0x29d2720: v4i64 = X86ISD::VBROADCAST 0x2973050
try.c: 0x2973050: i64,ch = load<LD8[%uglygep72]> 0x28cbdd0, 0x29b7ad0, undef:i64
try.c: 0x29b7ad0: i64 = add 0x29d3600, 0x298f2c0
try.c: 0x29d3600: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x29cd340: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x298f2c0: i64 = shl 0x29ccaf0, Constant:i8<3>
try.c: 0x29ccaf0: i64,ch = CopyFromReg 0x28cbdd0, Register:i64 %vreg50
try.c: 0x29d3ac0: i64 = Register %vreg50
try.c: 0x29744c0: i8 = Constant<3>
try.c: 0x29d0d90: i64 = undef
try.c: 0x2972cc0: v4i64,ch = CopyFromReg 0x28cbdd0, Register:v4i64 %vreg13
try.c: 0x296c090: v4i64 = Register %vreg13
try.c: 0x2971f10: v16i32 = X86ISD::VBROADCAST 0x29ccd50
try.c: 0x29ccd50: i32,ch = load<LD4[ConstantPool]> 0x28cbdd0, 0x29e6b80, undef:i64
try.c: 0x29e6b80: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x2994cc0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x29d0d90: i64 = undef
try.c: 0x29e6f10: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x29e6de0: i32 = Constant<0>
try.c: 0x29e6de0: i32 = Constant<0>
try.c: 0x29e6de0: i32 = Constant<0>
try.c: 0x29e6de0: i32 = Constant<0>
try.c: ...

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