Implementation notes: amd64, cel02, crypto_hash/asconxofv12

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: asconxofv12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
381587539 0 017316 792 736T:opt64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
481946419 0 020565 824 808T:opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
490386344 0 017228 816 776T:opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
503686261 0 015848 800 776T:opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
507686651 0 017212 816 776T:opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
519406453 0 017020 816 776T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
519486485 0 020629 824 808T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
551826482 0 017372 816 776T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
556006949 0 016740 792 736T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
664126911 0 018522 800 736T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
76978847 0 010472 800 776T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
854008915 0 020538 800 736T:opt64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:opt64
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: 0x5619294dc2a0: v4i64 = X86ISD::VTRUNC 0x5619294dc170
try.c: 0x5619294dc170: v16i32 = vselect 0x5619294d6c70, 0x5619294637c0, 0x5619294dc040
try.c: 0x5619294d6c70: v4i1 = X86ISD::PCMPGTM 0x5619294bf900, 0x5619294bb490
try.c: 0x5619294bf900: v4i64 = X86ISD::VBROADCAST 0x56192946d700
try.c: 0x56192946d700: i64,ch = load<LD8[%lsr.iv6971]> 0x5619293d0950, 0x5619294aac60, undef:i64
try.c: 0x5619294aac60: i64,ch = CopyFromReg 0x5619293d0950, Register:i64 %vreg50
try.c: 0x5619294bb6f0: i64 = Register %vreg50
try.c: 0x56192946ebd0: i64 = undef
try.c: 0x5619294bb490: v4i64,ch = CopyFromReg 0x5619293d0950, Register:v4i64 %vreg13
try.c: 0x5619294c0150: v4i64 = Register %vreg13
try.c: 0x5619294637c0: v16i32 = X86ISD::VBROADCAST 0x5619294bfb60
try.c: 0x5619294bfb60: i32,ch = load<LD4[ConstantPool]> 0x5619293d0950, 0x561929467170, undef:i64
try.c: 0x561929467170: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5619294a6ba0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56192946ebd0: i64 = undef
try.c: 0x5619294dc040: 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: 0x5619294dbf10: i32 = Constant<0>
try.c: 0x5619294dbf10: i32 = Constant<0>
try.c: 0x5619294dbf10: i32 = Constant<0>
try.c: 0x5619294dbf10: i32 = Constant<0>
try.c: 0x5619294dbf10: i32 = Constant<0>
try.c: 0x5619294dbf10: i32 = Constant<0>
try.c: 0x5619294dbf10: i32 = Constant<0>
try.c: 0x5619294dbf10: i32 = Constant<0>
try.c: 0x5619294dbf10: 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:opt64

Compiler output

Implementation: T:opt64
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: 0x5606946846c0: v4i64 = X86ISD::VTRUNC 0x560694684590
try.c: 0x560694684590: v16i32 = vselect 0x560694663150, 0x5606945f6ff0, 0x560694684460
try.c: 0x560694663150: v4i1 = X86ISD::PCMPGTM 0x56069465f120, 0x56069465acb0
try.c: 0x56069465f120: v4i64 = X86ISD::VBROADCAST 0x5606945f74b0
try.c: 0x5606945f74b0: i64,ch = load<LD8[%lsr.iv6971]> 0x560694558a30, 0x560694601610, undef:i64
try.c: 0x560694601610: i64,ch = CopyFromReg 0x560694558a30, Register:i64 %vreg50
try.c: 0x56069465af10: i64 = Register %vreg50
try.c: 0x5606945d61e0: i64 = undef
try.c: 0x56069465acb0: v4i64,ch = CopyFromReg 0x560694558a30, Register:v4i64 %vreg13
try.c: 0x56069465f970: v4i64 = Register %vreg13
try.c: 0x5606945f6ff0: v16i32 = X86ISD::VBROADCAST 0x56069465f380
try.c: 0x56069465f380: i32,ch = load<LD4[ConstantPool]> 0x560694558a30, 0x5606945ff3d0, undef:i64
try.c: 0x5606945ff3d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5606945d6b60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5606945d61e0: i64 = undef
try.c: 0x560694684460: 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: 0x560694684330: i32 = Constant<0>
try.c: 0x560694684330: i32 = Constant<0>
try.c: 0x560694684330: i32 = Constant<0>
try.c: 0x560694684330: i32 = Constant<0>
try.c: 0x560694684330: i32 = Constant<0>
try.c: 0x560694684330: i32 = Constant<0>
try.c: 0x560694684330: i32 = Constant<0>
try.c: 0x560694684330: i32 = Constant<0>
try.c: 0x560694684330: 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:opt64

