Implementation notes: amd64, cel02, crypto_aead/aezv4

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: aezv4
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
355811562 0 030560 800 896T:aesnigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
379212069 0 030460 792 856T:aesniclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
404823036 0 047381 824 960T:aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
412011043 0 032100 816 896T:aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
470811824 0 032436 816 896T:aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
106366832968 0 053522 816 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
110889692860 0 0117381 840 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
115788826113 0 046957 840 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
120543028125 0 049461 840 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
133406425580 0 044324 808 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
157810824580 0 043736 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: 0x55bdd350c280: v4i64 = X86ISD::VTRUNC 0x55bdd350c150
try.c: 0x55bdd350c150: v16i32 = vselect 0x55bdd34f28e0, 0x55bdd34b1430, 0x55bdd350c020
try.c: 0x55bdd34f28e0: v4i1 = X86ISD::PCMPGTM 0x55bdd34f4920, 0x55bdd34f04b0
try.c: 0x55bdd34f4920: v4i64 = X86ISD::VBROADCAST 0x55bdd3498960
try.c: 0x55bdd3498960: i64,ch = load<LD8[%lsr.iv6971]> 0x55bdd3405960, 0x55bdd34de2c0, undef:i64
try.c: 0x55bdd34de2c0: i64,ch = CopyFromReg 0x55bdd3405960, Register:i64 %vreg50
try.c: 0x55bdd34f0710: i64 = Register %vreg50
try.c: 0x55bdd34afaa0: i64 = undef
try.c: 0x55bdd34f04b0: v4i64,ch = CopyFromReg 0x55bdd3405960, Register:v4i64 %vreg13
try.c: 0x55bdd34f5170: v4i64 = Register %vreg13
try.c: 0x55bdd34b1430: v16i32 = X86ISD::VBROADCAST 0x55bdd34f4b80
try.c: 0x55bdd34f4b80: i32,ch = load<LD4[ConstantPool]> 0x55bdd3405960, 0x55bdd3497f40, undef:i64
try.c: 0x55bdd3497f40: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55bdd34df4c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55bdd34afaa0: i64 = undef
try.c: 0x55bdd350c020: 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: 0x55bdd350bef0: i32 = Constant<0>
try.c: 0x55bdd350bef0: i32 = Constant<0>
try.c: 0x55bdd350bef0: i32 = Constant<0>
try.c: 0x55bdd350bef0: i32 = Constant<0>
try.c: 0x55bdd350bef0: i32 = Constant<0>
try.c: 0x55bdd350bef0: i32 = Constant<0>
try.c: 0x55bdd350bef0: i32 = Constant<0>
try.c: 0x55bdd350bef0: i32 = Constant<0>
try.c: 0x55bdd350bef0: 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: 0x55dddef61880: v4i64 = X86ISD::VTRUNC 0x55dddef61750
try.c: 0x55dddef61750: v16i32 = vselect 0x55dddef50040, 0x55dddeee5290, 0x55dddef61620
try.c: 0x55dddef50040: v4i1 = X86ISD::PCMPGTM 0x55dddef490d0, 0x55dddef45660
try.c: 0x55dddef490d0: v4i64 = X86ISD::VBROADCAST 0x55dddeee5750
try.c: 0x55dddeee5750: i64,ch = load<LD8[%lsr.iv6971]> 0x55dddee43a10, 0x55dddeede7f0, undef:i64
try.c: 0x55dddeede7f0: i64,ch = CopyFromReg 0x55dddee43a10, Register:i64 %vreg50
try.c: 0x55dddef458c0: i64 = Register %vreg50
try.c: 0x55dddeeecfc0: i64 = undef
try.c: 0x55dddef45660: v4i64,ch = CopyFromReg 0x55dddee43a10, Register:v4i64 %vreg13
try.c: 0x55dddef49920: v4i64 = Register %vreg13
try.c: 0x55dddeee5290: v16i32 = X86ISD::VBROADCAST 0x55dddef49330
try.c: 0x55dddef49330: i32,ch = load<LD4[ConstantPool]> 0x55dddee43a10, 0x55dddeedcdc0, undef:i64
try.c: 0x55dddeedcdc0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55dddeeed940: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55dddeeecfc0: i64 = undef
try.c: 0x55dddef61620: 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: 0x55dddef614f0: i32 = Constant<0>
try.c: 0x55dddef614f0: i32 = Constant<0>
try.c: 0x55dddef614f0: i32 = Constant<0>
try.c: 0x55dddef614f0: i32 = Constant<0>
try.c: 0x55dddef614f0: i32 = Constant<0>
try.c: 0x55dddef614f0: i32 = Constant<0>
try.c: 0x55dddef614f0: i32 = Constant<0>
try.c: 0x55dddef614f0: i32 = Constant<0>
try.c: 0x55dddef614f0: 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: 0x561a63821d70: v4i64 = X86ISD::VTRUNC 0x561a63821c40
try.c: 0x561a63821c40: v16i32 = vselect 0x561a6383adb0, 0x561a637cf020, 0x561a63821b10
try.c: 0x561a6383adb0: v4i1 = X86ISD::PCMPGTM 0x561a63818f20, 0x561a63814ab0
try.c: 0x561a63818f20: v4i64 = X86ISD::VBROADCAST 0x561a637bfc10
try.c: 0x561a637bfc10: i64,ch = load<LD8[%lsr.iv6971]> 0x561a63729960, 0x561a6380ca60, undef:i64
try.c: 0x561a6380ca60: i64,ch = CopyFromReg 0x561a63729960, Register:i64 %vreg50
try.c: 0x561a63814d10: i64 = Register %vreg50
try.c: 0x561a637c10e0: i64 = undef
try.c: 0x561a63814ab0: v4i64,ch = CopyFromReg 0x561a63729960, Register:v4i64 %vreg13
try.c: 0x561a63819770: v4i64 = Register %vreg13
try.c: 0x561a637cf020: v16i32 = X86ISD::VBROADCAST 0x561a63819180
try.c: 0x561a63819180: i32,ch = load<LD4[ConstantPool]> 0x561a63729960, 0x561a637bf1f0, undef:i64
try.c: 0x561a637bf1f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561a637df960: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561a637c10e0: i64 = undef
try.c: 0x561a63821b10: 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: 0x561a638219e0: i32 = Constant<0>
try.c: 0x561a638219e0: i32 = Constant<0>
try.c: 0x561a638219e0: i32 = Constant<0>
try.c: 0x561a638219e0: i32 = Constant<0>
try.c: 0x561a638219e0: i32 = Constant<0>
try.c: 0x561a638219e0: i32 = Constant<0>
try.c: 0x561a638219e0: i32 = Constant<0>
try.c: 0x561a638219e0: i32 = Constant<0>
try.c: 0x561a638219e0: 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:182: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:211:8: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:211:23: error: unknown type name 'block'
encrypt.c: static block zero_pad(block x, unsigned zero_bytes) {
encrypt.c: ^
encrypt.c: encrypt.c:212: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:212: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:215: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:215: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:216:5: error: use of undeclared identifier 'block'
encrypt.c: block *p = (block*)(pad + one_zero_bytes);
encrypt.c: ^
encrypt.c: encrypt.c:216: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: 0x55ca8b9bca10: v32i16 = scalar_to_vector Constant:i16<1>
encrypt.c: 0x55ca8b9bd390: 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-e6bab9.c
encrypt.c: clang: note: diagnostic msg: /tmp/encrypt-e6bab9.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: 0x55b675383760: v32i16 = scalar_to_vector Constant:i16<1>
encrypt.c: 0x55b6753840e0: 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-c0fbb8.c
encrypt.c: clang: note: diagnostic msg: /tmp/encrypt-c0fbb8.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: 0x562f532ff0d0: v32i16 = scalar_to_vector Constant:i16<1>
encrypt.c: 0x562f532ffa50: 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-6fb739.c
encrypt.c: clang: note: diagnostic msg: /tmp/encrypt-6fb739.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