Implementation notes: amd64, cel02, crypto_verify/1167

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_verify
Primitive: 1167
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
128190 0 013909 824 800avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
142190 0 010652 816 768avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
146186 0 010348 816 768avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
182173 0 09352 800 736avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
316717 0 014477 824 800refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1606345 0 011594 800 712refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
376095 0 09476 792 712refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
395694 0 010556 816 768refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
423886 0 09272 800 736refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
427296 0 010252 816 768refgcc_-march=native_-mtune=native_-O_-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: 0x55e3571ca450: v4i64 = X86ISD::VTRUNC 0x55e3571ca320
try.c: 0x55e3571ca320: v16i32 = vselect 0x55e3571b9ba0, 0x55e357161680, 0x55e3571ca1f0
try.c: 0x55e3571b9ba0: v4i1 = X86ISD::PCMPGTM 0x55e3571c2780, 0x55e3571be310
try.c: 0x55e3571c2780: v4i64 = X86ISD::VBROADCAST 0x55e3571654f0
try.c: 0x55e3571654f0: i64,ch = load<LD8[%lsr.iv6971]> 0x55e3570d3930, 0x55e3571b5480, undef:i64
try.c: 0x55e3571b5480: i64,ch = CopyFromReg 0x55e3570d3930, Register:i64 %vreg50
try.c: 0x55e3571be570: i64 = Register %vreg50
try.c: 0x55e3571669c0: i64 = undef
try.c: 0x55e3571be310: v4i64,ch = CopyFromReg 0x55e3570d3930, Register:v4i64 %vreg13
try.c: 0x55e3571c2fd0: v4i64 = Register %vreg13
try.c: 0x55e357161680: v16i32 = X86ISD::VBROADCAST 0x55e3571c29e0
try.c: 0x55e3571c29e0: i32,ch = load<LD4[ConstantPool]> 0x55e3570d3930, 0x55e35716b140, undef:i64
try.c: 0x55e35716b140: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e3571abde0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e3571669c0: i64 = undef
try.c: 0x55e3571ca1f0: 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: 0x55e3571ca0c0: i32 = Constant<0>
try.c: 0x55e3571ca0c0: i32 = Constant<0>
try.c: 0x55e3571ca0c0: i32 = Constant<0>
try.c: 0x55e3571ca0c0: i32 = Constant<0>
try.c: 0x55e3571ca0c0: i32 = Constant<0>
try.c: 0x55e3571ca0c0: i32 = Constant<0>
try.c: 0x55e3571ca0c0: i32 = Constant<0>
try.c: 0x55e3571ca0c0: i32 = Constant<0>
try.c: 0x55e3571ca0c0: 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: 0x557babc3e8a0: v4i64 = X86ISD::VTRUNC 0x557babc3e770
try.c: 0x557babc3e770: v16i32 = vselect 0x557babc39270, 0x557babbbcb90, 0x557babc3e640
try.c: 0x557babc39270: v4i1 = X86ISD::PCMPGTM 0x557babc240d0, 0x557babc20660
try.c: 0x557babc240d0: v4i64 = X86ISD::VBROADCAST 0x557babbbd050
try.c: 0x557babbbd050: i64,ch = load<LD8[%lsr.iv6971]> 0x557babb1ea30, 0x557babbba2e0, undef:i64
try.c: 0x557babbba2e0: i64,ch = CopyFromReg 0x557babb1ea30, Register:i64 %vreg50
try.c: 0x557babc208c0: i64 = Register %vreg50
try.c: 0x557babbc8080: i64 = undef
try.c: 0x557babc20660: v4i64,ch = CopyFromReg 0x557babb1ea30, Register:v4i64 %vreg13
try.c: 0x557babc24920: v4i64 = Register %vreg13
try.c: 0x557babbbcb90: v16i32 = X86ISD::VBROADCAST 0x557babc24330
try.c: 0x557babc24330: i32,ch = load<LD4[ConstantPool]> 0x557babb1ea30, 0x557babbbf530, undef:i64
try.c: 0x557babbbf530: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557babbc8a00: i64 = TargetConstantPool<i32 1> 0
try.c: 0x557babbc8080: i64 = undef
try.c: 0x557babc3e640: 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: 0x557babc3e510: i32 = Constant<0>
try.c: 0x557babc3e510: i32 = Constant<0>
try.c: 0x557babc3e510: i32 = Constant<0>
try.c: 0x557babc3e510: i32 = Constant<0>
try.c: 0x557babc3e510: i32 = Constant<0>
try.c: 0x557babc3e510: i32 = Constant<0>
try.c: 0x557babc3e510: i32 = Constant<0>
try.c: 0x557babc3e510: i32 = Constant<0>
try.c: 0x557babc3e510: 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: 0x55b23bab3a80: v4i64 = X86ISD::VTRUNC 0x55b23bab3950
try.c: 0x55b23bab3950: v16i32 = vselect 0x55b23bac63b0, 0x55b23ba4cd90, 0x55b23bab3820
try.c: 0x55b23bac63b0: v4i1 = X86ISD::PCMPGTM 0x55b23baab820, 0x55b23baa73b0
try.c: 0x55b23baab820: v4i64 = X86ISD::VBROADCAST 0x55b23ba53ad0
try.c: 0x55b23ba53ad0: i64,ch = load<LD8[%lsr.iv6971]> 0x55b23b9bc950, 0x55b23ba950d0, undef:i64
try.c: 0x55b23ba950d0: i64,ch = CopyFromReg 0x55b23b9bc950, Register:i64 %vreg50
try.c: 0x55b23baa7610: i64 = Register %vreg50
try.c: 0x55b23ba4b400: i64 = undef
try.c: 0x55b23baa73b0: v4i64,ch = CopyFromReg 0x55b23b9bc950, Register:v4i64 %vreg13
try.c: 0x55b23baac070: v4i64 = Register %vreg13
try.c: 0x55b23ba4cd90: v16i32 = X86ISD::VBROADCAST 0x55b23baaba80
try.c: 0x55b23baaba80: i32,ch = load<LD4[ConstantPool]> 0x55b23b9bc950, 0x55b23ba530b0, undef:i64
try.c: 0x55b23ba530b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55b23ba962d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55b23ba4b400: i64 = undef
try.c: 0x55b23bab3820: 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: 0x55b23bab36f0: i32 = Constant<0>
try.c: 0x55b23bab36f0: i32 = Constant<0>
try.c: 0x55b23bab36f0: i32 = Constant<0>
try.c: 0x55b23bab36f0: i32 = Constant<0>
try.c: 0x55b23bab36f0: i32 = Constant<0>
try.c: 0x55b23bab36f0: i32 = Constant<0>
try.c: 0x55b23bab36f0: i32 = Constant<0>
try.c: 0x55b23bab36f0: i32 = Constant<0>
try.c: 0x55b23bab36f0: 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_1167_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_1167_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_1167_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_1167_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_1167_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_1167_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_1167_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_1167_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_1167_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: 0x56472b42da50: v4i64 = X86ISD::VTRUNC 0x56472b42d920
try.c: 0x56472b42d920: v16i32 = vselect 0x56472b42a430, 0x56472b3c70c0, 0x56472b42d7f0
try.c: 0x56472b42a430: v4i1 = X86ISD::PCMPGTM 0x56472b4257e0, 0x56472b421370
try.c: 0x56472b4257e0: v4i64 = X86ISD::VBROADCAST 0x56472b3c36e0
try.c: 0x56472b3c36e0: i64,ch = load<LD8[%lsr.iv6971]> 0x56472b3369b0, 0x56472b40ec10, undef:i64
try.c: 0x56472b40ec10: i64,ch = CopyFromReg 0x56472b3369b0, Register:i64 %vreg50
try.c: 0x56472b4215d0: i64 = Register %vreg50
try.c: 0x56472b3c5730: i64 = undef
try.c: 0x56472b421370: v4i64,ch = CopyFromReg 0x56472b3369b0, Register:v4i64 %vreg13
try.c: 0x56472b426030: v4i64 = Register %vreg13
try.c: 0x56472b3c70c0: v16i32 = X86ISD::VBROADCAST 0x56472b425a40
try.c: 0x56472b425a40: i32,ch = load<LD4[ConstantPool]> 0x56472b3369b0, 0x56472b3c2cc0, undef:i64
try.c: 0x56472b3c2cc0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56472b40fe10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56472b3c5730: i64 = undef
try.c: 0x56472b42d7f0: 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: 0x56472b42d6c0: i32 = Constant<0>
try.c: 0x56472b42d6c0: i32 = Constant<0>
try.c: 0x56472b42d6c0: i32 = Constant<0>
try.c: 0x56472b42d6c0: i32 = Constant<0>
try.c: 0x56472b42d6c0: i32 = Constant<0>
try.c: 0x56472b42d6c0: i32 = Constant<0>
try.c: 0x56472b42d6c0: i32 = Constant<0>
try.c: 0x56472b42d6c0: i32 = Constant<0>
try.c: 0x56472b42d6c0: 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: 0x564a21e7d660: v4i64 = X86ISD::VTRUNC 0x564a21e7d530
try.c: 0x564a21e7d530: v16i32 = vselect 0x564a21e83950, 0x564a21e025a0, 0x564a21e7d400
try.c: 0x564a21e83950: v4i1 = X86ISD::PCMPGTM 0x564a21e65d10, 0x564a21e618a0
try.c: 0x564a21e65d10: v4i64 = X86ISD::VBROADCAST 0x564a21e02a60
try.c: 0x564a21e02a60: i64,ch = load<LD8[%lsr.iv6971]> 0x564a21d5fa30, 0x564a21df8740, undef:i64
try.c: 0x564a21df8740: i64,ch = CopyFromReg 0x564a21d5fa30, Register:i64 %vreg50
try.c: 0x564a21e61b00: i64 = Register %vreg50
try.c: 0x564a21e12dd0: i64 = undef
try.c: 0x564a21e618a0: v4i64,ch = CopyFromReg 0x564a21d5fa30, Register:v4i64 %vreg13
try.c: 0x564a21e66560: v4i64 = Register %vreg13
try.c: 0x564a21e025a0: v16i32 = X86ISD::VBROADCAST 0x564a21e65f70
try.c: 0x564a21e65f70: i32,ch = load<LD4[ConstantPool]> 0x564a21d5fa30, 0x564a21e15a10, undef:i64
try.c: 0x564a21e15a10: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564a21e13750: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564a21e12dd0: i64 = undef
try.c: 0x564a21e7d400: 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: 0x564a21e7d2d0: i32 = Constant<0>
try.c: 0x564a21e7d2d0: i32 = Constant<0>
try.c: 0x564a21e7d2d0: i32 = Constant<0>
try.c: 0x564a21e7d2d0: i32 = Constant<0>
try.c: 0x564a21e7d2d0: i32 = Constant<0>
try.c: 0x564a21e7d2d0: i32 = Constant<0>
try.c: 0x564a21e7d2d0: i32 = Constant<0>
try.c: 0x564a21e7d2d0: i32 = Constant<0>
try.c: 0x564a21e7d2d0: 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: 0x55b300cb1390: v4i64 = X86ISD::VTRUNC 0x55b300cb1260
try.c: 0x55b300cb1260: v16i32 = vselect 0x55b300c9aa40, 0x55b300c41970, 0x55b300cb1130
try.c: 0x55b300c9aa40: v4i1 = X86ISD::PCMPGTM 0x55b300c99a30, 0x55b300c955c0
try.c: 0x55b300c99a30: v4i64 = X86ISD::VBROADCAST 0x55b300c48640
try.c: 0x55b300c48640: i64,ch = load<LD8[%lsr.iv6971]> 0x55b300baa950, 0x55b300c87440, undef:i64
try.c: 0x55b300c87440: i64,ch = CopyFromReg 0x55b300baa950, Register:i64 %vreg50
try.c: 0x55b300c95820: i64 = Register %vreg50
try.c: 0x55b300c3ffe0: i64 = undef
try.c: 0x55b300c955c0: v4i64,ch = CopyFromReg 0x55b300baa950, Register:v4i64 %vreg13
try.c: 0x55b300c9a280: v4i64 = Register %vreg13
try.c: 0x55b300c41970: v16i32 = X86ISD::VBROADCAST 0x55b300c99c90
try.c: 0x55b300c99c90: i32,ch = load<LD4[ConstantPool]> 0x55b300baa950, 0x55b300c47c20, undef:i64
try.c: 0x55b300c47c20: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55b300c880e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55b300c3ffe0: i64 = undef
try.c: 0x55b300cb1130: 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: 0x55b300cb1000: i32 = Constant<0>
try.c: 0x55b300cb1000: i32 = Constant<0>
try.c: 0x55b300cb1000: i32 = Constant<0>
try.c: 0x55b300cb1000: i32 = Constant<0>
try.c: 0x55b300cb1000: i32 = Constant<0>
try.c: 0x55b300cb1000: i32 = Constant<0>
try.c: 0x55b300cb1000: i32 = Constant<0>
try.c: 0x55b300cb1000: i32 = Constant<0>
try.c: 0x55b300cb1000: 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