Implementation notes: amd64, cel02, crypto_kem/bikel1

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: bikel1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
451458640775 64 470677 904 1644T:avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
960607031688 64 457877 904 1612T:avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
966004032401 64 459085 904 1612T:avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1182839614975 64 440149 896 1580T:avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1209486858068 56 487981 896 1644T:aes-ni-and-pclmulgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1735905428872 56 454981 896 1612T:aes-ni-and-pclmulgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1742966029103 56 455701 896 1612T:aes-ni-and-pclmulgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2082465013622 56 438749 888 1580T:aes-ni-and-pclmulgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2084723226095 48 452839 944 1612T:portablegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2108712214679 56 439592 864 1580T:aes-ni-and-pclmulclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2978409056603 56 486477 896 1644T:aes-ni-onlygcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3003418453140 48 483591 944 1644T:portablegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3369736211661 48 437174 912 1580T:portableclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3391901413826 56 438728 864 1580T:aes-ni-onlyclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3400155429044 56 455149 896 1612T:aes-ni-onlygcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3434197826621 48 453855 944 1612T:portablegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3435313829670 56 456269 896 1612T:aes-ni-onlygcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3463407410956 48 436639 936 1580T:portablegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4015177013196 56 438317 888 1580T:aes-ni-onlygcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4196829020746 48 448148 920 1580T:portableclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:aes-ni-and-pclmul
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.c: fatal error: error in backend: Cannot select: 0x5559a87216d0: v64i8 = X86ISD::VBROADCAST 0x5559a8721470
kem.c: 0x5559a8721470: i8,ch,glue = CopyFromReg 0x5559a86d4d10, Register:i8 %vreg40, 0x5559a86d4d10:1
kem.c: 0x5559a8723eb0: i8 = Register %vreg40
kem.c: 0x5559a86d4d10: ch,glue = inlineasm 0x5559a86de710, TargetExternalSymbol:i64'', MDNode:ch<null>, TargetConstant:i64<0>, TargetConstant:i32<65546>, Register:i8 %vreg40, TargetConstant:i32<-2147483639>, Register:i8 %vreg41, TargetConstant:i32<12>, Register:i32 %EFLAGS, 0x5559a86de710:1
kem.c: 0x5559a8724d90: i64 = TargetExternalSymbol''
kem.c: 0x5559a87244a0: i64 = TargetConstant<0>
kem.c: 0x5559a8725c70: i32 = TargetConstant<65546>
kem.c: 0x5559a8723eb0: i8 = Register %vreg40
kem.c: 0x5559a87248d0: i32 = TargetConstant<-2147483639>
kem.c: 0x5559a8720c20: i8 = Register %vreg41
kem.c: 0x5559a86b9d60: i32 = TargetConstant<12>
kem.c: 0x5559a86b9930: i32 = Register %EFLAGS
kem.c: 0x5559a86de710: ch,glue = CopyToReg 0x5559a8724370:1, Register:i8 %vreg41, 0x5559a86b9800
kem.c: 0x5559a8720c20: i8 = Register %vreg41
kem.c: 0x5559a86b9800: i8 = truncate 0x5559a87215a0
kem.c: 0x5559a87215a0: i32 = xor 0x5559a8724370, Constant:i32<-1>
kem.c: 0x5559a8724370: i32,ch,glue = CopyFromReg 0x5559a87225b0, Register:i32 %vreg35, 0x5559a87225b0:1
kem.c: 0x5559a86bb230: i32 = Register %vreg35
kem.c: 0x5559a87225b0: ch,glue = inlineasm 0x5559a87226e0, TargetExternalSymbol:i64'xor %edx, %edx;
kem.c: cmp $1, $2;
kem.c: setl %dl;
kem.c: dec %edx;
kem.c: mov %edx, $0;
kem.c: ', MDNode:ch<0x5559a85a7858>, TargetConstant:i64<1>, TargetConstant:i32<1441802>, Register:i32 %vreg35, TargetConstant:i32<1441801>, Register:i32 %vreg36, TargetConstant:i32<1441801>, Register:i32 %vreg37, TargetConstant:i32<12>, Register:i64 %RDX, TargetConstant:i32<12>, Register:i32 %EFLAGS, 0x5559a87226e0:1
kem.c: 0x5559a8724ec0: i64 = TargetExternalSymbol'xor %edx, %edx;
kem.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aes-ni-and-pclmul

Compiler output

