Implementation notes: amd64, oki, crypto_sign/luov863256pc

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_sign
Primitive: luov863256pc
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
464726? ? ?? ? ?avx2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011420181123
476126? ? ?? ? ?avx2clang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
480722? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011420181123
499726? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011420181123
514864? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011420181123
589602? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011420181123
599098? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011420181123
599190? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011420181123
606602? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011420181123
608014? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011420181123
616258? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011420181123
740828? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011420181123
757770? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011420181123
767792? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011420181123

Compiler output

Implementation: avx2
Security model: unknown
Compiler: cc
intermediateValues.c: In file included from LinearAlgebra.h:9:0,
intermediateValues.c: from intermediateValues.h:5,
intermediateValues.c: from intermediateValues.c:1:
intermediateValues.c: AVX_Operations.h:22:21: error: unknown type name '__m256i'
intermediateValues.c: void print256_num32(__m256i var)
intermediateValues.c: ^
intermediateValues.c: AVX_Operations.h:31:20: error: unknown type name '__m256i'
intermediateValues.c: void print256_num8(__m256i var)
intermediateValues.c: ^
intermediateValues.c: In file included from LinearAlgebra.h:9:0,
intermediateValues.c: from intermediateValues.h:5,
intermediateValues.c: from intermediateValues.c:1:
intermediateValues.c: AVX_Operations.h:47:26: error: unknown type name '__m256i'
intermediateValues.c: void addScalarProductAVX(__m256i *V, FELT a, bitcontainer b) {
intermediateValues.c: ^
intermediateValues.c: AVX_Operations.h:100:27: error: unknown type name '__m256i'
intermediateValues.c: void addScalarProduct3AVX(__m256i *V1, FELT a1, __m256i *V2, FELT a2, __m256i *V3, FELT a3, const bitcontainer b) {
intermediateValues.c: ^
intermediateValues.c: AVX_Operations.h:100:49: error: unknown type name '__m256i'
intermediateValues.c: void addScalarProduct3AVX(__m256i *V1, FELT a1, __m256i *V2, FELT a2, __m256i *V3, FELT a3, const bitcontainer b) {
intermediateValues.c: ^
intermediateValues.c: AVX_Operations.h:100:71: error: unknown type name '__m256i'
intermediateValues.c: void addScalarProduct3AVX(__m256i *V1, FELT a1, __m256i *V2, FELT a2, __m256i *V3, FELT a3, const bitcontainer b) {
intermediateValues.c: ^
intermediateValues.c: AVX_Operations.h:158:27: error: unknown type name '__m256i'
intermediateValues.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
LinearAlgebra.c: LinearAlgebra.c:78:11: error: always_inline function '_mm256_setzero_si256' requires target feature 'sse4.2', but would be inlined into function 'scaleRow' that is compiled without support for 'sse4.2'
LinearAlgebra.c: Temp = _mm256_setzero_si256();
LinearAlgebra.c: ^
LinearAlgebra.c: 1 error generated.

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: 0x1a07f30: v4i64 = X86ISD::VTRUNC 0x1a07d60
try.c: 0x1a07d60: v16i32 = vselect 0x1a049a0, 0x1991680, 0x1a07c30
try.c: 0x1a049a0: v4i1 = X86ISD::PCMPGTM 0x19ef000, 0x199ff90
try.c: 0x19ef000: v4i64 = X86ISD::VBROADCAST 0x19a0320
try.c: 0x19a0320: i64,ch = load<LD8[%uglygep72]> 0x18eadd0, 0x19df3a0, undef:i64
try.c: 0x19df3a0: i64 = add 0x19efee0, 0x1997a40
try.c: 0x19efee0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x19a6210: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1997a40: i64 = shl 0x19a59c0, Constant:i8<3>
try.c: 0x19a59c0: i64,ch = CopyFromReg 0x18eadd0, Register:i64 %vreg50
try.c: 0x19f03a0: i64 = Register %vreg50
try.c: 0x196cc90: i8 = Constant<3>
try.c: 0x19ece60: i64 = undef
try.c: 0x199ff90: v4i64,ch = CopyFromReg 0x18eadd0, Register:v4i64 %vreg13
try.c: 0x198b380: v4i64 = Register %vreg13
try.c: 0x1991680: v16i32 = X86ISD::VBROADCAST 0x19a5c20
try.c: 0x19a5c20: i32,ch = load<LD4[ConstantPool]> 0x18eadd0, 0x1a078a0, undef:i64
try.c: 0x1a078a0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1988ea0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x19ece60: i64 = undef
try.c: 0x1a07c30: 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: 0x1a07b00: i32 = Constant<0>
try.c: 0x1a07b00: i32 = Constant<0>
try.c: 0x1a07b00: i32 = Constant<0>
try.c: 0x1a07b00: 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 -mavx -fomit-frame-pointer -Qunused-arguments
LinearAlgebra.c: LinearAlgebra.c:88:9: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'scalarMul2' that is compiled without support for 'avx2'
LinearAlgebra.c: *Out = _mm256_xor_si256(*Out, _mm256_shuffle_epi8(table[0],_mm256_and_si256(*Mask,A)));
LinearAlgebra.c: ^
LinearAlgebra.c: LinearAlgebra.c:88:32: error: always_inline function '_mm256_shuffle_epi8' requires target feature 'avx2', but would be inlined into function 'scalarMul2' that is compiled without support for 'avx2'
LinearAlgebra.c: *Out = _mm256_xor_si256(*Out, _mm256_shuffle_epi8(table[0],_mm256_and_si256(*Mask,A)));
LinearAlgebra.c: ^
LinearAlgebra.c: LinearAlgebra.c:88:61: error: always_inline function '_mm256_and_si256' requires target feature 'avx2', but would be inlined into function 'scalarMul2' that is compiled without support for 'avx2'
LinearAlgebra.c: *Out = _mm256_xor_si256(*Out, _mm256_shuffle_epi8(table[0],_mm256_and_si256(*Mask,A)));
LinearAlgebra.c: ^
LinearAlgebra.c: LinearAlgebra.c:89:9: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'scalarMul2' that is compiled without support for 'avx2'
LinearAlgebra.c: *Out = _mm256_xor_si256(*Out, _mm256_shuffle_epi8(table[1],_mm256_and_si256(*Mask,_mm256_srli_epi16(A,4))));
LinearAlgebra.c: ^
LinearAlgebra.c: LinearAlgebra.c:89:32: error: always_inline function '_mm256_shuffle_epi8' requires target feature 'avx2', but would be inlined into function 'scalarMul2' that is compiled without support for 'avx2'
LinearAlgebra.c: *Out = _mm256_xor_si256(*Out, _mm256_shuffle_epi8(table[1],_mm256_and_si256(*Mask,_mm256_srli_epi16(A,4))));
LinearAlgebra.c: ^
LinearAlgebra.c: LinearAlgebra.c:89:61: error: always_inline function '_mm256_and_si256' requires target feature 'avx2', but would be inlined into function 'scalarMul2' that is compiled without support for 'avx2'
LinearAlgebra.c: *Out = _mm256_xor_si256(*Out, _mm256_shuffle_epi8(table[1],_mm256_and_si256(*Mask,_mm256_srli_epi16(A,4))));
LinearAlgebra.c: ^
LinearAlgebra.c: LinearAlgebra.c:89:84: error: always_inline function '_mm256_srli_epi16' requires target feature 'avx2', but would be inlined into function 'scalarMul2' that is compiled without support for 'avx2'
LinearAlgebra.c: *Out = _mm256_xor_si256(*Out, _mm256_shuffle_epi8(table[1],_mm256_and_si256(*Mask,_mm256_srli_epi16(A,4))));
LinearAlgebra.c: ^
LinearAlgebra.c: 7 errors generated.

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: 0x1b388a0: v4i64 = X86ISD::VTRUNC 0x1b386d0
try.c: 0x1b386d0: v16i32 = vselect 0x1b40340, 0x1ab4430, 0x1b385a0
try.c: 0x1b40340: v4i1 = X86ISD::PCMPGTM 0x1b211a0, 0x1ab51e0
try.c: 0x1b211a0: v4i64 = X86ISD::VBROADCAST 0x1ab5570
try.c: 0x1ab5570: i64,ch = load<LD8[%uglygep72]> 0x1a1add0, 0x1a9d3d0, undef:i64
try.c: 0x1a9d3d0: i64 = add 0x1b22080, 0x1ab84b0
try.c: 0x1b22080: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1b1d1e0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1ab84b0: i64 = shl 0x1b1c990, Constant:i8<3>
try.c: 0x1b1c990: i64,ch = CopyFromReg 0x1a1add0, Register:i64 %vreg50
try.c: 0x1b22540: i64 = Register %vreg50
try.c: 0x1abfcf0: i8 = Constant<3>
try.c: 0x1b1f000: i64 = undef
try.c: 0x1ab51e0: v4i64,ch = CopyFromReg 0x1a1add0, Register:v4i64 %vreg13
try.c: 0x1adeeb0: v4i64 = Register %vreg13
try.c: 0x1ab4430: v16i32 = X86ISD::VBROADCAST 0x1b1cbf0
try.c: 0x1b1cbf0: i32,ch = load<LD4[ConstantPool]> 0x1a1add0, 0x1b38210, undef:i64
try.c: 0x1b38210: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1ac5fa0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1b1f000: i64 = undef
try.c: 0x1b385a0: 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: 0x1b38470: i32 = Constant<0>
try.c: 0x1b38470: i32 = Constant<0>
try.c: 0x1b38470: i32 = Constant<0>
try.c: 0x1b38470: 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
LinearAlgebra.c: LinearAlgebra.c: In function 'scaleRow':
LinearAlgebra.c: LinearAlgebra.c:78:9: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
LinearAlgebra.c: Temp = _mm256_setzero_si256();
LinearAlgebra.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
LinearAlgebra.c: In file included from LinearAlgebra.h:9:0,
LinearAlgebra.c: from LinearAlgebra.c:4:
LinearAlgebra.c: AVX_Operations.h: In function 'scalarMul_ct':
LinearAlgebra.c: AVX_Operations.h:529:6: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
LinearAlgebra.c: void scalarMul_ct(__m256i *Out, __m256i A, FELT b){
LinearAlgebra.c: ^~~~~~~~~~~~
LinearAlgebra.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:43:0,
LinearAlgebra.c: from parameters.h:5,
LinearAlgebra.c: from F256Field.h:10,
LinearAlgebra.c: from LinearAlgebra.h:8,
LinearAlgebra.c: from LinearAlgebra.c:4:
LinearAlgebra.c: AVX_Operations.h: In function 'scalarMul':
LinearAlgebra.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
LinearAlgebra.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
LinearAlgebra.c: ^~~~~~~~~~~~~~~~
LinearAlgebra.c: In file included from LinearAlgebra.h:9:0,
LinearAlgebra.c: from LinearAlgebra.c:4:
LinearAlgebra.c: AVX_Operations.h:450:9: note: called from here
LinearAlgebra.c: *Out = _mm256_xor_si256(*Out, _mm256_shuffle_epi8(Table[((uint32_t)b)*2+1],_mm256_and_si256(*Mask,_mm256_srli_epi16(A,4))));
LinearAlgebra.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LinearAlgebra.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:43:0,
LinearAlgebra.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
LinearAlgebra.c: LinearAlgebra.c: In function 'scaleRow':
LinearAlgebra.c: LinearAlgebra.c:78:9: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
LinearAlgebra.c: Temp = _mm256_setzero_si256();
LinearAlgebra.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
LinearAlgebra.c: In file included from LinearAlgebra.h:9:0,
LinearAlgebra.c: from LinearAlgebra.c:4:
LinearAlgebra.c: AVX_Operations.h: In function 'scalarMul_ct':
LinearAlgebra.c: AVX_Operations.h:529:6: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
LinearAlgebra.c: void scalarMul_ct(__m256i *Out, __m256i A, FELT b){
LinearAlgebra.c: ^~~~~~~~~~~~
LinearAlgebra.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:43:0,
LinearAlgebra.c: from parameters.h:5,
LinearAlgebra.c: from F256Field.h:10,
LinearAlgebra.c: from LinearAlgebra.h:8,
LinearAlgebra.c: from LinearAlgebra.c:4:
LinearAlgebra.c: AVX_Operations.h: In function 'scalarMul':
LinearAlgebra.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
LinearAlgebra.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
LinearAlgebra.c: ^~~~~~~~~~~~~~~~
LinearAlgebra.c: In file included from LinearAlgebra.h:9:0,
LinearAlgebra.c: from LinearAlgebra.c:4:
LinearAlgebra.c: AVX_Operations.h:450:9: note: called from here
LinearAlgebra.c: *Out = _mm256_xor_si256(*Out, _mm256_shuffle_epi8(Table[((uint32_t)b)*2+1],_mm256_and_si256(*Mask,_mm256_srli_epi16(A,4))));
LinearAlgebra.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LinearAlgebra.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:43:0,
LinearAlgebra.c: ...
LinearAlgebra.c: LinearAlgebra.c: In function 'scaleRow':
LinearAlgebra.c: LinearAlgebra.c:78:9: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
LinearAlgebra.c: Temp = _mm256_setzero_si256();
LinearAlgebra.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
LinearAlgebra.c: In file included from LinearAlgebra.h:9:0,
LinearAlgebra.c: from LinearAlgebra.c:4:
LinearAlgebra.c: AVX_Operations.h: In function 'scalarMul_ct':
LinearAlgebra.c: AVX_Operations.h:529:6: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
LinearAlgebra.c: void scalarMul_ct(__m256i *Out, __m256i A, FELT b){
LinearAlgebra.c: ^~~~~~~~~~~~
LinearAlgebra.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:43:0,
LinearAlgebra.c: from parameters.h:5,
LinearAlgebra.c: from F256Field.h:10,
LinearAlgebra.c: from LinearAlgebra.h:8,
LinearAlgebra.c: from LinearAlgebra.c:4:
LinearAlgebra.c: AVX_Operations.h: In function 'scalarMul':
LinearAlgebra.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
LinearAlgebra.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
LinearAlgebra.c: ^~~~~~~~~~~~~~~~
LinearAlgebra.c: In file included from LinearAlgebra.h:9:0,
LinearAlgebra.c: from LinearAlgebra.c:4:
LinearAlgebra.c: AVX_Operations.h:450:9: note: called from here
LinearAlgebra.c: *Out = _mm256_xor_si256(*Out, _mm256_shuffle_epi8(Table[((uint32_t)b)*2+1],_mm256_and_si256(*Mask,_mm256_srli_epi16(A,4))));
LinearAlgebra.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LinearAlgebra.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:43:0,
LinearAlgebra.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
LinearAlgebra.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:43:0,
LinearAlgebra.c: from parameters.h:5,
LinearAlgebra.c: from F256Field.h:10,
LinearAlgebra.c: from LinearAlgebra.h:8,
LinearAlgebra.c: from LinearAlgebra.c:4:
LinearAlgebra.c: AVX_Operations.h: In function 'scalarMul':
LinearAlgebra.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
LinearAlgebra.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
LinearAlgebra.c: ^~~~~~~~~~~~~~~~
LinearAlgebra.c: In file included from LinearAlgebra.h:9:0,
LinearAlgebra.c: from LinearAlgebra.c:4:
LinearAlgebra.c: AVX_Operations.h:450:9: note: called from here
LinearAlgebra.c: *Out = _mm256_xor_si256(*Out, _mm256_shuffle_epi8(Table[((uint32_t)b)*2+1],_mm256_and_si256(*Mask,_mm256_srli_epi16(A,4))));
LinearAlgebra.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LinearAlgebra.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:43:0,
LinearAlgebra.c: from parameters.h:5,
LinearAlgebra.c: from F256Field.h:10,
LinearAlgebra.c: from LinearAlgebra.h:8,
LinearAlgebra.c: from LinearAlgebra.c:4:
LinearAlgebra.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avx2intrin.h:588:1: error: inlining failed in call to always_inline '_mm256_shuffle_epi8': target specific option mismatch
LinearAlgebra.c: _mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
LinearAlgebra.c: ^~~~~~~~~~~~~~~~~~~
LinearAlgebra.c: In file included from LinearAlgebra.h:9:0,
LinearAlgebra.c: from LinearAlgebra.c:4:
LinearAlgebra.c: AVX_Operations.h:450:9: note: called from here
LinearAlgebra.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