Implementation notes: amd64, cel02, crypto_kem/rqc192

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: rqc192
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1183836829572 0 2481997 888 1576T:avxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1344803644614 0 24101802 920 1672T:avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1353911632899 0 2486826 920 1640T:avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1527646831130 0 2484522 920 1640T:avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1683975627279 0 2479466 912 1608T:avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3001588440409 0 2894937 904 3664T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
5003462829979 0 2882365 888 3632T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
5265100231864 0 2885250 920 3712T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5631587447142 0 28104354 920 3744T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9156505233515 0 2887466 920 3712T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9497468427646 0 2879842 912 3680T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:avx
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: 0x558cf87cf360: v4i64 = X86ISD::VTRUNC 0x558cf87cf230
try.c: 0x558cf87cf230: v16i32 = vselect 0x558cf87ec550, 0x558cf87719b0, 0x558cf87cf100
try.c: 0x558cf87ec550: v4i1 = X86ISD::PCMPGTM 0x558cf87ca120, 0x558cf87c5cb0
try.c: 0x558cf87ca120: v4i64 = X86ISD::VBROADCAST 0x558cf876acd0
try.c: 0x558cf876acd0: i64,ch = load<LD8[%lsr.iv6971]> 0x558cf86da8f0, 0x558cf87bd940, undef:i64
try.c: 0x558cf87bd940: i64,ch = CopyFromReg 0x558cf86da8f0, Register:i64 %vreg50
try.c: 0x558cf87c5f10: i64 = Register %vreg50
try.c: 0x558cf8770020: i64 = undef
try.c: 0x558cf87c5cb0: v4i64,ch = CopyFromReg 0x558cf86da8f0, Register:v4i64 %vreg13
try.c: 0x558cf87ca970: v4i64 = Register %vreg13
try.c: 0x558cf87719b0: v16i32 = X86ISD::VBROADCAST 0x558cf87ca380
try.c: 0x558cf87ca380: i32,ch = load<LD4[ConstantPool]> 0x558cf86da8f0, 0x558cf876a2b0, undef:i64
try.c: 0x558cf876a2b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x558cf87b0390: i64 = TargetConstantPool<i32 1> 0
try.c: 0x558cf8770020: i64 = undef
try.c: 0x558cf87cf100: 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: 0x558cf87cefd0: i32 = Constant<0>
try.c: 0x558cf87cefd0: i32 = Constant<0>
try.c: 0x558cf87cefd0: i32 = Constant<0>
try.c: 0x558cf87cefd0: i32 = Constant<0>
try.c: 0x558cf87cefd0: i32 = Constant<0>
try.c: 0x558cf87cefd0: i32 = Constant<0>
try.c: 0x558cf87cefd0: i32 = Constant<0>
try.c: 0x558cf87cefd0: i32 = Constant<0>
try.c: 0x558cf87cefd0: 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:avx

Compiler output

Implementation: T:avx
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: 0x55c71ed33490: v4i64 = X86ISD::VTRUNC 0x55c71ed33360
try.c: 0x55c71ed33360: v16i32 = vselect 0x55c71ed4cb30, 0x55c71ecdca20, 0x55c71ed33230
try.c: 0x55c71ed4cb30: v4i1 = X86ISD::PCMPGTM 0x55c71ed2de60, 0x55c71ed299f0
try.c: 0x55c71ed2de60: v4i64 = X86ISD::VBROADCAST 0x55c71ecdcee0
try.c: 0x55c71ecdcee0: i64,ch = load<LD8[%lsr.iv6971]> 0x55c71ec279f0, 0x55c71ecc8560, undef:i64
try.c: 0x55c71ecc8560: i64,ch = CopyFromReg 0x55c71ec279f0, Register:i64 %vreg50
try.c: 0x55c71ed29c50: i64 = Register %vreg50
try.c: 0x55c71ecc5200: i64 = undef
try.c: 0x55c71ed299f0: v4i64,ch = CopyFromReg 0x55c71ec279f0, Register:v4i64 %vreg13
try.c: 0x55c71ed2e6b0: v4i64 = Register %vreg13
try.c: 0x55c71ecdca20: v16i32 = X86ISD::VBROADCAST 0x55c71ed2e0c0
try.c: 0x55c71ed2e0c0: i32,ch = load<LD4[ConstantPool]> 0x55c71ec279f0, 0x55c71eceb5d0, undef:i64
try.c: 0x55c71eceb5d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c71ecc5b80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c71ecc5200: i64 = undef
try.c: 0x55c71ed33230: 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: 0x55c71ed33100: i32 = Constant<0>
try.c: 0x55c71ed33100: i32 = Constant<0>
try.c: 0x55c71ed33100: i32 = Constant<0>
try.c: 0x55c71ed33100: i32 = Constant<0>
try.c: 0x55c71ed33100: i32 = Constant<0>
try.c: 0x55c71ed33100: i32 = Constant<0>
try.c: 0x55c71ed33100: i32 = Constant<0>
try.c: 0x55c71ed33100: i32 = Constant<0>
try.c: 0x55c71ed33100: 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:avx

