Implementation notes: amd64, oki, crypto_kem/sntrup4591761

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_kem
Primitive: sntrup4591761
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
127714? ? ?? ? ?avxgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019012120181123
130522? ? ?? ? ?avxgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019012120181123
130546? ? ?? ? ?avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019012120181123
135074? ? ?? ? ?avxgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019012120181123
136710? ? ?? ? ?avxgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019012120181123
140406? ? ?? ? ?avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019012120181123
142402? ? ?? ? ?avxgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019012120181123
142592? ? ?? ? ?avxgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019012120181123
142970? ? ?? ? ?avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019012120181123
143610? ? ?? ? ?avxgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019012120181123
143994? ? ?? ? ?avxgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019012120181123
146286? ? ?? ? ?avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019012120181123
43072128? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019012120181123
43080272? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019012120181123
43082526? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019012120181123
43098954? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019012120181123
43105270? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019012120181123
43120110? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019012120181123
43126154? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019012120181123
43130958? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019012120181123
43142770? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019012120181123
43143554? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019012120181123
43148474? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019012120181123
43151006? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019012120181123
43161446? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019012120181123
43168792? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019012120181123
43170204? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019012120181123
43181116? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019012120181123
43183574? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019012120181123
43185176? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019012120181123
43186714? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019012120181123
43187844? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019012120181123
43188900? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019012120181123
43191196? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019012120181123
43192090? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019012120181123
43194952? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019012120181123
43196616? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019012120181123
43203056? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019012120181123
43204580? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019012120181123
43204950? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019012120181123
43205450? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019012120181123
43207698? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019012120181123
43208478? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019012120181123
43210482? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019012120181123
43213356? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019012120181123
43213540? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019012120181123
43218390? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019012120181123
43218638? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019012120181123
43221012? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019012120181123
43221526? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019012120181123
43223306? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019012120181123
43223328? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019012120181123
43227062? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019012120181123
43230272? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019012120181123
43232074? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019012120181123
43232588? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019012120181123
43233000? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019012120181123
43233120? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019012120181123
43233486? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019012120181123
43235016? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019012120181123
43241208? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019012120181123
43245878? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019012120181123
43246322? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019012120181123
43248972? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019012120181123
43249242? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019012120181123
43250692? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019012120181123
43253052? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019012120181123
43253452? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019012120181123
43255090? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019012120181123
43256836? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019012120181123
43256920? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019012120181123
43258050? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019012120181123
43261416? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019012120181123
43279504? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019012120181123
43281840? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019012120181123
43283540? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019012120181123
43286730? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019012120181123
43289326? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019012120181123
43299568? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019012120181123
43303278? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019012120181123
43369816? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019012120181123
44192850? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019012120181123
44199004? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019012120181123
44199112? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019012120181123
44199402? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019012120181123
44199802? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019012120181123
44213386? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019012120181123
44249206? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019012120181123
44253330? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019012120181123
44254846? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019012120181123
44255250? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019012120181123
44255330? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019012120181123
44256098? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019012120181123
44262700? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019012120181123
44264682? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019012120181123
44267374? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019012120181123
44269906? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019012120181123
44276028? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019012120181123
44276042? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019012120181123
44283024? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019012120181123
44290142? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019012120181123
44291034? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019012120181123
44292958? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019012120181123
44300746? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019012120181123
44314800? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019012120181123
44314910? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019012120181123
44315700? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019012120181123
44320482? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019012120181123
44320538? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019012120181123
44320834? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019012120181123
44321478? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019012120181123
44321840? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019012120181123
44322380? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019012120181123
44328992? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019012120181123
44342898? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019012120181123
44351758? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019012120181123
64338610? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019012120181123
64354248? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019012120181123
64449128? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019012120181123
64480904? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019012120181123
65702788? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019012120181123
65761576? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019012120181123
68285004? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019012120181123
68327772? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019012120181123
68978778? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019012120181123
69041962? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019012120181123
69076538? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019012120181123
69095232? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019012120181123
99945750? ? ?? ? ?refcc2019012120181123
101055512? ? ?? ? ?refgcc2019012120181123
101057296? ? ?? ? ?refgcc_-funroll-loops2019012120181123

