Implementation notes: amd64, cel02, crypto_aead/hs1sivv2

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: hs1sivv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
656623391 0 044380 832 896T:dolbeau/amd64-avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
76988038 0 026716 808 856T:fasterclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
782214555 0 033696 816 896T:dolbeau/amd64-avx512gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
939223508 0 044012 832 896T:dolbeau/amd64-avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
962426329 0 047332 832 896T:dolbeau/amd64-avx512gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
981412391 0 031504 816 896T:dolbeau/amd64-avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
991225073 0 049285 840 960T:dolbeau/amd64-avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1012027954 0 052173 840 960T:dolbeau/amd64-avx512gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1155612531 0 036869 840 960T:fastergcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1191226294 0 046812 832 896T:dolbeau/amd64-avx512gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
121228889 0 029988 832 896T:fastergcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
127208726 0 029332 832 896T:fastergcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
140368395 0 027512 816 896T:fastergcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1652421517 0 041956 832 896T:dolbeau/amd64-ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1667822146 0 046309 840 960T:dolbeau/amd64-ssegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1688021770 0 042692 832 896T:dolbeau/amd64-ssegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1710210877 0 029380 808 856T:dolbeau/amd64-sseclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
199848612 0 027656 816 896T:dolbeau/amd64-ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
484966958 0 027306 816 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
522544475 0 023132 808 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
574166283 0 030653 840 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
671025315 0 026388 832 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
672684138 0 023232 816 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
781545588 0 026261 840 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Test failure

Implementation: T:faster
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111

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

Compiler output

Implementation: T:dolbeau/amd64-avx2
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: In file included from encrypt.c:234:
encrypt.c: ./u16.h:179:28: warning: implicit declaration of function '_mm512_set_epi32' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: const __m512i addv12 = _mm512_set_epi32(15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0);
encrypt.c: ^
encrypt.c: ./u16.h:179:19: error: initializing 'const __m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: const __m512i addv12 = _mm512_set_epi32(15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ./u16.h:181:12: warning: implicit declaration of function '_mm512_broadcastd_epi32' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: t_12 = _mm512_broadcastd_epi32(_mm_cvtsi32_si128(in12));
encrypt.c: ^
encrypt.c: ./u16.h:181:10: error: assigning to '__m512i' (vector of 8 'long long' values) from incompatible type 'int'
encrypt.c: t_12 = _mm512_broadcastd_epi32(_mm_cvtsi32_si128(in12));
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ./u16.h:187:7: warning: implicit declaration of function '_mm512_rol_epi32' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: VEC16_ROUND( 0, 4, 8,12, 1, 5, 9,13, 2, 6,10,14, 3, 7,11,15);
encrypt.c: ^
encrypt.c: ./u16.h:105:70: note: expanded from macro 'VEC16_ROUND'
encrypt.c: #define VEC16_ROUND(a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,a4,b4,c4,d4) VEC16_ROUND_SEQ(a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,a4,b4,c4,d4)
encrypt.c: ^
encrypt.c: ./u16.h:81:3: note: expanded from macro 'VEC16_ROUND_SEQ'
encrypt.c: VEC16_LINE1(a1,b1,c1,d1); \
encrypt.c: ^
encrypt.c: ./u16.h:11:51: note: expanded from macro 'VEC16_LINE1'
encrypt.c: x_##a = _mm512_add_epi32(x_##a, x_##b); x_##d = VEC16_ROT(_mm512_xor_si512(x_##d, x_##a), 16)
encrypt.c: ^
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:dolbeau/amd64-avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:dolbeau/amd64-avx2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:dolbeau/amd64-avx2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:dolbeau/amd64-avx2
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:dolbeau/amd64-avx512
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:dolbeau/amd64-avx512
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:dolbeau/amd64-avx512
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:dolbeau/amd64-avx512

Compiler output

Implementation: T:dolbeau/amd64-avx2
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:90:2: error: "This code requires AVX2 to work"
encrypt.c: #error "This code requires AVX2 to work"
encrypt.c: ^
encrypt.c: 1 error generated.

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

Compiler output

