Implementation notes: amd64, cel02, crypto_kem/rolloii192

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: rolloii192
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
271930621572 0 2473821 888 1576T:avxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
385665233184 0 2490186 920 1672T:avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
408429824872 0 2478626 920 1640T:avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
428634223714 0 2476938 920 1640T:avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
503813620042 0 2472058 912 1608T:avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
580443429973 0 2884273 904 3664T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1108995635568 0 2892586 920 3744T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1327947225224 0 2878938 920 3712T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1436878820470 0 2872522 912 3680T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1475420224162 0 2877346 920 3712T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1484733821638 0 2873893 888 3632T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-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: 0x55c76e02d780: v4i64 = X86ISD::VTRUNC 0x55c76e02d650
try.c: 0x55c76e02d650: v16i32 = vselect 0x55c76e049bb0, 0x55c76dfcf0f0, 0x55c76e02d520
try.c: 0x55c76e049bb0: v4i1 = X86ISD::PCMPGTM 0x55c76e025940, 0x55c76e0214d0
try.c: 0x55c76e025940: v4i64 = X86ISD::VBROADCAST 0x55c76dfcc290
try.c: 0x55c76dfcc290: i64,ch = load<LD8[%lsr.iv6971]> 0x55c76df369c0, 0x55c76e011220, undef:i64
try.c: 0x55c76e011220: i64,ch = CopyFromReg 0x55c76df369c0, Register:i64 %vreg50
try.c: 0x55c76e021730: i64 = Register %vreg50
try.c: 0x55c76dfcd760: i64 = undef
try.c: 0x55c76e0214d0: v4i64,ch = CopyFromReg 0x55c76df369c0, Register:v4i64 %vreg13
try.c: 0x55c76e026190: v4i64 = Register %vreg13
try.c: 0x55c76dfcf0f0: v16i32 = X86ISD::VBROADCAST 0x55c76e025ba0
try.c: 0x55c76e025ba0: i32,ch = load<LD4[ConstantPool]> 0x55c76df369c0, 0x55c76dfe1c50, undef:i64
try.c: 0x55c76dfe1c50: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c76e00f900: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c76dfcd760: i64 = undef
try.c: 0x55c76e02d520: 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: 0x55c76e02d3f0: i32 = Constant<0>
try.c: 0x55c76e02d3f0: i32 = Constant<0>
try.c: 0x55c76e02d3f0: i32 = Constant<0>
try.c: 0x55c76e02d3f0: i32 = Constant<0>
try.c: 0x55c76e02d3f0: i32 = Constant<0>
try.c: 0x55c76e02d3f0: i32 = Constant<0>
try.c: 0x55c76e02d3f0: i32 = Constant<0>
try.c: 0x55c76e02d3f0: i32 = Constant<0>
try.c: 0x55c76e02d3f0: 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: 0x55af347c4270: v4i64 = X86ISD::VTRUNC 0x55af347c4140
try.c: 0x55af347c4140: v16i32 = vselect 0x55af347c1c60, 0x55af347457f0, 0x55af347c4010
try.c: 0x55af347c1c60: v4i1 = X86ISD::PCMPGTM 0x55af347aca90, 0x55af347a8860
try.c: 0x55af347aca90: v4i64 = X86ISD::VBROADCAST 0x55af34745cb0
try.c: 0x55af34745cb0: i64,ch = load<LD8[%lsr.iv6971]> 0x55af346a6a30, 0x55af3474d9f0, undef:i64
try.c: 0x55af3474d9f0: i64,ch = CopyFromReg 0x55af346a6a30, Register:i64 %vreg50
try.c: 0x55af347a8ac0: i64 = Register %vreg50
try.c: 0x55af3475d740: i64 = undef
try.c: 0x55af347a8860: v4i64,ch = CopyFromReg 0x55af346a6a30, Register:v4i64 %vreg13
try.c: 0x55af347ad2e0: v4i64 = Register %vreg13
try.c: 0x55af347457f0: v16i32 = X86ISD::VBROADCAST 0x55af347accf0
try.c: 0x55af347accf0: i32,ch = load<LD4[ConstantPool]> 0x55af346a6a30, 0x55af347579a0, undef:i64
try.c: 0x55af347579a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55af3475e0c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55af3475d740: i64 = undef
try.c: 0x55af347c4010: 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: 0x55af347c3ee0: i32 = Constant<0>
try.c: 0x55af347c3ee0: i32 = Constant<0>
try.c: 0x55af347c3ee0: i32 = Constant<0>
try.c: 0x55af347c3ee0: i32 = Constant<0>
try.c: 0x55af347c3ee0: i32 = Constant<0>
try.c: 0x55af347c3ee0: i32 = Constant<0>
try.c: 0x55af347c3ee0: i32 = Constant<0>
try.c: 0x55af347c3ee0: i32 = Constant<0>
try.c: 0x55af347c3ee0: 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: 0x55e642b5ab60: v4i64 = X86ISD::VTRUNC 0x55e642b5aa30
try.c: 0x55e642b5aa30: v16i32 = vselect 0x55e642b57540, 0x55e642af8870, 0x55e642b5a900
try.c: 0x55e642b57540: v4i1 = X86ISD::PCMPGTM 0x55e642b528f0, 0x55e642b4e480
try.c: 0x55e642b528f0: v4i64 = X86ISD::VBROADCAST 0x55e642af5a10
try.c: 0x55e642af5a10: i64,ch = load<LD8[%lsr.iv6971]> 0x55e642a639a0, 0x55e642b492e0, undef:i64
try.c: 0x55e642b492e0: i64,ch = CopyFromReg 0x55e642a639a0, Register:i64 %vreg50
try.c: 0x55e642b4e6e0: i64 = Register %vreg50
try.c: 0x55e642af6ee0: i64 = undef
try.c: 0x55e642b4e480: v4i64,ch = CopyFromReg 0x55e642a639a0, Register:v4i64 %vreg13
try.c: 0x55e642b53140: v4i64 = Register %vreg13
try.c: 0x55e642af8870: v16i32 = X86ISD::VBROADCAST 0x55e642b52b50
try.c: 0x55e642b52b50: i32,ch = load<LD4[ConstantPool]> 0x55e642a639a0, 0x55e642afb950, undef:i64
try.c: 0x55e642afb950: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e642b0b190: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e642af6ee0: i64 = undef
try.c: 0x55e642b5a900: 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: 0x55e642b5a7d0: i32 = Constant<0>
try.c: 0x55e642b5a7d0: i32 = Constant<0>
try.c: 0x55e642b5a7d0: i32 = Constant<0>
try.c: 0x55e642b5a7d0: i32 = Constant<0>
try.c: 0x55e642b5a7d0: i32 = Constant<0>
try.c: 0x55e642b5a7d0: i32 = Constant<0>
try.c: 0x55e642b5a7d0: i32 = Constant<0>
try.c: 0x55e642b5a7d0: i32 = Constant<0>
try.c: 0x55e642b5a7d0: 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:467: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:469: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:470: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:472:19: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
rbc_elt.c: __m128i a1_b1 = _mm_clmulepi64_si128(a, b, 0x11);
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: 4 errors generated.

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: 0x55952c5e5670: v4i64 = X86ISD::VTRUNC 0x55952c5e5540
try.c: 0x55952c5e5540: v16i32 = vselect 0x55952c5ca220, 0x55952c586e10, 0x55952c5e5410
try.c: 0x55952c5ca220: v4i1 = X86ISD::PCMPGTM 0x55952c5c4220, 0x55952c5bfff0
try.c: 0x55952c5c4220: v4i64 = X86ISD::VBROADCAST 0x55952c56ba00
try.c: 0x55952c56ba00: i64,ch = load<LD8[%lsr.iv6971]> 0x55952c4d5960, 0x55952c5703e0, undef:i64
try.c: 0x55952c5703e0: i64,ch = CopyFromReg 0x55952c4d5960, Register:i64 %vreg50
try.c: 0x55952c5c0250: i64 = Register %vreg50
try.c: 0x55952c56ced0: i64 = undef
try.c: 0x55952c5bfff0: v4i64,ch = CopyFromReg 0x55952c4d5960, Register:v4i64 %vreg13
try.c: 0x55952c5c4a70: v4i64 = Register %vreg13
try.c: 0x55952c586e10: v16i32 = X86ISD::VBROADCAST 0x55952c5c4480
try.c: 0x55952c5c4480: i32,ch = load<LD4[ConstantPool]> 0x55952c4d5960, 0x55952c56afe0, undef:i64
try.c: 0x55952c56afe0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55952c5b76c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55952c56ced0: i64 = undef
try.c: 0x55952c5e5410: 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: 0x55952c5e52e0: i32 = Constant<0>
try.c: 0x55952c5e52e0: i32 = Constant<0>
try.c: 0x55952c5e52e0: i32 = Constant<0>
try.c: 0x55952c5e52e0: i32 = Constant<0>
try.c: 0x55952c5e52e0: i32 = Constant<0>
try.c: 0x55952c5e52e0: i32 = Constant<0>
try.c: 0x55952c5e52e0: i32 = Constant<0>
try.c: 0x55952c5e52e0: i32 = Constant<0>
try.c: 0x55952c5e52e0: 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: 0x55e6ce231ba0: v4i64 = X86ISD::VTRUNC 0x55e6ce231a70
try.c: 0x55e6ce231a70: v16i32 = vselect 0x55e6ce237f30, 0x55e6ce1b4c70, 0x55e6ce231940
try.c: 0x55e6ce237f30: v4i1 = X86ISD::PCMPGTM 0x55e6ce21a110, 0x55e6ce216af0
try.c: 0x55e6ce21a110: v4i64 = X86ISD::VBROADCAST 0x55e6ce1b5130
try.c: 0x55e6ce1b5130: i64,ch = load<LD8[%lsr.iv6971]> 0x55e6ce114a10, 0x55e6ce1cc890, undef:i64
try.c: 0x55e6ce1cc890: i64,ch = CopyFromReg 0x55e6ce114a10, Register:i64 %vreg50
try.c: 0x55e6ce216d50: i64 = Register %vreg50
try.c: 0x55e6ce1b2e10: i64 = undef
try.c: 0x55e6ce216af0: v4i64,ch = CopyFromReg 0x55e6ce114a10, Register:v4i64 %vreg13
try.c: 0x55e6ce21a960: v4i64 = Register %vreg13
try.c: 0x55e6ce1b4c70: v16i32 = X86ISD::VBROADCAST 0x55e6ce21a370
try.c: 0x55e6ce21a370: i32,ch = load<LD4[ConstantPool]> 0x55e6ce114a10, 0x55e6ce1b7610, undef:i64
try.c: 0x55e6ce1b7610: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e6ce1b3790: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e6ce1b2e10: i64 = undef
try.c: 0x55e6ce231940: 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: 0x55e6ce231810: i32 = Constant<0>
try.c: 0x55e6ce231810: i32 = Constant<0>
try.c: 0x55e6ce231810: i32 = Constant<0>
try.c: 0x55e6ce231810: i32 = Constant<0>
try.c: 0x55e6ce231810: i32 = Constant<0>
try.c: 0x55e6ce231810: i32 = Constant<0>
try.c: 0x55e6ce231810: i32 = Constant<0>
try.c: 0x55e6ce231810: i32 = Constant<0>
try.c: 0x55e6ce231810: 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: 0x55b5311df190: v4i64 = X86ISD::VTRUNC 0x55b5311df060
try.c: 0x55b5311df060: v16i32 = vselect 0x55b5311d0240, 0x55b5311870d0, 0x55b5311def30
try.c: 0x55b5311d0240: v4i1 = X86ISD::PCMPGTM 0x55b5311c4810, 0x55b5311c03a0
try.c: 0x55b5311c4810: v4i64 = X86ISD::VBROADCAST 0x55b531168930
try.c: 0x55b531168930: i64,ch = load<LD8[%lsr.iv6971]> 0x55b5310d5940, 0x55b5311bb200, undef:i64
try.c: 0x55b5311bb200: i64,ch = CopyFromReg 0x55b5310d5940, Register:i64 %vreg50
try.c: 0x55b5311c0600: i64 = Register %vreg50
try.c: 0x55b531169e00: i64 = undef
try.c: 0x55b5311c03a0: v4i64,ch = CopyFromReg 0x55b5310d5940, Register:v4i64 %vreg13
try.c: 0x55b5311c5060: v4i64 = Register %vreg13
try.c: 0x55b5311870d0: v16i32 = X86ISD::VBROADCAST 0x55b5311c4a70
try.c: 0x55b5311c4a70: i32,ch = load<LD4[ConstantPool]> 0x55b5310d5940, 0x55b531167f10, undef:i64
try.c: 0x55b531167f10: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55b5311b73f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55b531169e00: i64 = undef
try.c: 0x55b5311def30: 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: 0x55b5311dee00: i32 = Constant<0>
try.c: 0x55b5311dee00: i32 = Constant<0>
try.c: 0x55b5311dee00: i32 = Constant<0>
try.c: 0x55b5311dee00: i32 = Constant<0>
try.c: 0x55b5311dee00: i32 = Constant<0>
try.c: 0x55b5311dee00: i32 = Constant<0>
try.c: 0x55b5311dee00: i32 = Constant<0>
try.c: 0x55b5311dee00: i32 = Constant<0>
try.c: 0x55b5311dee00: 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