Implementation notes: amd64, oki, crypto_aead/joltikneq8048v1

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_aead
Primitive: joltikneq8048v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
93612? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112920181123
93710? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112920181123
93712? ? ?? ? ?vpermgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112920181123
93748? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112920181123
93812? ? ?? ? ?vpermgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112920181123
93826? ? ?? ? ?vpermgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112920181123
93906? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112920181123
93974? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112920181123
94010? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112920181123
213098? ? ?? ? ?vpermgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112920181123
213140? ? ?? ? ?vpermgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112920181123
213466? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112920181123
213500? ? ?? ? ?vpermgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112920181123
213526? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112920181123
213666? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112920181123
213728? ? ?? ? ?vpermgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112920181123
213744? ? ?? ? ?vpermgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018112920181123
213750? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112920181123
213756? ? ?? ? ?vpermgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018112920181123
213758? ? ?? ? ?vpermgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112920181123
213896? ? ?? ? ?vpermgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018112920181123
213930? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018112920181123
213978? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018112920181123
214008? ? ?? ? ?vpermgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112920181123
214316? ? ?? ? ?vpermgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018112920181123
214466? ? ?? ? ?vpermgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112920181123
214656? ? ?? ? ?vpermgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112920181123
214672? ? ?? ? ?vpermgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112920181123
214690? ? ?? ? ?vpermgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112920181123
214918? ? ?? ? ?vpermgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112920181123
214932? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112920181123
214952? ? ?? ? ?vpermgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112920181123
214954? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112920181123
215812? ? ?? ? ?vpermclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112920181123
215930? ? ?? ? ?vpermclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112920181123
3544698? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018112920181123
3552708? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
3552854? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
3552898? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018112920181123
3553362? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112920181123
3553754? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018112920181123
3553874? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
3554210? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112920181123
3554332? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018112920181123
3554564? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
3554568? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
3554586? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
3555162? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112920181123
3555978? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112920181123
3555996? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112920181123
3556482? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112920181123
3556708? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112920181123
3557434? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112920181123
3559978? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112920181123
3560952? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018112920181123
3561032? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018112920181123
3563584? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018112920181123
3565912? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
3566162? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112920181123
3566216? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018112920181123
3567162? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112920181123
3568428? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
3733772? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112920181123
3734170? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112920181123
3982236? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112920181123
3982748? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112920181123
4058674? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018112920181123
4065920? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112920181123
4065970? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112920181123
4067336? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112920181123
5385458? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
5385730? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
5470444? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
5474040? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
5534910? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018112920181123
5538696? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018112920181123
5539234? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018112920181123
5541412? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112920181123
5542094? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018112920181123
6215944? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112920181123
6223886? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112920181123
6233190? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112920181123
6392378? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018112920181123
6394970? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018112920181123
6527866? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
6577960? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
6676168? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018112920181123
6677372? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018112920181123
6727864? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018112920181123
6746660? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018112920181123
6805680? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018112920181123
6834272? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112920181123
6871082? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112920181123
6887292? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112920181123
7475844? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
7491114? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
7516210? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018112920181123
7517092? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112920181123
7517822? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018112920181123
7520818? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018112920181123
7531964? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018112920181123
7537624? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
7538062? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
7573932? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112920181123
7574188? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112920181123
7577768? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112920181123
7672440? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112920181123
7690004? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112920181123
7692026? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112920181123
7891530? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112920181123
7975332? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112920181123
7984736? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112920181123
8260578? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018112920181123
8265432? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018112920181123
8674798? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
8676206? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112920181123
8676538? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112920181123
8676822? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112920181123
8677298? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112920181123
8685050? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112920181123
8691368? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
8692090? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112920181123
9307948? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018112920181123
9310726? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018112920181123
9316778? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018112920181123
9317852? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
9318084? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
9318636? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018112920181123
9321350? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018112920181123
9321640? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018112920181123
9322510? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018112920181123
9332104? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018112920181123
9356362? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018112920181123
9356624? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018112920181123
9379234? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
9381046? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018112920181123
9386544? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018112920181123
9388992? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018112920181123
9390276? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018112920181123
9391254? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
9392566? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112920181123
9397462? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
9407002? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018112920181123
9412024? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
9486098? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018112920181123
9487046? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018112920181123
9594546? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018112920181123
9597044? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018112920181123
9608916? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112920181123
9618700? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
9637980? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
21276254? ? ?? ? ?refgcc2018112920181123
21323358? ? ?? ? ?refcc2018112920181123
23913294? ? ?? ? ?refgcc_-funroll-loops2018112920181123