Compiler output

Implementation: avx
Security model: unknown
Compiler: cc
mult.c: mult.c:83:1: error: unknown type name '__m256'
mult.c: static inline __m256 add(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:83:26: error: unknown type name '__m256'
mult.c: static inline __m256 add(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:83:35: error: unknown type name '__m256'
mult.c: static inline __m256 add(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:88:1: error: unknown type name '__m256'
mult.c: static inline __m256 fastadd(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:88:30: error: unknown type name '__m256'
mult.c: static inline __m256 fastadd(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:88:39: error: unknown type name '__m256'
mult.c: static inline __m256 fastadd(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:93:1: error: unknown type name '__m256'
mult.c: static inline __m256 fastsub(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:93:30: error: unknown type name '__m256'
mult.c: static inline __m256 fastsub(__m256 x,__m256 y)
mult.c: ^
mult.c: mult.c:93: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:149:22: error: invalid output size for constraint '=&x'
mult.c: MULSTEP_fromzero(0,h0,h1,h2,h3,h4)
mult.c: ^
mult.c: mult.c:151: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:152: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:153: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:154: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:155: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:157: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:158: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:159: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: 0xe71bf0: v4i64 = X86ISD::VTRUNC 0xe71a20
try.c: 0xe71a20: v16i32 = vselect 0xe78700, 0xe01820, 0xe718f0
try.c: 0xe78700: v4i1 = X86ISD::PCMPGTM 0xe506c0, 0xdfb110
try.c: 0xe506c0: v4i64 = X86ISD::VBROADCAST 0xdfb4a0
try.c: 0xdfb4a0: i64,ch = load<LD8[%uglygep72]> 0xd53dd0, 0xe39980, undef:i64
try.c: 0xe39980: i64 = add 0xe58fa0, 0xe0a710
try.c: 0xe58fa0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xe48650: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0xe0a710: i64 = shl 0xe47e00, Constant:i8<3>
try.c: 0xe47e00: i64,ch = CopyFromReg 0xd53dd0, Register:i64 %vreg50
try.c: 0xe59460: i64 = Register %vreg50
try.c: 0xdd5d10: i8 = Constant<3>
try.c: 0xe57740: i64 = undef
try.c: 0xdfb110: v4i64,ch = CopyFromReg 0xd53dd0, Register:v4i64 %vreg13
try.c: 0xdf4080: v4i64 = Register %vreg13
try.c: 0xe01820: v16i32 = X86ISD::VBROADCAST 0xe48060
try.c: 0xe48060: i32,ch = load<LD4[ConstantPool]> 0xd53dd0, 0xe71560, undef:i64
try.c: 0xe71560: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0xdfced0: i64 = TargetConstantPool<i32 1> 0
try.c: 0xe57740: i64 = undef
try.c: 0xe718f0: 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: 0xe717c0: i32 = Constant<0>
try.c: 0xe717c0: i32 = Constant<0>
try.c: 0xe717c0: i32 = Constant<0>
try.c: 0xe717c0: 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:95: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:102: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:90: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: 0x296b500: v8f32 = X86ISD::FMADD 0x295cbe0, 0x28f5190, 0x2955870
mult.c: 0x295cbe0: v8f32,ch = load<LD32[%sunkaddr299](tbaa=<0x2329f68>)> 0x281a440, 0x28f3040, undef:i64
mult.c: 0x28f3040: i64 = add 0x2949800, Constant:i64<768>
mult.c: 0x2949800: i64 = add FrameIndex:i64<4>, 0x2967270
mult.c: 0x29645d0: i64 = FrameIndex<4>
mult.c: 0x2967270: i64,ch = CopyFromReg 0x281a440, Register:i64 %vreg78
mult.c: 0x296b2a0: i64 = Register %vreg78
mult.c: 0x293eed0: i64 = Constant<768>
mult.c: 0x2967010: i64 = undef
mult.c: 0x28f5190: v8f32 = X86ISD::VBROADCAST 0x2961a60
mult.c: 0x2961a60: f32,ch = load<LD4[ConstantPool]> 0x281a440, 0x2956290, undef:i64
mult.c: 0x2956290: i64 = X86ISD::Wrapper TargetConstantPool:i64<float -1.000000e+00> 0
mult.c: 0x295a070: i64 = TargetConstantPool<float -1.000000e+00> 0
mult.c: 0x2967010: i64 = undef
mult.c: 0x2955870: v8f32,ch = load<LD32[%sunkaddr315](tbaa=<0x2329f68>)> 0x281a440, 0x2960460, undef:i64
mult.c: 0x2960460: i64 = add 0x296ade0, 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:95: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:102: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:90: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: 0x189c9d0: v8f32 = X86ISD::FMADD 0x188e0b0, 0x183cb80, 0x1867030
mult.c: 0x188e0b0: v8f32,ch = load<LD32[%sunkaddr299](tbaa=<0x125e918>)> 0x174d270, 0x1826af0, undef:i64
mult.c: 0x1826af0: i64 = add 0x18720c0, Constant:i64<768>
mult.c: 0x18720c0: i64 = add FrameIndex:i64<4>, 0x1898740
mult.c: 0x1895aa0: i64 = FrameIndex<4>
mult.c: 0x1898740: i64,ch = CopyFromReg 0x174d270, Register:i64 %vreg78
mult.c: 0x189c770: i64 = Register %vreg78
mult.c: 0x187dc70: i64 = Constant<768>
mult.c: 0x18984e0: i64 = undef
mult.c: 0x183cb80: v8f32 = X86ISD::VBROADCAST 0x1892f30
mult.c: 0x1892f30: f32,ch = load<LD4[ConstantPool]> 0x174d270, 0x1867a50, undef:i64
mult.c: 0x1867a50: i64 = X86ISD::Wrapper TargetConstantPool:i64<float -1.000000e+00> 0
mult.c: 0x188b540: i64 = TargetConstantPool<float -1.000000e+00> 0
mult.c: 0x18984e0: i64 = undef
mult.c: 0x1867030: v8f32,ch = load<LD32[%sunkaddr315](tbaa=<0x125e918>)> 0x174d270, 0x1891930, undef:i64
mult.c: 0x1891930: i64 = add 0x189c2b0, 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:734: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:734: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: 0x17c7560: v4i64 = X86ISD::VTRUNC 0x17c7390
try.c: 0x17c7390: v16i32 = vselect 0x17cfc70, 0x1758180, 0x17c7260
try.c: 0x17cfc70: v4i1 = X86ISD::PCMPGTM 0x17b02e0, 0x1758f30
try.c: 0x17b02e0: v4i64 = X86ISD::VBROADCAST 0x17592c0
try.c: 0x17592c0: i64,ch = load<LD8[%uglygep72]> 0x16abdd0, 0x179ade0, undef:i64
try.c: 0x179ade0: i64 = add 0x17b11c0, 0x1746c60
try.c: 0x17b11c0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x17a66c0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1746c60: i64 = shl 0x17a5e70, Constant:i8<3>
try.c: 0x17a5e70: i64,ch = CopyFromReg 0x16abdd0, Register:i64 %vreg50
try.c: 0x17b1680: i64 = Register %vreg50
try.c: 0x1750fd0: i8 = Constant<3>
try.c: 0x17ae140: i64 = undef
try.c: 0x1758f30: v4i64,ch = CopyFromReg 0x16abdd0, Register:v4i64 %vreg13
try.c: 0x174a2a0: v4i64 = Register %vreg13
try.c: 0x1758180: v16i32 = X86ISD::VBROADCAST 0x17a60d0
try.c: 0x17a60d0: i32,ch = load<LD4[ConstantPool]> 0x16abdd0, 0x17c6ed0, undef:i64
try.c: 0x17c6ed0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x176b2c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x17ae140: i64 = undef
try.c: 0x17c7260: 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: 0x17c7130: i32 = Constant<0>
try.c: 0x17c7130: i32 = Constant<0>
try.c: 0x17c7130: i32 = Constant<0>
try.c: 0x17c7130: 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:84: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:93: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:90: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:90: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:84: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:112: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:90: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:90: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:84: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:112: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:90: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:90: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:84: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:112: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:90: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:90: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:90: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:90: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: 0x1211c40: v4i64 = X86ISD::VTRUNC 0x1215aa0
try.c: 0x1215aa0: v16i32 = vselect 0x1202fe0, 0x11a1190, 0x1215970
try.c: 0x1202fe0: v4i1 = X86ISD::PCMPGTM 0x11fb130, 0x11a73d0
try.c: 0x11fb130: v4i64 = X86ISD::VBROADCAST 0x11a7760
try.c: 0x11a7760: i64,ch = load<LD8[%uglygep72]> 0x10f6dd0, 0x1157a10, undef:i64
try.c: 0x1157a10: i64 = add 0x11fc010, 0x11bbf10
try.c: 0x11fc010: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x11b2f40: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x11bbf10: i64 = shl 0x11b26f0, Constant:i8<3>
try.c: 0x11b26f0: i64,ch = CopyFromReg 0x10f6dd0, Register:i64 %vreg50
try.c: 0x11fc4d0: i64 = Register %vreg50
try.c: 0x117a530: i8 = Constant<3>
try.c: 0x11f97a0: i64 = undef
try.c: 0x11a73d0: v4i64,ch = CopyFromReg 0x10f6dd0, Register:v4i64 %vreg13
try.c: 0x11922c0: v4i64 = Register %vreg13
try.c: 0x11a1190: v16i32 = X86ISD::VBROADCAST 0x11b2950
try.c: 0x11b2950: i32,ch = load<LD4[ConstantPool]> 0x10f6dd0, 0x12155e0, undef:i64
try.c: 0x12155e0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x11a9190: i64 = TargetConstantPool<i32 1> 0
try.c: 0x11f97a0: i64 = undef
try.c: 0x1215970: 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: 0x1215840: i32 = Constant<0>
try.c: 0x1215840: i32 = Constant<0>
try.c: 0x1215840: i32 = Constant<0>
try.c: 0x1215840: 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: 0x1200c40: v4i64 = X86ISD::VTRUNC 0x1200a70
try.c: 0x1200a70: v16i32 = vselect 0x120a140, 0x11aec40, 0x1200940
try.c: 0x120a140: v4i1 = X86ISD::PCMPGTM 0x11eb140, 0x118f7c0
try.c: 0x11eb140: v4i64 = X86ISD::VBROADCAST 0x118fb50
try.c: 0x118fb50: i64,ch = load<LD8[%uglygep72]> 0x10e4dd0, 0x11d96e0, undef:i64
try.c: 0x11d96e0: i64 = add 0x11ec020, 0x1165460
try.c: 0x11ec020: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x11e0410: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1165460: i64 = shl 0x11dfbc0, Constant:i8<3>
try.c: 0x11dfbc0: i64,ch = CopyFromReg 0x10e4dd0, Register:i64 %vreg50
try.c: 0x11ec4e0: i64 = Register %vreg50
try.c: 0x118a450: i8 = Constant<3>
try.c: 0x11e97b0: i64 = undef
try.c: 0x118f7c0: v4i64,ch = CopyFromReg 0x10e4dd0, Register:v4i64 %vreg13
try.c: 0x11843a0: v4i64 = Register %vreg13
try.c: 0x11aec40: v16i32 = X86ISD::VBROADCAST 0x11dfe20
try.c: 0x11dfe20: i32,ch = load<LD4[ConstantPool]> 0x10e4dd0, 0x12005b0, undef:i64
try.c: 0x12005b0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1191580: i64 = TargetConstantPool<i32 1> 0
try.c: 0x11e97b0: i64 = undef
try.c: 0x1200940: 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: 0x1200810: i32 = Constant<0>
try.c: 0x1200810: i32 = Constant<0>
try.c: 0x1200810: i32 = Constant<0>
try.c: 0x1200810: 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