Implementation notes: amd64, saber214, crypto_dh/ed448goldilocks

Computer: saber214
Microarchitecture: amd64; Bulldozer (600f20)
Architecture: amd64
CPU ID: AuthenticAMD-00600f20-1789c3f5
SUPERCOP version: 20240107
Operation: crypto_dh
Primitive: ed448goldilocks
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
300256368704 24 2192487276 944 23520T:amd64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
356869896114 24 21924115420 944 23520T:64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212
1111549284589 24 18852103028 944 20448T:32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121420231212

Compiler output

Implementation: T:32
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
barrett_field.c: In file included from barrett_field.c:5:
barrett_field.c: In file included from ./barrett_field.h:15:
barrett_field.c: In file included from ./word.h:17:
barrett_field.c: In file included from /usr/include/endian.h:21:
barrett_field.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
barrett_field.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
barrett_field.c: ^
barrett_field.c: 1 warning generated.
crandom.c: In file included from crandom.c:9:
crandom.c: ./intrinsics.h:176:12: error: invalid operand for instruction
crandom.c: __asm__ ("vprotd %1, %2, %0" : "=x"(out) : "x"(x), "g"(amount));
crandom.c: ^
crandom.c: <inline asm>:1:16: note: instantiated into assembly here
crandom.c: vprotd %xmm4, $16, %xmm4
crandom.c: ^~~~
crandom.c: In file included from crandom.c:9:
crandom.c: ./intrinsics.h:176:12: error: invalid operand for instruction
crandom.c: __asm__ ("vprotd %1, %2, %0" : "=x"(out) : "x"(x), "g"(amount));
crandom.c: ^
crandom.c: <inline asm>:1:16: note: instantiated into assembly here
crandom.c: vprotd %xmm2, $12, %xmm2
crandom.c: ^~~~
crandom.c: In file included from crandom.c:9:
crandom.c: ./intrinsics.h:176:12: error: invalid operand for instruction
crandom.c: __asm__ ("vprotd %1, %2, %0" : "=x"(out) : "x"(x), "g"(amount));
crandom.c: ^
crandom.c: <inline asm>:1:16: note: instantiated into assembly here
crandom.c: vprotd %xmm4, $8, %xmm4
crandom.c: ^~~
crandom.c: In file included from crandom.c:9:
crandom.c: ./intrinsics.h:176:12: error: invalid operand for instruction
crandom.c: __asm__ ("vprotd %1, %2, %0" : "=x"(out) : "x"(x), "g"(amount));
crandom.c: ^
crandom.c: ...

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:32
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:32
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:32
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:32
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:64
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:amd64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:amd64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:amd64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:amd64

Compiler output

Implementation: T:32
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
barrett_field.c: In file included from barrett_field.c:5:
barrett_field.c: In file included from ./barrett_field.h:15:
barrett_field.c: In file included from ./word.h:17:
barrett_field.c: In file included from /usr/include/endian.h:21:
barrett_field.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
barrett_field.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
barrett_field.c: ^
barrett_field.c: 1 warning generated.
ec_point.c: In file included from ec_point.c:12:
ec_point.c: In file included from ./ec_point.h:13:
ec_point.c: In file included from ./p448.h:7:
ec_point.c: In file included from ./word.h:17:
ec_point.c: In file included from /usr/include/endian.h:21:
ec_point.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
ec_point.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
ec_point.c: ^
ec_point.c: 1 warning generated.
goldilocks.c: In file included from goldilocks.c:6:
goldilocks.c: In file included from ./word.h:17:
goldilocks.c: In file included from /usr/include/endian.h:21:
goldilocks.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
goldilocks.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
goldilocks.c: ^
goldilocks.c: 1 warning generated.
magic.c: In file included from magic.c:5:
magic.c: In file included from ./field.h:11:
magic.c: In file included from ./magic.h:14:
magic.c: In file included from ./word.h:17:
magic.c: In file included from /usr/include/endian.h:21:
magic.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
magic.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
magic.c: ^
magic.c: 1 warning generated.
p448.c: In file included from p448.c:5:
p448.c: In file included from ./word.h:17:
p448.c: In file included from /usr/include/endian.h:21:
p448.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
p448.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
p448.c: ^
p448.c: 1 warning generated.
scalarmul.c: In file included from scalarmul.c:5:
scalarmul.c: In file included from ./word.h:17:
scalarmul.c: In file included from /usr/include/endian.h:21:
scalarmul.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
scalarmul.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
scalarmul.c: ^
scalarmul.c: 1 warning generated.
sha512.c: In file included from sha512.c:5:
sha512.c: In file included from ./word.h:17:
sha512.c: In file included from /usr/include/endian.h:21:
sha512.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
sha512.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
sha512.c: ^
sha512.c: 1 warning generated.

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

Compiler output

Implementation: T:32
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
barrett_field.c: In file included from /usr/include/endian.h:21,
barrett_field.c: from word.h:17,
barrett_field.c: from barrett_field.h:15,
barrett_field.c: from barrett_field.c:5:
barrett_field.c: /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
barrett_field.c: 194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
barrett_field.c: | ^~~~~~~
crandom.c: intrinsics.h: Assembler messages:
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'

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

Compiler output

