Implementation notes: amd64, cel02, crypto_aead/knot256

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: knot256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
4957783770 0 018506 800 856T:optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
5416263540 0 016420 792 856T:optclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
5509527700 0 021852 816 896T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5689703369 127 018130 935 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
6063902328 127 015248 935 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6329362331 127 015228 927 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
6714108994 127 026717 959 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6888404433 0 017352 800 896T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6894885032 0 019420 816 896T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6907946337 0 023989 824 960T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9364122510 127 016660 951 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9396162867 127 017260 951 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:opt
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55eb136e84a0: v4i64 = X86ISD::VTRUNC 0x55eb136e8370
try.c: 0x55eb136e8370: v16i32 = vselect 0x55eb137028c0, 0x55eb13688d20, 0x55eb136e8240
try.c: 0x55eb137028c0: v4i1 = X86ISD::PCMPGTM 0x55eb136e0e60, 0x55eb136dc9f0
try.c: 0x55eb136e0e60: v4i64 = X86ISD::VBROADCAST 0x55eb136818e0
try.c: 0x55eb136818e0: i64,ch = load<LD8[%lsr.iv6971]> 0x55eb135f1920, 0x55eb136d3360, undef:i64
try.c: 0x55eb136d3360: i64,ch = CopyFromReg 0x55eb135f1920, Register:i64 %vreg50
try.c: 0x55eb136dcc50: i64 = Register %vreg50
try.c: 0x55eb13687390: i64 = undef
try.c: 0x55eb136dc9f0: v4i64,ch = CopyFromReg 0x55eb135f1920, Register:v4i64 %vreg13
try.c: 0x55eb136e16b0: v4i64 = Register %vreg13
try.c: 0x55eb13688d20: v16i32 = X86ISD::VBROADCAST 0x55eb136e10c0
try.c: 0x55eb136e10c0: i32,ch = load<LD4[ConstantPool]> 0x55eb135f1920, 0x55eb13680ec0, undef:i64
try.c: 0x55eb13680ec0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55eb136c6d30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55eb13687390: i64 = undef
try.c: 0x55eb136e8240: 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: 0x55eb136e8110: i32 = Constant<0>
try.c: 0x55eb136e8110: i32 = Constant<0>
try.c: 0x55eb136e8110: i32 = Constant<0>
try.c: 0x55eb136e8110: i32 = Constant<0>
try.c: 0x55eb136e8110: i32 = Constant<0>
try.c: 0x55eb136e8110: i32 = Constant<0>
try.c: 0x55eb136e8110: i32 = Constant<0>
try.c: 0x55eb136e8110: i32 = Constant<0>
try.c: 0x55eb136e8110: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt

Compiler output