Compiler output

Implementation: T:opt64
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: 0x55d9e7be3710: v4i64 = X86ISD::VTRUNC 0x55d9e7be35e0
try.c: 0x55d9e7be35e0: v16i32 = vselect 0x55d9e7bc6fe0, 0x55d9e7b6a790, 0x55d9e7be34b0
try.c: 0x55d9e7bc6fe0: v4i1 = X86ISD::PCMPGTM 0x55d9e7bc0840, 0x55d9e7bbc3d0
try.c: 0x55d9e7bc0840: v4i64 = X86ISD::VBROADCAST 0x55d9e7b5e7d0
try.c: 0x55d9e7b5e7d0: i64,ch = load<LD8[%lsr.iv6971]> 0x55d9e7ad1960, 0x55d9e7bac0a0, undef:i64
try.c: 0x55d9e7bac0a0: i64,ch = CopyFromReg 0x55d9e7ad1960, Register:i64 %vreg50
try.c: 0x55d9e7bbc630: i64 = Register %vreg50
try.c: 0x55d9e7b68e00: i64 = undef
try.c: 0x55d9e7bbc3d0: v4i64,ch = CopyFromReg 0x55d9e7ad1960, Register:v4i64 %vreg13
try.c: 0x55d9e7bc1090: v4i64 = Register %vreg13
try.c: 0x55d9e7b6a790: v16i32 = X86ISD::VBROADCAST 0x55d9e7bc0aa0
try.c: 0x55d9e7bc0aa0: i32,ch = load<LD4[ConstantPool]> 0x55d9e7ad1960, 0x55d9e7b5ddb0, undef:i64
try.c: 0x55d9e7b5ddb0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55d9e7b851f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55d9e7b68e00: i64 = undef
try.c: 0x55d9e7be34b0: 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: 0x55d9e7be3380: i32 = Constant<0>
try.c: 0x55d9e7be3380: i32 = Constant<0>
try.c: 0x55d9e7be3380: i32 = Constant<0>
try.c: 0x55d9e7be3380: i32 = Constant<0>
try.c: 0x55d9e7be3380: i32 = Constant<0>
try.c: 0x55d9e7be3380: i32 = Constant<0>
try.c: 0x55d9e7be3380: i32 = Constant<0>
try.c: 0x55d9e7be3380: i32 = Constant<0>
try.c: 0x55d9e7be3380: 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:opt64

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: 0x55fa17d80ac0: v4i64 = X86ISD::VTRUNC 0x55fa17d80990
try.c: 0x55fa17d80990: v16i32 = vselect 0x55fa17d95570, 0x55fa17d2e0e0, 0x55fa17d80860
try.c: 0x55fa17d95570: v4i1 = X86ISD::PCMPGTM 0x55fa17d779b0, 0x55fa17d73540
try.c: 0x55fa17d779b0: v4i64 = X86ISD::VBROADCAST 0x55fa17d1fc90
try.c: 0x55fa17d1fc90: i64,ch = load<LD8[%lsr.iv6971]> 0x55fa17c88920, 0x55fa17d6e3a0, undef:i64
try.c: 0x55fa17d6e3a0: i64,ch = CopyFromReg 0x55fa17c88920, Register:i64 %vreg50
try.c: 0x55fa17d737a0: i64 = Register %vreg50
try.c: 0x55fa17d2c750: i64 = undef
try.c: 0x55fa17d73540: v4i64,ch = CopyFromReg 0x55fa17c88920, Register:v4i64 %vreg13
try.c: 0x55fa17d78200: v4i64 = Register %vreg13
try.c: 0x55fa17d2e0e0: v16i32 = X86ISD::VBROADCAST 0x55fa17d77c10
try.c: 0x55fa17d77c10: i32,ch = load<LD4[ConstantPool]> 0x55fa17c88920, 0x55fa17d1f270, undef:i64
try.c: 0x55fa17d1f270: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55fa17d3c6a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55fa17d2c750: i64 = undef
try.c: 0x55fa17d80860: 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: 0x55fa17d80730: i32 = Constant<0>
try.c: 0x55fa17d80730: i32 = Constant<0>
try.c: 0x55fa17d80730: i32 = Constant<0>
try.c: 0x55fa17d80730: i32 = Constant<0>
try.c: 0x55fa17d80730: i32 = Constant<0>
try.c: 0x55fa17d80730: i32 = Constant<0>
try.c: 0x55fa17d80730: i32 = Constant<0>
try.c: 0x55fa17d80730: i32 = Constant<0>
try.c: 0x55fa17d80730: 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: 0x56068518e470: v4i64 = X86ISD::VTRUNC 0x56068518e340
try.c: 0x56068518e340: v16i32 = vselect 0x560685196110, 0x5606851134e0, 0x56068518e210
try.c: 0x560685196110: v4i1 = X86ISD::PCMPGTM 0x5606851762c0, 0x560685172e60
try.c: 0x5606851762c0: v4i64 = X86ISD::VBROADCAST 0x5606851139a0
try.c: 0x5606851139a0: i64,ch = load<LD8[%lsr.iv6971]> 0x560685070a30, 0x56068510b100, undef:i64
try.c: 0x56068510b100: i64,ch = CopyFromReg 0x560685070a30, Register:i64 %vreg50
try.c: 0x5606851730c0: i64 = Register %vreg50
try.c: 0x560685122900: i64 = undef
try.c: 0x560685172e60: v4i64,ch = CopyFromReg 0x560685070a30, Register:v4i64 %vreg13
try.c: 0x560685176b10: v4i64 = Register %vreg13
try.c: 0x5606851134e0: v16i32 = X86ISD::VBROADCAST 0x560685176520
try.c: 0x560685176520: i32,ch = load<LD4[ConstantPool]> 0x560685070a30, 0x56068510f420, undef:i64
try.c: 0x56068510f420: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560685123280: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560685122900: i64 = undef
try.c: 0x56068518e210: 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: 0x56068518e0e0: i32 = Constant<0>
try.c: 0x56068518e0e0: i32 = Constant<0>
try.c: 0x56068518e0e0: i32 = Constant<0>
try.c: 0x56068518e0e0: i32 = Constant<0>
try.c: 0x56068518e0e0: i32 = Constant<0>
try.c: 0x56068518e0e0: i32 = Constant<0>
try.c: 0x56068518e0e0: i32 = Constant<0>
try.c: 0x56068518e0e0: i32 = Constant<0>
try.c: 0x56068518e0e0: 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: 0x556386bfc0b0: v4i64 = X86ISD::VTRUNC 0x556386bfbf80
try.c: 0x556386bfbf80: v16i32 = vselect 0x556386c17440, 0x556386bbef20, 0x556386bfbe50
try.c: 0x556386c17440: v4i1 = X86ISD::PCMPGTM 0x556386bf4a70, 0x556386bf0600
try.c: 0x556386bf4a70: v4i64 = X86ISD::VBROADCAST 0x556386b91b20
try.c: 0x556386b91b20: i64,ch = load<LD8[%lsr.iv6971]> 0x556386b05990, 0x556386bdee20, undef:i64
try.c: 0x556386bdee20: i64,ch = CopyFromReg 0x556386b05990, Register:i64 %vreg50
try.c: 0x556386bf0860: i64 = Register %vreg50
try.c: 0x556386bbd590: i64 = undef
try.c: 0x556386bf0600: v4i64,ch = CopyFromReg 0x556386b05990, Register:v4i64 %vreg13
try.c: 0x556386bf52c0: v4i64 = Register %vreg13
try.c: 0x556386bbef20: v16i32 = X86ISD::VBROADCAST 0x556386bf4cd0
try.c: 0x556386bf4cd0: i32,ch = load<LD4[ConstantPool]> 0x556386b05990, 0x556386b91100, undef:i64
try.c: 0x556386b91100: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556386b96320: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556386bbd590: i64 = undef
try.c: 0x556386bfbe50: 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: 0x556386bfbd20: i32 = Constant<0>
try.c: 0x556386bfbd20: i32 = Constant<0>
try.c: 0x556386bfbd20: i32 = Constant<0>
try.c: 0x556386bfbd20: i32 = Constant<0>
try.c: 0x556386bfbd20: i32 = Constant<0>
try.c: 0x556386bfbd20: i32 = Constant<0>
try.c: 0x556386bfbd20: i32 = Constant<0>
try.c: 0x556386bfbd20: i32 = Constant<0>
try.c: 0x556386bfbd20: 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