Implementation notes: amd64, oki, crypto_sign/luov8117404pc

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_sign
Primitive: luov8117404pc
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1849160? ? ?? ? ?avx2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011420181123
1874162? ? ?? ? ?avx2clang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
1972070? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011420181123
2003824? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011420181123
2044500? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011420181123
2551760? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011420181123
2660788? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011420181123
2688938? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011420181123
2700812? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011420181123
2827568? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011420181123
2863394? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011420181123
2966910? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011420181123
2974886? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011420181123
3109544? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O_-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: 0x1a1ffa0: v4i64 = X86ISD::VTRUNC 0x1a1fdd0
try.c: 0x1a1fdd0: v16i32 = vselect 0x1a27a40, 0x199f2c0, 0x1a1fca0
try.c: 0x1a27a40: v4i1 = X86ISD::PCMPGTM 0x1a09490, 0x19a0070
try.c: 0x1a09490: v4i64 = X86ISD::VBROADCAST 0x19a0400
try.c: 0x19a0400: i64,ch = load<LD8[%uglygep72]> 0x1903de0, 0x19bf120, undef:i64
try.c: 0x19bf120: i64 = add 0x1a0a370, 0x1986e60
try.c: 0x1a0a370: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x19e9750: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1986e60: i64 = shl 0x19e8f00, Constant:i8<3>
try.c: 0x19e8f00: i64,ch = CopyFromReg 0x1903de0, Register:i64 %vreg50
try.c: 0x1a0a830: i64 = Register %vreg50
try.c: 0x197cb80: i8 = Constant<3>
try.c: 0x19f6b30: i64 = undef
try.c: 0x19a0070: v4i64,ch = CopyFromReg 0x1903de0, Register:v4i64 %vreg13
try.c: 0x19bb420: v4i64 = Register %vreg13
try.c: 0x199f2c0: v16i32 = X86ISD::VBROADCAST 0x19e9160
try.c: 0x19e9160: i32,ch = load<LD4[ConstantPool]> 0x1903de0, 0x1a1f910, undef:i64
try.c: 0x1a1f910: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x19ab690: i64 = TargetConstantPool<i32 1> 0
try.c: 0x19f6b30: i64 = undef
try.c: 0x1a1fca0: 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: 0x1a1fb70: i32 = Constant<0>
try.c: 0x1a1fb70: i32 = Constant<0>
try.c: 0x1a1fb70: i32 = Constant<0>
try.c: 0x1a1fb70: 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: 0x1cf6ca0: v4i64 = X86ISD::VTRUNC 0x1cf6ad0
try.c: 0x1cf6ad0: v16i32 = vselect 0x1ceb640, 0x1c73f60, 0x1cf69a0
try.c: 0x1ceb640: v4i1 = X86ISD::PCMPGTM 0x1cdd9c0, 0x1c74d10
try.c: 0x1cdd9c0: v4i64 = X86ISD::VBROADCAST 0x1c750a0
try.c: 0x1c750a0: i64,ch = load<LD8[%uglygep72]> 0x1bd8dd0, 0x1ca3ca0, undef:i64
try.c: 0x1ca3ca0: i64 = add 0x1cde8a0, 0x1c787b0
try.c: 0x1cde8a0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1cc5d00: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1c787b0: i64 = shl 0x1cc54b0, Constant:i8<3>
try.c: 0x1cc54b0: i64,ch = CopyFromReg 0x1bd8dd0, Register:i64 %vreg50
try.c: 0x1cded60: i64 = Register %vreg50
try.c: 0x1c82540: i8 = Constant<3>
try.c: 0x1cdc030: i64 = undef
try.c: 0x1c74d10: v4i64,ch = CopyFromReg 0x1bd8dd0, Register:v4i64 %vreg13
try.c: 0x1c9db30: v4i64 = Register %vreg13
try.c: 0x1c73f60: v16i32 = X86ISD::VBROADCAST 0x1cc5710
try.c: 0x1cc5710: i32,ch = load<LD4[ConstantPool]> 0x1bd8dd0, 0x1cf6610, undef:i64
try.c: 0x1cf6610: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1c8d920: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1cdc030: i64 = undef
try.c: 0x1cf69a0: 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: 0x1cf6870: i32 = Constant<0>
try.c: 0x1cf6870: i32 = Constant<0>
try.c: 0x1cf6870: i32 = Constant<0>
try.c: 0x1cf6870: 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