Implementation notes: amd64, oki, crypto_kem/ntrulpr4591761

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_kem
Primitive: ntrulpr4591761
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
171562? ? ?? ? ?avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011920181123
171854? ? ?? ? ?avxgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011920181123
173732? ? ?? ? ?avxgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011920181123
191550? ? ?? ? ?avxgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011920181123
192584? ? ?? ? ?avxgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011920181123
193814? ? ?? ? ?avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011920181123
199532? ? ?? ? ?avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011920181123
200074? ? ?? ? ?avxgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011920181123
200476? ? ?? ? ?avxgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011920181123
200898? ? ?? ? ?avxgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011920181123
201338? ? ?? ? ?avxgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011920181123
201890? ? ?? ? ?avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011920181123
55117290? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011920181123
55123200? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011920181123
55127218? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011920181123
55128716? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011920181123
55128724? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011920181123
55133966? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011920181123
55137686? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011920181123
55138212? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011920181123
55138590? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011920181123
55138974? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011920181123
55139236? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011920181123
55142642? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011920181123
55143076? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011920181123
55147854? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011920181123
55149060? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011920181123
55149640? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011920181123
55149858? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011920181123
55150598? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011920181123
55151876? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011920181123
55154486? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011920181123
55155934? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011920181123
55156966? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011920181123
55162060? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011920181123
55162292? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011920181123
55163568? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011920181123
55164122? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011920181123
55164646? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011920181123
55168572? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011920181123
55168898? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011920181123
55170510? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011920181123
55171132? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011920181123
55172422? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011920181123
55172428? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011920181123
55174196? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011920181123
55175656? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011920181123
55176224? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011920181123
55177560? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011920181123
55179662? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011920181123
55179766? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011920181123
55180472? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011920181123
55180552? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011920181123
55181652? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011920181123
55181906? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011920181123
55182050? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011920181123
55182616? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011920181123
55182900? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011920181123
55183242? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011920181123
55183270? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011920181123
55185356? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011920181123
55185688? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011920181123
55186214? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011920181123
55186260? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011920181123
55186580? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011920181123
55189774? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011920181123
55190660? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011920181123
55191292? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011920181123
55191476? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011920181123
55191568? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011920181123
55191910? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011920181123
55193224? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011920181123
55193272? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011920181123
55193668? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011920181123
55194064? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011920181123
55194148? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011920181123
55194692? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011920181123
55196916? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011920181123
55197130? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011920181123
55198288? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011920181123
55199368? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011920181123
55199836? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011920181123
55199856? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011920181123
55200734? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011920181123
55206484? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011920181123
55207518? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011920181123
55208730? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011920181123
55212034? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011920181123
55212256? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011920181123
55214680? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011920181123
55219936? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011920181123
55221702? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011920181123
55224740? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011920181123
55225940? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011920181123
55225978? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011920181123
55226460? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011920181123
55226516? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011920181123
55228128? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011920181123
55230868? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011920181123
55231802? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011920181123
55232080? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011920181123
55232092? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011920181123
55232820? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011920181123
55232882? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011920181123
55235518? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011920181123
55240396? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011920181123
55241182? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011920181123
55244350? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011920181123
55250838? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011920181123
55253006? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011920181123
55253462? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011920181123
55254698? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011920181123
55263226? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011920181123
55278548? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011920181123
55288834? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011920181123
55476586? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011920181123
82423604? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011920181123
82429876? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011920181123
82448358? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011920181123
82449702? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011920181123
82732950? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011920181123
82758592? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011920181123
88377718? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011920181123
88401548? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011920181123
88411230? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011920181123
88411266? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011920181123
88438488? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011920181123
88459838? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011920181123
124178434? ? ?? ? ?refcc2019011920181123
127050264? ? ?? ? ?refgcc2019011920181123
127085800? ? ?? ? ?refgcc_-funroll-loops2019011920181123

Compiler output

