Implementation notes: amd64, cel02, crypto_verify/897

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_verify
Primitive: 897
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
108190 0 010684 816 768avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
142186 0 010380 816 768avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1821912 0 015701 824 800refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
342190 0 013941 824 800avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
346173 0 09320 800 736avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1174327 0 011610 800 712refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
287095 0 09492 792 712refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
300296 0 010300 816 768refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
303686 0 09240 800 736refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
470294 0 010588 816 768refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Test failure

Implementation: avx
Security model: constbranchindex
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111
different strings pass verify

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

Compiler output

Implementation: avx
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: 0x55a91c79ab90: v4i64 = X86ISD::VTRUNC 0x55a91c79aa60
try.c: 0x55a91c79aa60: v16i32 = vselect 0x55a91c786610, 0x55a91c73af90, 0x55a91c79a930
try.c: 0x55a91c786610: v4i1 = X86ISD::PCMPGTM 0x55a91c77f200, 0x55a91c77ad90
try.c: 0x55a91c77f200: v4i64 = X86ISD::VBROADCAST 0x55a91c71fc40
try.c: 0x55a91c71fc40: i64,ch = load<LD8[%lsr.iv6971]> 0x55a91c68f950, 0x55a91c772c20, undef:i64
try.c: 0x55a91c772c20: i64,ch = CopyFromReg 0x55a91c68f950, Register:i64 %vreg50
try.c: 0x55a91c77aff0: i64 = Register %vreg50
try.c: 0x55a91c739600: i64 = undef
try.c: 0x55a91c77ad90: v4i64,ch = CopyFromReg 0x55a91c68f950, Register:v4i64 %vreg13
try.c: 0x55a91c77fa50: v4i64 = Register %vreg13
try.c: 0x55a91c73af90: v16i32 = X86ISD::VBROADCAST 0x55a91c77f460
try.c: 0x55a91c77f460: i32,ch = load<LD4[ConstantPool]> 0x55a91c68f950, 0x55a91c71f220, undef:i64
try.c: 0x55a91c71f220: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a91c763b90: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a91c739600: i64 = undef
try.c: 0x55a91c79a930: 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: 0x55a91c79a800: i32 = Constant<0>
try.c: 0x55a91c79a800: i32 = Constant<0>
try.c: 0x55a91c79a800: i32 = Constant<0>
try.c: 0x55a91c79a800: i32 = Constant<0>
try.c: 0x55a91c79a800: i32 = Constant<0>
try.c: 0x55a91c79a800: i32 = Constant<0>
try.c: 0x55a91c79a800: i32 = Constant<0>
try.c: 0x55a91c79a800: i32 = Constant<0>
try.c: 0x55a91c79a800: 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 avx

Compiler output

Implementation: avx
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: 0x5637eddcd980: v4i64 = X86ISD::VTRUNC 0x5637eddcd850
try.c: 0x5637eddcd850: v16i32 = vselect 0x5637edddcdd0, 0x5637edd65a50, 0x5637eddcd720
try.c: 0x5637edddcdd0: v4i1 = X86ISD::PCMPGTM 0x5637eddc50b0, 0x5637eddc0630
try.c: 0x5637eddc50b0: v4i64 = X86ISD::VBROADCAST 0x5637edd65f10
try.c: 0x5637edd65f10: i64,ch = load<LD8[%lsr.iv6971]> 0x5637edcbea40, 0x5637edd58fb0, undef:i64
try.c: 0x5637edd58fb0: i64,ch = CopyFromReg 0x5637edcbea40, Register:i64 %vreg50
try.c: 0x5637eddc0890: i64 = Register %vreg50
try.c: 0x5637edd530f0: i64 = undef
try.c: 0x5637eddc0630: v4i64,ch = CopyFromReg 0x5637edcbea40, Register:v4i64 %vreg13
try.c: 0x5637eddc5900: v4i64 = Register %vreg13
try.c: 0x5637edd65a50: v16i32 = X86ISD::VBROADCAST 0x5637eddc5310
try.c: 0x5637eddc5310: i32,ch = load<LD4[ConstantPool]> 0x5637edcbea40, 0x5637edd683f0, undef:i64
try.c: 0x5637edd683f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5637edd53a70: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5637edd530f0: i64 = undef
try.c: 0x5637eddcd720: 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: 0x5637eddcd5f0: i32 = Constant<0>
try.c: 0x5637eddcd5f0: i32 = Constant<0>
try.c: 0x5637eddcd5f0: i32 = Constant<0>
try.c: 0x5637eddcd5f0: i32 = Constant<0>
try.c: 0x5637eddcd5f0: i32 = Constant<0>
try.c: 0x5637eddcd5f0: i32 = Constant<0>
try.c: 0x5637eddcd5f0: i32 = Constant<0>
try.c: 0x5637eddcd5f0: i32 = Constant<0>
try.c: 0x5637eddcd5f0: 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 avx

