Implementation notes: amd64, cel02, crypto_stream/speck6496ctr

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_stream
Primitive: speck6496ctr
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
105227235 0 043853 824 888T:avx512gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
106824707 0 036592 800 824T:avx512gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
114424953 0 037948 816 856T:avx512gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
123425283 0 038652 816 856T:avx512gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
164830902 0 043868 816 856T:avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
228431782 0 043648 800 824T:avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
245031843 0 045172 816 856T:avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
258837013 0 048988 792 800T:avx2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
261633817 0 050397 824 888T:avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
451827082 0 040412 816 856T:sse4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
493029041 0 045621 824 888T:sse4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
507826504 0 038352 800 824T:sse4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
509432063 0 043964 792 800T:sse4clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
520826384 0 039340 816 856T:sse4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:avx2
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: 0x55e67d64cb00: v4i64 = X86ISD::VTRUNC 0x55e67d64c9d0
try.c: 0x55e67d64c9d0: v16i32 = vselect 0x55e67d65e270, 0x55e67d5e8b70, 0x55e67d64c8a0
try.c: 0x55e67d65e270: v4i1 = X86ISD::PCMPGTM 0x55e67d643890, 0x55e67d63f420
try.c: 0x55e67d643890: v4i64 = X86ISD::VBROADCAST 0x55e67d5e1100
try.c: 0x55e67d5e1100: i64,ch = load<LD8[%lsr.iv6971]> 0x55e67d554950, 0x55e67d5fb9f0, undef:i64
try.c: 0x55e67d5fb9f0: i64,ch = CopyFromReg 0x55e67d554950, Register:i64 %vreg50
try.c: 0x55e67d63f680: i64 = Register %vreg50
try.c: 0x55e67d5e71e0: i64 = undef
try.c: 0x55e67d63f420: v4i64,ch = CopyFromReg 0x55e67d554950, Register:v4i64 %vreg13
try.c: 0x55e67d6440e0: v4i64 = Register %vreg13
try.c: 0x55e67d5e8b70: v16i32 = X86ISD::VBROADCAST 0x55e67d643af0
try.c: 0x55e67d643af0: i32,ch = load<LD4[ConstantPool]> 0x55e67d554950, 0x55e67d5e06e0, undef:i64
try.c: 0x55e67d5e06e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e67d5d2900: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e67d5e71e0: i64 = undef
try.c: 0x55e67d64c8a0: 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: 0x55e67d64c770: i32 = Constant<0>
try.c: 0x55e67d64c770: i32 = Constant<0>
try.c: 0x55e67d64c770: i32 = Constant<0>
try.c: 0x55e67d64c770: i32 = Constant<0>
try.c: 0x55e67d64c770: i32 = Constant<0>
try.c: 0x55e67d64c770: i32 = Constant<0>
try.c: 0x55e67d64c770: i32 = Constant<0>
try.c: 0x55e67d64c770: i32 = Constant<0>
try.c: 0x55e67d64c770: 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:avx2

Compiler output

Implementation: T:avx2
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: 0x563097bd5b70: v4i64 = X86ISD::VTRUNC 0x563097bd5a40
try.c: 0x563097bd5a40: v16i32 = vselect 0x563097ba2780, 0x563097b586f0, 0x563097bd5910
try.c: 0x563097ba2780: v4i1 = X86ISD::PCMPGTM 0x563097bbd620, 0x563097bbb140
try.c: 0x563097bbd620: v4i64 = X86ISD::VBROADCAST 0x563097b58bb0
try.c: 0x563097b58bb0: i64,ch = load<LD8[%lsr.iv6971]> 0x563097ab7a30, 0x563097b563c0, undef:i64
try.c: 0x563097b563c0: i64,ch = CopyFromReg 0x563097ab7a30, Register:i64 %vreg50
try.c: 0x563097bbb3a0: i64 = Register %vreg50
try.c: 0x563097b4bae0: i64 = undef
try.c: 0x563097bbb140: v4i64,ch = CopyFromReg 0x563097ab7a30, Register:v4i64 %vreg13
try.c: 0x563097bbde70: v4i64 = Register %vreg13
try.c: 0x563097b586f0: v16i32 = X86ISD::VBROADCAST 0x563097bbd880
try.c: 0x563097bbd880: i32,ch = load<LD4[ConstantPool]> 0x563097ab7a30, 0x563097b5b090, undef:i64
try.c: 0x563097b5b090: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563097b4c460: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563097b4bae0: i64 = undef
try.c: 0x563097bd5910: 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: 0x563097bd57e0: i32 = Constant<0>
try.c: 0x563097bd57e0: i32 = Constant<0>
try.c: 0x563097bd57e0: i32 = Constant<0>
try.c: 0x563097bd57e0: i32 = Constant<0>
try.c: 0x563097bd57e0: i32 = Constant<0>
try.c: 0x563097bd57e0: i32 = Constant<0>
try.c: 0x563097bd57e0: i32 = Constant<0>
try.c: 0x563097bd57e0: i32 = Constant<0>
try.c: 0x563097bd57e0: 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:avx2