Implementation: T:32
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
barrett_field.c: In file included from /usr/include/endian.h:21,
barrett_field.c: from word.h:17,
barrett_field.c: from barrett_field.h:15,
barrett_field.c: from barrett_field.c:5:
barrett_field.c: /usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
barrett_field.c: 194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
barrett_field.c: | ^~~~~~~
crandom.c: intrinsics.h: Assembler messages:
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'
crandom.c: intrinsics.h:176: Error: operand type mismatch for `vprotd'

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:32 T:64 T:amd64

Compiler output

Implementation: T:64
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
barrett_field.c: In file included from barrett_field.c:5:
barrett_field.c: In file included from ./barrett_field.h:15:
barrett_field.c: In file included from ./word.h:17:
barrett_field.c: In file included from /usr/include/endian.h:21:
barrett_field.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
barrett_field.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
barrett_field.c: ^
barrett_field.c: 1 warning generated.
goldilocks.c: In file included from goldilocks.c:6:
goldilocks.c: In file included from ./word.h:17:
goldilocks.c: In file included from /usr/include/endian.h:21:
goldilocks.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
goldilocks.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
goldilocks.c: ^
goldilocks.c: 1 warning generated.
magic.c: In file included from magic.c:5:
magic.c: In file included from ./field.h:11:
magic.c: In file included from ./magic.h:14:
magic.c: In file included from ./word.h:17:
magic.c: In file included from /usr/include/endian.h:21:
magic.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
magic.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
magic.c: ^
magic.c: 1 warning generated.
scalarmul.c: In file included from scalarmul.c:5:
scalarmul.c: In file included from ./word.h:17:
scalarmul.c: In file included from /usr/include/endian.h:21:
scalarmul.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
scalarmul.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
scalarmul.c: ^
scalarmul.c: 1 warning generated.
sha512.c: In file included from sha512.c:5:
sha512.c: In file included from ./word.h:17:
sha512.c: In file included from /usr/include/endian.h:21:
sha512.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
sha512.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
sha512.c: ^
sha512.c: 1 warning generated.

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

Compiler output

Implementation: T:amd64
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
barrett_field.c: In file included from barrett_field.c:5:
barrett_field.c: In file included from ./barrett_field.h:15:
barrett_field.c: In file included from ./word.h:17:
barrett_field.c: In file included from /usr/include/endian.h:21:
barrett_field.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
barrett_field.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
barrett_field.c: ^
barrett_field.c: 1 warning generated.
goldilocks.c: In file included from goldilocks.c:6:
goldilocks.c: In file included from ./word.h:17:
goldilocks.c: In file included from /usr/include/endian.h:21:
goldilocks.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
goldilocks.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
goldilocks.c: ^
goldilocks.c: 1 warning generated.
magic.c: In file included from magic.c:5:
magic.c: In file included from ./field.h:11:
magic.c: In file included from ./magic.h:14:
magic.c: In file included from ./word.h:17:
magic.c: In file included from /usr/include/endian.h:21:
magic.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
magic.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
magic.c: ^
magic.c: 1 warning generated.
p448.c: p448.c:24:27: warning: expression does not compute the number of elements in this array; element type is 'uint64_t' (aka 'unsigned long'), not 'uint64xn_t' (aka 'uint64x2_t') [-Wsizeof-array-div]
p448.c: for (i=0; i<sizeof(aa)/sizeof(uint64xn_t); i++) {
p448.c: ~~ ^
p448.c: p448.c:20:14: note: array 'aa' declared here
p448.c: uint64_t aa[4] __attribute__((aligned(32))), bb[4] __attribute__((aligned(32))), bbb[4] __attribute__((aligned(32)));
p448.c: ^
p448.c: p448.c:24:27: note: place parentheses around the 'sizeof(uint64xn_t)' expression to silence this warning
p448.c: for (i=0; i<sizeof(aa)/sizeof(uint64xn_t); i++) {
p448.c: ^
p448.c: p448.c:208:27: warning: expression does not compute the number of elements in this array; element type is 'uint64_t' (aka 'unsigned long'), not 'uint64xn_t' (aka 'uint64x2_t') [-Wsizeof-array-div]
p448.c: for (i=0; i<sizeof(aa)/sizeof(uint64xn_t); i++) {
p448.c: ~~ ^
p448.c: p448.c:204:14: note: array 'aa' declared here
p448.c: uint64_t aa[4] __attribute__((aligned(32)));
p448.c: ^
p448.c: p448.c:208:27: note: place parentheses around the 'sizeof(uint64xn_t)' expression to silence this warning
p448.c: for (i=0; i<sizeof(aa)/sizeof(uint64xn_t); i++) {
p448.c: ^
p448.c: 2 warnings generated.
scalarmul.c: In file included from scalarmul.c:5:
scalarmul.c: In file included from ./word.h:17:
scalarmul.c: In file included from /usr/include/endian.h:21:
scalarmul.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
scalarmul.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
scalarmul.c: ^
scalarmul.c: 1 warning generated.
sha512.c: In file included from sha512.c:5:
sha512.c: In file included from ./word.h:17:
sha512.c: In file included from /usr/include/endian.h:21:
sha512.c: /usr/include/features.h:194:3: warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-W#warnings]
sha512.c: # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
sha512.c: ^
sha512.c: 1 warning generated.

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