Implementation notes: amd64, cel02, crypto_kem/bikel3

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: bikel3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1319985239492 64 469261 904 1644T:avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1636540830589 64 456677 904 1612T:avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2849437231788 64 458365 904 1612T:avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2915737613620 56 438797 888 1580T:aes-ni-and-pclmulgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3698293868785 56 498557 896 1644T:aes-ni-and-pclmulgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4548464214973 64 440149 896 1580T:avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5017012865656 56 495453 896 1644T:aes-ni-onlygcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5214621829692 56 456165 896 1612T:aes-ni-and-pclmulgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5451643829138 56 455141 896 1612T:aes-ni-and-pclmulgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5545884226922 48 454031 944 1612T:portablegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5689504414866 56 439768 864 1580T:aes-ni-and-pclmulclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
9271301662219 48 492551 944 1644T:portablegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
10263917211848 48 437350 912 1580T:portableclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
10433717226066 48 452711 944 1612T:portablegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
10552268429923 56 456397 896 1612T:aes-ni-onlygcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
10643749410954 48 436623 936 1580T:portablegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
10727268629015 56 455005 896 1612T:aes-ni-onlygcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
11412830414013 56 438856 864 1580T:aes-ni-onlyclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
11722017613194 56 438301 888 1580T:aes-ni-onlygcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
12780884022030 48 449460 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: 0x55a14dc3cf60: v64i8 = X86ISD::VBROADCAST 0x55a14dc515e0
kem.c: 0x55a14dc515e0: i8,ch,glue = CopyFromReg 0x55a14dc462d0, Register:i8 %vreg40, 0x55a14dc462d0:1
kem.c: 0x55a14dc66d20: i8 = Register %vreg40
kem.c: 0x55a14dc462d0: ch,glue = inlineasm 0x55a14dc63b00, 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, 0x55a14dc63b00:1
kem.c: 0x55a14dc73e70: i64 = TargetExternalSymbol''
kem.c: 0x55a14dc74af0: i64 = TargetConstant<0>
kem.c: 0x55a14dc66730: i32 = TargetConstant<65546>
kem.c: 0x55a14dc66d20: i8 = Register %vreg40
kem.c: 0x55a14dc3ce30: i32 = TargetConstant<-2147483639>
kem.c: 0x55a14dc51aa0: i8 = Register %vreg41
kem.c: 0x55a14dc51840: i32 = TargetConstant<12>
kem.c: 0x55a14dc65980: i32 = Register %EFLAGS
kem.c: 0x55a14dc63b00: ch,glue = CopyToReg 0x55a14dc73ae0:1, Register:i8 %vreg41, 0x55a14dc66990
kem.c: 0x55a14dc51aa0: i8 = Register %vreg41
kem.c: 0x55a14dc66990: i8 = truncate 0x55a14dc75930
kem.c: 0x55a14dc75930: i32 = xor 0x55a14dc73ae0, Constant:i32<-1>
kem.c: 0x55a14dc73ae0: i32,ch,glue = CopyFromReg 0x55a14dc66600, Register:i32 %vreg35, 0x55a14dc66600:1
kem.c: 0x55a14dc51710: i32 = Register %vreg35
kem.c: 0x55a14dc66600: ch,glue = inlineasm 0x55a14dc514b0, 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<0x55a14db46268>, 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, 0x55a14dc514b0:1
kem.c: 0x55a14dc65e40: 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: 0x5612d3ae6500: v64i8 = X86ISD::VBROADCAST 0x5612d3ae3970
kem.c: 0x5612d3ae3970: i8,ch,glue = CopyFromReg 0x5612d3add770, Register:i8 %vreg40, 0x5612d3add770:1
kem.c: 0x5612d3af2d70: i8 = Register %vreg40
kem.c: 0x5612d3add770: ch,glue = inlineasm 0x5612d3aed2a0, 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, 0x5612d3aed2a0:1
kem.c: 0x5612d3afde50: i64 = TargetExternalSymbol''
kem.c: 0x5612d3afead0: i64 = TargetConstant<0>
kem.c: 0x5612d3af2780: i32 = TargetConstant<65546>
kem.c: 0x5612d3af2d70: i8 = Register %vreg40
kem.c: 0x5612d3ae63d0: i32 = TargetConstant<-2147483639>
kem.c: 0x5612d3ae3e30: i8 = Register %vreg41
kem.c: 0x5612d3ae3bd0: i32 = TargetConstant<12>
kem.c: 0x5612d3af19d0: i32 = Register %EFLAGS
kem.c: 0x5612d3aed2a0: ch,glue = CopyToReg 0x5612d3afdac0:1, Register:i8 %vreg41, 0x5612d3af29e0
kem.c: 0x5612d3ae3e30: i8 = Register %vreg41
kem.c: 0x5612d3af29e0: i8 = truncate 0x5612d3aff910
kem.c: 0x5612d3aff910: i32 = xor 0x5612d3afdac0, Constant:i32<-1>
kem.c: 0x5612d3afdac0: i32,ch,glue = CopyFromReg 0x5612d3af2650, Register:i32 %vreg35, 0x5612d3af2650:1
kem.c: 0x5612d3ae3aa0: i32 = Register %vreg35
kem.c: 0x5612d3af2650: ch,glue = inlineasm 0x5612d3ae3840, 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<0x5612d39d9268>, 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, 0x5612d3ae3840:1
kem.c: 0x5612d3af1e90: 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: 0x55b7018f2de0: v64i8 = X86ISD::VBROADCAST 0x55b7018f58c0
kem.c: 0x55b7018f58c0: i8,ch,glue = CopyFromReg 0x55b7018c1910, Register:i8 %vreg40, 0x55b7018c1910:1
kem.c: 0x55b7018bb3a0: i8 = Register %vreg40
kem.c: 0x55b7018c1910: ch,glue = inlineasm 0x55b7018ce980, 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, 0x55b7018ce980:1
kem.c: 0x55b7018eae00: i64 = TargetExternalSymbol''
kem.c: 0x55b7018eba80: i64 = TargetConstant<0>
kem.c: 0x55b7018badb0: i32 = TargetConstant<65546>
kem.c: 0x55b7018bb3a0: i8 = Register %vreg40
kem.c: 0x55b7018f2cb0: i32 = TargetConstant<-2147483639>
kem.c: 0x55b7018f5d80: i8 = Register %vreg41
kem.c: 0x55b7018f5b20: i32 = TargetConstant<12>
kem.c: 0x55b7018bd160: i32 = Register %EFLAGS
kem.c: 0x55b7018ce980: ch,glue = CopyToReg 0x55b7018eaa70:1, Register:i8 %vreg41, 0x55b7018bb010
kem.c: 0x55b7018f5d80: i8 = Register %vreg41
kem.c: 0x55b7018bb010: i8 = truncate 0x55b7018ec8c0
kem.c: 0x55b7018ec8c0: i32 = xor 0x55b7018eaa70, Constant:i32<-1>
kem.c: 0x55b7018eaa70: i32,ch,glue = CopyFromReg 0x55b7018bac80, Register:i32 %vreg35, 0x55b7018bac80:1
kem.c: 0x55b7018f59f0: i32 = Register %vreg35
kem.c: 0x55b7018bac80: ch,glue = inlineasm 0x55b7018f5790, 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<0x55b7017cb218>, 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, 0x55b7018f5790:1
kem.c: 0x55b7018bd620: 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: 0x5639f7b957d0: v64i8 = X86ISD::VBROADCAST 0x5639f7bbe790
kem.c: 0x5639f7bbe790: i8,ch,glue = CopyFromReg 0x5639f7bc58e0, Register:i8 %vreg40, 0x5639f7bc58e0:1
kem.c: 0x5639f7bbd9e0: i8 = Register %vreg40
kem.c: 0x5639f7bc58e0: ch,glue = inlineasm 0x5639f7bc8c70, 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, 0x5639f7bc8c70:1
kem.c: 0x5639f7ba2fd0: i64 = TargetExternalSymbol''
kem.c: 0x5639f7ba3c50: i64 = TargetConstant<0>
kem.c: 0x5639f7bbd3f0: i32 = TargetConstant<65546>
kem.c: 0x5639f7bbd9e0: i8 = Register %vreg40
kem.c: 0x5639f7b956a0: i32 = TargetConstant<-2147483639>
kem.c: 0x5639f7bbec50: i8 = Register %vreg41
kem.c: 0x5639f7bbe9f0: i32 = TargetConstant<12>
kem.c: 0x5639f7bbc640: i32 = Register %EFLAGS
kem.c: 0x5639f7bc8c70: ch,glue = CopyToReg 0x5639f7ba2c40:1, Register:i8 %vreg41, 0x5639f7bbd650
kem.c: 0x5639f7bbec50: i8 = Register %vreg41
kem.c: 0x5639f7bbd650: i8 = truncate 0x5639f7ba4a90
kem.c: 0x5639f7ba4a90: i32 = xor 0x5639f7ba2c40, Constant:i32<-1>
kem.c: 0x5639f7ba2c40: i32,ch,glue = CopyFromReg 0x5639f7bbd2c0, Register:i32 %vreg35, 0x5639f7bbd2c0:1
kem.c: 0x5639f7bbe8c0: i32 = Register %vreg35
kem.c: 0x5639f7bbd2c0: ch,glue = inlineasm 0x5639f7bbe660, 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<0x5639f7aa0238>, 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, 0x5639f7bbe660:1
kem.c: 0x5639f7bbcb00: 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: 0x558c41529790: v64i8 = X86ISD::VBROADCAST 0x558c41545d10
kem.c: 0x558c41545d10: i8,ch,glue = CopyFromReg 0x558c4155f540, Register:i8 %vreg40, 0x558c4155f540:1
kem.c: 0x558c41544f60: i8 = Register %vreg40
kem.c: 0x558c4155f540: ch,glue = inlineasm 0x558c415764f0, 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, 0x558c415764f0:1
kem.c: 0x558c41567bc0: i64 = TargetExternalSymbol''
kem.c: 0x558c41568840: i64 = TargetConstant<0>
kem.c: 0x558c41544970: i32 = TargetConstant<65546>
kem.c: 0x558c41544f60: i8 = Register %vreg40
kem.c: 0x558c41529660: i32 = TargetConstant<-2147483639>
kem.c: 0x558c415461d0: i8 = Register %vreg41
kem.c: 0x558c41545f70: i32 = TargetConstant<12>
kem.c: 0x558c41543bc0: i32 = Register %EFLAGS
kem.c: 0x558c415764f0: ch,glue = CopyToReg 0x558c41567830:1, Register:i8 %vreg41, 0x558c41544bd0
kem.c: 0x558c415461d0: i8 = Register %vreg41
kem.c: 0x558c41544bd0: i8 = truncate 0x558c41569680
kem.c: 0x558c41569680: i32 = xor 0x558c41567830, Constant:i32<-1>
kem.c: 0x558c41567830: i32,ch,glue = CopyFromReg 0x558c41544840, Register:i32 %vreg35, 0x558c41544840:1
kem.c: 0x558c41545e40: i32 = Register %vreg35
kem.c: 0x558c41544840: ch,glue = inlineasm 0x558c41545be0, 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<0x558c4144d0b8>, 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, 0x558c41545be0:1
kem.c: 0x558c41544080: 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: 0x5587cfd0f250: v64i8 = X86ISD::VBROADCAST 0x5587cfce2570
kem.c: 0x5587cfce2570: i8,ch,glue = CopyFromReg 0x5587cfceb710, Register:i8 %vreg40, 0x5587cfceb710:1
kem.c: 0x5587cfce17c0: i8 = Register %vreg40
kem.c: 0x5587cfceb710: ch,glue = inlineasm 0x5587cfcde780, 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, 0x5587cfcde780:1
kem.c: 0x5587cfd06bd0: i64 = TargetExternalSymbol''
kem.c: 0x5587cfd07850: i64 = TargetConstant<0>
kem.c: 0x5587cfce11d0: i32 = TargetConstant<65546>
kem.c: 0x5587cfce17c0: i8 = Register %vreg40
kem.c: 0x5587cfd0f120: i32 = TargetConstant<-2147483639>
kem.c: 0x5587cfce2a30: i8 = Register %vreg41
kem.c: 0x5587cfce27d0: i32 = TargetConstant<12>
kem.c: 0x5587cfcec390: i32 = Register %EFLAGS
kem.c: 0x5587cfcde780: ch,glue = CopyToReg 0x5587cfd06840:1, Register:i8 %vreg41, 0x5587cfce1430
kem.c: 0x5587cfce2a30: i8 = Register %vreg41
kem.c: 0x5587cfce1430: i8 = truncate 0x5587cfd08690
kem.c: 0x5587cfd08690: i32 = xor 0x5587cfd06840, Constant:i32<-1>
kem.c: 0x5587cfd06840: i32,ch,glue = CopyFromReg 0x5587cfce10a0, Register:i32 %vreg35, 0x5587cfce10a0:1
kem.c: 0x5587cfce26a0: i32 = Register %vreg35
kem.c: 0x5587cfce10a0: ch,glue = inlineasm 0x5587cfce2440, 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<0x5587cfbe70c8>, 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, 0x5587cfce2440:1
kem.c: 0x5587cfcec850: 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: 0x55ab36ea5040: 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: 0x55ab36ebddb0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55ab36eb8050: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55ab36ebddb0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55ab36eb8050: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55ab36ebddb0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55ab36eb8050: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55ab36ebddb0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55ab36eb8050: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55ab36ebddb0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55ab36eb8050: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55ab36ebddb0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55ab36eb8050: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55ab36ebddb0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55ab36eb8050: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55ab36ebddb0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55ab36eb8050: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55ab36ebddb0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55ab36eb8050: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55ab36ebddb0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55ab36eb8050: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55ab36ebddb0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55ab36eb8050: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55ab36ebddb0: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55ab36eb8050: 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: 0x5555c3c08050: 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: 0x5555c3c1fd90: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5555c3c1a030: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5555c3c1fd90: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5555c3c1a030: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5555c3c1fd90: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5555c3c1a030: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5555c3c1fd90: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5555c3c1a030: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5555c3c1fd90: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5555c3c1a030: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5555c3c1fd90: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5555c3c1a030: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5555c3c1fd90: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5555c3c1a030: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5555c3c1fd90: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5555c3c1a030: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5555c3c1fd90: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5555c3c1a030: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5555c3c1fd90: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5555c3c1a030: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5555c3c1fd90: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5555c3c1a030: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5555c3c1fd90: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5555c3c1a030: 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: 0x55a15e865210: 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: 0x55a15e87df80: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55a15e878220: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55a15e87df80: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55a15e878220: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55a15e87df80: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55a15e878220: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55a15e87df80: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55a15e878220: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55a15e87df80: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55a15e878220: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55a15e87df80: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55a15e878220: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55a15e87df80: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55a15e878220: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55a15e87df80: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55a15e878220: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55a15e87df80: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55a15e878220: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55a15e87df80: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55a15e878220: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55a15e87df80: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55a15e878220: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x55a15e87df80: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x55a15e878220: 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: 0x5624344f04b0: 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: 0x5624344f1260: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5624344df740: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5624344f1260: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5624344df740: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5624344f1260: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5624344df740: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5624344f1260: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5624344df740: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5624344f1260: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5624344df740: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5624344f1260: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5624344df740: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5624344f1260: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5624344df740: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5624344f1260: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5624344df740: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5624344f1260: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5624344df740: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5624344f1260: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5624344df740: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5624344f1260: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5624344df740: i1 = Constant<0>
gf2x_ksqr_avx2.c: 0x5624344f1260: i1 = Constant<-1>
gf2x_ksqr_avx2.c: 0x5624344df740: 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: 0x55d68110b230: v64i8 = X86ISD::VBROADCAST 0x55d68111dc20
kem.c: 0x55d68111dc20: i8,ch,glue = CopyFromReg 0x55d6811444a0, Register:i8 %vreg40, 0x55d6811444a0:1
kem.c: 0x55d68110b100: i8 = Register %vreg40
kem.c: 0x55d6811444a0: ch,glue = inlineasm 0x55d68110a9e0, 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, 0x55d68110a9e0:1
kem.c: 0x55d6811139f0: i64 = TargetExternalSymbol''
kem.c: 0x55d68111d760: i64 = TargetConstant<0>
kem.c: 0x55d681143490: i32 = TargetConstant<65546>
kem.c: 0x55d68110b100: i8 = Register %vreg40
kem.c: 0x55d681113d80: i32 = TargetConstant<-2147483639>
kem.c: 0x55d681148e50: i8 = Register %vreg41
kem.c: 0x55d68110e150: i32 = TargetConstant<12>
kem.c: 0x55d68110e020: i32 = Register %EFLAGS
kem.c: 0x55d68110a9e0: ch,glue = CopyToReg 0x55d68110f290:1, Register:i8 %vreg41, 0x55d6811435c0
kem.c: 0x55d681148e50: i8 = Register %vreg41
kem.c: 0x55d6811435c0: i8 = truncate 0x55d68110ddc0
kem.c: 0x55d68110ddc0: i32 = xor 0x55d68110f290, Constant:i32<-1>
kem.c: 0x55d68110f290: i32,ch,glue = CopyFromReg 0x55d681143950, Register:i32 %vreg35, 0x55d681143950:1
kem.c: 0x55d681109d60: i32 = Register %vreg35
kem.c: 0x55d681143950: ch,glue = inlineasm 0x55d68110db60, 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<0x55d680fdf418>, 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, 0x55d68110db60:1
kem.c: 0x55d68110a220: 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: 0x56120c99d140: v64i8 = X86ISD::VBROADCAST 0x56120c994d20
kem.c: 0x56120c994d20: i8,ch,glue = CopyFromReg 0x56120c96d260, Register:i8 %vreg40, 0x56120c96d260:1
kem.c: 0x56120c99d010: i8 = Register %vreg40
kem.c: 0x56120c96d260: ch,glue = inlineasm 0x56120c99c8f0, 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, 0x56120c99c8f0:1
kem.c: 0x56120c970a50: i64 = TargetExternalSymbol''
kem.c: 0x56120c994860: i64 = TargetConstant<0>
kem.c: 0x56120c96c250: i32 = TargetConstant<65546>
kem.c: 0x56120c99d010: i8 = Register %vreg40
kem.c: 0x56120c970de0: i32 = TargetConstant<-2147483639>
kem.c: 0x56120c9844c0: i8 = Register %vreg41
kem.c: 0x56120c99dc90: i32 = TargetConstant<12>
kem.c: 0x56120c99db60: i32 = Register %EFLAGS
kem.c: 0x56120c99c8f0: ch,glue = CopyToReg 0x56120c980740:1, Register:i8 %vreg41, 0x56120c96c380
kem.c: 0x56120c9844c0: i8 = Register %vreg41
kem.c: 0x56120c96c380: i8 = truncate 0x56120c99d900
kem.c: 0x56120c99d900: i32 = xor 0x56120c980740, Constant:i32<-1>
kem.c: 0x56120c980740: i32,ch,glue = CopyFromReg 0x56120c96c710, Register:i32 %vreg35, 0x56120c96c710:1
kem.c: 0x56120c99bc70: i32 = Register %vreg35
kem.c: 0x56120c96c710: ch,glue = inlineasm 0x56120c99d6a0, 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<0x56120c838418>, 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, 0x56120c99d6a0:1
kem.c: 0x56120c99c130: 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: 0x56008d708b00: v64i8 = X86ISD::VBROADCAST 0x56008d6ccff0
kem.c: 0x56008d6ccff0: i8,ch,glue = CopyFromReg 0x56008d6d38f0, Register:i8 %vreg40, 0x56008d6d38f0:1
kem.c: 0x56008d7089d0: i8 = Register %vreg40
kem.c: 0x56008d6d38f0: ch,glue = inlineasm 0x56008d7082b0, 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, 0x56008d7082b0:1
kem.c: 0x56008d704ca0: i64 = TargetExternalSymbol''
kem.c: 0x56008d6ccb30: i64 = TargetConstant<0>
kem.c: 0x56008d6d6a90: i32 = TargetConstant<65546>
kem.c: 0x56008d7089d0: i8 = Register %vreg40
kem.c: 0x56008d705030: i32 = TargetConstant<-2147483639>
kem.c: 0x56008d714a50: i8 = Register %vreg41
kem.c: 0x56008d6efa20: i32 = TargetConstant<12>
kem.c: 0x56008d6ef8f0: i32 = Register %EFLAGS
kem.c: 0x56008d7082b0: ch,glue = CopyToReg 0x56008d6f0b60:1, Register:i8 %vreg41, 0x56008d6d6bc0
kem.c: 0x56008d714a50: i8 = Register %vreg41
kem.c: 0x56008d6d6bc0: i8 = truncate 0x56008d6ef690
kem.c: 0x56008d6ef690: i32 = xor 0x56008d6f0b60, Constant:i32<-1>
kem.c: 0x56008d6f0b60: i32,ch,glue = CopyFromReg 0x56008d6d6f50, Register:i32 %vreg35, 0x56008d6d6f50:1
kem.c: 0x56008d707630: i32 = Register %vreg35
kem.c: 0x56008d6d6f50: ch,glue = inlineasm 0x56008d6ef430, 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<0x56008d5a7418>, 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, 0x56008d6ef430:1
kem.c: 0x56008d707af0: 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