Implementation: T:aes-ni-and-pclmul
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.c: fatal error: error in backend: Cannot select: 0x55869088a820: v64i8 = X86ISD::VBROADCAST 0x55869088a5c0
kem.c: 0x55869088a5c0: i8,ch,glue = CopyFromReg 0x55869083b3d0, Register:i8 %vreg40, 0x55869083b3d0:1
kem.c: 0x55869088d000: i8 = Register %vreg40
kem.c: 0x55869083b3d0: ch,glue = inlineasm 0x55869085ade0, TargetExternalSymbol:i64'', MDNode:ch<null>, TargetConstant:i64<0>, TargetConstant:i32<65546>, Register:i8 %vreg40, TargetConstant:i32<-2147483639>, Register:i8 %vreg41, TargetConstant:i32<12>, Register:i32 %EFLAGS, 0x55869085ade0:1
kem.c: 0x55869088dee0: i64 = TargetExternalSymbol''
kem.c: 0x55869088d5f0: i64 = TargetConstant<0>
kem.c: 0x55869088edc0: i32 = TargetConstant<65546>
kem.c: 0x55869088d000: i8 = Register %vreg40
kem.c: 0x55869088da20: i32 = TargetConstant<-2147483639>
kem.c: 0x558690889d70: i8 = Register %vreg41
kem.c: 0x558690843050: i32 = TargetConstant<12>
kem.c: 0x558690842c20: i32 = Register %EFLAGS
kem.c: 0x55869085ade0: ch,glue = CopyToReg 0x55869088d4c0:1, Register:i8 %vreg41, 0x558690842af0
kem.c: 0x558690889d70: i8 = Register %vreg41
kem.c: 0x558690842af0: i8 = truncate 0x55869088a6f0
kem.c: 0x55869088a6f0: i32 = xor 0x55869088d4c0, Constant:i32<-1>
kem.c: 0x55869088d4c0: i32,ch,glue = CopyFromReg 0x55869088b700, Register:i32 %vreg35, 0x55869088b700:1
kem.c: 0x5586908335e0: i32 = Register %vreg35
kem.c: 0x55869088b700: ch,glue = inlineasm 0x55869088b830, TargetExternalSymbol:i64'xor %edx, %edx;
kem.c: cmp $1, $2;
kem.c: setl %dl;
kem.c: dec %edx;
kem.c: mov %edx, $0;
kem.c: ', MDNode:ch<0x5586907107f8>, TargetConstant:i64<1>, TargetConstant:i32<1441802>, Register:i32 %vreg35, TargetConstant:i32<1441801>, Register:i32 %vreg36, TargetConstant:i32<1441801>, Register:i32 %vreg37, TargetConstant:i32<12>, Register:i64 %RDX, TargetConstant:i32<12>, Register:i32 %EFLAGS, 0x55869088b830:1
kem.c: 0x55869088e010: i64 = TargetExternalSymbol'xor %edx, %edx;
kem.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aes-ni-and-pclmul

Compiler output

Implementation: T:aes-ni-and-pclmul
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.c: fatal error: error in backend: Cannot select: 0x558be14eeea0: v64i8 = X86ISD::VBROADCAST 0x558be14eec40
kem.c: 0x558be14eec40: i8,ch,glue = CopyFromReg 0x558be14a4c80, Register:i8 %vreg40, 0x558be14a4c80:1
kem.c: 0x558be14f1680: i8 = Register %vreg40
kem.c: 0x558be14a4c80: ch,glue = inlineasm 0x558be14ed640, TargetExternalSymbol:i64'', MDNode:ch<null>, TargetConstant:i64<0>, TargetConstant:i32<65546>, Register:i8 %vreg40, TargetConstant:i32<-2147483639>, Register:i8 %vreg41, TargetConstant:i32<12>, Register:i32 %EFLAGS, 0x558be14ed640:1
kem.c: 0x558be14f2680: i64 = TargetExternalSymbol''
kem.c: 0x558be14f1c70: i64 = TargetConstant<0>
kem.c: 0x558be14f3890: i32 = TargetConstant<65546>
kem.c: 0x558be14f1680: i8 = Register %vreg40
kem.c: 0x558be14f21c0: i32 = TargetConstant<-2147483639>
kem.c: 0x558be14ee3f0: i8 = Register %vreg41
kem.c: 0x558be1465160: i32 = TargetConstant<12>
kem.c: 0x558be1464d30: i32 = Register %EFLAGS
kem.c: 0x558be14ed640: ch,glue = CopyToReg 0x558be14f1b40:1, Register:i8 %vreg41, 0x558be1464c00
kem.c: 0x558be14ee3f0: i8 = Register %vreg41
kem.c: 0x558be1464c00: i8 = truncate 0x558be14eed70
kem.c: 0x558be14eed70: i32 = xor 0x558be14f1b40, Constant:i32<-1>
kem.c: 0x558be14f1b40: i32,ch,glue = CopyFromReg 0x558be14efd80, Register:i32 %vreg35, 0x558be14efd80:1
kem.c: 0x558be1466630: i32 = Register %vreg35
kem.c: 0x558be14efd80: ch,glue = inlineasm 0x558be14efeb0, TargetExternalSymbol:i64'xor %edx, %edx;
kem.c: cmp $1, $2;
kem.c: setl %dl;
kem.c: dec %edx;
kem.c: mov %edx, $0;
kem.c: ', MDNode:ch<0x558be1375808>, TargetConstant:i64<1>, TargetConstant:i32<1441802>, Register:i32 %vreg35, TargetConstant:i32<1441801>, Register:i32 %vreg36, TargetConstant:i32<1441801>, Register:i32 %vreg37, TargetConstant:i32<12>, Register:i64 %RDX, TargetConstant:i32<12>, Register:i32 %EFLAGS, 0x558be14efeb0:1
kem.c: 0x558be14f27b0: i64 = TargetExternalSymbol'xor %edx, %edx;
kem.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aes-ni-and-pclmul

