Implementation notes: aarch64, minimac, crypto_sign/ed448goldilocks

Computer: minimac
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20211108
Operation: crypto_sign
Primitive: ed448goldilocks

Compiler output

Implementation: T:32
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
sha512.c: In file included from sha512.c:5:
sha512.c: ./word.h:176:14: error: unrecognized instruction mnemonic
sha512.c: __asm__ ("bswapq %0" : "+r"(x));
sha512.c: ^
sha512.c: <inline asm>:1:2: note: instantiated into assembly here
sha512.c: bswapq x3
sha512.c: ^
sha512.c: In file included from sha512.c:5:
sha512.c: ./word.h:176:14: error: unrecognized instruction mnemonic
sha512.c: __asm__ ("bswapq %0" : "+r"(x));
sha512.c: ^
sha512.c: <inline asm>:1:2: note: instantiated into assembly here
sha512.c: bswapq x8
sha512.c: ^
sha512.c: In file included from sha512.c:5:
sha512.c: ./word.h:176:14: error: unrecognized instruction mnemonic
sha512.c: __asm__ ("bswapq %0" : "+r"(x));
sha512.c: ^
sha512.c: <inline asm>:1:2: note: instantiated into assembly here
sha512.c: bswapq x8
sha512.c: ^
sha512.c: In file included from sha512.c:5:
sha512.c: ./word.h:176:14: error: unrecognized instruction mnemonic
sha512.c: __asm__ ("bswapq %0" : "+r"(x));
sha512.c: ^
sha512.c: ...

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

Compiler output

Implementation: T:32
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//ccmkznBr.s:57:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x4
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//ccmkznBr.s:310:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x2
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//ccmkznBr.s:319:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x2
sha512.c: ^

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

Compiler output

Implementation: T:32
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//cct2DObd.s:42:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x3
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//cct2DObd.s:306:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x2
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//cct2DObd.s:312:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x3
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//cct2DObd.s:315:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x1
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//cct2DObd.s:322:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x7
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//cct2DObd.s:325:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x6
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//cct2DObd.s:330:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x5
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//cct2DObd.s:333:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x4
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//cct2DObd.s:339:2: error: unrecognized instruction mnemonic
sha512.c: ...

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

Compiler output

Implementation: T:32
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//ccvmu3Gv.s:30:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x3
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//ccvmu3Gv.s:295:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x0
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//ccvmu3Gv.s:305:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x2
sha512.c: ^

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

Compiler output

Implementation: T:32
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//ccad78nX.s:26:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x2
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//ccad78nX.s:276:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x0
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//ccad78nX.s:285:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x1
sha512.c: ^

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

Compiler output

Implementation: T:64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//ccvhpAhM.s:57:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x4
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//ccvhpAhM.s:310:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x2
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//ccvhpAhM.s:319:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x2
sha512.c: ^

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

Compiler output

Implementation: T:64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//cclkcOWF.s:42:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x3
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//cclkcOWF.s:306:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x2
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//cclkcOWF.s:312:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x3
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//cclkcOWF.s:315:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x1
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//cclkcOWF.s:322:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x7
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//cclkcOWF.s:325:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x6
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//cclkcOWF.s:330:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x5
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//cclkcOWF.s:333:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x4
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//cclkcOWF.s:339:2: error: unrecognized instruction mnemonic
sha512.c: ...

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

Compiler output

Implementation: T:64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//ccVcSUJw.s:30:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x3
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//ccVcSUJw.s:295:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x0
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//ccVcSUJw.s:305:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x2
sha512.c: ^

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

Compiler output

Implementation: T:64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//ccgRtiYM.s:26:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x2
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//ccgRtiYM.s:276:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x0
sha512.c: ^
sha512.c: /var/folders/30/y87t8qxn6pq460hrnhg176l00000w9/T//ccgRtiYM.s:285:2: error: unrecognized instruction mnemonic
sha512.c: bswapq x1
sha512.c: ^

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -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
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:10:
ec_point.c: ./word.h:207:5: error: implicit declaration of function 'memset_s' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
ec_point.c: memset_s(p, s, c, s);
ec_point.c: ^
ec_point.c: 1 error generated.

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

Compiler output