Implementation: T:dolbeau/amd64-avx512
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:90:2: error: "This code requires AVX512F to work"
encrypt.c: #error "This code requires AVX512F to work"
encrypt.c: ^
encrypt.c: encrypt.c:335:15: error: invalid input constraint 'Yz' in asm
encrypt.c: : [a] "Yz" (a)
encrypt.c: ^
encrypt.c: encrypt.c:483:26: warning: implicit declaration of function '_mm512_loadu_si512' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^
encrypt.c: encrypt.c:483:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:484:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv4 = _mm512_loadu_si512((const __m512i*)(nhkey+ 4)); // 1
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:485:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv8 = _mm512_loadu_si512((const __m512i*)(nhkey+ 8)); // 1, 2
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:486:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv12 = _mm512_loadu_si512((const __m512i*)(nhkey+12)); // 1, 2
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:487:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: __m512i kv16 = _mm512_loadu_si512((const __m512i*)(nhkey+16)); // 2
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:488:19: error: initializing '__m512i' (vector of 8 'long long' values) with an expression of incompatible type 'int'
encrypt.c: ...

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

Compiler output

Implementation: T:dolbeau/amd64-sse
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: 0x558983498be0: v4i64 = X86ISD::VTRUNC 0x558983498ab0
try.c: 0x558983498ab0: v16i32 = vselect 0x5589834955c0, 0x558983416a60, 0x558983498980
try.c: 0x5589834955c0: v4i1 = X86ISD::PCMPGTM 0x558983474b20, 0x5589834706b0
try.c: 0x558983474b20: v4i64 = X86ISD::VBROADCAST 0x558983413c00
try.c: 0x558983413c00: i64,ch = load<LD8[%lsr.iv6971]> 0x5589833859a0, 0x558983463000, undef:i64
try.c: 0x558983463000: i64,ch = CopyFromReg 0x5589833859a0, Register:i64 %vreg50
try.c: 0x558983470910: i64 = Register %vreg50
try.c: 0x5589834150d0: i64 = undef
try.c: 0x5589834706b0: v4i64,ch = CopyFromReg 0x5589833859a0, Register:v4i64 %vreg13
try.c: 0x558983475370: v4i64 = Register %vreg13
try.c: 0x558983416a60: v16i32 = X86ISD::VBROADCAST 0x558983474d80
try.c: 0x558983474d80: i32,ch = load<LD4[ConstantPool]> 0x5589833859a0, 0x55898343b910, undef:i64
try.c: 0x55898343b910: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55898345bc60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5589834150d0: i64 = undef
try.c: 0x558983498980: 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: 0x558983498850: i32 = Constant<0>
try.c: 0x558983498850: i32 = Constant<0>
try.c: 0x558983498850: i32 = Constant<0>
try.c: 0x558983498850: i32 = Constant<0>
try.c: 0x558983498850: i32 = Constant<0>
try.c: 0x558983498850: i32 = Constant<0>
try.c: 0x558983498850: i32 = Constant<0>
try.c: 0x558983498850: i32 = Constant<0>
try.c: 0x558983498850: 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:dolbeau/amd64-sse

Compiler output

Implementation: T:dolbeau/amd64-sse
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: 0x55dfb323a480: v4i64 = X86ISD::VTRUNC 0x55dfb323a350
try.c: 0x55dfb323a350: v16i32 = vselect 0x55dfb321b8a0, 0x55dfb31a8fa0, 0x55dfb323a220
try.c: 0x55dfb321b8a0: v4i1 = X86ISD::PCMPGTM 0x55dfb3214c70, 0x55dfb3210800
try.c: 0x55dfb3214c70: v4i64 = X86ISD::VBROADCAST 0x55dfb31a9460
try.c: 0x55dfb31a9460: i64,ch = load<LD8[%lsr.iv6971]> 0x55dfb310ea30, 0x55dfb31b6a00, undef:i64
try.c: 0x55dfb31b6a00: i64,ch = CopyFromReg 0x55dfb310ea30, Register:i64 %vreg50
try.c: 0x55dfb3210a60: i64 = Register %vreg50
try.c: 0x55dfb31d5d60: i64 = undef
try.c: 0x55dfb3210800: v4i64,ch = CopyFromReg 0x55dfb310ea30, Register:v4i64 %vreg13
try.c: 0x55dfb32154c0: v4i64 = Register %vreg13
try.c: 0x55dfb31a8fa0: v16i32 = X86ISD::VBROADCAST 0x55dfb3214ed0
try.c: 0x55dfb3214ed0: i32,ch = load<LD4[ConstantPool]> 0x55dfb310ea30, 0x55dfb31b47c0, undef:i64
try.c: 0x55dfb31b47c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55dfb31d66e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55dfb31d5d60: i64 = undef
try.c: 0x55dfb323a220: 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: 0x55dfb323a0f0: i32 = Constant<0>
try.c: 0x55dfb323a0f0: i32 = Constant<0>
try.c: 0x55dfb323a0f0: i32 = Constant<0>
try.c: 0x55dfb323a0f0: i32 = Constant<0>
try.c: 0x55dfb323a0f0: i32 = Constant<0>
try.c: 0x55dfb323a0f0: i32 = Constant<0>
try.c: 0x55dfb323a0f0: i32 = Constant<0>
try.c: 0x55dfb323a0f0: i32 = Constant<0>
try.c: 0x55dfb323a0f0: 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:dolbeau/amd64-sse