Compiler output

Implementation: T:aes-ni-and-pclmul
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
aes.c: aes.c:9:4: error: "This code requries support for AES_NI and SSSE3"
aes.c: # error "This code requries support for AES_NI and SSSE3"
aes.c: ^
aes.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aes-ni-and-pclmul T:aes-ni-only T:avx2 T:avx512 T:avx512-vpclmul

Compiler output

Implementation: T:aes-ni-only
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.c: fatal error: error in backend: Cannot select: 0x55ba353827b0: v64i8 = X86ISD::VBROADCAST 0x55ba35382550
kem.c: 0x55ba35382550: i8,ch,glue = CopyFromReg 0x55ba35330770, Register:i8 %vreg40, 0x55ba35330770:1
kem.c: 0x55ba35384f90: i8 = Register %vreg40
kem.c: 0x55ba35330770: ch,glue = inlineasm 0x55ba35380f50, TargetExternalSymbol:i64'', MDNode:ch<null>, TargetConstant:i64<0>, TargetConstant:i32<65546>, Register:i8 %vreg40, TargetConstant:i32<-2147483639>, Register:i8 %vreg41, TargetConstant:i32<12>, Register:i32 %EFLAGS, 0x55ba35380f50:1
kem.c: 0x55ba35385e70: i64 = TargetExternalSymbol''
kem.c: 0x55ba35385580: i64 = TargetConstant<0>
kem.c: 0x55ba35386d50: i32 = TargetConstant<65546>
kem.c: 0x55ba35384f90: i8 = Register %vreg40
kem.c: 0x55ba353859b0: i32 = TargetConstant<-2147483639>
kem.c: 0x55ba35381d00: i8 = Register %vreg41
kem.c: 0x55ba352ff4b0: i32 = TargetConstant<12>
kem.c: 0x55ba352ff080: i32 = Register %EFLAGS
kem.c: 0x55ba35380f50: ch,glue = CopyToReg 0x55ba35385450:1, Register:i8 %vreg41, 0x55ba352fef50
kem.c: 0x55ba35381d00: i8 = Register %vreg41
kem.c: 0x55ba352fef50: i8 = truncate 0x55ba35382680
kem.c: 0x55ba35382680: i32 = xor 0x55ba35385450, Constant:i32<-1>
kem.c: 0x55ba35385450: i32,ch,glue = CopyFromReg 0x55ba35383690, Register:i32 %vreg35, 0x55ba35383690:1
kem.c: 0x55ba35333b10: i32 = Register %vreg35
kem.c: 0x55ba35383690: ch,glue = inlineasm 0x55ba353837c0, TargetExternalSymbol:i64'xor %edx, %edx;
kem.c: cmp $1, $2;
kem.c: setl %dl;
kem.c: dec %edx;
kem.c: mov %edx, $0;
kem.c: ', MDNode:ch<0x55ba35208768>, TargetConstant:i64<1>, TargetConstant:i32<1441802>, Register:i32 %vreg35, TargetConstant:i32<1441801>, Register:i32 %vreg36, TargetConstant:i32<1441801>, Register:i32 %vreg37, TargetConstant:i32<12>, Register:i64 %RDX, TargetConstant:i32<12>, Register:i32 %EFLAGS, 0x55ba353837c0:1
kem.c: 0x55ba35385fa0: i64 = TargetExternalSymbol'xor %edx, %edx;
kem.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aes-ni-only

Compiler output

