Implementation notes: amd64, cel02, crypto_aead/minalpherv1

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: minalpherv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
32549389711 0 027535 832 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
43981884934 0 017956 792 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
581524414820 0 029658 800 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
65941764694 0 017736 800 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
80617746174 0 020628 816 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
92130305774 0 019996 816 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:223:53: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ~ ~~~~~~~~~~~~~~~~~~~^~~~~
encrypt.c: encrypt.c:223:53: note: place parentheses around the '&' expression to silence this warning
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ^
encrypt.c: ( )
encrypt.c: encrypt.c:223:110: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ~ ~~~~~~~~~~~~~~~~~~~^~~~~
encrypt.c: encrypt.c:223:110: note: place parentheses around the '&' expression to silence this warning
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ^
encrypt.c: ( )
encrypt.c: 2 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x560dd14b4170: v4i64 = X86ISD::VTRUNC 0x560dd14b4040
try.c: 0x560dd14b4040: v16i32 = vselect 0x560dd14b7b90, 0x560dd1467950, 0x560dd14b3f10
try.c: 0x560dd14b7b90: v4i1 = X86ISD::PCMPGTM 0x560dd14ad070, 0x560dd14a8c00
try.c: 0x560dd14ad070: v4i64 = X86ISD::VBROADCAST 0x560dd14552e0
try.c: 0x560dd14552e0: i64,ch = load<LD8[%lsr.iv6971]> 0x560dd13bd9c0, 0x560dd14a0540, undef:i64
try.c: 0x560dd14a0540: i64,ch = CopyFromReg 0x560dd13bd9c0, Register:i64 %vreg50
try.c: 0x560dd14a8e60: i64 = Register %vreg50
try.c: 0x560dd1465fc0: i64 = undef
try.c: 0x560dd14a8c00: v4i64,ch = CopyFromReg 0x560dd13bd9c0, Register:v4i64 %vreg13
try.c: 0x560dd14ad8c0: v4i64 = Register %vreg13
try.c: 0x560dd1467950: v16i32 = X86ISD::VBROADCAST 0x560dd14ad2d0
try.c: 0x560dd14ad2d0: i32,ch = load<LD4[ConstantPool]> 0x560dd13bd9c0, 0x560dd14548c0, undef:i64
try.c: 0x560dd14548c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560dd148d7e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560dd1465fc0: i64 = undef
try.c: 0x560dd14b3f10: 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: 0x560dd14b3de0: i32 = Constant<0>
try.c: 0x560dd14b3de0: i32 = Constant<0>
try.c: 0x560dd14b3de0: i32 = Constant<0>
try.c: 0x560dd14b3de0: i32 = Constant<0>
try.c: 0x560dd14b3de0: i32 = Constant<0>
try.c: 0x560dd14b3de0: i32 = Constant<0>
try.c: 0x560dd14b3de0: i32 = Constant<0>
try.c: 0x560dd14b3de0: i32 = Constant<0>
try.c: 0x560dd14b3de0: 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
encrypt.c: encrypt.c:223:53: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ~ ~~~~~~~~~~~~~~~~~~~^~~~~
encrypt.c: encrypt.c:223:53: note: place parentheses around the '&' expression to silence this warning
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ^
encrypt.c: ( )
encrypt.c: encrypt.c:223:110: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ~ ~~~~~~~~~~~~~~~~~~~^~~~~
encrypt.c: encrypt.c:223:110: note: place parentheses around the '&' expression to silence this warning
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ^
encrypt.c: ( )
encrypt.c: 2 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x55e71cef4740: v4i64 = X86ISD::VTRUNC 0x55e71cef4610
try.c: 0x55e71cef4610: v16i32 = vselect 0x55e71ceda9e0, 0x55e71ce71f70, 0x55e71cef44e0
try.c: 0x55e71ceda9e0: v4i1 = X86ISD::PCMPGTM 0x55e71ced99d0, 0x55e71ced74f0
try.c: 0x55e71ced99d0: v4i64 = X86ISD::VBROADCAST 0x55e71ce72430
try.c: 0x55e71ce72430: i64,ch = load<LD8[%lsr.iv6971]> 0x55e71cdd3a40, 0x55e71ce89c20, undef:i64
try.c: 0x55e71ce89c20: i64,ch = CopyFromReg 0x55e71cdd3a40, Register:i64 %vreg50
try.c: 0x55e71ced7750: i64 = Register %vreg50
try.c: 0x55e71ce7d310: i64 = undef
try.c: 0x55e71ced74f0: v4i64,ch = CopyFromReg 0x55e71cdd3a40, Register:v4i64 %vreg13
try.c: 0x55e71ceda220: v4i64 = Register %vreg13
try.c: 0x55e71ce71f70: v16i32 = X86ISD::VBROADCAST 0x55e71ced9c30
try.c: 0x55e71ced9c30: i32,ch = load<LD4[ConstantPool]> 0x55e71cdd3a40, 0x55e71ce881f0, undef:i64
try.c: 0x55e71ce881f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e71ce7dc90: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e71ce7d310: i64 = undef
try.c: 0x55e71cef44e0: 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: 0x55e71cef43b0: i32 = Constant<0>
try.c: 0x55e71cef43b0: i32 = Constant<0>
try.c: 0x55e71cef43b0: i32 = Constant<0>
try.c: 0x55e71cef43b0: i32 = Constant<0>
try.c: 0x55e71cef43b0: i32 = Constant<0>
try.c: 0x55e71cef43b0: i32 = Constant<0>
try.c: 0x55e71cef43b0: i32 = Constant<0>
try.c: 0x55e71cef43b0: i32 = Constant<0>
try.c: 0x55e71cef43b0: 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
encrypt.c: encrypt.c:223:53: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ~ ~~~~~~~~~~~~~~~~~~~^~~~~
encrypt.c: encrypt.c:223:53: note: place parentheses around the '&' expression to silence this warning
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ^
encrypt.c: ( )
encrypt.c: encrypt.c:223:110: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ~ ~~~~~~~~~~~~~~~~~~~^~~~~
encrypt.c: encrypt.c:223:110: note: place parentheses around the '&' expression to silence this warning
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ^
encrypt.c: ( )
encrypt.c: 2 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x564dfc8f33a0: v4i64 = X86ISD::VTRUNC 0x564dfc8f3270
try.c: 0x564dfc8f3270: v16i32 = vselect 0x564dfc909900, 0x564dfc894c10, 0x564dfc8f3140
try.c: 0x564dfc909900: v4i1 = X86ISD::PCMPGTM 0x564dfc8eb940, 0x564dfc8e74d0
try.c: 0x564dfc8eb940: v4i64 = X86ISD::VBROADCAST 0x564dfc891db0
try.c: 0x564dfc891db0: i64,ch = load<LD8[%lsr.iv6971]> 0x564dfc7fc9a0, 0x564dfc8e2330, undef:i64
try.c: 0x564dfc8e2330: i64,ch = CopyFromReg 0x564dfc7fc9a0, Register:i64 %vreg50
try.c: 0x564dfc8e7730: i64 = Register %vreg50
try.c: 0x564dfc893280: i64 = undef
try.c: 0x564dfc8e74d0: v4i64,ch = CopyFromReg 0x564dfc7fc9a0, Register:v4i64 %vreg13
try.c: 0x564dfc8ec190: v4i64 = Register %vreg13
try.c: 0x564dfc894c10: v16i32 = X86ISD::VBROADCAST 0x564dfc8ebba0
try.c: 0x564dfc8ebba0: i32,ch = load<LD4[ConstantPool]> 0x564dfc7fc9a0, 0x564dfc88d210, undef:i64
try.c: 0x564dfc88d210: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564dfc8de010: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564dfc893280: i64 = undef
try.c: 0x564dfc8f3140: 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: 0x564dfc8f3010: i32 = Constant<0>
try.c: 0x564dfc8f3010: i32 = Constant<0>
try.c: 0x564dfc8f3010: i32 = Constant<0>
try.c: 0x564dfc8f3010: i32 = Constant<0>
try.c: 0x564dfc8f3010: i32 = Constant<0>
try.c: 0x564dfc8f3010: i32 = Constant<0>
try.c: 0x564dfc8f3010: i32 = Constant<0>
try.c: 0x564dfc8f3010: i32 = Constant<0>
try.c: 0x564dfc8f3010: 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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:223:53: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ~ ~~~~~~~~~~~~~~~~~~~^~~~~
encrypt.c: encrypt.c:223:53: note: place parentheses around the '&' expression to silence this warning
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ^
encrypt.c: ( )
encrypt.c: encrypt.c:223:110: warning: '&' within '^' [-Wbitwise-op-parentheses]
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ~ ~~~~~~~~~~~~~~~~~~~^~~~~
encrypt.c: encrypt.c:223:110: note: place parentheses around the '&' expression to silence this warning
encrypt.c: t = ( ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f )<<4 ) | ( ((unsigned char)i) ^ ((unsigned char)_r)&0x0f );
encrypt.c: ^
encrypt.c: ( )
encrypt.c: 2 warnings generated.

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