Test failure

Implementation: vperm
Security model: unknown
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments vperm
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments vperm
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer vperm
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer vperm
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv vperm

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: 0xc79040: v4i64 = X86ISD::VTRUNC 0xc78e70
try.c: 0xc78e70: v16i32 = vselect 0xc75ab0, 0xc2db80, 0xc78d40
try.c: 0xc75ab0: v4i1 = X86ISD::PCMPGTM 0xc73a90, 0xc2e930
try.c: 0xc73a90: v4i64 = X86ISD::VBROADCAST 0xc2ecc0
try.c: 0xc2ecc0: i64,ch = load<LD8[%uglygep72]> 0xb6bdd0, 0xc6ddb0, undef:i64
try.c: 0xc6ddb0: i64 = add 0xc74970, 0xbed310
try.c: 0xc74970: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xc5aa60: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0xbed310: i64 = shl 0xc5a210, Constant:i8<3>
try.c: 0xc5a210: i64,ch = CopyFromReg 0xb6bdd0, Register:i64 %vreg50
try.c: 0xc74e30: i64 = Register %vreg50
try.c: 0xc0b4b0: i8 = Constant<3>
try.c: 0xc72100: i64 = undef
try.c: 0xc2e930: v4i64,ch = CopyFromReg 0xb6bdd0, Register:v4i64 %vreg13
try.c: 0xc07790: v4i64 = Register %vreg13
try.c: 0xc2db80: v16i32 = X86ISD::VBROADCAST 0xc5a470
try.c: 0xc5a470: i32,ch = load<LD4[ConstantPool]> 0xb6bdd0, 0xc789b0, undef:i64
try.c: 0xc789b0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0xc225d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0xc72100: i64 = undef
try.c: 0xc78d40: 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: 0xc78c10: i32 = Constant<0>
try.c: 0xc78c10: i32 = Constant<0>
try.c: 0xc78c10: i32 = Constant<0>
try.c: 0xc78c10: 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: 0x1accff0: v4i64 = X86ISD::VTRUNC 0x1acce20
try.c: 0x1acce20: v16i32 = vselect 0x1abb530, 0x1a69b00, 0x1acccf0
try.c: 0x1abb530: v4i1 = X86ISD::PCMPGTM 0x1ab8500, 0x1a739a0
try.c: 0x1ab8500: v4i64 = X86ISD::VBROADCAST 0x1a73d30
try.c: 0x1a73d30: i64,ch = load<LD8[%uglygep72]> 0x19b1dd0, 0x1a479f0, undef:i64
try.c: 0x1a479f0: i64 = add 0x1ab93e0, 0x1a58fc0
try.c: 0x1ab93e0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1aab700: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1a58fc0: i64 = shl 0x1aaaeb0, Constant:i8<3>
try.c: 0x1aaaeb0: i64,ch = CopyFromReg 0x19b1dd0, Register:i64 %vreg50
try.c: 0x1ab98a0: i64 = Register %vreg50
try.c: 0x1a33a40: i8 = Constant<3>
try.c: 0x1ab6b70: i64 = undef
try.c: 0x1a739a0: v4i64,ch = CopyFromReg 0x19b1dd0, Register:v4i64 %vreg13
try.c: 0x1a50300: v4i64 = Register %vreg13
try.c: 0x1a69b00: v16i32 = X86ISD::VBROADCAST 0x1aab110
try.c: 0x1aab110: i32,ch = load<LD4[ConstantPool]> 0x19b1dd0, 0x1acc960, undef:i64
try.c: 0x1acc960: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1a78780: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1ab6b70: i64 = undef
try.c: 0x1acccf0: 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: 0x1accbc0: i32 = Constant<0>
try.c: 0x1accbc0: i32 = Constant<0>
try.c: 0x1accbc0: i32 = Constant<0>
try.c: 0x1accbc0: 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