Compiler output

Implementation: T:dolbeau/amd64-sse
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: 0x563b90ab68f0: v4i64 = X86ISD::VTRUNC 0x563b90ab67c0
try.c: 0x563b90ab67c0: v16i32 = vselect 0x563b90ada570, 0x563b90a6cd10, 0x563b90ab6690
try.c: 0x563b90ada570: v4i1 = X86ISD::PCMPGTM 0x563b90ab1830, 0x563b90aad3c0
try.c: 0x563b90ab1830: v4i64 = X86ISD::VBROADCAST 0x563b90a68980
try.c: 0x563b90a68980: i64,ch = load<LD8[%lsr.iv6971]> 0x563b909c2950, 0x563b90aa0520, undef:i64
try.c: 0x563b90aa0520: i64,ch = CopyFromReg 0x563b909c2950, Register:i64 %vreg50
try.c: 0x563b90aad620: i64 = Register %vreg50
try.c: 0x563b90a6b380: i64 = undef
try.c: 0x563b90aad3c0: v4i64,ch = CopyFromReg 0x563b909c2950, Register:v4i64 %vreg13
try.c: 0x563b90ab2080: v4i64 = Register %vreg13
try.c: 0x563b90a6cd10: v16i32 = X86ISD::VBROADCAST 0x563b90ab1a90
try.c: 0x563b90ab1a90: i32,ch = load<LD4[ConstantPool]> 0x563b909c2950, 0x563b90a67f60, undef:i64
try.c: 0x563b90a67f60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563b90a22bb0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563b90a6b380: i64 = undef
try.c: 0x563b90ab6690: 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: 0x563b90ab6560: i32 = Constant<0>
try.c: 0x563b90ab6560: i32 = Constant<0>
try.c: 0x563b90ab6560: i32 = Constant<0>
try.c: 0x563b90ab6560: i32 = Constant<0>
try.c: 0x563b90ab6560: i32 = Constant<0>
try.c: 0x563b90ab6560: i32 = Constant<0>
try.c: 0x563b90ab6560: i32 = Constant<0>
try.c: 0x563b90ab6560: i32 = Constant<0>
try.c: 0x563b90ab6560: 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:dolbeau/amd64-sse

Compiler output

Implementation: T:dolbeau/amd64-sse
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: In file included from encrypt.c:190:
encrypt.c: ./c176.h:99:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'chacha_noxor176' that is compiled without support for 'ssse3'
encrypt.c: VEC4_QUARTERROUND( 0, 4, 8,12);
encrypt.c: ^
encrypt.c: ./c176.h:17:36: note: expanded from macro 'VEC4_QUARTERROUND'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ^
encrypt.c: ./c176.h:12:86: note: expanded from macro 'VEC4_QUARTERROUND_SHUFFLE'
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot16); \
encrypt.c: ^
encrypt.c: ./c176.h:99:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'chacha_noxor176' that is compiled without support for 'ssse3'
encrypt.c: ./c176.h:17:36: note: expanded from macro 'VEC4_QUARTERROUND'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ^
encrypt.c: ./c176.h:14:86: note: expanded from macro 'VEC4_QUARTERROUND_SHUFFLE'
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot8); \
encrypt.c: ^
encrypt.c: ./c176.h:100:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'chacha_noxor176' that is compiled without support for 'ssse3'
encrypt.c: VEC4_QUARTERROUND( 1, 5, 9,13);
encrypt.c: ^
encrypt.c: ./c176.h:17:36: note: expanded from macro 'VEC4_QUARTERROUND'
encrypt.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
encrypt.c: ^
encrypt.c: ./c176.h:12:86: note: expanded from macro 'VEC4_QUARTERROUND_SHUFFLE'
encrypt.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot16); \
encrypt.c: ...

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