Implementation: T:amd64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
ec_point.c: In file included from p448.h:10,
ec_point.c: from ec_point.h:13,
ec_point.c: from ec_point.c:12:
ec_point.c: word.h: In function 'really_memset':
ec_point.c: word.h:207:5: warning: implicit declaration of function 'memset_s' [-Wimplicit-function-declaration]
ec_point.c: 207 | memset_s(p, s, c, s);
ec_point.c: | ^~~~~~~~
p448.c: In file included from p448.h:10,
p448.c: from p448.c:5:
p448.c: word.h: In function 'really_memset':
p448.c: word.h:207:5: warning: implicit declaration of function 'memset_s' [-Wimplicit-function-declaration]
p448.c: 207 | memset_s(p, s, c, s);
p448.c: | ^~~~~~~~
p448.c: In file included from p448.c:6:
p448.c: x86-64-arith.h: In function 'p448_mul':
p448.c: x86-64-arith.h:94:3: error: unknown register name 'rdx' in 'asm'
p448.c: 94 | __asm__ volatile
p448.c: | ^~~~~~~
p448.c: x86-64-arith.h:94:3: error: unknown register name 'rax' in 'asm'
p448.c: x86-64-arith.h:94:3: error: unknown register name 'rdx' in 'asm'
p448.c: 94 | __asm__ volatile
p448.c: | ^~~~~~~
p448.c: x86-64-arith.h:94:3: error: unknown register name 'rax' in 'asm'
p448.c: x86-64-arith.h:94:3: error: unknown register name 'rdx' in 'asm'
p448.c: 94 | __asm__ volatile
p448.c: | ^~~~~~~
p448.c: x86-64-arith.h:94:3: error: unknown register name 'rax' in 'asm'
p448.c: x86-64-arith.h:94:3: error: unknown register name 'rdx' in 'asm'
p448.c: 94 | __asm__ volatile
p448.c: | ^~~~~~~
p448.c: x86-64-arith.h:94:3: error: unknown register name 'rax' in 'asm'
p448.c: x86-64-arith.h:94:3: error: unknown register name 'rdx' in 'asm'
p448.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
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:amd64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
ec_point.c: In file included from p448.h:10,
ec_point.c: from ec_point.h:13,
ec_point.c: from ec_point.c:12:
ec_point.c: word.h: In function 'really_memset':
ec_point.c: word.h:207:5: warning: implicit declaration of function 'memset_s' [-Wimplicit-function-declaration]
ec_point.c: 207 | memset_s(p, s, c, s);
ec_point.c: | ^~~~~~~~
p448.c: In file included from p448.h:10,
p448.c: from p448.c:5:
p448.c: word.h: In function 'really_memset':
p448.c: word.h:207:5: warning: implicit declaration of function 'memset_s' [-Wimplicit-function-declaration]
p448.c: 207 | memset_s(p, s, c, s);
p448.c: | ^~~~~~~~
p448.c: In file included from p448.c:6:
p448.c: x86-64-arith.h: In function 'widemul':
p448.c: x86-64-arith.h:17:3: error: impossible constraint in 'asm'
p448.c: 17 | __asm__ volatile
p448.c: | ^~~~~~~
p448.c: x86-64-arith.h: In function 'mac':
p448.c: x86-64-arith.h:94:3: error: unknown register name 'rdx' in 'asm'
p448.c: 94 | __asm__ volatile
p448.c: | ^~~~~~~
p448.c: x86-64-arith.h:94:3: error: unknown register name 'rax' in 'asm'
p448.c: x86-64-arith.h: In function 'mac_rm':
p448.c: x86-64-arith.h:153:3: error: unknown register name 'rdx' in 'asm'
p448.c: 153 | __asm__ volatile
p448.c: | ^~~~~~~
p448.c: x86-64-arith.h:153:3: error: unknown register name 'rax' in 'asm'
p448.c: x86-64-arith.h: In function 'mac2':
p448.c: x86-64-arith.h:181:3: error: unknown register name 'rdx' in 'asm'
p448.c: 181 | __asm__ volatile
p448.c: | ^~~~~~~
p448.c: ...

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

Compiler output

Implementation: T:neon
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
p448.c: p448.c:362:12: error: unknown register name 'q0' in asm
p448.c: :: "q0","q1","q2","q3",
p448.c: ^
p448.c: p448.c:564:12: error: unknown register name 'q0' in asm
p448.c: :: "q0","q1","q2","q3",
p448.c: ^
p448.c: 2 errors generated.

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

Compiler output

Implementation: T:neon
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
crandom.c: In file included from magic.h:15,
crandom.c: from crandom.c:11:
crandom.c: p448.h: In function 'p448_weak_reduce':
crandom.c: p448.h:314:14: warning: implicit declaration of function 'vshr_n_u32' [-Wimplicit-function-declaration]
crandom.c: 314 | tmp = vshr_n_u32(aa[7],28);
crandom.c: | ^~~~~~~~~~
crandom.c: p448.h:314:14: error: incompatible types when initializing type 'uint32x2_t' {aka '__vector(2) unsigned int'} using type 'int'
crandom.c: p448.h:318:17: warning: implicit declaration of function 'vsra_n_u32' [-Wimplicit-function-declaration]
crandom.c: 318 | aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
crandom.c: | ^~~~~~~~~~
crandom.c: p448.h:318:17: error: incompatible types when assigning to type 'uint32x2_t' {aka '__vector(2) unsigned int'} from type 'int'
crandom.c: p448.h:320:31: warning: implicit declaration of function 'vrev64_u32' [-Wimplicit-function-declaration]
crandom.c: 320 | aa[0] = (aa[0] & vmask) + vrev64_u32(tmp) + (tmp&vm2);
crandom.c: | ^~~~~~~~~~

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