Compiler output

Implementation: vperm
Security model: unknown
Compiler: cc
joltik.c: joltik.c:29:3: error: #error "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: #error "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: ^

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

Compiler output

Implementation: vperm
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
joltik.c: joltik.c:29:3: error: "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: #error "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: ^
joltik.c: 1 error generated.

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

Compiler output

Implementation: vperm
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x2093e60: v4i64 = X86ISD::VTRUNC 0x2093c90
try.c: 0x2093c90: v16i32 = vselect 0x20859a0, 0x2015350, 0x2093b60
try.c: 0x20859a0: v4i1 = X86ISD::PCMPGTM 0x207e7f0, 0x2016100
try.c: 0x207e7f0: v4i64 = X86ISD::VBROADCAST 0x2016490
try.c: 0x2016490: i64,ch = load<LD8[%uglygep72]> 0x1f79de0, 0x2066560, undef:i64
try.c: 0x2066560: i64 = add 0x207f6d0, 0x20177b0
try.c: 0x207f6d0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x203dd70: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x20177b0: i64 = shl 0x203d520, Constant:i8<3>
try.c: 0x203d520: i64,ch = CopyFromReg 0x1f79de0, Register:i64 %vreg50
try.c: 0x207fb90: i64 = Register %vreg50
try.c: 0x1ffc120: i8 = Constant<3>
try.c: 0x207ce60: i64 = undef
try.c: 0x2016100: v4i64,ch = CopyFromReg 0x1f79de0, Register:v4i64 %vreg13
try.c: 0x2030c10: v4i64 = Register %vreg13
try.c: 0x2015350: v16i32 = X86ISD::VBROADCAST 0x203d780
try.c: 0x203d780: i32,ch = load<LD4[ConstantPool]> 0x1f79de0, 0x20937d0, undef:i64
try.c: 0x20937d0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x202e730: i64 = TargetConstantPool<i32 1> 0
try.c: 0x207ce60: i64 = undef
try.c: 0x2093b60: 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: 0x2093a30: i32 = Constant<0>
try.c: 0x2093a30: i32 = Constant<0>
try.c: 0x2093a30: i32 = Constant<0>
try.c: 0x2093a30: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: vperm
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x10bbcc0: v4i64 = X86ISD::VTRUNC 0x10bbaf0
try.c: 0x10bbaf0: v16i32 = vselect 0x10d46e0, 0x1057360, 0x10bb9c0
try.c: 0x10d46e0: v4i1 = X86ISD::PCMPGTM 0x10b8730, 0x1058110
try.c: 0x10b8730: v4i64 = X86ISD::VBROADCAST 0x10584a0
try.c: 0x10584a0: i64,ch = load<LD8[%uglygep72]> 0xfb1dd0, 0x10616a0, undef:i64
try.c: 0x10616a0: i64 = add 0x10b9610, 0x10471e0
try.c: 0x10b9610: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1070e70: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x10471e0: i64 = shl 0x1070620, Constant:i8<3>
try.c: 0x1070620: i64,ch = CopyFromReg 0xfb1dd0, Register:i64 %vreg50
try.c: 0x10b9ad0: i64 = Register %vreg50
try.c: 0x104aec0: i8 = Constant<3>
try.c: 0x10b6da0: i64 = undef
try.c: 0x1058110: v4i64,ch = CopyFromReg 0xfb1dd0, Register:v4i64 %vreg13
try.c: 0x105c3a0: v4i64 = Register %vreg13
try.c: 0x1057360: v16i32 = X86ISD::VBROADCAST 0x1070880
try.c: 0x1070880: i32,ch = load<LD4[ConstantPool]> 0xfb1dd0, 0x10bb630, undef:i64
try.c: 0x10bb630: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1050c60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x10b6da0: i64 = undef
try.c: 0x10bb9c0: 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: 0x10bb890: i32 = Constant<0>
try.c: 0x10bb890: i32 = Constant<0>
try.c: 0x10bb890: i32 = Constant<0>
try.c: 0x10bb890: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: vperm
Security model: unknown
Compiler: gcc
joltik.c: joltik.c:29:3: error: #error "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: #error "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: ^~~~~