Compiler output

Implementation: T:faster
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: 0x55e492eec560: v4i64 = X86ISD::VTRUNC 0x55e492eec430
try.c: 0x55e492eec430: v16i32 = vselect 0x55e492efcc10, 0x55e492e85840, 0x55e492eec300
try.c: 0x55e492efcc10: v4i1 = X86ISD::PCMPGTM 0x55e492ee58a0, 0x55e492ee1430
try.c: 0x55e492ee58a0: v4i64 = X86ISD::VBROADCAST 0x55e492e8c7e0
try.c: 0x55e492e8c7e0: i64,ch = load<LD8[%lsr.iv6971]> 0x55e492df6950, 0x55e492ecf860, undef:i64
try.c: 0x55e492ecf860: i64,ch = CopyFromReg 0x55e492df6950, Register:i64 %vreg50
try.c: 0x55e492ee1690: i64 = Register %vreg50
try.c: 0x55e492e8dcb0: i64 = undef
try.c: 0x55e492ee1430: v4i64,ch = CopyFromReg 0x55e492df6950, Register:v4i64 %vreg13
try.c: 0x55e492ee60f0: v4i64 = Register %vreg13
try.c: 0x55e492e85840: v16i32 = X86ISD::VBROADCAST 0x55e492ee5b00
try.c: 0x55e492ee5b00: i32,ch = load<LD4[ConstantPool]> 0x55e492df6950, 0x55e492e8bdc0, undef:i64
try.c: 0x55e492e8bdc0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e492ed0a60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e492e8dcb0: i64 = undef
try.c: 0x55e492eec300: 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: 0x55e492eec1d0: i32 = Constant<0>
try.c: 0x55e492eec1d0: i32 = Constant<0>
try.c: 0x55e492eec1d0: i32 = Constant<0>
try.c: 0x55e492eec1d0: i32 = Constant<0>
try.c: 0x55e492eec1d0: i32 = Constant<0>
try.c: 0x55e492eec1d0: i32 = Constant<0>
try.c: 0x55e492eec1d0: i32 = Constant<0>
try.c: 0x55e492eec1d0: i32 = Constant<0>
try.c: 0x55e492eec1d0: 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:faster

Compiler output

Implementation: T:faster
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: 0x558d3397e0c0: v4i64 = X86ISD::VTRUNC 0x558d3397df90
try.c: 0x558d3397df90: v16i32 = vselect 0x558d3397aaa0, 0x558d33926800, 0x558d3397de60
try.c: 0x558d3397aaa0: v4i1 = X86ISD::PCMPGTM 0x558d33977a80, 0x558d339755a0
try.c: 0x558d33977a80: v4i64 = X86ISD::VBROADCAST 0x558d33926cc0
try.c: 0x558d33926cc0: i64,ch = load<LD8[%lsr.iv6971]> 0x558d33871a30, 0x558d33922b00, undef:i64
try.c: 0x558d33922b00: i64,ch = CopyFromReg 0x558d33871a30, Register:i64 %vreg50
try.c: 0x558d33975800: i64 = Register %vreg50
try.c: 0x558d3390d310: i64 = undef
try.c: 0x558d339755a0: v4i64,ch = CopyFromReg 0x558d33871a30, Register:v4i64 %vreg13
try.c: 0x558d339782d0: v4i64 = Register %vreg13
try.c: 0x558d33926800: v16i32 = X86ISD::VBROADCAST 0x558d33977ce0
try.c: 0x558d33977ce0: i32,ch = load<LD4[ConstantPool]> 0x558d33871a30, 0x558d339210d0, undef:i64
try.c: 0x558d339210d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x558d3390dc90: i64 = TargetConstantPool<i32 1> 0
try.c: 0x558d3390d310: i64 = undef
try.c: 0x558d3397de60: 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: 0x558d3397dd30: i32 = Constant<0>
try.c: 0x558d3397dd30: i32 = Constant<0>
try.c: 0x558d3397dd30: i32 = Constant<0>
try.c: 0x558d3397dd30: i32 = Constant<0>
try.c: 0x558d3397dd30: i32 = Constant<0>
try.c: 0x558d3397dd30: i32 = Constant<0>
try.c: 0x558d3397dd30: i32 = Constant<0>
try.c: 0x558d3397dd30: i32 = Constant<0>
try.c: 0x558d3397dd30: 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:faster