Implementation: T:aes-ni-only
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.c: fatal error: error in backend: Cannot select: 0x55f8eb0159f0: v64i8 = X86ISD::VBROADCAST 0x55f8eb015790
kem.c: 0x55f8eb015790: i8,ch,glue = CopyFromReg 0x55f8eafce990, Register:i8 %vreg40, 0x55f8eafce990:1
kem.c: 0x55f8eb0181d0: i8 = Register %vreg40
kem.c: 0x55f8eafce990: ch,glue = inlineasm 0x55f8eb014190, TargetExternalSymbol:i64'', MDNode:ch<null>, TargetConstant:i64<0>, TargetConstant:i32<65546>, Register:i8 %vreg40, TargetConstant:i32<-2147483639>, Register:i8 %vreg41, TargetConstant:i32<12>, Register:i32 %EFLAGS, 0x55f8eb014190:1
kem.c: 0x55f8eb0190b0: i64 = TargetExternalSymbol''
kem.c: 0x55f8eb0187c0: i64 = TargetConstant<0>
kem.c: 0x55f8eb019f90: i32 = TargetConstant<65546>
kem.c: 0x55f8eb0181d0: i8 = Register %vreg40
kem.c: 0x55f8eb018bf0: i32 = TargetConstant<-2147483639>
kem.c: 0x55f8eb014f40: i8 = Register %vreg41
kem.c: 0x55f8eafbd1f0: i32 = TargetConstant<12>
kem.c: 0x55f8eaf9cc80: i32 = Register %EFLAGS
kem.c: 0x55f8eb014190: ch,glue = CopyToReg 0x55f8eb018690:1, Register:i8 %vreg41, 0x55f8eaf9cb50
kem.c: 0x55f8eb014f40: i8 = Register %vreg41
kem.c: 0x55f8eaf9cb50: i8 = truncate 0x55f8eb0158c0
kem.c: 0x55f8eb0158c0: i32 = xor 0x55f8eb018690, Constant:i32<-1>
kem.c: 0x55f8eb018690: i32,ch,glue = CopyFromReg 0x55f8eb0168d0, Register:i32 %vreg35, 0x55f8eb0168d0:1
kem.c: 0x55f8eafbe6c0: i32 = Register %vreg35
kem.c: 0x55f8eb0168d0: ch,glue = inlineasm 0x55f8eb016a00, TargetExternalSymbol:i64'xor %edx, %edx;
kem.c: cmp $1, $2;
kem.c: setl %dl;
kem.c: dec %edx;
kem.c: mov %edx, $0;
kem.c: ', MDNode:ch<0x55f8eae9a688>, TargetConstant:i64<1>, TargetConstant:i32<1441802>, Register:i32 %vreg35, TargetConstant:i32<1441801>, Register:i32 %vreg36, TargetConstant:i32<1441801>, Register:i32 %vreg37, TargetConstant:i32<12>, Register:i64 %RDX, TargetConstant:i32<12>, Register:i32 %EFLAGS, 0x55f8eb016a00:1
kem.c: 0x55f8eb0191e0: i64 = TargetExternalSymbol'xor %edx, %edx;
kem.c: ...

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

Compiler output