Compiler output

Implementation: avx
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: 0x55ca07b80370: v4i64 = X86ISD::VTRUNC 0x55ca07b80240
try.c: 0x55ca07b80240: v16i32 = vselect 0x55ca07b511c0, 0x55ca07b0bc20, 0x55ca07b80110
try.c: 0x55ca07b511c0: v4i1 = X86ISD::PCMPGTM 0x55ca07b649e0, 0x55ca07b60570
try.c: 0x55ca07b649e0: v4i64 = X86ISD::VBROADCAST 0x55ca07b077e0
try.c: 0x55ca07b077e0: i64,ch = load<LD8[%lsr.iv6971]> 0x55ca07a759d0, 0x55ca07b4eec0, undef:i64
try.c: 0x55ca07b4eec0: i64,ch = CopyFromReg 0x55ca07a759d0, Register:i64 %vreg50
try.c: 0x55ca07b607d0: i64 = Register %vreg50
try.c: 0x55ca07b08cb0: i64 = undef
try.c: 0x55ca07b60570: v4i64,ch = CopyFromReg 0x55ca07a759d0, Register:v4i64 %vreg13
try.c: 0x55ca07b65230: v4i64 = Register %vreg13
try.c: 0x55ca07b0bc20: v16i32 = X86ISD::VBROADCAST 0x55ca07b64c40
try.c: 0x55ca07b64c40: i32,ch = load<LD4[ConstantPool]> 0x55ca07a759d0, 0x55ca07b2bf80, undef:i64
try.c: 0x55ca07b2bf80: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ca07b539b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ca07b08cb0: i64 = undef
try.c: 0x55ca07b80110: 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: 0x55ca07b7ffe0: i32 = Constant<0>
try.c: 0x55ca07b7ffe0: i32 = Constant<0>
try.c: 0x55ca07b7ffe0: i32 = Constant<0>
try.c: 0x55ca07b7ffe0: i32 = Constant<0>
try.c: 0x55ca07b7ffe0: i32 = Constant<0>
try.c: 0x55ca07b7ffe0: i32 = Constant<0>
try.c: 0x55ca07b7ffe0: i32 = Constant<0>
try.c: 0x55ca07b7ffe0: i32 = Constant<0>
try.c: 0x55ca07b7ffe0: 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 avx

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
verify.c: verify.c:6:18: error: always_inline function '_mm256_set1_epi8' requires target feature 'sse4.2', but would be inlined into function 'crypto_verify_897_avx_constbranchindex' that is compiled without support for 'sse4.2'
verify.c: __m256i diff = _mm256_set1_epi8(0);
verify.c: ^
verify.c: verify.c:13:20: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_verify_897_avx_constbranchindex' that is compiled without support for 'sse4.2'
verify.c: __m256i x0 = _mm256_loadu_si256((__m256i *) x);
verify.c: ^
verify.c: verify.c:14:20: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_verify_897_avx_constbranchindex' that is compiled without support for 'sse4.2'
verify.c: __m256i y0 = _mm256_loadu_si256((__m256i *) y);
verify.c: ^
verify.c: verify.c:25:11: error: always_inline function '_mm256_srli_epi16' requires target feature 'sse4.2', but would be inlined into function 'crypto_verify_897_avx_constbranchindex' that is compiled without support for 'sse4.2'
verify.c: diff |= _mm256_srli_epi16(diff,8);
verify.c: ^
verify.c: verify.c:26:11: error: always_inline function '_mm256_srli_epi32' requires target feature 'sse4.2', but would be inlined into function 'crypto_verify_897_avx_constbranchindex' that is compiled without support for 'sse4.2'
verify.c: diff |= _mm256_srli_epi32(diff,16);
verify.c: ^
verify.c: verify.c:27:11: error: always_inline function '_mm256_srli_epi64' requires target feature 'sse4.2', but would be inlined into function 'crypto_verify_897_avx_constbranchindex' that is compiled without support for 'sse4.2'
verify.c: diff |= _mm256_srli_epi64(diff,32);
verify.c: ^
verify.c: verify.c:29:19: error: always_inline function '_mm256_extract_epi8' requires target feature 'sse4.2', but would be inlined into function 'crypto_verify_897_avx_constbranchindex' that is compiled without support for 'sse4.2'
verify.c: differentbits = _mm256_extract_epi8(diff,0);
verify.c: ^
verify.c: verify.c:30:20: error: always_inline function '_mm256_extract_epi8' requires target feature 'sse4.2', but would be inlined into function 'crypto_verify_897_avx_constbranchindex' that is compiled without support for 'sse4.2'
verify.c: differentbits |= _mm256_extract_epi8(diff,8);
verify.c: ^
verify.c: verify.c:31:20: error: always_inline function '_mm256_extract_epi8' requires target feature 'sse4.2', but would be inlined into function 'crypto_verify_897_avx_constbranchindex' that is compiled without support for 'sse4.2'
verify.c: ...

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