Compiler output

Implementation: T:avx
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: 0x562dabb19a30: v4i64 = X86ISD::VTRUNC 0x562dabb19900
try.c: 0x562dabb19900: v16i32 = vselect 0x562dabb20d90, 0x562dabaa7f30, 0x562dabb197d0
try.c: 0x562dabb20d90: v4i1 = X86ISD::PCMPGTM 0x562dabaff0b0, 0x562dabafac40
try.c: 0x562dabaff0b0: v4i64 = X86ISD::VBROADCAST 0x562dabaa50d0
try.c: 0x562dabaa50d0: i64,ch = load<LD8[%lsr.iv6971]> 0x562daba0f920, 0x562dabaf2330, undef:i64
try.c: 0x562dabaf2330: i64,ch = CopyFromReg 0x562daba0f920, Register:i64 %vreg50
try.c: 0x562dabafaea0: i64 = Register %vreg50
try.c: 0x562dabaa65a0: i64 = undef
try.c: 0x562dabafac40: v4i64,ch = CopyFromReg 0x562daba0f920, Register:v4i64 %vreg13
try.c: 0x562dabaff900: v4i64 = Register %vreg13
try.c: 0x562dabaa7f30: v16i32 = X86ISD::VBROADCAST 0x562dabaff310
try.c: 0x562dabaff310: i32,ch = load<LD4[ConstantPool]> 0x562daba0f920, 0x562dabaa46b0, undef:i64
try.c: 0x562dabaa46b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562dabae6e60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562dabaa65a0: i64 = undef
try.c: 0x562dabb197d0: 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: 0x562dabb196a0: i32 = Constant<0>
try.c: 0x562dabb196a0: i32 = Constant<0>
try.c: 0x562dabb196a0: i32 = Constant<0>
try.c: 0x562dabb196a0: i32 = Constant<0>
try.c: 0x562dabb196a0: i32 = Constant<0>
try.c: 0x562dabb196a0: i32 = Constant<0>
try.c: 0x562dabb196a0: i32 = Constant<0>
try.c: 0x562dabb196a0: i32 = Constant<0>
try.c: 0x562dabb196a0: 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:avx

Compiler output