Implementation: T:aes-ni-only
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.c: fatal error: error in backend: Cannot select: 0x56292d5c6ec0: v64i8 = X86ISD::VBROADCAST 0x56292d5c6c60
kem.c: 0x56292d5c6c60: i8,ch,glue = CopyFromReg 0x56292d57bbf0, Register:i8 %vreg40, 0x56292d57bbf0:1
kem.c: 0x56292d5c96a0: i8 = Register %vreg40
kem.c: 0x56292d57bbf0: ch,glue = inlineasm 0x56292d5c5660, TargetExternalSymbol:i64'', MDNode:ch<null>, TargetConstant:i64<0>, TargetConstant:i32<65546>, Register:i8 %vreg40, TargetConstant:i32<-2147483639>, Register:i8 %vreg41, TargetConstant:i32<12>, Register:i32 %EFLAGS, 0x56292d5c5660:1
kem.c: 0x56292d5ca580: i64 = TargetExternalSymbol''
kem.c: 0x56292d5c9c90: i64 = TargetConstant<0>
kem.c: 0x56292d5cb460: i32 = TargetConstant<65546>
kem.c: 0x56292d5c96a0: i8 = Register %vreg40
kem.c: 0x56292d5ca0c0: i32 = TargetConstant<-2147483639>
kem.c: 0x56292d5c6410: i8 = Register %vreg41
kem.c: 0x56292d55fd10: i32 = TargetConstant<12>
kem.c: 0x56292d55f8e0: i32 = Register %EFLAGS
kem.c: 0x56292d5c5660: ch,glue = CopyToReg 0x56292d5c9b60:1, Register:i8 %vreg41, 0x56292d55f7b0
kem.c: 0x56292d5c6410: i8 = Register %vreg41
kem.c: 0x56292d55f7b0: i8 = truncate 0x56292d5c6d90
kem.c: 0x56292d5c6d90: i32 = xor 0x56292d5c9b60, Constant:i32<-1>
kem.c: 0x56292d5c9b60: i32,ch,glue = CopyFromReg 0x56292d5c7da0, Register:i32 %vreg35, 0x56292d5c7da0:1
kem.c: 0x56292d565700: i32 = Register %vreg35
kem.c: 0x56292d5c7da0: ch,glue = inlineasm 0x56292d5c7ed0, TargetExternalSymbol:i64'xor %edx, %edx;
kem.c: cmp $1, $2;
kem.c: setl %dl;
kem.c: dec %edx;
kem.c: mov %edx, $0;
kem.c: ', MDNode:ch<0x56292d44c668>, TargetConstant:i64<1>, TargetConstant:i32<1441802>, Register:i32 %vreg35, TargetConstant:i32<1441801>, Register:i32 %vreg36, TargetConstant:i32<1441801>, Register:i32 %vreg37, TargetConstant:i32<12>, Register:i64 %RDX, TargetConstant:i32<12>, Register:i32 %EFLAGS, 0x56292d5c7ed0:1
kem.c: 0x56292d5ca6b0: i64 = TargetExternalSymbol'xor %edx, %edx;
kem.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aes-ni-only

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
gf2x_ksqr_avx2.c: fatal error: error in backend: Cannot select: 0x556e1ed265a0: v32i1 = BUILD_VECTOR Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>
gf2x_ksqr_avx2.c: 0x556e1ed1f9f0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x556e1ed1c500: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x556e1ed1f9f0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x556e1ed1c500: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x556e1ed1f9f0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x556e1ed1c500: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x556e1ed1f9f0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x556e1ed1c500: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x556e1ed1f9f0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x556e1ed1c500: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x556e1ed1f9f0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x556e1ed1c500: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x556e1ed1f9f0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x556e1ed1c500: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x556e1ed1f9f0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x556e1ed1c500: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x556e1ed1f9f0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x556e1ed1c500: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x556e1ed1f9f0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x556e1ed1c500: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x556e1ed1f9f0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x556e1ed1c500: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x556e1ed1f9f0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x556e1ed1c500: i1 = Constant<0>
gf2x_ksqr_avx2.c: ...

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

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
gf2x_ksqr_avx2.c: fatal error: error in backend: Cannot select: 0x559e4319e770: v32i1 = BUILD_VECTOR Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>
gf2x_ksqr_avx2.c: 0x559e43197bc0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x559e431946d0: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x559e43197bc0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x559e431946d0: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x559e43197bc0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x559e431946d0: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x559e43197bc0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x559e431946d0: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x559e43197bc0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x559e431946d0: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x559e43197bc0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x559e431946d0: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x559e43197bc0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x559e431946d0: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x559e43197bc0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x559e431946d0: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x559e43197bc0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x559e431946d0: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x559e43197bc0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x559e431946d0: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x559e43197bc0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x559e431946d0: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x559e43197bc0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x559e431946d0: i1 = Constant<0>
gf2x_ksqr_avx2.c: ...

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

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
gf2x_ksqr_avx2.c: fatal error: error in backend: Cannot select: 0x562ab7289fc0: v32i1 = BUILD_VECTOR Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>
gf2x_ksqr_avx2.c: 0x562ab7283410: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x562ab727ff20: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x562ab7283410: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x562ab727ff20: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x562ab7283410: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x562ab727ff20: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x562ab7283410: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x562ab727ff20: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x562ab7283410: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x562ab727ff20: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x562ab7283410: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x562ab727ff20: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x562ab7283410: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x562ab727ff20: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x562ab7283410: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x562ab727ff20: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x562ab7283410: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x562ab727ff20: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x562ab7283410: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x562ab727ff20: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x562ab7283410: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x562ab727ff20: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x562ab7283410: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x562ab727ff20: i1 = Constant<0>
gf2x_ksqr_avx2.c: ...

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

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
gf2x_ksqr_avx2.c: fatal error: error in backend: Cannot select: 0x557f1a68ccb0: v32i1 = BUILD_VECTOR Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>, Constant:i1<-1>, Constant:i1<0>
gf2x_ksqr_avx2.c: 0x557f1a6981d0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x557f1a68d930: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x557f1a6981d0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x557f1a68d930: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x557f1a6981d0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x557f1a68d930: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x557f1a6981d0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x557f1a68d930: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x557f1a6981d0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x557f1a68d930: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x557f1a6981d0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x557f1a68d930: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x557f1a6981d0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x557f1a68d930: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x557f1a6981d0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x557f1a68d930: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x557f1a6981d0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x557f1a68d930: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x557f1a6981d0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x557f1a68d930: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x557f1a6981d0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x557f1a68d930: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x557f1a6981d0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x557f1a68d930: i1 = Constant<0>
gf2x_ksqr_avx2.c: ...

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

Compiler output

