Implementation notes: ppc64, power9, crypto_stream/cryptmtv3

Computer: power9
Architecture: ppc64
CPU ID: unknown CPU ID
SUPERCOP version: 20210326
Operation: crypto_stream
Primitive: cryptmtv3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1106511874 8 831591 684 1168T:e/v3gcc_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
1143511874 8 831591 684 1168T:e/v3gcc_-mcpu=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
1219812286 8 832271 684 1168T:e/v3gcc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
1341610698 8 828967 684 1160T:e/v3gcc_-mcpu=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
1353210698 8 828967 684 1160T:e/v3gcc_-mcpu=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
138965624 8 821627 676 1160T:e/v3gcc_-mcpu=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
139575624 8 821627 676 1160T:e/v3gcc_-mcpu=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
1434210442 8 828755 684 1160T:e/v3gcc_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
1446910014 8 827931 684 1160T:e/v3gcc_-mcpu=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
1484210014 8 827931 684 1160T:e/v3gcc_-mcpu=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
149465708 8 821735 676 1160T:e/v3gcc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
1506810054 8 827943 684 1160T:e/v3gcc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326

Compiler output

Implementation: T:e/v3
Security model: timingleaks
Compiler: clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
cryptmt-v3.c: In file included from cryptmt-v3.c:1:
cryptmt-v3.c: In file included from ./e/cryptmt-v3.c:60:
cryptmt-v3.c: ./e/altivec.c:29:9: warning: implicit declaration of function 'vec_perm' is invalid in C99 [-Wimplicit-function-declaration]
cryptmt-v3.c: d = vec_perm(b, b, perm2);
cryptmt-v3.c: ^
cryptmt-v3.c: ./e/altivec.c:29:7: error: assigning to '__vector unsigned int' (vector of 4 'unsigned int' values) from incompatible type 'int'
cryptmt-v3.c: d = vec_perm(b, b, perm2);
cryptmt-v3.c: ^ ~~~~~~~~~~~~~~~~~~~~~
cryptmt-v3.c: ./e/altivec.c:30:9: warning: implicit declaration of function 'vec_and' is invalid in C99 [-Wimplicit-function-declaration]
cryptmt-v3.c: b = vec_and(vec_srl(vec_perm(b, b, perm64), shift64), shift64_mask);
cryptmt-v3.c: ^
cryptmt-v3.c: ./e/altivec.c:30:17: warning: implicit declaration of function 'vec_srl' is invalid in C99 [-Wimplicit-function-declaration]
cryptmt-v3.c: b = vec_and(vec_srl(vec_perm(b, b, perm64), shift64), shift64_mask);
cryptmt-v3.c: ^
cryptmt-v3.c: ./e/altivec.c:30:7: error: assigning to '__vector unsigned int' (vector of 4 'unsigned int' values) from incompatible type 'int'
cryptmt-v3.c: b = vec_and(vec_srl(vec_perm(b, b, perm64), shift64), shift64_mask);
cryptmt-v3.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cryptmt-v3.c: ./e/altivec.c:31:7: error: assigning to '__vector unsigned int' (vector of 4 'unsigned int' values) from incompatible type 'int'
cryptmt-v3.c: b = vec_perm(b, b, perm64);
cryptmt-v3.c: ^ ~~~~~~~~~~~~~~~~~~~~~~
cryptmt-v3.c: ./e/altivec.c:32:9: warning: implicit declaration of function 'vec_xor' is invalid in C99 [-Wimplicit-function-declaration]
cryptmt-v3.c: c = vec_xor(vec_xor(vec_perm(a, a, perm1), b),
cryptmt-v3.c: ^
cryptmt-v3.c: ./e/altivec.c:32:7: error: assigning to '__vector unsigned int' (vector of 4 'unsigned int' values) from incompatible type 'int'
cryptmt-v3.c: c = vec_xor(vec_xor(vec_perm(a, a, perm1), b),
cryptmt-v3.c: ...

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

Compiler output

Implementation: T:e/v3
Security model: timingleaks
Compiler: clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
cryptmt-v3.c: In file included from cryptmt-v3.c:1:
cryptmt-v3.c: In file included from ./e/cryptmt-v3.c:60:
cryptmt-v3.c: ./e/altivec.c:29:9: warning: implicit declaration of function 'vec_perm' is invalid in C99 [-Wimplicit-function-declaration]
cryptmt-v3.c: d = vec_perm(b, b, perm2);
cryptmt-v3.c: ^
cryptmt-v3.c: ./e/altivec.c:29:7: error: assigning to '__vector unsigned int' (vector of 4 'unsigned int' values) from incompatible type 'int'
cryptmt-v3.c: d = vec_perm(b, b, perm2);
cryptmt-v3.c: ^ ~~~~~~~~~~~~~~~~~~~~~
cryptmt-v3.c: ./e/altivec.c:30:9: warning: implicit declaration of function 'vec_and' is invalid in C99 [-Wimplicit-function-declaration]
cryptmt-v3.c: b = vec_and(vec_srl(vec_perm(b, b, perm64), shift64), shift64_mask);
cryptmt-v3.c: ^
cryptmt-v3.c: ./e/altivec.c:30:17: warning: implicit declaration of function 'vec_srl' is invalid in C99 [-Wimplicit-function-declaration]
cryptmt-v3.c: b = vec_and(vec_srl(vec_perm(b, b, perm64), shift64), shift64_mask);
cryptmt-v3.c: ^
cryptmt-v3.c: ./e/altivec.c:30:7: error: assigning to '__vector unsigned int' (vector of 4 'unsigned int' values) from incompatible type 'int'
cryptmt-v3.c: b = vec_and(vec_srl(vec_perm(b, b, perm64), shift64), shift64_mask);
cryptmt-v3.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cryptmt-v3.c: ./e/altivec.c:31:7: error: assigning to '__vector unsigned int' (vector of 4 'unsigned int' values) from incompatible type 'int'
cryptmt-v3.c: b = vec_perm(b, b, perm64);
cryptmt-v3.c: ^ ~~~~~~~~~~~~~~~~~~~~~~
cryptmt-v3.c: ./e/altivec.c:32:9: warning: implicit declaration of function 'vec_xor' is invalid in C99 [-Wimplicit-function-declaration]
cryptmt-v3.c: c = vec_xor(vec_xor(vec_perm(a, a, perm1), b),
cryptmt-v3.c: ^
cryptmt-v3.c: ./e/altivec.c:32:7: error: assigning to '__vector unsigned int' (vector of 4 'unsigned int' values) from incompatible type 'int'
cryptmt-v3.c: c = vec_xor(vec_xor(vec_perm(a, a, perm1), b),
cryptmt-v3.c: ...
cryptmt-v3.c: In file included from cryptmt-v3.c:1:
cryptmt-v3.c: In file included from ./e/cryptmt-v3.c:60:
cryptmt-v3.c: ./e/altivec.c:29:9: warning: implicit declaration of function 'vec_perm' is invalid in C99 [-Wimplicit-function-declaration]
cryptmt-v3.c: d = vec_perm(b, b, perm2);
cryptmt-v3.c: ^
cryptmt-v3.c: ./e/altivec.c:29:7: error: assigning to '__vector unsigned int' (vector of 4 'unsigned int' values) from incompatible type 'int'
cryptmt-v3.c: d = vec_perm(b, b, perm2);
cryptmt-v3.c: ^ ~~~~~~~~~~~~~~~~~~~~~
cryptmt-v3.c: ./e/altivec.c:30:9: warning: implicit declaration of function 'vec_and' is invalid in C99 [-Wimplicit-function-declaration]
cryptmt-v3.c: b = vec_and(vec_srl(vec_perm(b, b, perm64), shift64), shift64_mask);
cryptmt-v3.c: ^
cryptmt-v3.c: ./e/altivec.c:30:17: warning: implicit declaration of function 'vec_srl' is invalid in C99 [-Wimplicit-function-declaration]
cryptmt-v3.c: b = vec_and(vec_srl(vec_perm(b, b, perm64), shift64), shift64_mask);
cryptmt-v3.c: ^
cryptmt-v3.c: ./e/altivec.c:30:7: error: assigning to '__vector unsigned int' (vector of 4 'unsigned int' values) from incompatible type 'int'
cryptmt-v3.c: b = vec_and(vec_srl(vec_perm(b, b, perm64), shift64), shift64_mask);
cryptmt-v3.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cryptmt-v3.c: ./e/altivec.c:31:7: error: assigning to '__vector unsigned int' (vector of 4 'unsigned int' values) from incompatible type 'int'
cryptmt-v3.c: b = vec_perm(b, b, perm64);
cryptmt-v3.c: ^ ~~~~~~~~~~~~~~~~~~~~~~
cryptmt-v3.c: ./e/altivec.c:32:9: warning: implicit declaration of function 'vec_xor' is invalid in C99 [-Wimplicit-function-declaration]
cryptmt-v3.c: c = vec_xor(vec_xor(vec_perm(a, a, perm1), b),
cryptmt-v3.c: ^
cryptmt-v3.c: ./e/altivec.c:32:7: error: assigning to '__vector unsigned int' (vector of 4 'unsigned int' values) from incompatible type 'int'
cryptmt-v3.c: c = vec_xor(vec_xor(vec_perm(a, a, perm1), b),
cryptmt-v3.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:e/v3