Implementation: T:avx
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
rbc_elt.c: rbc_elt.c:521:19: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
rbc_elt.c: __m128i a0_b0 = _mm_clmulepi64_si128(a, b, 0x00);
rbc_elt.c: ^
rbc_elt.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'
rbc_elt.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(__X), \
rbc_elt.c: ^
rbc_elt.c: rbc_elt.c:523:19: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
rbc_elt.c: __m128i a0_b1 = _mm_clmulepi64_si128(a, b, 0x10);
rbc_elt.c: ^
rbc_elt.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'
rbc_elt.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(__X), \
rbc_elt.c: ^
rbc_elt.c: rbc_elt.c:524:19: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
rbc_elt.c: __m128i a1_b0 = _mm_clmulepi64_si128(a, b, 0x01);
rbc_elt.c: ^
rbc_elt.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'
rbc_elt.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(__X), \
rbc_elt.c: ^
rbc_elt.c: rbc_elt.c:526:19: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
rbc_elt.c: __m128i a0_b2 = _mm_clmulepi64_si128(a, d, 0x00);
rbc_elt.c: ^
rbc_elt.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'
rbc_elt.c: ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(__X), \
rbc_elt.c: ^
rbc_elt.c: rbc_elt.c:527:19: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
rbc_elt.c: ...

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

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: 0x5616d3502fb0: v4i64 = X86ISD::VTRUNC 0x5616d3502e80
try.c: 0x5616d3502e80: v16i32 = vselect 0x5616d34fd980, 0x5616d349db60, 0x5616d3502d50
try.c: 0x5616d34fd980: v4i1 = X86ISD::PCMPGTM 0x5616d34fc970, 0x5616d34f8500
try.c: 0x5616d34fc970: v4i64 = X86ISD::VBROADCAST 0x5616d349ad00
try.c: 0x5616d349ad00: i64,ch = load<LD8[%lsr.iv6971]> 0x5616d340d8f0, 0x5616d34eb1b0, undef:i64
try.c: 0x5616d34eb1b0: i64,ch = CopyFromReg 0x5616d340d8f0, Register:i64 %vreg50
try.c: 0x5616d34f8760: i64 = Register %vreg50
try.c: 0x5616d349c1d0: i64 = undef
try.c: 0x5616d34f8500: v4i64,ch = CopyFromReg 0x5616d340d8f0, Register:v4i64 %vreg13
try.c: 0x5616d34fd1c0: v4i64 = Register %vreg13
try.c: 0x5616d349db60: v16i32 = X86ISD::VBROADCAST 0x5616d34fcbd0
try.c: 0x5616d34fcbd0: i32,ch = load<LD4[ConstantPool]> 0x5616d340d8f0, 0x5616d34a59e0, undef:i64
try.c: 0x5616d34a59e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5616d34c7640: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5616d349c1d0: i64 = undef
try.c: 0x5616d3502d50: 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: 0x5616d3502c20: i32 = Constant<0>
try.c: 0x5616d3502c20: i32 = Constant<0>
try.c: 0x5616d3502c20: i32 = Constant<0>
try.c: 0x5616d3502c20: i32 = Constant<0>
try.c: 0x5616d3502c20: i32 = Constant<0>
try.c: 0x5616d3502c20: i32 = Constant<0>
try.c: 0x5616d3502c20: i32 = Constant<0>
try.c: 0x5616d3502c20: i32 = Constant<0>
try.c: 0x5616d3502c20: 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: 0x562bd543df20: v4i64 = X86ISD::VTRUNC 0x562bd543ddf0
try.c: 0x562bd543ddf0: v16i32 = vselect 0x562bd543b910, 0x562bd53c2510, 0x562bd543dcc0
try.c: 0x562bd543b910: v4i1 = X86ISD::PCMPGTM 0x562bd5427140, 0x562bd5422cd0
try.c: 0x562bd5427140: v4i64 = X86ISD::VBROADCAST 0x562bd53c29d0
try.c: 0x562bd53c29d0: i64,ch = load<LD8[%lsr.iv6971]> 0x562bd5320a00, 0x562bd53c8480, undef:i64
try.c: 0x562bd53c8480: i64,ch = CopyFromReg 0x562bd5320a00, Register:i64 %vreg50
try.c: 0x562bd5422f30: i64 = Register %vreg50
try.c: 0x562bd53bc0f0: i64 = undef
try.c: 0x562bd5422cd0: v4i64,ch = CopyFromReg 0x562bd5320a00, Register:v4i64 %vreg13
try.c: 0x562bd5427990: v4i64 = Register %vreg13
try.c: 0x562bd53c2510: v16i32 = X86ISD::VBROADCAST 0x562bd54273a0
try.c: 0x562bd54273a0: i32,ch = load<LD4[ConstantPool]> 0x562bd5320a00, 0x562bd53c6a50, undef:i64
try.c: 0x562bd53c6a50: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562bd53bca70: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562bd53bc0f0: i64 = undef
try.c: 0x562bd543dcc0: 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: 0x562bd543db90: i32 = Constant<0>
try.c: 0x562bd543db90: i32 = Constant<0>
try.c: 0x562bd543db90: i32 = Constant<0>
try.c: 0x562bd543db90: i32 = Constant<0>
try.c: 0x562bd543db90: i32 = Constant<0>
try.c: 0x562bd543db90: i32 = Constant<0>
try.c: 0x562bd543db90: i32 = Constant<0>
try.c: 0x562bd543db90: i32 = Constant<0>
try.c: 0x562bd543db90: 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: 0x56446042b950: v4i64 = X86ISD::VTRUNC 0x56446042b820
try.c: 0x56446042b820: v16i32 = vselect 0x564460417ae0, 0x5644603b3ae0, 0x56446042b6f0
try.c: 0x564460417ae0: v4i1 = X86ISD::PCMPGTM 0x564460410fd0, 0x56446040cb60
try.c: 0x564460410fd0: v4i64 = X86ISD::VBROADCAST 0x5644603afa60
try.c: 0x5644603afa60: i64,ch = load<LD8[%lsr.iv6971]> 0x564460321930, 0x564460403610, undef:i64
try.c: 0x564460403610: i64,ch = CopyFromReg 0x564460321930, Register:i64 %vreg50
try.c: 0x56446040cdc0: i64 = Register %vreg50
try.c: 0x5644603b0f30: i64 = undef
try.c: 0x56446040cb60: v4i64,ch = CopyFromReg 0x564460321930, Register:v4i64 %vreg13
try.c: 0x564460411820: v4i64 = Register %vreg13
try.c: 0x5644603b3ae0: v16i32 = X86ISD::VBROADCAST 0x564460411230
try.c: 0x564460411230: i32,ch = load<LD4[ConstantPool]> 0x564460321930, 0x5644603b8150, undef:i64
try.c: 0x5644603b8150: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5644603721e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5644603b0f30: i64 = undef
try.c: 0x56446042b6f0: 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: 0x56446042b5c0: i32 = Constant<0>
try.c: 0x56446042b5c0: i32 = Constant<0>
try.c: 0x56446042b5c0: i32 = Constant<0>
try.c: 0x56446042b5c0: i32 = Constant<0>
try.c: 0x56446042b5c0: i32 = Constant<0>
try.c: 0x56446042b5c0: i32 = Constant<0>
try.c: 0x56446042b5c0: i32 = Constant<0>
try.c: 0x56446042b5c0: i32 = Constant<0>
try.c: 0x56446042b5c0: 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