Implementation: T:avx512
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
decode.c: In file included from decode.c:39:
decode.c: ./gf2x.h:22:10: warning: implicit declaration of function '_mm512_loadu_si512' is invalid in C99 [-Wimplicit-function-declaration]
decode.c: va = LOAD(&a_qwords[i]);
decode.c: ^
decode.c: ./x86_64_intrinsic.h:40:27: note: expanded from macro 'LOAD'
decode.c: # define LOAD(mem) _mm512_loadu_si512((mem))
decode.c: ^
decode.c: In file included from decode.c:39:
decode.c: ./gf2x.h:22:8: error: assigning to '__m512i' (vector of 8 'long long' values) from incompatible type 'int'
decode.c: va = LOAD(&a_qwords[i]);
decode.c: ^ ~~~~~~~~~~~~~~~~~~
decode.c: ./gf2x.h:23:8: error: assigning to '__m512i' (vector of 8 'long long' values) from incompatible type 'int'
decode.c: vb = LOAD(&b_qwords[i]);
decode.c: ^ ~~~~~~~~~~~~~~~~~~
decode.c: ./gf2x.h:25:5: warning: implicit declaration of function '_mm512_storeu_si512' is invalid in C99 [-Wimplicit-function-declaration]
decode.c: STORE(&c_qwords[i], va ^ vb);
decode.c: ^
decode.c: ./x86_64_intrinsic.h:41:27: note: expanded from macro 'STORE'
decode.c: # define STORE(mem, reg) _mm512_storeu_si512((mem), (reg))
decode.c: ^
decode.c: 2 warnings and 2 errors generated.

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512-vpclmul
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512-vpclmul
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512-vpclmul
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512-vpclmul

Compiler output

Implementation: T:avx512
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
sampling_avx512.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/6/include/immintrin.h:45:0,
sampling_avx512.c: from x86_64_intrinsic.h:20,
sampling_avx512.c: from defs.h:103,
sampling_avx512.c: from sampling.h:9,
sampling_avx512.c: from sampling_avx512.c:10:
sampling_avx512.c: /usr/lib/gcc/x86_64-linux-gnu/6/include/avx512fintrin.h: In function 'secure_set_bits':
sampling_avx512.c: /usr/lib/gcc/x86_64-linux-gnu/6/include/avx512fintrin.h:918:10: error: the last argument must be an 8-bit immediate
sampling_avx512.c: return (__m512i) __builtin_ia32_psllqi512_mask ((__v8di) __A, __B,
sampling_avx512.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sampling_avx512.c: (__v8di)
sampling_avx512.c: ~~~~~~~~
sampling_avx512.c: _mm512_undefined_epi32 (),
sampling_avx512.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~
sampling_avx512.c: (__mmask8) -1);
sampling_avx512.c: ~~~~~~~~~~~~~~

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

Compiler output

Implementation: T:avx512-vpclmul
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
gf2x_mul_vpclmul.c: gf2x_mul_vpclmul.c:10:3: error: #error "Compiler does not support VPCLMULQDQ"
gf2x_mul_vpclmul.c: #error "Compiler does not support VPCLMULQDQ"
gf2x_mul_vpclmul.c: ^~~~~
gf2x_mul_vpclmul.c: gf2x_mul_vpclmul.c: In function 'mul2_512':
gf2x_mul_vpclmul.c: gf2x_mul_vpclmul.c:13:26: warning: implicit declaration of function '_mm512_clmulepi64_epi128' [-Wimplicit-function-declaration]
gf2x_mul_vpclmul.c: #define CLMUL(x, y, imm) _mm512_clmulepi64_epi128((x), (y), (imm))
gf2x_mul_vpclmul.c: ^
gf2x_mul_vpclmul.c: gf2x_mul_vpclmul.c:22:17: note: in expansion of macro 'CLMUL'
gf2x_mul_vpclmul.c: __m512i lq = CLMUL(a, b, 0x00);
gf2x_mul_vpclmul.c: ^~~~~
gf2x_mul_vpclmul.c: gf2x_mul_vpclmul.c:13:26: error: incompatible types when initializing type '__m512i {aka __vector(8) long long int}' using type 'int'
gf2x_mul_vpclmul.c: #define CLMUL(x, y, imm) _mm512_clmulepi64_epi128((x), (y), (imm))
gf2x_mul_vpclmul.c: ^
gf2x_mul_vpclmul.c: gf2x_mul_vpclmul.c:22:17: note: in expansion of macro 'CLMUL'
gf2x_mul_vpclmul.c: __m512i lq = CLMUL(a, b, 0x00);
gf2x_mul_vpclmul.c: ^~~~~
gf2x_mul_vpclmul.c: gf2x_mul_vpclmul.c:13:26: error: incompatible types when initializing type '__m512i {aka __vector(8) long long int}' using type 'int'
gf2x_mul_vpclmul.c: #define CLMUL(x, y, imm) _mm512_clmulepi64_epi128((x), (y), (imm))
gf2x_mul_vpclmul.c: ^
gf2x_mul_vpclmul.c: gf2x_mul_vpclmul.c:23:17: note: in expansion of macro 'CLMUL'
gf2x_mul_vpclmul.c: __m512i hq = CLMUL(a, b, 0x11);
gf2x_mul_vpclmul.c: ^~~~~
gf2x_mul_vpclmul.c: gf2x_mul_vpclmul.c: In function 'gf2x_sqr':
gf2x_mul_vpclmul.c: gf2x_mul_vpclmul.c:121:9: error: incompatible types when assigning to type '__m512i {aka __vector(8) long long int}' from type 'int'
gf2x_mul_vpclmul.c: vr0 = CLMUL(va, va, 0x00);
gf2x_mul_vpclmul.c: ...

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

