Implementation notes: amd64, cel02, crypto_sign/rainbow5ccompres963664

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sign
Primitive: rainbow5ccompres963664
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
305034656168293 0 0223158 928 1720T:amd64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
32247405653217 8 0100014 928 1656T:ssse3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
32951128297960 8 0138254 936 1688T:ssse3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
33216458054365 0 0105105 896 1656T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
338972552167747 8 0188158 936 1720T:ssse3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
33973703696766 8 0136310 936 1688T:ssse3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
34436743084557 8 0124593 904 1656T:ssse3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
346615952103743 8 0143049 904 1656T:avx2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
436875106116833 0 0167871 904 1656T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
448503932126579 0 0178631 904 1656T:amd64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
52396329067030 0 0117785 896 1656T:amd64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
52941924694530 0 0146734 928 1688T:amd64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
53491133695708 0 0147590 928 1688T:amd64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
573401268128133 0 0183038 928 1720T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
57693797658946 0 0111182 928 1688T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
61326052059687 0 0111558 928 1688T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
79813125431657 0 083054 920 1656T:amd64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
81108008228027 0 079238 920 1656T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:amd64
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: 0x558d8ae67840: v4i64 = X86ISD::VTRUNC 0x558d8ae67710
try.c: 0x558d8ae67710: v16i32 = vselect 0x558d8ae53750, 0x558d8adf43b0, 0x558d8ae675e0
try.c: 0x558d8ae53750: v4i1 = X86ISD::PCMPGTM 0x558d8ae47e70, 0x558d8ae43a00
try.c: 0x558d8ae47e70: v4i64 = X86ISD::VBROADCAST 0x558d8adf5fa0
try.c: 0x558d8adf5fa0: i64,ch = load<LD8[%lsr.iv6971]> 0x558d8ad58960, 0x558d8ae3a6b0, undef:i64
try.c: 0x558d8ae3a6b0: i64,ch = CopyFromReg 0x558d8ad58960, Register:i64 %vreg50
try.c: 0x558d8ae43c60: i64 = Register %vreg50
try.c: 0x558d8adf2a20: i64 = undef
try.c: 0x558d8ae43a00: v4i64,ch = CopyFromReg 0x558d8ad58960, Register:v4i64 %vreg13
try.c: 0x558d8ae486c0: v4i64 = Register %vreg13
try.c: 0x558d8adf43b0: v16i32 = X86ISD::VBROADCAST 0x558d8ae480d0
try.c: 0x558d8ae480d0: i32,ch = load<LD4[ConstantPool]> 0x558d8ad58960, 0x558d8adf5580, undef:i64
try.c: 0x558d8adf5580: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x558d8adec040: i64 = TargetConstantPool<i32 1> 0
try.c: 0x558d8adf2a20: i64 = undef
try.c: 0x558d8ae675e0: 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: 0x558d8ae674b0: i32 = Constant<0>
try.c: 0x558d8ae674b0: i32 = Constant<0>
try.c: 0x558d8ae674b0: i32 = Constant<0>
try.c: 0x558d8ae674b0: i32 = Constant<0>
try.c: 0x558d8ae674b0: i32 = Constant<0>
try.c: 0x558d8ae674b0: i32 = Constant<0>
try.c: 0x558d8ae674b0: i32 = Constant<0>
try.c: 0x558d8ae674b0: i32 = Constant<0>
try.c: 0x558d8ae674b0: 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:amd64

Compiler output

Implementation: T:amd64
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: 0x5557d2f33e60: v4i64 = X86ISD::VTRUNC 0x5557d2f33d30
try.c: 0x5557d2f33d30: v16i32 = vselect 0x5557d2f26090, 0x5557d2ebcb90, 0x5557d2f33c00
try.c: 0x5557d2f26090: v4i1 = X86ISD::PCMPGTM 0x5557d2f0feb0, 0x5557d2f0ba40
try.c: 0x5557d2f0feb0: v4i64 = X86ISD::VBROADCAST 0x5557d2ebd050
try.c: 0x5557d2ebd050: i64,ch = load<LD8[%lsr.iv6971]> 0x5557d2e09a40, 0x5557d2eac750, undef:i64
try.c: 0x5557d2eac750: i64,ch = CopyFromReg 0x5557d2e09a40, Register:i64 %vreg50
try.c: 0x5557d2f0bca0: i64 = Register %vreg50
try.c: 0x5557d2eb9720: i64 = undef
try.c: 0x5557d2f0ba40: v4i64,ch = CopyFromReg 0x5557d2e09a40, Register:v4i64 %vreg13
try.c: 0x5557d2f10700: v4i64 = Register %vreg13
try.c: 0x5557d2ebcb90: v16i32 = X86ISD::VBROADCAST 0x5557d2f10110
try.c: 0x5557d2f10110: i32,ch = load<LD4[ConstantPool]> 0x5557d2e09a40, 0x5557d2eaad20, undef:i64
try.c: 0x5557d2eaad20: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5557d2eba0a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5557d2eb9720: i64 = undef
try.c: 0x5557d2f33c00: 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: 0x5557d2f33ad0: i32 = Constant<0>
try.c: 0x5557d2f33ad0: i32 = Constant<0>
try.c: 0x5557d2f33ad0: i32 = Constant<0>
try.c: 0x5557d2f33ad0: i32 = Constant<0>
try.c: 0x5557d2f33ad0: i32 = Constant<0>
try.c: 0x5557d2f33ad0: i32 = Constant<0>
try.c: 0x5557d2f33ad0: i32 = Constant<0>
try.c: 0x5557d2f33ad0: i32 = Constant<0>
try.c: 0x5557d2f33ad0: 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:amd64

Compiler output

Implementation: T:amd64
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: 0x558a964011a0: v4i64 = X86ISD::VTRUNC 0x558a96401070
try.c: 0x558a96401070: v16i32 = vselect 0x558a96408c50, 0x558a963a2350, 0x558a96400f40
try.c: 0x558a96408c50: v4i1 = X86ISD::PCMPGTM 0x558a963e6820, 0x558a963e23b0
try.c: 0x558a963e6820: v4i64 = X86ISD::VBROADCAST 0x558a96386aa0
try.c: 0x558a96386aa0: i64,ch = load<LD8[%lsr.iv6971]> 0x558a962f7950, 0x558a963d2150, undef:i64
try.c: 0x558a963d2150: i64,ch = CopyFromReg 0x558a962f7950, Register:i64 %vreg50
try.c: 0x558a963e2610: i64 = Register %vreg50
try.c: 0x558a963a09c0: i64 = undef
try.c: 0x558a963e23b0: v4i64,ch = CopyFromReg 0x558a962f7950, Register:v4i64 %vreg13
try.c: 0x558a963e7070: v4i64 = Register %vreg13
try.c: 0x558a963a2350: v16i32 = X86ISD::VBROADCAST 0x558a963e6a80
try.c: 0x558a963e6a80: i32,ch = load<LD4[ConstantPool]> 0x558a962f7950, 0x558a96386080, undef:i64
try.c: 0x558a96386080: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x558a96369780: i64 = TargetConstantPool<i32 1> 0
try.c: 0x558a963a09c0: i64 = undef
try.c: 0x558a96400f40: 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: 0x558a96400e10: i32 = Constant<0>
try.c: 0x558a96400e10: i32 = Constant<0>
try.c: 0x558a96400e10: i32 = Constant<0>
try.c: 0x558a96400e10: i32 = Constant<0>
try.c: 0x558a96400e10: i32 = Constant<0>
try.c: 0x558a96400e10: i32 = Constant<0>
try.c: 0x558a96400e10: i32 = Constant<0>
try.c: 0x558a96400e10: i32 = Constant<0>
try.c: 0x558a96400e10: 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:amd64

Compiler output

Implementation: T:avx2
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: 0x56033c07bd30: v4i64 = X86ISD::VTRUNC 0x56033c07bc00
try.c: 0x56033c07bc00: v16i32 = vselect 0x56033c079c50, 0x56033c01ea10, 0x56033c07bad0
try.c: 0x56033c079c50: v4i1 = X86ISD::PCMPGTM 0x56033c076c20, 0x56033c0727b0
try.c: 0x56033c076c20: v4i64 = X86ISD::VBROADCAST 0x56033c03ef00
try.c: 0x56033c03ef00: i64,ch = load<LD8[%lsr.iv6971]> 0x56033bf87950, 0x56033bfe7ee0, undef:i64
try.c: 0x56033bfe7ee0: i64,ch = CopyFromReg 0x56033bf87950, Register:i64 %vreg50
try.c: 0x56033c072a10: i64 = Register %vreg50
try.c: 0x56033c01d080: i64 = undef
try.c: 0x56033c0727b0: v4i64,ch = CopyFromReg 0x56033bf87950, Register:v4i64 %vreg13
try.c: 0x56033c077470: v4i64 = Register %vreg13
try.c: 0x56033c01ea10: v16i32 = X86ISD::VBROADCAST 0x56033c076e80
try.c: 0x56033c076e80: i32,ch = load<LD4[ConstantPool]> 0x56033bf87950, 0x56033c03e4e0, undef:i64
try.c: 0x56033c03e4e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56033c0610b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56033c01d080: i64 = undef
try.c: 0x56033c07bad0: 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: 0x56033c07b9a0: i32 = Constant<0>
try.c: 0x56033c07b9a0: i32 = Constant<0>
try.c: 0x56033c07b9a0: i32 = Constant<0>
try.c: 0x56033c07b9a0: i32 = Constant<0>
try.c: 0x56033c07b9a0: i32 = Constant<0>
try.c: 0x56033c07b9a0: i32 = Constant<0>
try.c: 0x56033c07b9a0: i32 = Constant<0>
try.c: 0x56033c07b9a0: i32 = Constant<0>
try.c: 0x56033c07b9a0: 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:avx2

Compiler output

Implementation: T:avx2
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: 0x5584687ff460: v4i64 = X86ISD::VTRUNC 0x5584687ff330
try.c: 0x5584687ff330: v16i32 = vselect 0x5584687f0f10, 0x558468789450, 0x5584687ff200
try.c: 0x5584687f0f10: v4i1 = X86ISD::PCMPGTM 0x5584687d9d30, 0x5584687d62c0
try.c: 0x5584687d9d30: v4i64 = X86ISD::VBROADCAST 0x558468789910
try.c: 0x558468789910: i64,ch = load<LD8[%lsr.iv6971]> 0x5584686d3a30, 0x558468777620, undef:i64
try.c: 0x558468777620: i64,ch = CopyFromReg 0x5584686d3a30, Register:i64 %vreg50
try.c: 0x5584687d6520: i64 = Register %vreg50
try.c: 0x558468768bb0: i64 = undef
try.c: 0x5584687d62c0: v4i64,ch = CopyFromReg 0x5584686d3a30, Register:v4i64 %vreg13
try.c: 0x5584687da580: v4i64 = Register %vreg13
try.c: 0x558468789450: v16i32 = X86ISD::VBROADCAST 0x5584687d9f90
try.c: 0x5584687d9f90: i32,ch = load<LD4[ConstantPool]> 0x5584686d3a30, 0x558468775bf0, undef:i64
try.c: 0x558468775bf0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x558468769530: i64 = TargetConstantPool<i32 1> 0
try.c: 0x558468768bb0: i64 = undef
try.c: 0x5584687ff200: 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: 0x5584687ff0d0: i32 = Constant<0>
try.c: 0x5584687ff0d0: i32 = Constant<0>
try.c: 0x5584687ff0d0: i32 = Constant<0>
try.c: 0x5584687ff0d0: i32 = Constant<0>
try.c: 0x5584687ff0d0: i32 = Constant<0>
try.c: 0x5584687ff0d0: i32 = Constant<0>
try.c: 0x5584687ff0d0: i32 = Constant<0>
try.c: 0x5584687ff0d0: i32 = Constant<0>
try.c: 0x5584687ff0d0: 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:avx2

Compiler output

Implementation: T:avx2
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: 0x55623466be30: v4i64 = X86ISD::VTRUNC 0x55623466bd00
try.c: 0x55623466bd00: v16i32 = vselect 0x55623466fe40, 0x5562345f7690, 0x55623466bbd0
try.c: 0x55623466fe40: v4i1 = X86ISD::PCMPGTM 0x556234652670, 0x55623464e200
try.c: 0x556234652670: v4i64 = X86ISD::VBROADCAST 0x55623460a4c0
try.c: 0x55623460a4c0: i64,ch = load<LD8[%lsr.iv6971]> 0x556234563950, 0x556234649060, undef:i64
try.c: 0x556234649060: i64,ch = CopyFromReg 0x556234563950, Register:i64 %vreg50
try.c: 0x55623464e460: i64 = Register %vreg50
try.c: 0x5562345f5d00: i64 = undef
try.c: 0x55623464e200: v4i64,ch = CopyFromReg 0x556234563950, Register:v4i64 %vreg13
try.c: 0x556234652ec0: v4i64 = Register %vreg13
try.c: 0x5562345f7690: v16i32 = X86ISD::VBROADCAST 0x5562346528d0
try.c: 0x5562346528d0: i32,ch = load<LD4[ConstantPool]> 0x556234563950, 0x556234609aa0, undef:i64
try.c: 0x556234609aa0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55623460d4a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5562345f5d00: i64 = undef
try.c: 0x55623466bbd0: 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: 0x55623466baa0: i32 = Constant<0>
try.c: 0x55623466baa0: i32 = Constant<0>
try.c: 0x55623466baa0: i32 = Constant<0>
try.c: 0x55623466baa0: i32 = Constant<0>
try.c: 0x55623466baa0: i32 = Constant<0>
try.c: 0x55623466baa0: i32 = Constant<0>
try.c: 0x55623466baa0: i32 = Constant<0>
try.c: 0x55623466baa0: i32 = Constant<0>
try.c: 0x55623466baa0: 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:avx2

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blas_comm.c: In file included from blas_comm.c:6:
blas_comm.c: In file included from ./blas.h:25:
blas_comm.c: ./blas_avx2.h:88:17: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'gf256v_add_avx2' that is compiled without support for 'sse4.2'
blas_comm.c: __m256i inp = _mm256_loadu_si256( (__m256i*) (a+i*32) );
blas_comm.c: ^
blas_comm.c: ./blas_avx2.h:89:17: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'gf256v_add_avx2' that is compiled without support for 'sse4.2'
blas_comm.c: __m256i out = _mm256_loadu_si256( (__m256i*) (accu_b+i*32) );
blas_comm.c: ^
blas_comm.c: ./blas_avx2.h:91:3: error: always_inline function '_mm256_storeu_si256' requires target feature 'sse4.2', but would be inlined into function 'gf256v_add_avx2' that is compiled without support for 'sse4.2'
blas_comm.c: _mm256_storeu_si256( (__m256i*) (accu_b+i*32) , out );
blas_comm.c: ^
blas_comm.c: fatal error: error in backend: Do not know how to split this operator's operand!
blas_comm.c:
blas_comm.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
blas_comm.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
blas_comm.c: Target: x86_64-pc-linux-gnu
blas_comm.c: Thread model: posix
blas_comm.c: InstalledDir: /usr/bin
blas_comm.c: clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
blas_comm.c: clang: note: diagnostic msg:
blas_comm.c: ********************
blas_comm.c:
blas_comm.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
blas_comm.c: Preprocessed source(s) and associated run script(s) are located at:
blas_comm.c: clang: note: diagnostic msg: /tmp/blas_comm-9ceb24.c
blas_comm.c: ...

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

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blas_matrix_avx2.c: blas_matrix_avx2.c: In function '_gf256mat_gauss_elim_avx2_32x':
blas_matrix_avx2.c: blas_matrix_avx2.c:479:19: warning: implicit declaration of function '_mm256_setr_m128i' [-Wimplicit-function-declaration]
blas_matrix_avx2.c: __m256i mask = _mm256_setr_m128i( add_mask , add_mask );
blas_matrix_avx2.c: ^~~~~~~~~~~~~~~~~
blas_matrix_avx2.c: blas_matrix_avx2.c:479:19: error: incompatible types when initializing type '__m256i {aka __vector(4) long long int}' using type 'int'
blas_matrix_avx2.c: blas_matrix_avx2.c:495:17: error: incompatible types when initializing type '__m256i {aka __vector(4) long long int}' using type 'int'
blas_matrix_avx2.c: __m256i pi2 = _mm256_setr_m128i( pi1 , pi1 );
blas_matrix_avx2.c: ^~~~~~~~~~~~~~~~~

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

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: 0x55e84495d2c0: v4i64 = X86ISD::VTRUNC 0x55e84495d190
try.c: 0x55e84495d190: v16i32 = vselect 0x55e844964930, 0x55e8448e5840, 0x55e84495d060
try.c: 0x55e844964930: v4i1 = X86ISD::PCMPGTM 0x55e844945960, 0x55e8449414f0
try.c: 0x55e844945960: v4i64 = X86ISD::VBROADCAST 0x55e8448ec7e0
try.c: 0x55e8448ec7e0: i64,ch = load<LD8[%lsr.iv6971]> 0x55e844856950, 0x55e8449384b0, undef:i64
try.c: 0x55e8449384b0: i64,ch = CopyFromReg 0x55e844856950, Register:i64 %vreg50
try.c: 0x55e844941750: i64 = Register %vreg50
try.c: 0x55e8448edcb0: i64 = undef
try.c: 0x55e8449414f0: v4i64,ch = CopyFromReg 0x55e844856950, Register:v4i64 %vreg13
try.c: 0x55e8449461b0: v4i64 = Register %vreg13
try.c: 0x55e8448e5840: v16i32 = X86ISD::VBROADCAST 0x55e844945bc0
try.c: 0x55e844945bc0: i32,ch = load<LD4[ConstantPool]> 0x55e844856950, 0x55e8448ebdc0, undef:i64
try.c: 0x55e8448ebdc0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e844925da0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e8448edcb0: i64 = undef
try.c: 0x55e84495d060: 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: 0x55e84495cf30: i32 = Constant<0>
try.c: 0x55e84495cf30: i32 = Constant<0>
try.c: 0x55e84495cf30: i32 = Constant<0>
try.c: 0x55e84495cf30: i32 = Constant<0>
try.c: 0x55e84495cf30: i32 = Constant<0>
try.c: 0x55e84495cf30: i32 = Constant<0>
try.c: 0x55e84495cf30: i32 = Constant<0>
try.c: 0x55e84495cf30: i32 = Constant<0>
try.c: 0x55e84495cf30: 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: 0x5586a1814fa0: v4i64 = X86ISD::VTRUNC 0x5586a1814e70
try.c: 0x5586a1814e70: v16i32 = vselect 0x5586a180f970, 0x5586a1797300, 0x5586a1814d40
try.c: 0x5586a180f970: v4i1 = X86ISD::PCMPGTM 0x5586a17fb230, 0x5586a17f67b0
try.c: 0x5586a17fb230: v4i64 = X86ISD::VBROADCAST 0x5586a17977c0
try.c: 0x5586a17977c0: i64,ch = load<LD8[%lsr.iv6971]> 0x5586a16f4a30, 0x5586a17a69f0, undef:i64
try.c: 0x5586a17a69f0: i64,ch = CopyFromReg 0x5586a16f4a30, Register:i64 %vreg50
try.c: 0x5586a17f6a10: i64 = Register %vreg50
try.c: 0x5586a178e730: i64 = undef
try.c: 0x5586a17f67b0: v4i64,ch = CopyFromReg 0x5586a16f4a30, Register:v4i64 %vreg13
try.c: 0x5586a17fba80: v4i64 = Register %vreg13
try.c: 0x5586a1797300: v16i32 = X86ISD::VBROADCAST 0x5586a17fb490
try.c: 0x5586a17fb490: i32,ch = load<LD4[ConstantPool]> 0x5586a16f4a30, 0x5586a17a4fc0, undef:i64
try.c: 0x5586a17a4fc0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5586a178f0b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5586a178e730: i64 = undef
try.c: 0x5586a1814d40: 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: 0x5586a1814c10: i32 = Constant<0>
try.c: 0x5586a1814c10: i32 = Constant<0>
try.c: 0x5586a1814c10: i32 = Constant<0>
try.c: 0x5586a1814c10: i32 = Constant<0>
try.c: 0x5586a1814c10: i32 = Constant<0>
try.c: 0x5586a1814c10: i32 = Constant<0>
try.c: 0x5586a1814c10: i32 = Constant<0>
try.c: 0x5586a1814c10: i32 = Constant<0>
try.c: 0x5586a1814c10: 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: 0x556010c25300: v4i64 = X86ISD::VTRUNC 0x556010c251d0
try.c: 0x556010c251d0: v16i32 = vselect 0x556010c366a0, 0x556010bc7cc0, 0x556010c250a0
try.c: 0x556010c366a0: v4i1 = X86ISD::PCMPGTM 0x556010c1fcd0, 0x556010c1b860
try.c: 0x556010c1fcd0: v4i64 = X86ISD::VBROADCAST 0x556010bc0c50
try.c: 0x556010bc0c50: i64,ch = load<LD8[%lsr.iv6971]> 0x556010b309d0, 0x556010c166c0, undef:i64
try.c: 0x556010c166c0: i64,ch = CopyFromReg 0x556010b309d0, Register:i64 %vreg50
try.c: 0x556010c1bac0: i64 = Register %vreg50
try.c: 0x556010bc6330: i64 = undef
try.c: 0x556010c1b860: v4i64,ch = CopyFromReg 0x556010b309d0, Register:v4i64 %vreg13
try.c: 0x556010c20520: v4i64 = Register %vreg13
try.c: 0x556010bc7cc0: v16i32 = X86ISD::VBROADCAST 0x556010c1ff30
try.c: 0x556010c1ff30: i32,ch = load<LD4[ConstantPool]> 0x556010b309d0, 0x556010bc0230, undef:i64
try.c: 0x556010bc0230: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556010c13120: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556010bc6330: i64 = undef
try.c: 0x556010c250a0: 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: 0x556010c24f70: i32 = Constant<0>
try.c: 0x556010c24f70: i32 = Constant<0>
try.c: 0x556010c24f70: i32 = Constant<0>
try.c: 0x556010c24f70: i32 = Constant<0>
try.c: 0x556010c24f70: i32 = Constant<0>
try.c: 0x556010c24f70: i32 = Constant<0>
try.c: 0x556010c24f70: i32 = Constant<0>
try.c: 0x556010c24f70: i32 = Constant<0>
try.c: 0x556010c24f70: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: T:ssse3
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: 0x55c877e5bf80: v4i64 = X86ISD::VTRUNC 0x55c877e5be50
try.c: 0x55c877e5be50: v16i32 = vselect 0x55c877e58960, 0x55c877dfd280, 0x55c877e5bd20
try.c: 0x55c877e58960: v4i1 = X86ISD::PCMPGTM 0x55c877e53d40, 0x55c877e4f8d0
try.c: 0x55c877e53d40: v4i64 = X86ISD::VBROADCAST 0x55c877e20f40
try.c: 0x55c877e20f40: i64,ch = load<LD8[%lsr.iv6971]> 0x55c877d64990, 0x55c877e3f2c0, undef:i64
try.c: 0x55c877e3f2c0: i64,ch = CopyFromReg 0x55c877d64990, Register:i64 %vreg50
try.c: 0x55c877e4fb30: i64 = Register %vreg50
try.c: 0x55c877dfb8f0: i64 = undef
try.c: 0x55c877e4f8d0: v4i64,ch = CopyFromReg 0x55c877d64990, Register:v4i64 %vreg13
try.c: 0x55c877e54590: v4i64 = Register %vreg13
try.c: 0x55c877dfd280: v16i32 = X86ISD::VBROADCAST 0x55c877e53fa0
try.c: 0x55c877e53fa0: i32,ch = load<LD4[ConstantPool]> 0x55c877d64990, 0x55c877e20520, undef:i64
try.c: 0x55c877e20520: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c877e01df0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c877dfb8f0: i64 = undef
try.c: 0x55c877e5bd20: 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: 0x55c877e5bbf0: i32 = Constant<0>
try.c: 0x55c877e5bbf0: i32 = Constant<0>
try.c: 0x55c877e5bbf0: i32 = Constant<0>
try.c: 0x55c877e5bbf0: i32 = Constant<0>
try.c: 0x55c877e5bbf0: i32 = Constant<0>
try.c: 0x55c877e5bbf0: i32 = Constant<0>
try.c: 0x55c877e5bbf0: i32 = Constant<0>
try.c: 0x55c877e5bbf0: i32 = Constant<0>
try.c: 0x55c877e5bbf0: 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:ssse3

Compiler output

Implementation: T:ssse3
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: 0x56554ab7d880: v4i64 = X86ISD::VTRUNC 0x56554ab7d750
try.c: 0x56554ab7d750: v16i32 = vselect 0x56554ab6b9c0, 0x56554aaf3390, 0x56554ab7d620
try.c: 0x56554ab6b9c0: v4i1 = X86ISD::PCMPGTM 0x56554ab5ea50, 0x56554ab5a820
try.c: 0x56554ab5ea50: v4i64 = X86ISD::VBROADCAST 0x56554aaf3850
try.c: 0x56554aaf3850: i64,ch = load<LD8[%lsr.iv6971]> 0x56554aa59a20, 0x56554ab0bbb0, undef:i64
try.c: 0x56554ab0bbb0: i64,ch = CopyFromReg 0x56554aa59a20, Register:i64 %vreg50
try.c: 0x56554ab5aa80: i64 = Register %vreg50
try.c: 0x56554aafa3f0: i64 = undef
try.c: 0x56554ab5a820: v4i64,ch = CopyFromReg 0x56554aa59a20, Register:v4i64 %vreg13
try.c: 0x56554ab5f2a0: v4i64 = Register %vreg13
try.c: 0x56554aaf3390: v16i32 = X86ISD::VBROADCAST 0x56554ab5ecb0
try.c: 0x56554ab5ecb0: i32,ch = load<LD4[ConstantPool]> 0x56554aa59a20, 0x56554ab0a180, undef:i64
try.c: 0x56554ab0a180: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56554aafad70: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56554aafa3f0: i64 = undef
try.c: 0x56554ab7d620: 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: 0x56554ab7d4f0: i32 = Constant<0>
try.c: 0x56554ab7d4f0: i32 = Constant<0>
try.c: 0x56554ab7d4f0: i32 = Constant<0>
try.c: 0x56554ab7d4f0: i32 = Constant<0>
try.c: 0x56554ab7d4f0: i32 = Constant<0>
try.c: 0x56554ab7d4f0: i32 = Constant<0>
try.c: 0x56554ab7d4f0: i32 = Constant<0>
try.c: 0x56554ab7d4f0: i32 = Constant<0>
try.c: 0x56554ab7d4f0: 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:ssse3

Compiler output

Implementation: T:ssse3
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: 0x56332fc27ac0: v4i64 = X86ISD::VTRUNC 0x56332fc27990
try.c: 0x56332fc27990: v16i32 = vselect 0x56332fc244a0, 0x56332fbac110, 0x56332fc27860
try.c: 0x56332fc244a0: v4i1 = X86ISD::PCMPGTM 0x56332fc0d130, 0x56332fc08cc0
try.c: 0x56332fc0d130: v4i64 = X86ISD::VBROADCAST 0x56332fbb3190
try.c: 0x56332fbb3190: i64,ch = load<LD8[%lsr.iv6971]> 0x56332fb1d950, 0x56332fbf2930, undef:i64
try.c: 0x56332fbf2930: i64,ch = CopyFromReg 0x56332fb1d950, Register:i64 %vreg50
try.c: 0x56332fc08f20: i64 = Register %vreg50
try.c: 0x56332fbaa780: i64 = undef
try.c: 0x56332fc08cc0: v4i64,ch = CopyFromReg 0x56332fb1d950, Register:v4i64 %vreg13
try.c: 0x56332fc0d980: v4i64 = Register %vreg13
try.c: 0x56332fbac110: v16i32 = X86ISD::VBROADCAST 0x56332fc0d390
try.c: 0x56332fc0d390: i32,ch = load<LD4[ConstantPool]> 0x56332fb1d950, 0x56332fbb2770, undef:i64
try.c: 0x56332fbb2770: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56332fbc6890: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56332fbaa780: i64 = undef
try.c: 0x56332fc27860: 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: 0x56332fc27730: i32 = Constant<0>
try.c: 0x56332fc27730: i32 = Constant<0>
try.c: 0x56332fc27730: i32 = Constant<0>
try.c: 0x56332fc27730: i32 = Constant<0>
try.c: 0x56332fc27730: i32 = Constant<0>
try.c: 0x56332fc27730: i32 = Constant<0>
try.c: 0x56332fc27730: i32 = Constant<0>
try.c: 0x56332fc27730: i32 = Constant<0>
try.c: 0x56332fc27730: 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:ssse3

Compiler output

Implementation: T:ssse3
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blas_matrix_ref.c: In file included from blas_matrix_ref.c:6:
blas_matrix_ref.c: In file included from ./blas.h:25:
blas_matrix_ref.c: In file included from ./blas_sse.h:16:
blas_matrix_ref.c: ./gf16_sse.h:34:9: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'linear_transform_8x8_128b' that is compiled without support for 'ssse3'
blas_matrix_ref.c: return _mm_shuffle_epi8(tab_l,v&mask_f)^_mm_shuffle_epi8(tab_h,_mm_srli_epi16(v,4)&mask_f);
blas_matrix_ref.c: ^
blas_matrix_ref.c: ./gf16_sse.h:34:42: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'linear_transform_8x8_128b' that is compiled without support for 'ssse3'
blas_matrix_ref.c: return _mm_shuffle_epi8(tab_l,v&mask_f)^_mm_shuffle_epi8(tab_h,_mm_srli_epi16(v,4)&mask_f);
blas_matrix_ref.c: ^
blas_matrix_ref.c: fatal error: error in backend: Cannot select: 0x562199684940: v16i8 = X86ISD::PSHUFB 0x562199689ef0, 0x5621996d4400
blas_matrix_ref.c: 0x562199689ef0: v16i8,ch = CopyFromReg 0x56219957a580, Register:v16i8 %vreg15
blas_matrix_ref.c: 0x5621996d3820: v16i8 = Register %vreg15
blas_matrix_ref.c: 0x5621996d4400: v16i8 = bitcast 0x5621996838c0
blas_matrix_ref.c: 0x5621996838c0: v2i64 = and 0x5621996604d0, 0x562199684240
blas_matrix_ref.c: 0x5621996604d0: v2i64 = bitcast 0x56219965fb50
blas_matrix_ref.c: 0x56219965fb50: v8i16 = X86ISD::VSRLI 0x56219968a3b0, Constant:i8<4>
blas_matrix_ref.c: 0x56219968a3b0: v8i16 = bitcast 0x562199660010
blas_matrix_ref.c: 0x562199660010: v2i64,ch = load<LD16[%uglygep1617](align=1)(tbaa=<0x5621991ff628>)> 0x56219957a580, 0x562199683400, undef:i64
blas_matrix_ref.c: 0x562199683400: i64 = add 0x56219965fc80, 0x562199660730
blas_matrix_ref.c: 0x56219965fc80: i64,ch = CopyFromReg 0x56219957a580, Register:i64 %vreg12
blas_matrix_ref.c: 0x562199660990: i64 = Register %vreg12
blas_matrix_ref.c: 0x562199660730: i64,ch = CopyFromReg 0x56219957a580, Register:i64 %vreg17
blas_matrix_ref.c: 0x562199660270: i64 = Register %vreg17
blas_matrix_ref.c: 0x56219968a4e0: i64 = undef
blas_matrix_ref.c: 0x5621996d42d0: i8 = Constant<4>
blas_matrix_ref.c: ...

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