Compiler output

Implementation: T:avx2
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: 0x55ef86d04cf0: v4i64 = X86ISD::VTRUNC 0x55ef86d04bc0
try.c: 0x55ef86d04bc0: v16i32 = vselect 0x55ef86d00450, 0x55ef86c93680, 0x55ef86d04a90
try.c: 0x55ef86d00450: v4i1 = X86ISD::PCMPGTM 0x55ef86ce6a70, 0x55ef86ce2600
try.c: 0x55ef86ce6a70: v4i64 = X86ISD::VBROADCAST 0x55ef86c8eb60
try.c: 0x55ef86c8eb60: i64,ch = load<LD8[%lsr.iv6971]> 0x55ef86bf7960, 0x55ef86cdd460, undef:i64
try.c: 0x55ef86cdd460: i64,ch = CopyFromReg 0x55ef86bf7960, Register:i64 %vreg50
try.c: 0x55ef86ce2860: i64 = Register %vreg50
try.c: 0x55ef86c91cf0: i64 = undef
try.c: 0x55ef86ce2600: v4i64,ch = CopyFromReg 0x55ef86bf7960, Register:v4i64 %vreg13
try.c: 0x55ef86ce72c0: v4i64 = Register %vreg13
try.c: 0x55ef86c93680: v16i32 = X86ISD::VBROADCAST 0x55ef86ce6cd0
try.c: 0x55ef86ce6cd0: i32,ch = load<LD4[ConstantPool]> 0x55ef86bf7960, 0x55ef86c8e140, undef:i64
try.c: 0x55ef86c8e140: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ef86ccbe60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ef86c91cf0: i64 = undef
try.c: 0x55ef86d04a90: 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: 0x55ef86d04960: i32 = Constant<0>
try.c: 0x55ef86d04960: i32 = Constant<0>
try.c: 0x55ef86d04960: i32 = Constant<0>
try.c: 0x55ef86d04960: i32 = Constant<0>
try.c: 0x55ef86d04960: i32 = Constant<0>
try.c: 0x55ef86d04960: i32 = Constant<0>
try.c: 0x55ef86d04960: i32 = Constant<0>
try.c: 0x55ef86d04960: i32 = Constant<0>
try.c: 0x55ef86d04960: 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:avx2

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
stream.c: stream.c:328:3: error: always_inline function '_mm256_set_epi32' requires target feature 'sse4.2', but would be inlined into function 'ExpandKey' that is compiled without support for 'sse4.2'
stream.c: EK(A,B,C,rk,key);
stream.c: ^
stream.c: ./Speck6496AVX2.h:53:26: note: expanded from macro 'EK'
stream.c: #define EK(A,B,C,k,key) (RK(B,A,k,key,0), RK(C,A,k,key,1), RK(B,A,k,key,2), RK(C,A,k,key,3), RK(B,A,k,key,4), RK(C,A,k,key,5), RK(B,A,k,key,6), \
stream.c: ^
stream.c: ./Speck6496AVX2.h:51:28: note: expanded from macro 'RK'
stream.c: #define RK(X,Y,k,key,i) (SET1(k[i],Y), key[i]=Y, X=RCS(X,8), X+=Y, X^=i, Y=LCS(Y,3), Y^=X)
stream.c: ^
stream.c: ./Intrinsics_AVX2_64block.h:25:22: note: expanded from macro 'SET1'
stream.c: #define SET1(X,c) (X=SET(c,c,c,c,c,c,c,c))
stream.c: ^
stream.c: ./Intrinsics_AVX2_64block.h:24:13: note: expanded from macro 'SET'
stream.c: #define SET _mm256_set_epi32
stream.c: ^
stream.c: stream.c:328:3: error: always_inline function '_mm256_set_epi32' requires target feature 'sse4.2', but would be inlined into function 'ExpandKey' that is compiled without support for 'sse4.2'
stream.c: ./Speck6496AVX2.h:53:44: note: expanded from macro 'EK'
stream.c: #define EK(A,B,C,k,key) (RK(B,A,k,key,0), RK(C,A,k,key,1), RK(B,A,k,key,2), RK(C,A,k,key,3), RK(B,A,k,key,4), RK(C,A,k,key,5), RK(B,A,k,key,6), \
stream.c: ^
stream.c: ./Speck6496AVX2.h:51:28: note: expanded from macro 'RK'
stream.c: #define RK(X,Y,k,key,i) (SET1(k[i],Y), key[i]=Y, X=RCS(X,8), X+=Y, X^=i, Y=LCS(Y,3), Y^=X)
stream.c: ^
stream.c: ./Intrinsics_AVX2_64block.h:25:22: note: expanded from macro 'SET1'
stream.c: #define SET1(X,c) (X=SET(c,c,c,c,c,c,c,c))
stream.c: ^
stream.c: ...

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