Compiler output

Implementation: ref
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: 0x556ee8c2a150: v4i64 = X86ISD::VTRUNC 0x556ee8c2a020
try.c: 0x556ee8c2a020: v16i32 = vselect 0x556ee8c16430, 0x556ee8bafbd0, 0x556ee8c29ef0
try.c: 0x556ee8c16430: v4i1 = X86ISD::PCMPGTM 0x556ee8c0f7d0, 0x556ee8c0b360
try.c: 0x556ee8c0f7d0: v4i64 = X86ISD::VBROADCAST 0x556ee8bd6360
try.c: 0x556ee8bd6360: i64,ch = load<LD8[%lsr.iv6971]> 0x556ee8b20940, 0x556ee8bf7400, undef:i64
try.c: 0x556ee8bf7400: i64,ch = CopyFromReg 0x556ee8b20940, Register:i64 %vreg50
try.c: 0x556ee8c0b5c0: i64 = Register %vreg50
try.c: 0x556ee8bd7830: i64 = undef
try.c: 0x556ee8c0b360: v4i64,ch = CopyFromReg 0x556ee8b20940, Register:v4i64 %vreg13
try.c: 0x556ee8c10020: v4i64 = Register %vreg13
try.c: 0x556ee8bafbd0: v16i32 = X86ISD::VBROADCAST 0x556ee8c0fa30
try.c: 0x556ee8c0fa30: i32,ch = load<LD4[ConstantPool]> 0x556ee8b20940, 0x556ee8bd5940, undef:i64
try.c: 0x556ee8bd5940: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556ee8bd0300: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556ee8bd7830: i64 = undef
try.c: 0x556ee8c29ef0: 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: 0x556ee8c29dc0: i32 = Constant<0>
try.c: 0x556ee8c29dc0: i32 = Constant<0>
try.c: 0x556ee8c29dc0: i32 = Constant<0>
try.c: 0x556ee8c29dc0: i32 = Constant<0>
try.c: 0x556ee8c29dc0: i32 = Constant<0>
try.c: 0x556ee8c29dc0: i32 = Constant<0>
try.c: 0x556ee8c29dc0: i32 = Constant<0>
try.c: 0x556ee8c29dc0: i32 = Constant<0>
try.c: 0x556ee8c29dc0: 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 ref

Compiler output