Compiler output

Implementation: T:portable
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.c: fatal error: error in backend: Cannot select: 0x55d6a20af020: v64i8 = X86ISD::VBROADCAST 0x55d6a20ab240
kem.c: 0x55d6a20ab240: i8,ch,glue = CopyFromReg 0x55d6a2024dc0, Register:i8 %vreg40, 0x55d6a2024dc0:1
kem.c: 0x55d6a203ea70: i8 = Register %vreg40
kem.c: 0x55d6a2024dc0: ch,glue = inlineasm 0x55d6a20ae730, TargetExternalSymbol:i64'', MDNode:ch<null>, TargetConstant:i64<0>, TargetConstant:i32<65546>, Register:i8 %vreg40, TargetConstant:i32<-2147483639>, Register:i8 %vreg41, TargetConstant:i32<12>, Register:i32 %EFLAGS, 0x55d6a20ae730:1
kem.c: 0x55d6a2085a50: i64 = TargetExternalSymbol''
kem.c: 0x55d6a20b1890: i64 = TargetConstant<0>
kem.c: 0x55d6a20af9a0: i32 = TargetConstant<65546>
kem.c: 0x55d6a203ea70: i8 = Register %vreg40
kem.c: 0x55d6a20b28a0: i32 = TargetConstant<-2147483639>
kem.c: 0x55d6a20ad130: i8 = Register %vreg41
kem.c: 0x55d6a20253b0: i32 = TargetConstant<12>
kem.c: 0x55d6a20b13d0: i32 = Register %EFLAGS
kem.c: 0x55d6a20ae730: ch,glue = CopyToReg 0x55d6a20a6210:1, Register:i8 %vreg41, 0x55d6a20264f0
kem.c: 0x55d6a20ad130: i8 = Register %vreg41
kem.c: 0x55d6a20264f0: i8 = truncate 0x55d6a20ae600
kem.c: 0x55d6a20ae600: i32 = xor 0x55d6a20a6210, Constant:i32<-1>
kem.c: 0x55d6a20a6210: i32,ch,glue = CopyFromReg 0x55d6a20ad000, Register:i32 %vreg35, 0x55d6a20ad000:1
kem.c: 0x55d6a20b23e0: i32 = Register %vreg35
kem.c: 0x55d6a20ad000: ch,glue = inlineasm 0x55d6a205b5b0, TargetExternalSymbol:i64'xor %edx, %edx;
kem.c: cmp $1, $2;
kem.c: setl %dl;
kem.c: dec %edx;
kem.c: mov %edx, $0;
kem.c: ', MDNode:ch<0x55d6a1efe2c8>, TargetConstant:i64<1>, TargetConstant:i32<1441802>, Register:i32 %vreg35, TargetConstant:i32<1441801>, Register:i32 %vreg36, TargetConstant:i32<1441801>, Register:i32 %vreg37, TargetConstant:i32<12>, Register:i64 %RDX, TargetConstant:i32<12>, Register:i32 %EFLAGS, 0x55d6a205b5b0:1
kem.c: 0x55d6a20a3ad0: i64 = TargetExternalSymbol'xor %edx, %edx;
kem.c: ...

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

Compiler output

