Implementation notes: amd64, cel02, crypto_core/keccakf160032bits

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_core
Primitive: keccakf160032bits
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
259812729 0 024781 824 800inplace1600bigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
412613488 0 026402 800 760inplace1600biclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
414016435 0 028725 824 800inplace1600bigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
490211931 0 022792 800 800inplace1600bigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
529011747 0 022796 792 760inplace1600biclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
689023527 0 039013 824 864inplace1600bigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
328028534 0 024221 840 864reference1600-32bitsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
453728718 0 021778 816 760reference1600-32bitsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
455285929 0 017124 808 760reference1600-32bitsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
568805630 0 017716 832 800reference1600-32bitsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
776625621 0 017996 832 800reference1600-32bitsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
886964802 0 015776 816 800reference1600-32bitsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: inplace1600bi
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55aa1a000cd0: v4i64 = X86ISD::VTRUNC 0x55aa1a000ba0
try.c: 0x55aa1a000ba0: v16i32 = vselect 0x55aa19ffd6b0, 0x55aa19f9cb00, 0x55aa1a000a70
try.c: 0x55aa19ffd6b0: v4i1 = X86ISD::PCMPGTM 0x55aa19ff8bd0, 0x55aa19ff4760
try.c: 0x55aa19ff8bd0: v4i64 = X86ISD::VBROADCAST 0x55aa19f9ee10
try.c: 0x55aa19f9ee10: i64,ch = load<LD8[%lsr.iv6971]> 0x55aa19f09980, 0x55aa19fef5c0, undef:i64
try.c: 0x55aa19fef5c0: i64,ch = CopyFromReg 0x55aa19f09980, Register:i64 %vreg50
try.c: 0x55aa19ff49c0: i64 = Register %vreg50
try.c: 0x55aa19fa02e0: i64 = undef
try.c: 0x55aa19ff4760: v4i64,ch = CopyFromReg 0x55aa19f09980, Register:v4i64 %vreg13
try.c: 0x55aa19ff9420: v4i64 = Register %vreg13
try.c: 0x55aa19f9cb00: v16i32 = X86ISD::VBROADCAST 0x55aa19ff8e30
try.c: 0x55aa19ff8e30: i32,ch = load<LD4[ConstantPool]> 0x55aa19f09980, 0x55aa19f9b040, undef:i64
try.c: 0x55aa19f9b040: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55aa19f98bf0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55aa19fa02e0: i64 = undef
try.c: 0x55aa1a000a70: 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: 0x55aa1a000940: i32 = Constant<0>
try.c: 0x55aa1a000940: i32 = Constant<0>
try.c: 0x55aa1a000940: i32 = Constant<0>
try.c: 0x55aa1a000940: i32 = Constant<0>
try.c: 0x55aa1a000940: i32 = Constant<0>
try.c: 0x55aa1a000940: i32 = Constant<0>
try.c: 0x55aa1a000940: i32 = Constant<0>
try.c: 0x55aa1a000940: i32 = Constant<0>
try.c: 0x55aa1a000940: 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 inplace1600bi

Compiler output

Implementation: inplace1600bi
Security model: constbranchindex
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x558995e2cf00: v4i64 = X86ISD::VTRUNC 0x558995e2cdd0
try.c: 0x558995e2cdd0: v16i32 = vselect 0x558995e16d50, 0x558995da9c40, 0x558995e2cca0
try.c: 0x558995e16d50: v4i1 = X86ISD::PCMPGTM 0x558995e12100, 0x558995e0d4d0
try.c: 0x558995e12100: v4i64 = X86ISD::VBROADCAST 0x558995daa100
try.c: 0x558995daa100: i64,ch = load<LD8[%lsr.iv6971]> 0x558995d0ba40, 0x558995da62e0, undef:i64
try.c: 0x558995da62e0: i64,ch = CopyFromReg 0x558995d0ba40, Register:i64 %vreg50
try.c: 0x558995e0d730: i64 = Register %vreg50
try.c: 0x558995dbab10: i64 = undef
try.c: 0x558995e0d4d0: v4i64,ch = CopyFromReg 0x558995d0ba40, Register:v4i64 %vreg13
try.c: 0x558995e12950: v4i64 = Register %vreg13
try.c: 0x558995da9c40: v16i32 = X86ISD::VBROADCAST 0x558995e12360
try.c: 0x558995e12360: i32,ch = load<LD4[ConstantPool]> 0x558995d0ba40, 0x558995daed90, undef:i64
try.c: 0x558995daed90: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x558995dbb490: i64 = TargetConstantPool<i32 1> 0
try.c: 0x558995dbab10: i64 = undef
try.c: 0x558995e2cca0: 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: 0x558995e2cb70: i32 = Constant<0>
try.c: 0x558995e2cb70: i32 = Constant<0>
try.c: 0x558995e2cb70: i32 = Constant<0>
try.c: 0x558995e2cb70: i32 = Constant<0>
try.c: 0x558995e2cb70: i32 = Constant<0>
try.c: 0x558995e2cb70: i32 = Constant<0>
try.c: 0x558995e2cb70: i32 = Constant<0>
try.c: 0x558995e2cb70: i32 = Constant<0>
try.c: 0x558995e2cb70: 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 inplace1600bi

Compiler output

Implementation: inplace1600bi
Security model: constbranchindex
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x5595726e3b80: v4i64 = X86ISD::VTRUNC 0x5595726e3a50
try.c: 0x5595726e3a50: v16i32 = vselect 0x5595726e0560, 0x55957267cd00, 0x5595726e3920
try.c: 0x5595726e0560: v4i1 = X86ISD::PCMPGTM 0x5595726db960, 0x5595726d74f0
try.c: 0x5595726db960: v4i64 = X86ISD::VBROADCAST 0x559572685930
try.c: 0x559572685930: i64,ch = load<LD8[%lsr.iv6971]> 0x5595725ec960, 0x5595726a1fd0, undef:i64
try.c: 0x5595726a1fd0: i64,ch = CopyFromReg 0x5595725ec960, Register:i64 %vreg50
try.c: 0x5595726d7750: i64 = Register %vreg50
try.c: 0x55957267b370: i64 = undef
try.c: 0x5595726d74f0: v4i64,ch = CopyFromReg 0x5595725ec960, Register:v4i64 %vreg13
try.c: 0x5595726dc1b0: v4i64 = Register %vreg13
try.c: 0x55957267cd00: v16i32 = X86ISD::VBROADCAST 0x5595726dbbc0
try.c: 0x5595726dbbc0: i32,ch = load<LD4[ConstantPool]> 0x5595725ec960, 0x559572684f10, undef:i64
try.c: 0x559572684f10: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5595726bfa70: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55957267b370: i64 = undef
try.c: 0x5595726e3920: 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: 0x5595726e37f0: i32 = Constant<0>
try.c: 0x5595726e37f0: i32 = Constant<0>
try.c: 0x5595726e37f0: i32 = Constant<0>
try.c: 0x5595726e37f0: i32 = Constant<0>
try.c: 0x5595726e37f0: i32 = Constant<0>
try.c: 0x5595726e37f0: i32 = Constant<0>
try.c: 0x5595726e37f0: i32 = Constant<0>
try.c: 0x5595726e37f0: i32 = Constant<0>
try.c: 0x5595726e37f0: 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 inplace1600bi

Compiler output

Implementation: reference1600-32bits
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x557eb25b61c0: v4i64 = X86ISD::VTRUNC 0x557eb25b6090
try.c: 0x557eb25b6090: v16i32 = vselect 0x557eb259d860, 0x557eb2539200, 0x557eb25b5f60
try.c: 0x557eb259d860: v4i1 = X86ISD::PCMPGTM 0x557eb259a830, 0x557eb25963c0
try.c: 0x557eb259a830: v4i64 = X86ISD::VBROADCAST 0x557eb2541b80
try.c: 0x557eb2541b80: i64,ch = load<LD8[%lsr.iv6971]> 0x557eb24ab960, 0x557eb2584ad0, undef:i64
try.c: 0x557eb2584ad0: i64,ch = CopyFromReg 0x557eb24ab960, Register:i64 %vreg50
try.c: 0x557eb2596620: i64 = Register %vreg50
try.c: 0x557eb2537870: i64 = undef
try.c: 0x557eb25963c0: v4i64,ch = CopyFromReg 0x557eb24ab960, Register:v4i64 %vreg13
try.c: 0x557eb259b080: v4i64 = Register %vreg13
try.c: 0x557eb2539200: v16i32 = X86ISD::VBROADCAST 0x557eb259aa90
try.c: 0x557eb259aa90: i32,ch = load<LD4[ConstantPool]> 0x557eb24ab960, 0x557eb2541160, undef:i64
try.c: 0x557eb2541160: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557eb2585cd0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x557eb2537870: i64 = undef
try.c: 0x557eb25b5f60: 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: 0x557eb25b5e30: i32 = Constant<0>
try.c: 0x557eb25b5e30: i32 = Constant<0>
try.c: 0x557eb25b5e30: i32 = Constant<0>
try.c: 0x557eb25b5e30: i32 = Constant<0>
try.c: 0x557eb25b5e30: i32 = Constant<0>
try.c: 0x557eb25b5e30: i32 = Constant<0>
try.c: 0x557eb25b5e30: i32 = Constant<0>
try.c: 0x557eb25b5e30: i32 = Constant<0>
try.c: 0x557eb25b5e30: 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 reference1600-32bits

