Implementation notes: amd64, cel02, crypto_aead/trivia0v2

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: trivia0v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
878784915 0 019068 816 912T:sse4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1111049702 0 027397 824 976T:sse4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1243283962 0 016900 792 872T:sse4clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1483743712 0 016696 800 912T:sse4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1624284365 0 018740 816 912T:sse4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
34604210245 0 028045 824 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3692944834 0 019316 816 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3778848954 0 023770 800 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3873684252 0 017284 792 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
5972083790 0 016872 800 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7138004286 0 018540 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
try.c: fatal error: error in backend: Cannot select: 0x5591e3a8dde0: v4i64 = X86ISD::VTRUNC 0x5591e3a8dcb0
try.c: 0x5591e3a8dcb0: v16i32 = vselect 0x5591e3a74da0, 0x5591e3a0e880, 0x5591e3a8db80
try.c: 0x5591e3a74da0: v4i1 = X86ISD::PCMPGTM 0x5591e3a6e9e0, 0x5591e3a69f60
try.c: 0x5591e3a6e9e0: v4i64 = X86ISD::VBROADCAST 0x5591e3a33c40
try.c: 0x5591e3a33c40: i64,ch = load<LD8[%lsr.iv6971]> 0x5591e397f950, 0x5591e3a59980, undef:i64
try.c: 0x5591e3a59980: i64,ch = CopyFromReg 0x5591e397f950, Register:i64 %vreg50
try.c: 0x5591e3a6a1c0: i64 = Register %vreg50
try.c: 0x5591e3a35110: i64 = undef
try.c: 0x5591e3a69f60: v4i64,ch = CopyFromReg 0x5591e397f950, Register:v4i64 %vreg13
try.c: 0x5591e3a6f230: v4i64 = Register %vreg13
try.c: 0x5591e3a0e880: v16i32 = X86ISD::VBROADCAST 0x5591e3a6ec40
try.c: 0x5591e3a6ec40: i32,ch = load<LD4[ConstantPool]> 0x5591e397f950, 0x5591e3a0c460, undef:i64
try.c: 0x5591e3a0c460: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5591e3a4f090: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5591e3a35110: i64 = undef
try.c: 0x5591e3a8db80: 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: 0x5591e3a8da50: i32 = Constant<0>
try.c: 0x5591e3a8da50: i32 = Constant<0>
try.c: 0x5591e3a8da50: i32 = Constant<0>
try.c: 0x5591e3a8da50: i32 = Constant<0>
try.c: 0x5591e3a8da50: i32 = Constant<0>
try.c: 0x5591e3a8da50: i32 = Constant<0>
try.c: 0x5591e3a8da50: i32 = Constant<0>
try.c: 0x5591e3a8da50: i32 = Constant<0>
try.c: 0x5591e3a8da50: 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: 0x55752541c5b0: v4i64 = X86ISD::VTRUNC 0x55752541c480
try.c: 0x55752541c480: v16i32 = vselect 0x557525418f90, 0x5575253a0200, 0x55752541c350
try.c: 0x557525418f90: v4i1 = X86ISD::PCMPGTM 0x557525405400, 0x557525401fa0
try.c: 0x557525405400: v4i64 = X86ISD::VBROADCAST 0x5575253a06c0
try.c: 0x5575253a06c0: i64,ch = load<LD8[%lsr.iv6971]> 0x5575252ffa30, 0x557525399820, undef:i64
try.c: 0x557525399820: i64,ch = CopyFromReg 0x5575252ffa30, Register:i64 %vreg50
try.c: 0x557525402200: i64 = Register %vreg50
try.c: 0x55752539e2a0: i64 = undef
try.c: 0x557525401fa0: v4i64,ch = CopyFromReg 0x5575252ffa30, Register:v4i64 %vreg13
try.c: 0x557525405c50: v4i64 = Register %vreg13
try.c: 0x5575253a0200: v16i32 = X86ISD::VBROADCAST 0x557525405660
try.c: 0x557525405660: i32,ch = load<LD4[ConstantPool]> 0x5575252ffa30, 0x5575253a2ba0, undef:i64
try.c: 0x5575253a2ba0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55752539ec20: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55752539e2a0: i64 = undef
try.c: 0x55752541c350: 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: 0x55752541c220: i32 = Constant<0>
try.c: 0x55752541c220: i32 = Constant<0>
try.c: 0x55752541c220: i32 = Constant<0>
try.c: 0x55752541c220: i32 = Constant<0>
try.c: 0x55752541c220: i32 = Constant<0>
try.c: 0x55752541c220: i32 = Constant<0>
try.c: 0x55752541c220: i32 = Constant<0>
try.c: 0x55752541c220: i32 = Constant<0>
try.c: 0x55752541c220: 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: 0x55902d538f60: v4i64 = X86ISD::VTRUNC 0x55902d538e30
try.c: 0x55902d538e30: v16i32 = vselect 0x55902d533930, 0x55902d4d2550, 0x55902d538d00
try.c: 0x55902d533930: v4i1 = X86ISD::PCMPGTM 0x55902d517a30, 0x55902d5135c0
try.c: 0x55902d517a30: v4i64 = X86ISD::VBROADCAST 0x55902d4ba970
try.c: 0x55902d4ba970: i64,ch = load<LD8[%lsr.iv6971]> 0x55902d428940, 0x55902d502710, undef:i64
try.c: 0x55902d502710: i64,ch = CopyFromReg 0x55902d428940, Register:i64 %vreg50
try.c: 0x55902d513820: i64 = Register %vreg50
try.c: 0x55902d4bbe40: i64 = undef
try.c: 0x55902d5135c0: v4i64,ch = CopyFromReg 0x55902d428940, Register:v4i64 %vreg13
try.c: 0x55902d518280: v4i64 = Register %vreg13
try.c: 0x55902d4d2550: v16i32 = X86ISD::VBROADCAST 0x55902d517c90
try.c: 0x55902d517c90: i32,ch = load<LD4[ConstantPool]> 0x55902d428940, 0x55902d4deb30, undef:i64
try.c: 0x55902d4deb30: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55902d4a70e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55902d4bbe40: i64 = undef
try.c: 0x55902d538d00: 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: 0x55902d538bd0: i32 = Constant<0>
try.c: 0x55902d538bd0: i32 = Constant<0>
try.c: 0x55902d538bd0: i32 = Constant<0>
try.c: 0x55902d538bd0: i32 = Constant<0>
try.c: 0x55902d538bd0: i32 = Constant<0>
try.c: 0x55902d538bd0: i32 = Constant<0>
try.c: 0x55902d538bd0: i32 = Constant<0>
try.c: 0x55902d538bd0: i32 = Constant<0>
try.c: 0x55902d538bd0: 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:sse4
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:229:1: warning: '/*' within block comment [-Wcomment]
encrypt.c: /*----------------------------------------------------------------*/
encrypt.c: ^
encrypt.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x55642dfdb690: v4i64 = X86ISD::VTRUNC 0x55642dfdb560
try.c: 0x55642dfdb560: v16i32 = vselect 0x55642dfd6060, 0x55642df75f60, 0x55642dfdb430
try.c: 0x55642dfd6060: v4i1 = X86ISD::PCMPGTM 0x55642dfd19a0, 0x55642dfcd530
try.c: 0x55642dfd19a0: v4i64 = X86ISD::VBROADCAST 0x55642df7b780
try.c: 0x55642df7b780: i64,ch = load<LD8[%lsr.iv6971]> 0x55642dee2950, 0x55642dfc4c20, undef:i64
try.c: 0x55642dfc4c20: i64,ch = CopyFromReg 0x55642dee2950, Register:i64 %vreg50
try.c: 0x55642dfcd790: i64 = Register %vreg50
try.c: 0x55642df745d0: i64 = undef
try.c: 0x55642dfcd530: v4i64,ch = CopyFromReg 0x55642dee2950, Register:v4i64 %vreg13
try.c: 0x55642dfd21f0: v4i64 = Register %vreg13
try.c: 0x55642df75f60: v16i32 = X86ISD::VBROADCAST 0x55642dfd1c00
try.c: 0x55642dfd1c00: i32,ch = load<LD4[ConstantPool]> 0x55642dee2950, 0x55642df7ad60, undef:i64
try.c: 0x55642df7ad60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55642dfbb4d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55642df745d0: i64 = undef
try.c: 0x55642dfdb430: 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: 0x55642dfdb300: i32 = Constant<0>
try.c: 0x55642dfdb300: i32 = Constant<0>
try.c: 0x55642dfdb300: i32 = Constant<0>
try.c: 0x55642dfdb300: i32 = Constant<0>
try.c: 0x55642dfdb300: i32 = Constant<0>
try.c: 0x55642dfdb300: i32 = Constant<0>
try.c: 0x55642dfdb300: i32 = Constant<0>
try.c: 0x55642dfdb300: i32 = Constant<0>
try.c: 0x55642dfdb300: 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
encrypt.c: encrypt.c:229:1: warning: '/*' within block comment [-Wcomment]
encrypt.c: /*----------------------------------------------------------------*/
encrypt.c: ^
encrypt.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x5637dcd171f0: v4i64 = X86ISD::VTRUNC 0x5637dcd170c0
try.c: 0x5637dcd170c0: v16i32 = vselect 0x5637dcd06560, 0x5637dcc8a040, 0x5637dcd16f90
try.c: 0x5637dcd06560: v4i1 = X86ISD::PCMPGTM 0x5637dccf1e20, 0x5637dcced9b0
try.c: 0x5637dccf1e20: v4i64 = X86ISD::VBROADCAST 0x5637dcc8a500
try.c: 0x5637dcc8a500: i64,ch = load<LD8[%lsr.iv6971]> 0x5637dcbeba30, 0x5637dcc8c5d0, undef:i64
try.c: 0x5637dcc8c5d0: i64,ch = CopyFromReg 0x5637dcbeba30, Register:i64 %vreg50
try.c: 0x5637dccedc10: i64 = Register %vreg50
try.c: 0x5637dcc7e760: i64 = undef
try.c: 0x5637dcced9b0: v4i64,ch = CopyFromReg 0x5637dcbeba30, Register:v4i64 %vreg13
try.c: 0x5637dccf2670: v4i64 = Register %vreg13
try.c: 0x5637dcc8a040: v16i32 = X86ISD::VBROADCAST 0x5637dccf2080
try.c: 0x5637dccf2080: i32,ch = load<LD4[ConstantPool]> 0x5637dcbeba30, 0x5637dcc9c680, undef:i64
try.c: 0x5637dcc9c680: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5637dcc7f0e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5637dcc7e760: i64 = undef
try.c: 0x5637dcd16f90: 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: 0x5637dcd16e60: i32 = Constant<0>
try.c: 0x5637dcd16e60: i32 = Constant<0>
try.c: 0x5637dcd16e60: i32 = Constant<0>
try.c: 0x5637dcd16e60: i32 = Constant<0>
try.c: 0x5637dcd16e60: i32 = Constant<0>
try.c: 0x5637dcd16e60: i32 = Constant<0>
try.c: 0x5637dcd16e60: i32 = Constant<0>
try.c: 0x5637dcd16e60: i32 = Constant<0>
try.c: 0x5637dcd16e60: 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
encrypt.c: encrypt.c:229:1: warning: '/*' within block comment [-Wcomment]
encrypt.c: /*----------------------------------------------------------------*/
encrypt.c: ^
encrypt.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x5616fba4e2d0: v4i64 = X86ISD::VTRUNC 0x5616fba4e1a0
try.c: 0x5616fba4e1a0: v16i32 = vselect 0x5616fba54b80, 0x5616fb9d8d00, 0x5616fba4e070
try.c: 0x5616fba54b80: v4i1 = X86ISD::PCMPGTM 0x5616fba31940, 0x5616fba2d4d0
try.c: 0x5616fba31940: v4i64 = X86ISD::VBROADCAST 0x5616fb9d4d40
try.c: 0x5616fb9d4d40: i64,ch = load<LD8[%lsr.iv6971]> 0x5616fb942940, 0x5616fba28330, undef:i64
try.c: 0x5616fba28330: i64,ch = CopyFromReg 0x5616fb942940, Register:i64 %vreg50
try.c: 0x5616fba2d730: i64 = Register %vreg50
try.c: 0x5616fb9d6210: i64 = undef
try.c: 0x5616fba2d4d0: v4i64,ch = CopyFromReg 0x5616fb942940, Register:v4i64 %vreg13
try.c: 0x5616fba32190: v4i64 = Register %vreg13
try.c: 0x5616fb9d8d00: v16i32 = X86ISD::VBROADCAST 0x5616fba31ba0
try.c: 0x5616fba31ba0: i32,ch = load<LD4[ConstantPool]> 0x5616fb942940, 0x5616fb9d1690, undef:i64
try.c: 0x5616fb9d1690: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5616fb9f4fa0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5616fb9d6210: i64 = undef
try.c: 0x5616fba4e070: 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: 0x5616fba4df40: i32 = Constant<0>
try.c: 0x5616fba4df40: i32 = Constant<0>
try.c: 0x5616fba4df40: i32 = Constant<0>
try.c: 0x5616fba4df40: i32 = Constant<0>
try.c: 0x5616fba4df40: i32 = Constant<0>
try.c: 0x5616fba4df40: i32 = Constant<0>
try.c: 0x5616fba4df40: i32 = Constant<0>
try.c: 0x5616fba4df40: i32 = Constant<0>
try.c: 0x5616fba4df40: 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 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:229:1: warning: '/*' within block comment [-Wcomment]
encrypt.c: /*----------------------------------------------------------------*/
encrypt.c: ^
encrypt.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -Os -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
encrypt.c: encrypt.c:229:1: warning: '/*' within block comment [-Wcomment]
encrypt.c: /*----------------------------------------------------------------*/
encrypt.c: ^
encrypt.c: encrypt.c:306:6: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
encrypt.c: x = _mm_clmulepi64_si128(x,y,0x0);
encrypt.c: ^
encrypt.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/__wmmintrin_pclmul.h:27:13: note: expanded from macro '_mm_clmulepi64_si128'
encrypt.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(__X), \
encrypt.c: ^
encrypt.c: encrypt.c:313:6: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
encrypt.c: x = _mm_clmulepi64_si128(x,y,0x0);
encrypt.c: ^
encrypt.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/__wmmintrin_pclmul.h:27:13: note: expanded from macro '_mm_clmulepi64_si128'
encrypt.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(__X), \
encrypt.c: ^
encrypt.c: encrypt.c:319:6: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
encrypt.c: x = _mm_clmulepi64_si128(x,y,0x0);
encrypt.c: ^
encrypt.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/__wmmintrin_pclmul.h:27:13: note: expanded from macro '_mm_clmulepi64_si128'
encrypt.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(__X), \
encrypt.c: ^
encrypt.c: 1 warning and 3 errors generated.

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