Compiler output

Implementation: T:faster
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: 0x55b2852e9500: v4i64 = X86ISD::VTRUNC 0x55b2852e93d0
try.c: 0x55b2852e93d0: v16i32 = vselect 0x55b2852e5ee0, 0x55b28528a920, 0x55b2852e92a0
try.c: 0x55b2852e5ee0: v4i1 = X86ISD::PCMPGTM 0x55b2852dd250, 0x55b2852d8de0
try.c: 0x55b2852dd250: v4i64 = X86ISD::VBROADCAST 0x55b285280d40
try.c: 0x55b285280d40: i64,ch = load<LD8[%lsr.iv6971]> 0x55b2851ee950, 0x55b2852c6c30, undef:i64
try.c: 0x55b2852c6c30: i64,ch = CopyFromReg 0x55b2851ee950, Register:i64 %vreg50
try.c: 0x55b2852d9040: i64 = Register %vreg50
try.c: 0x55b285288f90: i64 = undef
try.c: 0x55b2852d8de0: v4i64,ch = CopyFromReg 0x55b2851ee950, Register:v4i64 %vreg13
try.c: 0x55b2852ddaa0: v4i64 = Register %vreg13
try.c: 0x55b28528a920: v16i32 = X86ISD::VBROADCAST 0x55b2852dd4b0
try.c: 0x55b2852dd4b0: i32,ch = load<LD4[ConstantPool]> 0x55b2851ee950, 0x55b285280320, undef:i64
try.c: 0x55b285280320: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55b28528c9e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55b285288f90: i64 = undef
try.c: 0x55b2852e92a0: 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: 0x55b2852e9170: i32 = Constant<0>
try.c: 0x55b2852e9170: i32 = Constant<0>
try.c: 0x55b2852e9170: i32 = Constant<0>
try.c: 0x55b2852e9170: i32 = Constant<0>
try.c: 0x55b2852e9170: i32 = Constant<0>
try.c: 0x55b2852e9170: i32 = Constant<0>
try.c: 0x55b2852e9170: i32 = Constant<0>
try.c: 0x55b2852e9170: i32 = Constant<0>
try.c: 0x55b2852e9170: 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:faster

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: 0x562785e681a0: v4i64 = X86ISD::VTRUNC 0x562785e68070
try.c: 0x562785e68070: v16i32 = vselect 0x562785e54480, 0x562785dfa7f0, 0x562785e67f40
try.c: 0x562785e54480: v4i1 = X86ISD::PCMPGTM 0x562785e4d820, 0x562785e493b0
try.c: 0x562785e4d820: v4i64 = X86ISD::VBROADCAST 0x562785df5e50
try.c: 0x562785df5e50: i64,ch = load<LD8[%lsr.iv6971]> 0x562785d5e950, 0x562785e3b1f0, undef:i64
try.c: 0x562785e3b1f0: i64,ch = CopyFromReg 0x562785d5e950, Register:i64 %vreg50
try.c: 0x562785e49610: i64 = Register %vreg50
try.c: 0x562785df8e60: i64 = undef
try.c: 0x562785e493b0: v4i64,ch = CopyFromReg 0x562785d5e950, Register:v4i64 %vreg13
try.c: 0x562785e4e070: v4i64 = Register %vreg13
try.c: 0x562785dfa7f0: v16i32 = X86ISD::VBROADCAST 0x562785e4da80
try.c: 0x562785e4da80: i32,ch = load<LD4[ConstantPool]> 0x562785d5e950, 0x562785df5430, undef:i64
try.c: 0x562785df5430: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562785e3be90: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562785df8e60: i64 = undef
try.c: 0x562785e67f40: 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: 0x562785e67e10: i32 = Constant<0>
try.c: 0x562785e67e10: i32 = Constant<0>
try.c: 0x562785e67e10: i32 = Constant<0>
try.c: 0x562785e67e10: i32 = Constant<0>
try.c: 0x562785e67e10: i32 = Constant<0>
try.c: 0x562785e67e10: i32 = Constant<0>
try.c: 0x562785e67e10: i32 = Constant<0>
try.c: 0x562785e67e10: i32 = Constant<0>
try.c: 0x562785e67e10: 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: 0x55aaba028740: v4i64 = X86ISD::VTRUNC 0x55aaba028610
try.c: 0x55aaba028610: v16i32 = vselect 0x55aaba018d40, 0x55aab9f9eb40, 0x55aaba0284e0
try.c: 0x55aaba018d40: v4i1 = X86ISD::PCMPGTM 0x55aaba004a00, 0x55aaba000590
try.c: 0x55aaba004a00: v4i64 = X86ISD::VBROADCAST 0x55aab9f9f000
try.c: 0x55aab9f9f000: i64,ch = load<LD8[%lsr.iv6971]> 0x55aab9efda30, 0x55aab9fa4c70, undef:i64
try.c: 0x55aab9fa4c70: i64,ch = CopyFromReg 0x55aab9efda30, Register:i64 %vreg50
try.c: 0x55aaba0007f0: i64 = Register %vreg50
try.c: 0x55aab9f97ac0: i64 = undef
try.c: 0x55aaba000590: v4i64,ch = CopyFromReg 0x55aab9efda30, Register:v4i64 %vreg13
try.c: 0x55aaba005250: v4i64 = Register %vreg13
try.c: 0x55aab9f9eb40: v16i32 = X86ISD::VBROADCAST 0x55aaba004c60
try.c: 0x55aaba004c60: i32,ch = load<LD4[ConstantPool]> 0x55aab9efda30, 0x55aab9fa3240, undef:i64
try.c: 0x55aab9fa3240: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55aab9f98440: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55aab9f97ac0: i64 = undef
try.c: 0x55aaba0284e0: 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: 0x55aaba0283b0: i32 = Constant<0>
try.c: 0x55aaba0283b0: i32 = Constant<0>
try.c: 0x55aaba0283b0: i32 = Constant<0>
try.c: 0x55aaba0283b0: i32 = Constant<0>
try.c: 0x55aaba0283b0: i32 = Constant<0>
try.c: 0x55aaba0283b0: i32 = Constant<0>
try.c: 0x55aaba0283b0: i32 = Constant<0>
try.c: 0x55aaba0283b0: i32 = Constant<0>
try.c: 0x55aaba0283b0: 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: 0x5603d5639cc0: v4i64 = X86ISD::VTRUNC 0x5603d5639b90
try.c: 0x5603d5639b90: v16i32 = vselect 0x5603d5649eb0, 0x5603d55da5c0, 0x5603d5639a60
try.c: 0x5603d5649eb0: v4i1 = X86ISD::PCMPGTM 0x5603d5632b40, 0x5603d562e6d0
try.c: 0x5603d5632b40: v4i64 = X86ISD::VBROADCAST 0x5603d55ece70
try.c: 0x5603d55ece70: i64,ch = load<LD8[%lsr.iv6971]> 0x5603d5543920, 0x5603d5629530, undef:i64
try.c: 0x5603d5629530: i64,ch = CopyFromReg 0x5603d5543920, Register:i64 %vreg50
try.c: 0x5603d562e930: i64 = Register %vreg50
try.c: 0x5603d55d8c30: i64 = undef
try.c: 0x5603d562e6d0: v4i64,ch = CopyFromReg 0x5603d5543920, Register:v4i64 %vreg13
try.c: 0x5603d5633390: v4i64 = Register %vreg13
try.c: 0x5603d55da5c0: v16i32 = X86ISD::VBROADCAST 0x5603d5632da0
try.c: 0x5603d5632da0: i32,ch = load<LD4[ConstantPool]> 0x5603d5543920, 0x5603d55ec450, undef:i64
try.c: 0x5603d55ec450: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5603d55f88b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5603d55d8c30: i64 = undef
try.c: 0x5603d5639a60: 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: 0x5603d5639930: i32 = Constant<0>
try.c: 0x5603d5639930: i32 = Constant<0>
try.c: 0x5603d5639930: i32 = Constant<0>
try.c: 0x5603d5639930: i32 = Constant<0>
try.c: 0x5603d5639930: i32 = Constant<0>
try.c: 0x5603d5639930: i32 = Constant<0>
try.c: 0x5603d5639930: i32 = Constant<0>
try.c: 0x5603d5639930: i32 = Constant<0>
try.c: 0x5603d5639930: 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