Implementation: avx
Security model: unknown
Compiler: cc
mult.c: mult.c:81:1: error: unknown type name '__m256'
mult.c: static inline __m256 add(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:81:26: error: unknown type name '__m256'
mult.c: static inline __m256 add(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:81:35: error: unknown type name '__m256'
mult.c: static inline __m256 add(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:86:1: error: unknown type name '__m256'
mult.c: static inline __m256 fastadd(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:86:30: error: unknown type name '__m256'
mult.c: static inline __m256 fastadd(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:86:39: error: unknown type name '__m256'
mult.c: static inline __m256 fastadd(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:91:1: error: unknown type name '__m256'
mult.c: static inline __m256 fastsub(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:91:30: error: unknown type name '__m256'
mult.c: static inline __m256 fastsub(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:91:39: error: unknown type name '__m256'
mult.c: ...

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

Compiler output

Implementation: avx
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
mult.c: mult.c:147:22: error: invalid output size for constraint '=&x'
mult.c: MULSTEP_fromzero(0,h0,h1,h2,h3,h4)
mult.c: ^
mult.c: mult.c:149:26: error: invalid output size for constraint '+x'
mult.c: MULSTEP_noload(j + 1,h1,h2,h3,h4,h0)
mult.c: ^
mult.c: mult.c:150:26: error: invalid output size for constraint '+x'
mult.c: MULSTEP_noload(j + 2,h2,h3,h4,h0,h1)
mult.c: ^
mult.c: mult.c:151:26: error: invalid output size for constraint '+x'
mult.c: MULSTEP_noload(j + 3,h3,h4,h0,h1,h2)
mult.c: ^
mult.c: mult.c:152:26: error: invalid output size for constraint '+x'
mult.c: MULSTEP_noload(j + 4,h4,h0,h1,h2,h3)
mult.c: ^
mult.c: mult.c:153:26: error: invalid output size for constraint '+x'
mult.c: MULSTEP_noload(j + 5,h0,h1,h2,h3,h4)
mult.c: ^
mult.c: mult.c:155:24: error: invalid output size for constraint '+x'
mult.c: MULSTEP_noload(j + 1,h1,h2,h3,h4,h0)
mult.c: ^
mult.c: mult.c:156:24: error: invalid output size for constraint '+x'
mult.c: MULSTEP_noload(j + 2,h2,h3,h4,h0,h1)
mult.c: ^
mult.c: mult.c:157:24: error: invalid output size for constraint '+x'
mult.c: ...

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

Compiler output

Implementation: avx
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x22fb030: v4i64 = X86ISD::VTRUNC 0x22fae60
try.c: 0x22fae60: v16i32 = vselect 0x2304770, 0x2295b70, 0x22fad30
try.c: 0x2304770: v4i1 = X86ISD::PCMPGTM 0x22e6140, 0x2296920
try.c: 0x22e6140: v4i64 = X86ISD::VBROADCAST 0x2296cb0
try.c: 0x2296cb0: i64,ch = load<LD8[%uglygep72]> 0x21dfdd0, 0x2289f80, undef:i64
try.c: 0x2289f80: i64 = add 0x22e7020, 0x2286ee0
try.c: 0x22e7020: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x22cd6d0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x2286ee0: i64 = shl 0x22cce80, Constant:i8<3>
try.c: 0x22cce80: i64,ch = CopyFromReg 0x21dfdd0, Register:i64 %vreg50
try.c: 0x22e74e0: i64 = Register %vreg50
try.c: 0x2260980: i8 = Constant<3>
try.c: 0x22e3fa0: i64 = undef
try.c: 0x2296920: v4i64,ch = CopyFromReg 0x21dfdd0, Register:v4i64 %vreg13
try.c: 0x2280e90: v4i64 = Register %vreg13
try.c: 0x2295b70: v16i32 = X86ISD::VBROADCAST 0x22cd0e0
try.c: 0x22cd0e0: i32,ch = load<LD4[ConstantPool]> 0x21dfdd0, 0x22fa9a0, undef:i64
try.c: 0x22fa9a0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x227e9b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x22e3fa0: i64 = undef
try.c: 0x22fad30: 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: 0x22fac00: i32 = Constant<0>
try.c: 0x22fac00: i32 = Constant<0>
try.c: 0x22fac00: i32 = Constant<0>
try.c: 0x22fac00: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: avx
Security model: unknown
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments
mult.c: mult.c:93:10: error: always_inline function '_mm256_fmadd_ps' requires target feature 'fma', but would be inlined into function 'fastsub' that is compiled without support for 'fma'
mult.c: return _mm256_fmadd_ps(y,vm1_float,x);
mult.c: ^
mult.c: mult.c:100:10: error: always_inline function '_mm256_fmadd_ps' requires target feature 'fma', but would be inlined into function 'reduce' that is compiled without support for 'fma'
mult.c: return _mm256_fmadd_ps(q,vm4591_float,x);
mult.c: ^
mult.c: mult.c:88:10: error: always_inline function '_mm256_fmadd_ps' requires target feature 'fma', but would be inlined into function 'fastadd' that is compiled without support for 'fma'
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^
mult.c: fatal error: error in backend: Cannot select: 0x1dbe0b0: v8f32 = X86ISD::FMADD 0x1e151a0, 0x1e00ba0, 0x1e41570
mult.c: 0x1e151a0: v8f32,ch = load<LD32[%sunkaddr299](tbaa=<0x17c3a78>)> 0x1ca3590, 0x1e393d0, undef:i64
mult.c: 0x1e393d0: i64 = add 0x1e22b00, Constant:i64<768>
mult.c: 0x1e22b00: i64 = add FrameIndex:i64<4>, 0x1dbf450
mult.c: 0x1e2bda0: i64 = FrameIndex<4>
mult.c: 0x1dbf450: i64,ch = CopyFromReg 0x1ca3590, Register:i64 %vreg78
mult.c: 0x1e38ae0: i64 = Register %vreg78
mult.c: 0x1e143f0: i64 = Constant<768>
mult.c: 0x1e2c430: i64 = undef
mult.c: 0x1e00ba0: v8f32 = X86ISD::VBROADCAST 0x1e182e0
mult.c: 0x1e182e0: f32,ch = load<LD4[ConstantPool]> 0x1ca3590, 0x1e41b60, undef:i64
mult.c: 0x1e41b60: i64 = X86ISD::Wrapper TargetConstantPool:i64<float -1.000000e+00> 0
mult.c: 0x1e33960: i64 = TargetConstantPool<float -1.000000e+00> 0
mult.c: 0x1e2c430: i64 = undef
mult.c: 0x1e41570: v8f32,ch = load<LD32[%sunkaddr315](tbaa=<0x17c3a78>)> 0x1ca3590, 0x1dbbaa0, undef:i64
mult.c: 0x1dbbaa0: i64 = add 0x1e20e70, Constant:i64<768>
mult.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments avx

Compiler output

Implementation: avx
Security model: unknown
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments
mult.c: mult.c:93:10: error: always_inline function '_mm256_fmadd_ps' requires target feature 'fma', but would be inlined into function 'fastsub' that is compiled without support for 'fma'
mult.c: return _mm256_fmadd_ps(y,vm1_float,x);
mult.c: ^
mult.c: mult.c:100:10: error: always_inline function '_mm256_fmadd_ps' requires target feature 'fma', but would be inlined into function 'reduce' that is compiled without support for 'fma'
mult.c: return _mm256_fmadd_ps(q,vm4591_float,x);
mult.c: ^
mult.c: mult.c:88:10: error: always_inline function '_mm256_fmadd_ps' requires target feature 'fma', but would be inlined into function 'fastadd' that is compiled without support for 'fma'
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^
mult.c: fatal error: error in backend: Cannot select: 0x2796290: v8f32 = X86ISD::FMADD 0x27cc500, 0x2711170, 0x27f64c0
mult.c: 0x27cc500: v8f32,ch = load<LD32[%sunkaddr299](tbaa=<0x1e50ff8>)> 0x265c550, 0x27ee320, undef:i64
mult.c: 0x27ee320: i64 = add 0x27d7a50, Constant:i64<768>
mult.c: 0x27d7a50: i64 = add FrameIndex:i64<4>, 0x2797630
mult.c: 0x27e0cf0: i64 = FrameIndex<4>
mult.c: 0x2797630: i64,ch = CopyFromReg 0x265c550, Register:i64 %vreg78
mult.c: 0x27eda30: i64 = Register %vreg78
mult.c: 0x27cb750: i64 = Constant<768>
mult.c: 0x27e1380: i64 = undef
mult.c: 0x2711170: v8f32 = X86ISD::VBROADCAST 0x27aab00
mult.c: 0x27aab00: f32,ch = load<LD4[ConstantPool]> 0x265c550, 0x27f6ab0, undef:i64
mult.c: 0x27f6ab0: i64 = X86ISD::Wrapper TargetConstantPool:i64<float -1.000000e+00> 0
mult.c: 0x27e88b0: i64 = TargetConstantPool<float -1.000000e+00> 0
mult.c: 0x27e1380: i64 = undef
mult.c: 0x27f64c0: v8f32,ch = load<LD32[%sunkaddr315](tbaa=<0x1e50ff8>)> 0x265c550, 0x2793c80, undef:i64
mult.c: 0x2793c80: i64 = add 0x27d5dc0, Constant:i64<768>
mult.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments avx

Compiler output

Implementation: avx
Security model: unknown
Compiler: clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments
mult.c: mult.c:732:17: error: always_inline function '_mm256_add_epi16' requires target feature 'avx2', but would be inlined into function 'rq_mult' that is compiled without support for 'avx2'
mult.c: __m256i x = _mm256_add_epi16(fgi,_mm256_add_epi16(fgip,fgip1));
mult.c: ^
mult.c: mult.c:732:38: error: always_inline function '_mm256_add_epi16' requires target feature 'avx2', but would be inlined into function 'rq_mult' that is compiled without support for 'avx2'
mult.c: __m256i x = _mm256_add_epi16(fgi,_mm256_add_epi16(fgip,fgip1));
mult.c: ^
mult.c: 2 errors generated.

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

Compiler output

Implementation: avx
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x1535f80: v4i64 = X86ISD::VTRUNC 0x1535db0
try.c: 0x1535db0: v16i32 = vselect 0x153ca10, 0x14c3b60, 0x1535c80
try.c: 0x153ca10: v4i1 = X86ISD::PCMPGTM 0x151f870, 0x14c4910
try.c: 0x151f870: v4i64 = X86ISD::VBROADCAST 0x14c4ca0
try.c: 0x14c4ca0: i64,ch = load<LD8[%uglygep72]> 0x141add0, 0x14c73c0, undef:i64
try.c: 0x14c73c0: i64 = add 0x1520750, 0x14c0360
try.c: 0x1520750: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1515a90: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x14c0360: i64 = shl 0x1515240, Constant:i8<3>
try.c: 0x1515240: i64,ch = CopyFromReg 0x141add0, Register:i64 %vreg50
try.c: 0x1520c10: i64 = Register %vreg50
try.c: 0x14cadf0: i8 = Constant<3>
try.c: 0x1519f50: i64 = undef
try.c: 0x14c4910: v4i64,ch = CopyFromReg 0x141add0, Register:v4i64 %vreg13
try.c: 0x14dedd0: v4i64 = Register %vreg13
try.c: 0x14c3b60: v16i32 = X86ISD::VBROADCAST 0x15154a0
try.c: 0x15154a0: i32,ch = load<LD4[ConstantPool]> 0x141add0, 0x15358f0, undef:i64
try.c: 0x15358f0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x14bab80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1519f50: i64 = undef
try.c: 0x1535c80: 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: 0x1535b50: i32 = Constant<0>
try.c: 0x1535b50: i32 = Constant<0>
try.c: 0x1535b50: i32 = Constant<0>
try.c: 0x1535b50: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: avx
Security model: unknown
Compiler: gcc
mult.c: mult.c: In function 'add':
mult.c: mult.c:82:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult.c: {
mult.c: ^
mult.c: mult.c: In function 'fastsub':
mult.c: mult.c:91:22: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
mult.c: static inline __m256 fastsub(__m256 x,__m256 y)
mult.c: ^~~~~~~
mult.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:85:0,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:88:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:41:0,
mult.c: from mult.c:2:
mult.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avxintrin.h:1310:1: error: inlining failed in call to always_inline '_mm256_set1_ps': target specific option mismatch
mult.c: _mm256_set1_ps (float __A)
mult.c: ^~~~~~~~~~~~~~
mult.c: mult.c:88:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc avx
gcc -funroll-loops avx

Compiler output

Implementation: avx
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer
mult.c: mult.c: In function 'add':
mult.c: mult.c:82:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult.c: {
mult.c: ^
mult.c: mult.c: In function 'squeezeadd16':
mult.c: mult.c:110:23: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
mult.c: static inline __m256i squeezeadd16(__m256i x,__m256i y)
mult.c: ^~~~~~~~~~~~
mult.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:85:0,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:88:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:41:0,
mult.c: from mult.c:2:
mult.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avxintrin.h:1310:1: error: inlining failed in call to always_inline '_mm256_set1_ps': target specific option mismatch
mult.c: _mm256_set1_ps (float __A)
mult.c: ^~~~~~~~~~~~~~
mult.c: mult.c:88:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Compiler output

Implementation: avx
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
mult.c: mult.c: In function 'add':
mult.c: mult.c:82:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult.c: {
mult.c: ^
mult.c: mult.c: In function 'squeezeadd16':
mult.c: mult.c:110:23: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
mult.c: static inline __m256i squeezeadd16(__m256i x,__m256i y)
mult.c: ^~~~~~~~~~~~
mult.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:85:0,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:88:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:41:0,
mult.c: from mult.c:2:
mult.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avxintrin.h:1310:1: error: inlining failed in call to always_inline '_mm256_set1_ps': target specific option mismatch
mult.c: _mm256_set1_ps (float __A)
mult.c: ^~~~~~~~~~~~~~
mult.c: mult.c:88:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: mult.c: In function 'add':
mult.c: mult.c:82:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult.c: {
mult.c: ^
mult.c: mult.c: In function 'squeezeadd16':
mult.c: mult.c:110:23: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
mult.c: static inline __m256i squeezeadd16(__m256i x,__m256i y)
mult.c: ^~~~~~~~~~~~
mult.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:85:0,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:88:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:41:0,
mult.c: from mult.c:2:
mult.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avxintrin.h:1310:1: error: inlining failed in call to always_inline '_mm256_set1_ps': target specific option mismatch
mult.c: _mm256_set1_ps (float __A)
mult.c: ^~~~~~~~~~~~~~
mult.c: mult.c:88:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Compiler output

Implementation: avx
Security model: unknown
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
mult.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:85:0,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:88:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:85:0,
mult.c: from mult.c:2:
mult.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:88:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

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: 0x10700c0: v4i64 = X86ISD::VTRUNC 0x106fef0
try.c: 0x106fef0: v16i32 = vselect 0x106cb30, 0xff01f0, 0x106fdc0
try.c: 0x106cb30: v4i1 = X86ISD::PCMPGTM 0x10599b0, 0x1000960
try.c: 0x10599b0: v4i64 = X86ISD::VBROADCAST 0x1000cf0
try.c: 0x1000cf0: i64,ch = load<LD8[%uglygep72]> 0xf53dd0, 0xfdca50, undef:i64
try.c: 0xfdca50: i64 = add 0x105a890, 0x1005e10
try.c: 0x105a890: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xff5610: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1005e10: i64 = shl 0xff4dc0, Constant:i8<3>
try.c: 0xff4dc0: i64,ch = CopyFromReg 0xf53dd0, Register:i64 %vreg50
try.c: 0x105ad50: i64 = Register %vreg50
try.c: 0xfd6640: i8 = Constant<3>
try.c: 0x1058020: i64 = undef
try.c: 0x1000960: v4i64,ch = CopyFromReg 0xf53dd0, Register:v4i64 %vreg13
try.c: 0xff2e30: v4i64 = Register %vreg13
try.c: 0xff01f0: v16i32 = X86ISD::VBROADCAST 0xff5020
try.c: 0xff5020: i32,ch = load<LD4[ConstantPool]> 0xf53dd0, 0x106fa30, undef:i64
try.c: 0x106fa30: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0xffdae0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1058020: i64 = undef
try.c: 0x106fdc0: 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: 0x106fc90: i32 = Constant<0>
try.c: 0x106fc90: i32 = Constant<0>
try.c: 0x106fc90: i32 = Constant<0>
try.c: 0x106fc90: 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: 0x253bfd0: v4i64 = X86ISD::VTRUNC 0x253be00
try.c: 0x253be00: v16i32 = vselect 0x252b8c0, 0x24d6940, 0x253bcd0
try.c: 0x252b8c0: v4i1 = X86ISD::PCMPGTM 0x25248b0, 0x24bacc0
try.c: 0x25248b0: v4i64 = X86ISD::VBROADCAST 0x24bb050
try.c: 0x24bb050: i64,ch = load<LD8[%uglygep72]> 0x241fdc0, 0x250f7a0, undef:i64
try.c: 0x250f7a0: i64 = add 0x2525790, 0x24e0c80
try.c: 0x2525790: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x24e7c90: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x24e0c80: i64 = shl 0x24e7440, Constant:i8<3>
try.c: 0x24e7440: i64,ch = CopyFromReg 0x241fdc0, Register:i64 %vreg50
try.c: 0x2525c50: i64 = Register %vreg50
try.c: 0x24e2280: i8 = Constant<3>
try.c: 0x251f7f0: i64 = undef
try.c: 0x24bacc0: v4i64,ch = CopyFromReg 0x241fdc0, Register:v4i64 %vreg13
try.c: 0x24c03f0: v4i64 = Register %vreg13
try.c: 0x24d6940: v16i32 = X86ISD::VBROADCAST 0x24e76a0
try.c: 0x24e76a0: i32,ch = load<LD4[ConstantPool]> 0x241fdc0, 0x253b940, undef:i64
try.c: 0x253b940: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x24bdf10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x251f7f0: i64 = undef
try.c: 0x253bcd0: 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: 0x253bba0: i32 = Constant<0>
try.c: 0x253bba0: i32 = Constant<0>
try.c: 0x253bba0: i32 = Constant<0>
try.c: 0x253bba0: 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