Compiler output

Implementation: T:avx512
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
stream.c: stream.c:135:5: warning: implicit declaration of function '_mm512_set_epi32' is invalid in C99 [-Wimplicit-function-declaration]
stream.c: SET1(X[0],nonce[1]); SET16(Y[0],nonce[0]);
stream.c: ^
stream.c: ./Intrinsics_AVX512_64block.h:25:22: note: expanded from macro 'SET1'
stream.c: #define SET1(X,c) (X=SET(c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c))
stream.c: ^
stream.c: ./Intrinsics_AVX512_64block.h:14:13: note: expanded from macro 'SET'
stream.c: #define SET _mm512_set_epi32
stream.c: ^
stream.c: stream.c:135:5: error: assigning to '__m512i' (vector of 8 'long long' values) from incompatible type 'int'
stream.c: SET1(X[0],nonce[1]); SET16(Y[0],nonce[0]);
stream.c: ^~~~~~~~~~~~~~~~~~~
stream.c: ./Intrinsics_AVX512_64block.h:25:21: note: expanded from macro 'SET1'
stream.c: #define SET1(X,c) (X=SET(c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c))
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: stream.c:135:26: error: assigning to '__m512i' (vector of 8 'long long' values) from incompatible type 'int'
stream.c: SET1(X[0],nonce[1]); SET16(Y[0],nonce[0]);
stream.c: ^~~~~~~~~~~~~~~~~~~~
stream.c: ./Intrinsics_AVX512_64block.h:26:21: note: expanded from macro 'SET16'
stream.c: #define SET16(X,c)(X=SET(c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c), X=ADD(X,_q16))
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: stream.c:135:26: error: passing 'int' to parameter of incompatible type '__m512i' (vector of 8 'long long' values)
stream.c: SET1(X[0],nonce[1]); SET16(Y[0],nonce[0]);
stream.c: ^~~~~~~~~~~~~~~~~~~~
stream.c: ./Intrinsics_AVX512_64block.h:26:68: note: expanded from macro 'SET16'
stream.c: ...

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

Compiler output