Number of similar (compiler,implementation) pairs: 70, namely:
CompilerImplementations
gcc vperm
gcc -O2 -fomit-frame-pointer vperm
gcc -O3 -fomit-frame-pointer vperm
gcc -O -fomit-frame-pointer vperm
gcc -Os -fomit-frame-pointer vperm
gcc -fno-schedule-insns -O2 -fomit-frame-pointer vperm
gcc -fno-schedule-insns -O3 -fomit-frame-pointer vperm
gcc -fno-schedule-insns -O -fomit-frame-pointer vperm
gcc -fno-schedule-insns -Os -fomit-frame-pointer vperm
gcc -funroll-loops vperm
gcc -funroll-loops -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -O -fomit-frame-pointer vperm
gcc -funroll-loops -Os -fomit-frame-pointer vperm
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer vperm
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -O -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -Os -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer vperm
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer vperm
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer vperm
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer vperm
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer vperm
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer vperm
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer vperm
gcc -m64 -O2 -fomit-frame-pointer vperm
gcc -m64 -O3 -fomit-frame-pointer vperm
gcc -m64 -O -fomit-frame-pointer vperm
gcc -m64 -Os -fomit-frame-pointer vperm
gcc -m64 -march=k8 -O2 -fomit-frame-pointer vperm
gcc -m64 -march=k8 -O3 -fomit-frame-pointer vperm
gcc -m64 -march=k8 -O -fomit-frame-pointer vperm
gcc -m64 -march=k8 -Os -fomit-frame-pointer vperm
gcc -m64 -march=nocona -O2 -fomit-frame-pointer vperm
gcc -m64 -march=nocona -O3 -fomit-frame-pointer vperm
gcc -m64 -march=nocona -O -fomit-frame-pointer vperm
gcc -m64 -march=nocona -Os -fomit-frame-pointer vperm
gcc -march=barcelona -O2 -fomit-frame-pointer vperm
gcc -march=barcelona -O3 -fomit-frame-pointer vperm
gcc -march=barcelona -O -fomit-frame-pointer vperm
gcc -march=barcelona -Os -fomit-frame-pointer vperm
gcc -march=k8 -O2 -fomit-frame-pointer vperm
gcc -march=k8 -O3 -fomit-frame-pointer vperm
gcc -march=k8 -O -fomit-frame-pointer vperm
gcc -march=k8 -Os -fomit-frame-pointer vperm
gcc -march=nocona -O2 -fomit-frame-pointer vperm
gcc -march=nocona -O3 -fomit-frame-pointer vperm
gcc -march=nocona -O -fomit-frame-pointer vperm
gcc -march=nocona -Os -fomit-frame-pointer vperm

Compiler output

Implementation: vperm
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
joltik.c: joltik.c:29:3: error: #error "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: #error "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: ^~~~~
joltik.c: joltik.c:29:3: error: #error "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: #error "This implementation requires either SSSE3 or AVX2 instruction sets."
joltik.c: ^~~~~

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