Implementation: ref
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: 0x55f217d34ea0: v4i64 = X86ISD::VTRUNC 0x55f217d34d70
try.c: 0x55f217d34d70: v16i32 = vselect 0x55f217d17c60, 0x55f217ca80a0, 0x55f217d34c40
try.c: 0x55f217d17c60: v4i1 = X86ISD::PCMPGTM 0x55f217d11000, 0x55f217d0cb90
try.c: 0x55f217d11000: v4i64 = X86ISD::VBROADCAST 0x55f217ca8560
try.c: 0x55f217ca8560: i64,ch = load<LD8[%lsr.iv6971]> 0x55f217c0aa40, 0x55f217cbbf60, undef:i64
try.c: 0x55f217cbbf60: i64,ch = CopyFromReg 0x55f217c0aa40, Register:i64 %vreg50
try.c: 0x55f217d0cdf0: i64 = Register %vreg50
try.c: 0x55f217c9fba0: i64 = undef
try.c: 0x55f217d0cb90: v4i64,ch = CopyFromReg 0x55f217c0aa40, Register:v4i64 %vreg13
try.c: 0x55f217d11850: v4i64 = Register %vreg13
try.c: 0x55f217ca80a0: v16i32 = X86ISD::VBROADCAST 0x55f217d11260
try.c: 0x55f217d11260: i32,ch = load<LD4[ConstantPool]> 0x55f217c0aa40, 0x55f217cba530, undef:i64
try.c: 0x55f217cba530: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55f217ca0520: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55f217c9fba0: i64 = undef
try.c: 0x55f217d34c40: 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: 0x55f217d34b10: i32 = Constant<0>
try.c: 0x55f217d34b10: i32 = Constant<0>
try.c: 0x55f217d34b10: i32 = Constant<0>
try.c: 0x55f217d34b10: i32 = Constant<0>
try.c: 0x55f217d34b10: i32 = Constant<0>
try.c: 0x55f217d34b10: i32 = Constant<0>
try.c: 0x55f217d34b10: i32 = Constant<0>
try.c: 0x55f217d34b10: i32 = Constant<0>
try.c: 0x55f217d34b10: 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 ref

Compiler output

Implementation: ref
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: 0x55e32aaf71e0: v4i64 = X86ISD::VTRUNC 0x55e32aaf70b0
try.c: 0x55e32aaf70b0: v16i32 = vselect 0x55e32aae3470, 0x55e32aa7ea40, 0x55e32aaf6f80
try.c: 0x55e32aae3470: v4i1 = X86ISD::PCMPGTM 0x55e32aadc860, 0x55e32aad83f0
try.c: 0x55e32aadc860: v4i64 = X86ISD::VBROADCAST 0x55e32aa7bbe0
try.c: 0x55e32aa7bbe0: i64,ch = load<LD8[%lsr.iv6971]> 0x55e32a9ed950, 0x55e32aac64e0, undef:i64
try.c: 0x55e32aac64e0: i64,ch = CopyFromReg 0x55e32a9ed950, Register:i64 %vreg50
try.c: 0x55e32aad8650: i64 = Register %vreg50
try.c: 0x55e32aa7d0b0: i64 = undef
try.c: 0x55e32aad83f0: v4i64,ch = CopyFromReg 0x55e32a9ed950, Register:v4i64 %vreg13
try.c: 0x55e32aadd0b0: v4i64 = Register %vreg13
try.c: 0x55e32aa7ea40: v16i32 = X86ISD::VBROADCAST 0x55e32aadcac0
try.c: 0x55e32aadcac0: i32,ch = load<LD4[ConstantPool]> 0x55e32a9ed950, 0x55e32aaa3dd0, undef:i64
try.c: 0x55e32aaa3dd0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e32aa97510: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e32aa7d0b0: i64 = undef
try.c: 0x55e32aaf6f80: 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: 0x55e32aaf6e50: i32 = Constant<0>
try.c: 0x55e32aaf6e50: i32 = Constant<0>
try.c: 0x55e32aaf6e50: i32 = Constant<0>
try.c: 0x55e32aaf6e50: i32 = Constant<0>
try.c: 0x55e32aaf6e50: i32 = Constant<0>
try.c: 0x55e32aaf6e50: i32 = Constant<0>
try.c: 0x55e32aaf6e50: i32 = Constant<0>
try.c: 0x55e32aaf6e50: i32 = Constant<0>
try.c: 0x55e32aaf6e50: 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 ref