Implementation: T:sse4
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: 0x5628eaccdbb0: v4i64 = X86ISD::VTRUNC 0x5628eaccda80
try.c: 0x5628eaccda80: v16i32 = vselect 0x5628eacca590, 0x5628eac7b6b0, 0x5628eaccd950
try.c: 0x5628eacca590: v4i1 = X86ISD::PCMPGTM 0x5628eacc5940, 0x5628eacc14d0
try.c: 0x5628eacc5940: v4i64 = X86ISD::VBROADCAST 0x5628eac6c110
try.c: 0x5628eac6c110: i64,ch = load<LD8[%lsr.iv6971]> 0x5628eabd69a0, 0x5628eac70770, undef:i64
try.c: 0x5628eac70770: i64,ch = CopyFromReg 0x5628eabd69a0, Register:i64 %vreg50
try.c: 0x5628eacc1730: i64 = Register %vreg50
try.c: 0x5628eac6d5e0: i64 = undef
try.c: 0x5628eacc14d0: v4i64,ch = CopyFromReg 0x5628eabd69a0, Register:v4i64 %vreg13
try.c: 0x5628eacc6190: v4i64 = Register %vreg13
try.c: 0x5628eac7b6b0: v16i32 = X86ISD::VBROADCAST 0x5628eacc5ba0
try.c: 0x5628eacc5ba0: i32,ch = load<LD4[ConstantPool]> 0x5628eabd69a0, 0x5628eac6b6f0, undef:i64
try.c: 0x5628eac6b6f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5628eacb0940: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5628eac6d5e0: i64 = undef
try.c: 0x5628eaccd950: 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: 0x5628eaccd820: i32 = Constant<0>
try.c: 0x5628eaccd820: i32 = Constant<0>
try.c: 0x5628eaccd820: i32 = Constant<0>
try.c: 0x5628eaccd820: i32 = Constant<0>
try.c: 0x5628eaccd820: i32 = Constant<0>
try.c: 0x5628eaccd820: i32 = Constant<0>
try.c: 0x5628eaccd820: i32 = Constant<0>
try.c: 0x5628eaccd820: i32 = Constant<0>
try.c: 0x5628eaccd820: 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:sse4

Compiler output

Implementation: T:sse4
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: 0x55cb889f2ef0: v4i64 = X86ISD::VTRUNC 0x55cb889f2dc0
try.c: 0x55cb889f2dc0: v16i32 = vselect 0x55cb889d9730, 0x55cb8896bef0, 0x55cb889f2c90
try.c: 0x55cb889d9730: v4i1 = X86ISD::PCMPGTM 0x55cb889d6ef0, 0x55cb889d3480
try.c: 0x55cb889d6ef0: v4i64 = X86ISD::VBROADCAST 0x55cb8896c3b0
try.c: 0x55cb8896c3b0: i64,ch = load<LD8[%lsr.iv6971]> 0x55cb888d19e0, 0x55cb88987b10, undef:i64
try.c: 0x55cb88987b10: i64,ch = CopyFromReg 0x55cb888d19e0, Register:i64 %vreg50
try.c: 0x55cb889d36e0: i64 = Register %vreg50
try.c: 0x55cb889750e0: i64 = undef
try.c: 0x55cb889d3480: v4i64,ch = CopyFromReg 0x55cb888d19e0, Register:v4i64 %vreg13
try.c: 0x55cb889d7740: v4i64 = Register %vreg13
try.c: 0x55cb8896bef0: v16i32 = X86ISD::VBROADCAST 0x55cb889d7150
try.c: 0x55cb889d7150: i32,ch = load<LD4[ConstantPool]> 0x55cb888d19e0, 0x55cb889860e0, undef:i64
try.c: 0x55cb889860e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55cb88975a60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55cb889750e0: i64 = undef
try.c: 0x55cb889f2c90: 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: 0x55cb889f2b60: i32 = Constant<0>
try.c: 0x55cb889f2b60: i32 = Constant<0>
try.c: 0x55cb889f2b60: i32 = Constant<0>
try.c: 0x55cb889f2b60: i32 = Constant<0>
try.c: 0x55cb889f2b60: i32 = Constant<0>
try.c: 0x55cb889f2b60: i32 = Constant<0>
try.c: 0x55cb889f2b60: i32 = Constant<0>
try.c: 0x55cb889f2b60: i32 = Constant<0>
try.c: 0x55cb889f2b60: 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:sse4

Compiler output