Compiler output

Implementation: reference1600-32bits
Security model: constbranchindex
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55ac76acc900: v4i64 = X86ISD::VTRUNC 0x55ac76acc7d0
try.c: 0x55ac76acc7d0: v16i32 = vselect 0x55ac76abc570, 0x55ac76a43450, 0x55ac76acc6a0
try.c: 0x55ac76abc570: v4i1 = X86ISD::PCMPGTM 0x55ac76aa73a0, 0x55ac76aa3930
try.c: 0x55ac76aa73a0: v4i64 = X86ISD::VBROADCAST 0x55ac76a43910
try.c: 0x55ac76a43910: i64,ch = load<LD8[%lsr.iv6971]> 0x55ac769a1a40, 0x55ac76a3c960, undef:i64
try.c: 0x55ac76a3c960: i64,ch = CopyFromReg 0x55ac769a1a40, Register:i64 %vreg50
try.c: 0x55ac76aa3b90: i64 = Register %vreg50
try.c: 0x55ac76a41000: i64 = undef
try.c: 0x55ac76aa3930: v4i64,ch = CopyFromReg 0x55ac769a1a40, Register:v4i64 %vreg13
try.c: 0x55ac76aa7bf0: v4i64 = Register %vreg13
try.c: 0x55ac76a43450: v16i32 = X86ISD::VBROADCAST 0x55ac76aa7600
try.c: 0x55ac76aa7600: i32,ch = load<LD4[ConstantPool]> 0x55ac769a1a40, 0x55ac76a3af30, undef:i64
try.c: 0x55ac76a3af30: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ac76a41980: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ac76a41000: i64 = undef
try.c: 0x55ac76acc6a0: 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: 0x55ac76acc570: i32 = Constant<0>
try.c: 0x55ac76acc570: i32 = Constant<0>
try.c: 0x55ac76acc570: i32 = Constant<0>
try.c: 0x55ac76acc570: i32 = Constant<0>
try.c: 0x55ac76acc570: i32 = Constant<0>
try.c: 0x55ac76acc570: i32 = Constant<0>
try.c: 0x55ac76acc570: i32 = Constant<0>
try.c: 0x55ac76acc570: i32 = Constant<0>
try.c: 0x55ac76acc570: 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 reference1600-32bits

Compiler output

Implementation: reference1600-32bits
Security model: constbranchindex
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x559626cc7060: v4i64 = X86ISD::VTRUNC 0x559626cc6f30
try.c: 0x559626cc6f30: v16i32 = vselect 0x559626cad6c0, 0x559626c580c0, 0x559626cc6e00
try.c: 0x559626cad6c0: v4i1 = X86ISD::PCMPGTM 0x559626caf700, 0x559626cab290
try.c: 0x559626caf700: v4i64 = X86ISD::VBROADCAST 0x559626c6de90
try.c: 0x559626c6de90: i64,ch = load<LD8[%lsr.iv6971]> 0x559626bc09b0, 0x559626c6aed0, undef:i64
try.c: 0x559626c6aed0: i64,ch = CopyFromReg 0x559626bc09b0, Register:i64 %vreg50
try.c: 0x559626cab4f0: i64 = Register %vreg50
try.c: 0x559626c56730: i64 = undef
try.c: 0x559626cab290: v4i64,ch = CopyFromReg 0x559626bc09b0, Register:v4i64 %vreg13
try.c: 0x559626caff50: v4i64 = Register %vreg13
try.c: 0x559626c580c0: v16i32 = X86ISD::VBROADCAST 0x559626caf960
try.c: 0x559626caf960: i32,ch = load<LD4[ConstantPool]> 0x559626bc09b0, 0x559626c6d470, undef:i64
try.c: 0x559626c6d470: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x559626c9aed0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x559626c56730: i64 = undef
try.c: 0x559626cc6e00: 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: 0x559626cc6cd0: i32 = Constant<0>
try.c: 0x559626cc6cd0: i32 = Constant<0>
try.c: 0x559626cc6cd0: i32 = Constant<0>
try.c: 0x559626cc6cd0: i32 = Constant<0>
try.c: 0x559626cc6cd0: i32 = Constant<0>
try.c: 0x559626cc6cd0: i32 = Constant<0>
try.c: 0x559626cc6cd0: i32 = Constant<0>
try.c: 0x559626cc6cd0: i32 = Constant<0>
try.c: 0x559626cc6cd0: 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 reference1600-32bits