Implementation: T:portable
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.c: fatal error: error in backend: Cannot select: 0x564dc5e9f140: v64i8 = X86ISD::VBROADCAST 0x564dc5e9b360
kem.c: 0x564dc5e9b360: i8,ch,glue = CopyFromReg 0x564dc5e327f0, Register:i8 %vreg40, 0x564dc5e327f0:1
kem.c: 0x564dc5e12fa0: i8 = Register %vreg40
kem.c: 0x564dc5e327f0: ch,glue = inlineasm 0x564dc5e9e850, TargetExternalSymbol:i64'', MDNode:ch<null>, TargetConstant:i64<0>, TargetConstant:i32<65546>, Register:i8 %vreg40, TargetConstant:i32<-2147483639>, Register:i8 %vreg41, TargetConstant:i32<12>, Register:i32 %EFLAGS, 0x564dc5e9e850:1
kem.c: 0x564dc5e5bbe0: i64 = TargetExternalSymbol''
kem.c: 0x564dc5ea19b0: i64 = TargetConstant<0>
kem.c: 0x564dc5e9fac0: i32 = TargetConstant<65546>
kem.c: 0x564dc5e12fa0: i8 = Register %vreg40
kem.c: 0x564dc5ea29c0: i32 = TargetConstant<-2147483639>
kem.c: 0x564dc5e9d250: i8 = Register %vreg41
kem.c: 0x564dc5e32de0: i32 = TargetConstant<12>
kem.c: 0x564dc5ea14f0: i32 = Register %EFLAGS
kem.c: 0x564dc5e9e850: ch,glue = CopyToReg 0x564dc5e96330:1, Register:i8 %vreg41, 0x564dc5e4e950
kem.c: 0x564dc5e9d250: i8 = Register %vreg41
kem.c: 0x564dc5e4e950: i8 = truncate 0x564dc5e9e720
kem.c: 0x564dc5e9e720: i32 = xor 0x564dc5e96330, Constant:i32<-1>
kem.c: 0x564dc5e96330: i32,ch,glue = CopyFromReg 0x564dc5e9d120, Register:i32 %vreg35, 0x564dc5e9d120:1
kem.c: 0x564dc5ea2500: i32 = Register %vreg35
kem.c: 0x564dc5e9d120: ch,glue = inlineasm 0x564dc5e749d0, TargetExternalSymbol:i64'xor %edx, %edx;
kem.c: cmp $1, $2;
kem.c: setl %dl;
kem.c: dec %edx;
kem.c: mov %edx, $0;
kem.c: ', MDNode:ch<0x564dc5ced2c8>, TargetConstant:i64<1>, TargetConstant:i32<1441802>, Register:i32 %vreg35, TargetConstant:i32<1441801>, Register:i32 %vreg36, TargetConstant:i32<1441801>, Register:i32 %vreg37, TargetConstant:i32<12>, Register:i64 %RDX, TargetConstant:i32<12>, Register:i32 %EFLAGS, 0x564dc5e749d0:1
kem.c: 0x564dc5e93bf0: i64 = TargetExternalSymbol'xor %edx, %edx;
kem.c: ...

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

Compiler output

Implementation: T:portable
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.c: fatal error: error in backend: Cannot select: 0x56254a853090: v64i8 = X86ISD::VBROADCAST 0x56254a84f2b0
kem.c: 0x56254a84f2b0: i8,ch,glue = CopyFromReg 0x56254a7ff110, Register:i8 %vreg40, 0x56254a7ff110:1
kem.c: 0x56254a7cda00: i8 = Register %vreg40
kem.c: 0x56254a7ff110: ch,glue = inlineasm 0x56254a8527a0, TargetExternalSymbol:i64'', MDNode:ch<null>, TargetConstant:i64<0>, TargetConstant:i32<65546>, Register:i8 %vreg40, TargetConstant:i32<-2147483639>, Register:i8 %vreg41, TargetConstant:i32<12>, Register:i32 %EFLAGS, 0x56254a8527a0:1
kem.c: 0x56254a7fb7f0: i64 = TargetExternalSymbol''
kem.c: 0x56254a855900: i64 = TargetConstant<0>
kem.c: 0x56254a853a10: i32 = TargetConstant<65546>
kem.c: 0x56254a7cda00: i8 = Register %vreg40
kem.c: 0x56254a856910: i32 = TargetConstant<-2147483639>
kem.c: 0x56254a8511a0: i8 = Register %vreg41
kem.c: 0x56254a7ff700: i32 = TargetConstant<12>
kem.c: 0x56254a855440: i32 = Register %EFLAGS
kem.c: 0x56254a8527a0: ch,glue = CopyToReg 0x56254a84a280:1, Register:i8 %vreg41, 0x56254a800840
kem.c: 0x56254a8511a0: i8 = Register %vreg41
kem.c: 0x56254a800840: i8 = truncate 0x56254a852670
kem.c: 0x56254a852670: i32 = xor 0x56254a84a280, Constant:i32<-1>
kem.c: 0x56254a84a280: i32,ch,glue = CopyFromReg 0x56254a851070, Register:i32 %vreg35, 0x56254a851070:1
kem.c: 0x56254a856450: i32 = Register %vreg35
kem.c: 0x56254a851070: ch,glue = inlineasm 0x56254a806af0, TargetExternalSymbol:i64'xor %edx, %edx;
kem.c: cmp $1, $2;
kem.c: setl %dl;
kem.c: dec %edx;
kem.c: mov %edx, $0;
kem.c: ', MDNode:ch<0x56254a6a22c8>, TargetConstant:i64<1>, TargetConstant:i32<1441802>, Register:i32 %vreg35, TargetConstant:i32<1441801>, Register:i32 %vreg36, TargetConstant:i32<1441801>, Register:i32 %vreg37, TargetConstant:i32<12>, Register:i64 %RDX, TargetConstant:i32<12>, Register:i32 %EFLAGS, 0x56254a806af0:1
kem.c: 0x56254a847b40: i64 = TargetExternalSymbol'xor %edx, %edx;
kem.c: ...

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