Implementation: T:sse4
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: 0x561172da6bf0: v4i64 = X86ISD::VTRUNC 0x561172da6ac0
try.c: 0x561172da6ac0: v16i32 = vselect 0x561172dbf160, 0x561172d50b00, 0x561172da6990
try.c: 0x561172dbf160: v4i1 = X86ISD::PCMPGTM 0x561172da15c0, 0x561172d9d150
try.c: 0x561172da15c0: v4i64 = X86ISD::VBROADCAST 0x561172d4bc90
try.c: 0x561172d4bc90: i64,ch = load<LD8[%lsr.iv6971]> 0x561172cb2940, 0x561172d891f0, undef:i64
try.c: 0x561172d891f0: i64,ch = CopyFromReg 0x561172cb2940, Register:i64 %vreg50
try.c: 0x561172d9d3b0: i64 = Register %vreg50
try.c: 0x561172d4f170: i64 = undef
try.c: 0x561172d9d150: v4i64,ch = CopyFromReg 0x561172cb2940, Register:v4i64 %vreg13
try.c: 0x561172da1e10: v4i64 = Register %vreg13
try.c: 0x561172d50b00: v16i32 = X86ISD::VBROADCAST 0x561172da1820
try.c: 0x561172da1820: i32,ch = load<LD4[ConstantPool]> 0x561172cb2940, 0x561172d4b270, undef:i64
try.c: 0x561172d4b270: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561172d900c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561172d4f170: i64 = undef
try.c: 0x561172da6990: 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: 0x561172da6860: i32 = Constant<0>
try.c: 0x561172da6860: i32 = Constant<0>
try.c: 0x561172da6860: i32 = Constant<0>
try.c: 0x561172da6860: i32 = Constant<0>
try.c: 0x561172da6860: i32 = Constant<0>
try.c: 0x561172da6860: i32 = Constant<0>
try.c: 0x561172da6860: i32 = Constant<0>
try.c: 0x561172da6860: i32 = Constant<0>
try.c: 0x561172da6860: 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:sse4

Compiler output

Implementation: T:sse4
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
stream.c: stream.c:133:21: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Encrypt' that is compiled without support for 'ssse3'
stream.c: if (numbytes==32) Enc(X,Y,rk,4);
stream.c: ^
stream.c: ./Speck6496SSE4.h:43:23: note: expanded from macro 'Enc'
stream.c: #define Enc(X,Y,k,n) (Rx##n(X,Y,k[0]), Rx##n(X,Y,k[1]), Rx##n(X,Y,k[2]), Rx##n(X,Y,k[3]), Rx##n(X,Y,k[4]), Rx##n(X,Y,k[5]), Rx##n(X,Y,k[6]), Rx##n(X,Y,k[7]), \
stream.c: ^
stream.c: <scratch space>:92:1: note: expanded from here
stream.c: Rx4
stream.c: ^
stream.c: ./Speck6496SSE4.h:24:22: note: expanded from macro 'Rx4'
stream.c: #define Rx4(X,Y,k) (R(X[0],Y[0],k))
stream.c: ^
stream.c: ./Speck6496SSE4.h:22:29: note: expanded from macro 'R'
stream.c: #define R(X,Y,k) (X=XOR(ADD(ROR8(X),Y),k), Y=XOR(ROL(Y,3),X))
stream.c: ^
stream.c: ./Intrinsics_SSE4_64block.h:40:19: note: expanded from macro 'ROR8'
stream.c: #define ROR8(X) (SHFL(X,R8))
stream.c: ^
stream.c: ./Intrinsics_SSE4_64block.h:35:14: note: expanded from macro 'SHFL'
stream.c: #define SHFL _mm_shuffle_epi8
stream.c: ^
stream.c: stream.c:133:21: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Encrypt' that is compiled without support for 'ssse3'
stream.c: ./Speck6496SSE4.h:43:41: note: expanded from macro 'Enc'
stream.c: #define Enc(X,Y,k,n) (Rx##n(X,Y,k[0]), Rx##n(X,Y,k[1]), Rx##n(X,Y,k[2]), Rx##n(X,Y,k[3]), Rx##n(X,Y,k[4]), Rx##n(X,Y,k[5]), Rx##n(X,Y,k[6]), Rx##n(X,Y,k[7]), \
stream.c: ^
stream.c: ...

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