Implementation notes: amd64, cel02, crypto_aead/enchilada128v1

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: enchilada128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
375899610468 0 41625226 800 1280T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
44120448978 0 41621916 792 1280T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
304598988948 0 41623412 816 1312T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
330090447665 0 41620680 800 1312T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
334728788686 0 41622900 816 1312T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3817280611748 0 41629461 824 1376T:refgcc_-march=native_-mtune=native_-O3_-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
aes.c: aes.c:389:7: warning: assigning to 'byte *' (aka 'unsigned char *') from 'const byte *' (aka 'const unsigned char *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
aes.c: keys = rk ;
aes.c: ^ ~~
aes.c: aes.c:407:7: warning: assigning to 'byte *' (aka 'unsigned char *') from 'const byte *' (aka 'const unsigned char *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
aes.c: keys = rk ;
aes.c: ^ ~~
aes.c: 2 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x55a73535dd80: v4i64 = X86ISD::VTRUNC 0x55a73535dc50
try.c: 0x55a73535dc50: v16i32 = vselect 0x55a73535a760, 0x55a7352ff2b0, 0x55a73535db20
try.c: 0x55a73535a760: v4i1 = X86ISD::PCMPGTM 0x55a735355b10, 0x55a7353516a0
try.c: 0x55a735355b10: v4i64 = X86ISD::VBROADCAST 0x55a7352fc450
try.c: 0x55a7352fc450: i64,ch = load<LD8[%lsr.iv6971]> 0x55a735266950, 0x55a73534c500, undef:i64
try.c: 0x55a73534c500: i64,ch = CopyFromReg 0x55a735266950, Register:i64 %vreg50
try.c: 0x55a735351900: i64 = Register %vreg50
try.c: 0x55a7352fd920: i64 = undef
try.c: 0x55a7353516a0: v4i64,ch = CopyFromReg 0x55a735266950, Register:v4i64 %vreg13
try.c: 0x55a735356360: v4i64 = Register %vreg13
try.c: 0x55a7352ff2b0: v16i32 = X86ISD::VBROADCAST 0x55a735355d70
try.c: 0x55a735355d70: i32,ch = load<LD4[ConstantPool]> 0x55a735266950, 0x55a7352f4db0, undef:i64
try.c: 0x55a7352f4db0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a7352e5470: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a7352fd920: i64 = undef
try.c: 0x55a73535db20: 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: 0x55a73535d9f0: i32 = Constant<0>
try.c: 0x55a73535d9f0: i32 = Constant<0>
try.c: 0x55a73535d9f0: i32 = Constant<0>
try.c: 0x55a73535d9f0: i32 = Constant<0>
try.c: 0x55a73535d9f0: i32 = Constant<0>
try.c: 0x55a73535d9f0: i32 = Constant<0>
try.c: 0x55a73535d9f0: i32 = Constant<0>
try.c: 0x55a73535d9f0: i32 = Constant<0>
try.c: 0x55a73535d9f0: 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
aes.c: aes.c:389:7: warning: assigning to 'byte *' (aka 'unsigned char *') from 'const byte *' (aka 'const unsigned char *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
aes.c: keys = rk ;
aes.c: ^ ~~
aes.c: aes.c:407:7: warning: assigning to 'byte *' (aka 'unsigned char *') from 'const byte *' (aka 'const unsigned char *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
aes.c: keys = rk ;
aes.c: ^ ~~
aes.c: 2 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x55ae8ad0fce0: v4i64 = X86ISD::VTRUNC 0x55ae8ad0fbb0
try.c: 0x55ae8ad0fbb0: v16i32 = vselect 0x55ae8ad0a6b0, 0x55ae8ac8a290, 0x55ae8ad0fa80
try.c: 0x55ae8ad0a6b0: v4i1 = X86ISD::PCMPGTM 0x55ae8acf5ed0, 0x55ae8acf1a60
try.c: 0x55ae8acf5ed0: v4i64 = X86ISD::VBROADCAST 0x55ae8ac8a750
try.c: 0x55ae8ac8a750: i64,ch = load<LD8[%lsr.iv6971]> 0x55ae8abefa20, 0x55ae8ac974e0, undef:i64
try.c: 0x55ae8ac974e0: i64,ch = CopyFromReg 0x55ae8abefa20, Register:i64 %vreg50
try.c: 0x55ae8acf1cc0: i64 = Register %vreg50
try.c: 0x55ae8ac8d130: i64 = undef
try.c: 0x55ae8acf1a60: v4i64,ch = CopyFromReg 0x55ae8abefa20, Register:v4i64 %vreg13
try.c: 0x55ae8acf6720: v4i64 = Register %vreg13
try.c: 0x55ae8ac8a290: v16i32 = X86ISD::VBROADCAST 0x55ae8acf6130
try.c: 0x55ae8acf6130: i32,ch = load<LD4[ConstantPool]> 0x55ae8abefa20, 0x55ae8ac95ab0, undef:i64
try.c: 0x55ae8ac95ab0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ae8ac8dab0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ae8ac8d130: i64 = undef
try.c: 0x55ae8ad0fa80: 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: 0x55ae8ad0f950: i32 = Constant<0>
try.c: 0x55ae8ad0f950: i32 = Constant<0>
try.c: 0x55ae8ad0f950: i32 = Constant<0>
try.c: 0x55ae8ad0f950: i32 = Constant<0>
try.c: 0x55ae8ad0f950: i32 = Constant<0>
try.c: 0x55ae8ad0f950: i32 = Constant<0>
try.c: 0x55ae8ad0f950: i32 = Constant<0>
try.c: 0x55ae8ad0f950: i32 = Constant<0>
try.c: 0x55ae8ad0f950: 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
aes.c: aes.c:389:7: warning: assigning to 'byte *' (aka 'unsigned char *') from 'const byte *' (aka 'const unsigned char *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
aes.c: keys = rk ;
aes.c: ^ ~~
aes.c: aes.c:407:7: warning: assigning to 'byte *' (aka 'unsigned char *') from 'const byte *' (aka 'const unsigned char *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
aes.c: keys = rk ;
aes.c: ^ ~~
aes.c: 2 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x565209cb4290: v4i64 = X86ISD::VTRUNC 0x565209cb4160
try.c: 0x565209cb4160: v16i32 = vselect 0x565209cd0cd0, 0x565209c567c0, 0x565209cb4030
try.c: 0x565209cd0cd0: v4i1 = X86ISD::PCMPGTM 0x565209cad920, 0x565209ca94b0
try.c: 0x565209cad920: v4i64 = X86ISD::VBROADCAST 0x565209c53960
try.c: 0x565209c53960: i64,ch = load<LD8[%lsr.iv6971]> 0x565209bbe950, 0x565209c975e0, undef:i64
try.c: 0x565209c975e0: i64,ch = CopyFromReg 0x565209bbe950, Register:i64 %vreg50
try.c: 0x565209ca9710: i64 = Register %vreg50
try.c: 0x565209c54e30: i64 = undef
try.c: 0x565209ca94b0: v4i64,ch = CopyFromReg 0x565209bbe950, Register:v4i64 %vreg13
try.c: 0x565209cae170: v4i64 = Register %vreg13
try.c: 0x565209c567c0: v16i32 = X86ISD::VBROADCAST 0x565209cadb80
try.c: 0x565209cadb80: i32,ch = load<LD4[ConstantPool]> 0x565209bbe950, 0x565209c4f100, undef:i64
try.c: 0x565209c4f100: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x565209c987e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x565209c54e30: i64 = undef
try.c: 0x565209cb4030: 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: 0x565209cb3f00: i32 = Constant<0>
try.c: 0x565209cb3f00: i32 = Constant<0>
try.c: 0x565209cb3f00: i32 = Constant<0>
try.c: 0x565209cb3f00: i32 = Constant<0>
try.c: 0x565209cb3f00: i32 = Constant<0>
try.c: 0x565209cb3f00: i32 = Constant<0>
try.c: 0x565209cb3f00: i32 = Constant<0>
try.c: 0x565209cb3f00: i32 = Constant<0>
try.c: 0x565209cb3f00: 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
aes.c: aes.c:389:7: warning: assigning to 'byte *' (aka 'unsigned char *') from 'const byte *' (aka 'const unsigned char *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
aes.c: keys = rk ;
aes.c: ^ ~~
aes.c: aes.c:407:7: warning: assigning to 'byte *' (aka 'unsigned char *') from 'const byte *' (aka 'const unsigned char *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
aes.c: keys = rk ;
aes.c: ^ ~~
aes.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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aes.c: aes.c: In function 'aes_encrypt':
aes.c: aes.c:389:7: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
aes.c: keys = rk ;
aes.c: ^
aes.c: aes.c: In function 'aes_decrypt':
aes.c: aes.c:407:7: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
aes.c: keys = rk ;
aes.c: ^

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref