Implementation notes: amd64, cel02, crypto_aead/aezv5

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: aezv5
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
312810990 0 032004 816 896T:aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
332012053 0 032636 816 896T:aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
371812592 0 031560 800 896T:aesnigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
374812143 0 030540 792 856T:aesniclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
448017835 0 042133 824 960T:aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
579072110348 0 0134869 840 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
61381427629 0 048965 840 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
81457432120 0 052690 816 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
110427625137 0 043868 808 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
110720425662 0 046509 840 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
143033224248 0 043400 816 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:aesni
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: 0x55cac44d8aa0: v4i64 = X86ISD::VTRUNC 0x55cac44d8970
try.c: 0x55cac44d8970: v16i32 = vselect 0x55cac44eb7e0, 0x55cac44787f0, 0x55cac44d8840
try.c: 0x55cac44eb7e0: v4i1 = X86ISD::PCMPGTM 0x55cac44d1c50, 0x55cac44cd7e0
try.c: 0x55cac44d1c50: v4i64 = X86ISD::VBROADCAST 0x55cac4471b40
try.c: 0x55cac4471b40: i64,ch = load<LD8[%lsr.iv6971]> 0x55cac43e2920, 0x55cac44c4160, undef:i64
try.c: 0x55cac44c4160: i64,ch = CopyFromReg 0x55cac43e2920, Register:i64 %vreg50
try.c: 0x55cac44cda40: i64 = Register %vreg50
try.c: 0x55cac4473010: i64 = undef
try.c: 0x55cac44cd7e0: v4i64,ch = CopyFromReg 0x55cac43e2920, Register:v4i64 %vreg13
try.c: 0x55cac44d24a0: v4i64 = Register %vreg13
try.c: 0x55cac44787f0: v16i32 = X86ISD::VBROADCAST 0x55cac44d1eb0
try.c: 0x55cac44d1eb0: i32,ch = load<LD4[ConstantPool]> 0x55cac43e2920, 0x55cac4471120, undef:i64
try.c: 0x55cac4471120: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55cac447db40: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55cac4473010: i64 = undef
try.c: 0x55cac44d8840: 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: 0x55cac44d8710: i32 = Constant<0>
try.c: 0x55cac44d8710: i32 = Constant<0>
try.c: 0x55cac44d8710: i32 = Constant<0>
try.c: 0x55cac44d8710: i32 = Constant<0>
try.c: 0x55cac44d8710: i32 = Constant<0>
try.c: 0x55cac44d8710: i32 = Constant<0>
try.c: 0x55cac44d8710: i32 = Constant<0>
try.c: 0x55cac44d8710: i32 = Constant<0>
try.c: 0x55cac44d8710: 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:aesni

Compiler output

Implementation: T:aesni
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: 0x56405c75de80: v4i64 = X86ISD::VTRUNC 0x56405c75dd50
try.c: 0x56405c75dd50: v16i32 = vselect 0x56405c769b10, 0x56405c704290, 0x56405c75dc20
try.c: 0x56405c769b10: v4i1 = X86ISD::PCMPGTM 0x56405c755340, 0x56405c750ed0
try.c: 0x56405c755340: v4i64 = X86ISD::VBROADCAST 0x56405c704750
try.c: 0x56405c704750: i64,ch = load<LD8[%lsr.iv6971]> 0x56405c64ea00, 0x56405c6f1370, undef:i64
try.c: 0x56405c6f1370: i64,ch = CopyFromReg 0x56405c64ea00, Register:i64 %vreg50
try.c: 0x56405c751130: i64 = Register %vreg50
try.c: 0x56405c6e9fc0: i64 = undef
try.c: 0x56405c750ed0: v4i64,ch = CopyFromReg 0x56405c64ea00, Register:v4i64 %vreg13
try.c: 0x56405c755b90: v4i64 = Register %vreg13
try.c: 0x56405c704290: v16i32 = X86ISD::VBROADCAST 0x56405c7555a0
try.c: 0x56405c7555a0: i32,ch = load<LD4[ConstantPool]> 0x56405c64ea00, 0x56405c6ef940, undef:i64
try.c: 0x56405c6ef940: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56405c6ea940: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56405c6e9fc0: i64 = undef
try.c: 0x56405c75dc20: 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: 0x56405c75daf0: i32 = Constant<0>
try.c: 0x56405c75daf0: i32 = Constant<0>
try.c: 0x56405c75daf0: i32 = Constant<0>
try.c: 0x56405c75daf0: i32 = Constant<0>
try.c: 0x56405c75daf0: i32 = Constant<0>
try.c: 0x56405c75daf0: i32 = Constant<0>
try.c: 0x56405c75daf0: i32 = Constant<0>
try.c: 0x56405c75daf0: i32 = Constant<0>
try.c: 0x56405c75daf0: 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:aesni

Compiler output

Implementation: T:aesni
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: 0x564240c0b650: v4i64 = X86ISD::VTRUNC 0x564240c0b520
try.c: 0x564240c0b520: v16i32 = vselect 0x564240c08030, 0x564240bac8f0, 0x564240c0b3f0
try.c: 0x564240c08030: v4i1 = X86ISD::PCMPGTM 0x564240c038a0, 0x564240bff430
try.c: 0x564240c038a0: v4i64 = X86ISD::VBROADCAST 0x564240ba9a90
try.c: 0x564240ba9a90: i64,ch = load<LD8[%lsr.iv6971]> 0x564240b14920, 0x564240beeba0, undef:i64
try.c: 0x564240beeba0: i64,ch = CopyFromReg 0x564240b14920, Register:i64 %vreg50
try.c: 0x564240bff690: i64 = Register %vreg50
try.c: 0x564240baaf60: i64 = undef
try.c: 0x564240bff430: v4i64,ch = CopyFromReg 0x564240b14920, Register:v4i64 %vreg13
try.c: 0x564240c040f0: v4i64 = Register %vreg13
try.c: 0x564240bac8f0: v16i32 = X86ISD::VBROADCAST 0x564240c03b00
try.c: 0x564240c03b00: i32,ch = load<LD4[ConstantPool]> 0x564240b14920, 0x564240bba3a0, undef:i64
try.c: 0x564240bba3a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564240bf30d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564240baaf60: i64 = undef
try.c: 0x564240c0b3f0: 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: 0x564240c0b2c0: i32 = Constant<0>
try.c: 0x564240c0b2c0: i32 = Constant<0>
try.c: 0x564240c0b2c0: i32 = Constant<0>
try.c: 0x564240c0b2c0: i32 = Constant<0>
try.c: 0x564240c0b2c0: i32 = Constant<0>
try.c: 0x564240c0b2c0: i32 = Constant<0>
try.c: 0x564240c0b2c0: i32 = Constant<0>
try.c: 0x564240c0b2c0: i32 = Constant<0>
try.c: 0x564240c0b2c0: 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:aesni

Compiler output

Implementation: T:aesni
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:187:2: error: - This implementation requires __AES__ or __ARM_FEATURE_CRYPTO
encrypt.c: #error - This implementation requires __AES__ or __ARM_FEATURE_CRYPTO
encrypt.c: ^
encrypt.c: encrypt.c:216:8: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:216:23: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:217:12: warning: implicit declaration of function 'vand' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: return vand(x, loadu(pad + zero_bytes));
encrypt.c: ^
encrypt.c: encrypt.c:217:20: warning: implicit declaration of function 'loadu' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: return vand(x, loadu(pad + zero_bytes));
encrypt.c: ^
encrypt.c: encrypt.c:220:8: error: unknown type name 'block'
encrypt.c: static block one_zero_pad(block x, unsigned one_zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:220:27: error: unknown type name 'block'
encrypt.c: static block one_zero_pad(block x, unsigned one_zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:221:5: error: use of undeclared identifier 'block'
encrypt.c: block *p = (block*)(pad + one_zero_bytes);
encrypt.c: ^
encrypt.c: encrypt.c:221:12: error: use of undeclared identifier 'p'
encrypt.c: ...

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: fatal error: error in backend: Cannot select: 0x5604c73768d0: v32i16 = scalar_to_vector Constant:i16<1>
encrypt.c: 0x5604c7377250: i16 = Constant<1>
encrypt.c: In function: Decrypt
encrypt.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
encrypt.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
encrypt.c: Target: x86_64-pc-linux-gnu
encrypt.c: Thread model: posix
encrypt.c: InstalledDir: /usr/bin
encrypt.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.
encrypt.c: clang: note: diagnostic msg:
encrypt.c: ********************
encrypt.c:
encrypt.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
encrypt.c: Preprocessed source(s) and associated run script(s) are located at:
encrypt.c: clang: note: diagnostic msg: /tmp/encrypt-dff53c.c
encrypt.c: clang: note: diagnostic msg: /tmp/encrypt-dff53c.sh
encrypt.c: clang: note: diagnostic msg:
encrypt.c:
encrypt.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
encrypt.c: fatal error: error in backend: Cannot select: 0x55dc19ca6350: v32i16 = scalar_to_vector Constant:i16<1>
encrypt.c: 0x55dc19ca6cd0: i16 = Constant<1>
encrypt.c: In function: Decrypt
encrypt.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
encrypt.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
encrypt.c: Target: x86_64-pc-linux-gnu
encrypt.c: Thread model: posix
encrypt.c: InstalledDir: /usr/bin
encrypt.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.
encrypt.c: clang: note: diagnostic msg:
encrypt.c: ********************
encrypt.c:
encrypt.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
encrypt.c: Preprocessed source(s) and associated run script(s) are located at:
encrypt.c: clang: note: diagnostic msg: /tmp/encrypt-961d35.c
encrypt.c: clang: note: diagnostic msg: /tmp/encrypt-961d35.sh
encrypt.c: clang: note: diagnostic msg:
encrypt.c:
encrypt.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
encrypt.c: fatal error: error in backend: Cannot select: 0x559d4bf3d460: v32i16 = scalar_to_vector Constant:i16<1>
encrypt.c: 0x559d4bf3dde0: i16 = Constant<1>
encrypt.c: In function: Decrypt
encrypt.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
encrypt.c: clang version 3.8.1-24 (tags/RELEASE_381/final)
encrypt.c: Target: x86_64-pc-linux-gnu
encrypt.c: Thread model: posix
encrypt.c: InstalledDir: /usr/bin
encrypt.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.
encrypt.c: clang: note: diagnostic msg:
encrypt.c: ********************
encrypt.c:
encrypt.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
encrypt.c: Preprocessed source(s) and associated run script(s) are located at:
encrypt.c: clang: note: diagnostic msg: /tmp/encrypt-eadf19.c
encrypt.c: clang: note: diagnostic msg: /tmp/encrypt-eadf19.sh
encrypt.c: clang: note: diagnostic msg:
encrypt.c:
encrypt.c: ********************

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