Implementation: T:opt
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55f359740a90: v4i64 = X86ISD::VTRUNC 0x55f359740960
try.c: 0x55f359740960: v16i32 = vselect 0x55f35971b8e0, 0x55f3596d40d0, 0x55f359740830
try.c: 0x55f35971b8e0: v4i1 = X86ISD::PCMPGTM 0x55f359728cb0, 0x55f359724e40
try.c: 0x55f359728cb0: v4i64 = X86ISD::VBROADCAST 0x55f3596d4590
try.c: 0x55f3596d4590: i64,ch = load<LD8[%lsr.iv6971]> 0x55f359622a00, 0x55f3596d7c70, undef:i64
try.c: 0x55f3596d7c70: i64,ch = CopyFromReg 0x55f359622a00, Register:i64 %vreg50
try.c: 0x55f3597250a0: i64 = Register %vreg50
try.c: 0x55f3596a8e00: i64 = undef
try.c: 0x55f359724e40: v4i64,ch = CopyFromReg 0x55f359622a00, Register:v4i64 %vreg13
try.c: 0x55f359729500: v4i64 = Register %vreg13
try.c: 0x55f3596d40d0: v16i32 = X86ISD::VBROADCAST 0x55f359728f10
try.c: 0x55f359728f10: i32,ch = load<LD4[ConstantPool]> 0x55f359622a00, 0x55f3596c1940, undef:i64
try.c: 0x55f3596c1940: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55f3596a9780: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55f3596a8e00: i64 = undef
try.c: 0x55f359740830: 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: 0x55f359740700: i32 = Constant<0>
try.c: 0x55f359740700: i32 = Constant<0>
try.c: 0x55f359740700: i32 = Constant<0>
try.c: 0x55f359740700: i32 = Constant<0>
try.c: 0x55f359740700: i32 = Constant<0>
try.c: 0x55f359740700: i32 = Constant<0>
try.c: 0x55f359740700: i32 = Constant<0>
try.c: 0x55f359740700: i32 = Constant<0>
try.c: 0x55f359740700: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: T:opt
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x5611894d1b20: v4i64 = X86ISD::VTRUNC 0x5611894d19f0
try.c: 0x5611894d19f0: v16i32 = vselect 0x5611894d4da0, 0x561189482fc0, 0x5611894d18c0
try.c: 0x5611894d4da0: v4i1 = X86ISD::PCMPGTM 0x5611894c98c0, 0x5611894c5450
try.c: 0x5611894c98c0: v4i64 = X86ISD::VBROADCAST 0x561189470f40
try.c: 0x561189470f40: i64,ch = load<LD8[%lsr.iv6971]> 0x5611893da910, 0x5611894c02b0, undef:i64
try.c: 0x5611894c02b0: i64,ch = CopyFromReg 0x5611893da910, Register:i64 %vreg50
try.c: 0x5611894c56b0: i64 = Register %vreg50
try.c: 0x561189472410: i64 = undef
try.c: 0x5611894c5450: v4i64,ch = CopyFromReg 0x5611893da910, Register:v4i64 %vreg13
try.c: 0x5611894ca110: v4i64 = Register %vreg13
try.c: 0x561189482fc0: v16i32 = X86ISD::VBROADCAST 0x5611894c9b20
try.c: 0x5611894c9b20: i32,ch = load<LD4[ConstantPool]> 0x5611893da910, 0x561189470520, undef:i64
try.c: 0x561189470520: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561189464ea0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561189472410: i64 = undef
try.c: 0x5611894d18c0: 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: 0x5611894d1790: i32 = Constant<0>
try.c: 0x5611894d1790: i32 = Constant<0>
try.c: 0x5611894d1790: i32 = Constant<0>
try.c: 0x5611894d1790: i32 = Constant<0>
try.c: 0x5611894d1790: i32 = Constant<0>
try.c: 0x5611894d1790: i32 = Constant<0>
try.c: 0x5611894d1790: i32 = Constant<0>
try.c: 0x5611894d1790: i32 = Constant<0>
try.c: 0x5611894d1790: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55bfc84e82a0: v4i64 = X86ISD::VTRUNC 0x55bfc84e8170
try.c: 0x55bfc84e8170: v16i32 = vselect 0x55bfc84dc070, 0x55bfc8478c50, 0x55bfc84e8040
try.c: 0x55bfc84dc070: v4i1 = X86ISD::PCMPGTM 0x55bfc84d0940, 0x55bfc84cc4d0
try.c: 0x55bfc84d0940: v4i64 = X86ISD::VBROADCAST 0x55bfc8474f10
try.c: 0x55bfc8474f10: i64,ch = load<LD8[%lsr.iv6971]> 0x55bfc83e1920, 0x55bfc84bbb20, undef:i64
try.c: 0x55bfc84bbb20: i64,ch = CopyFromReg 0x55bfc83e1920, Register:i64 %vreg50
try.c: 0x55bfc84cc730: i64 = Register %vreg50
try.c: 0x55bfc84772c0: i64 = undef
try.c: 0x55bfc84cc4d0: v4i64,ch = CopyFromReg 0x55bfc83e1920, Register:v4i64 %vreg13
try.c: 0x55bfc84d1190: v4i64 = Register %vreg13
try.c: 0x55bfc8478c50: v16i32 = X86ISD::VBROADCAST 0x55bfc84d0ba0
try.c: 0x55bfc84d0ba0: i32,ch = load<LD4[ConstantPool]> 0x55bfc83e1920, 0x55bfc84744f0, undef:i64
try.c: 0x55bfc84744f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55bfc84ba200: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55bfc84772c0: i64 = undef
try.c: 0x55bfc84e8040: 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: 0x55bfc84e7f10: i32 = Constant<0>
try.c: 0x55bfc84e7f10: i32 = Constant<0>
try.c: 0x55bfc84e7f10: i32 = Constant<0>
try.c: 0x55bfc84e7f10: i32 = Constant<0>
try.c: 0x55bfc84e7f10: i32 = Constant<0>
try.c: 0x55bfc84e7f10: i32 = Constant<0>
try.c: 0x55bfc84e7f10: i32 = Constant<0>
try.c: 0x55bfc84e7f10: i32 = Constant<0>
try.c: 0x55bfc84e7f10: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x56126038be50: v4i64 = X86ISD::VTRUNC 0x56126038bd20
try.c: 0x56126038bd20: v16i32 = vselect 0x56126036c8e0, 0x561260301070, 0x56126038bbf0
try.c: 0x56126036c8e0: v4i1 = X86ISD::PCMPGTM 0x5612603680b0, 0x561260363c40
try.c: 0x5612603680b0: v4i64 = X86ISD::VBROADCAST 0x561260301530
try.c: 0x561260301530: i64,ch = load<LD8[%lsr.iv6971]> 0x561260261990, 0x5612603108f0, undef:i64
try.c: 0x5612603108f0: i64,ch = CopyFromReg 0x561260261990, Register:i64 %vreg50
try.c: 0x561260363ea0: i64 = Register %vreg50
try.c: 0x561260328a30: i64 = undef
try.c: 0x561260363c40: v4i64,ch = CopyFromReg 0x561260261990, Register:v4i64 %vreg13
try.c: 0x561260368900: v4i64 = Register %vreg13
try.c: 0x561260301070: v16i32 = X86ISD::VBROADCAST 0x561260368310
try.c: 0x561260368310: i32,ch = load<LD4[ConstantPool]> 0x561260261990, 0x561260303bb0, undef:i64
try.c: 0x561260303bb0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5612603293b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561260328a30: i64 = undef
try.c: 0x56126038bbf0: 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: 0x56126038bac0: i32 = Constant<0>
try.c: 0x56126038bac0: i32 = Constant<0>
try.c: 0x56126038bac0: i32 = Constant<0>
try.c: 0x56126038bac0: i32 = Constant<0>
try.c: 0x56126038bac0: i32 = Constant<0>
try.c: 0x56126038bac0: i32 = Constant<0>
try.c: 0x56126038bac0: i32 = Constant<0>
try.c: 0x56126038bac0: i32 = Constant<0>
try.c: 0x56126038bac0: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x56419063f1e0: v4i64 = X86ISD::VTRUNC 0x56419063f0b0
try.c: 0x56419063f0b0: v16i32 = vselect 0x5641906309f0, 0x5641905d4790, 0x56419063ef80
try.c: 0x5641906309f0: v4i1 = X86ISD::PCMPGTM 0x564190627880, 0x564190623410
try.c: 0x564190627880: v4i64 = X86ISD::VBROADCAST 0x5641905cec00
try.c: 0x5641905cec00: i64,ch = load<LD8[%lsr.iv6971]> 0x564190538920, 0x56419060e5c0, undef:i64
try.c: 0x56419060e5c0: i64,ch = CopyFromReg 0x564190538920, Register:i64 %vreg50
try.c: 0x564190623670: i64 = Register %vreg50
try.c: 0x5641905d00d0: i64 = undef
try.c: 0x564190623410: v4i64,ch = CopyFromReg 0x564190538920, Register:v4i64 %vreg13
try.c: 0x5641906280d0: v4i64 = Register %vreg13
try.c: 0x5641905d4790: v16i32 = X86ISD::VBROADCAST 0x564190627ae0
try.c: 0x564190627ae0: i32,ch = load<LD4[ConstantPool]> 0x564190538920, 0x5641905ce1e0, undef:i64
try.c: 0x5641905ce1e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564190616160: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5641905d00d0: i64 = undef
try.c: 0x56419063ef80: 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: 0x56419063ee50: i32 = Constant<0>
try.c: 0x56419063ee50: i32 = Constant<0>
try.c: 0x56419063ee50: i32 = Constant<0>
try.c: 0x56419063ee50: i32 = Constant<0>
try.c: 0x56419063ee50: i32 = Constant<0>
try.c: 0x56419063ee50: i32 = Constant<0>
try.c: 0x56419063ee50: i32 = Constant<0>
try.c: 0x56419063ee50: i32 = Constant<0>
try.c: 0x56419063ee50: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref