Implementation notes: aarch64, gcc116, crypto_sign/ed448goldilocks

Computer: gcc116
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20171218
Operation: crypto_sign
Primitive: ed448goldilocks

Checksum failure

Implementation: crypto_sign/ed448goldilocks/64
Compiler: cc
f06e0575a1e4d9c1e3a81c0786a1420168d5087277c51193ac65588c93ee1ff1
Number of similar (compiler,implementation) pairs: 19, namely:
CompilerImplementations
cc 64
gcc 64
gcc -O2 -fomit-frame-pointer 64
gcc -O3 -fomit-frame-pointer 64
gcc -O -fomit-frame-pointer 64
gcc -Os -fomit-frame-pointer 64
gcc -fno-schedule-insns -O2 -fomit-frame-pointer 64
gcc -fno-schedule-insns -O3 -fomit-frame-pointer 64
gcc -fno-schedule-insns -O -fomit-frame-pointer 64
gcc -fno-schedule-insns -Os -fomit-frame-pointer 64
gcc -funroll-loops 64
gcc -funroll-loops -O2 -fomit-frame-pointer 64
gcc -funroll-loops -O3 -fomit-frame-pointer 64
gcc -funroll-loops -O -fomit-frame-pointer 64
gcc -funroll-loops -Os -fomit-frame-pointer 64
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer 64
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer 64
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer 64
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer 64

Test failure

Implementation: crypto_sign/ed448goldilocks/32
Compiler: cc
error 111
crypto_sign_open returns nonzero

Number of similar (compiler,implementation) pairs: 38, namely:
CompilerImplementations
cc 32 arm32
gcc 32 arm32
gcc -O2 -fomit-frame-pointer 32 arm32
gcc -O3 -fomit-frame-pointer 32 arm32
gcc -O -fomit-frame-pointer 32 arm32
gcc -Os -fomit-frame-pointer 32 arm32
gcc -fno-schedule-insns -O2 -fomit-frame-pointer 32 arm32
gcc -fno-schedule-insns -O3 -fomit-frame-pointer 32 arm32
gcc -fno-schedule-insns -O -fomit-frame-pointer 32 arm32
gcc -fno-schedule-insns -Os -fomit-frame-pointer 32 arm32
gcc -funroll-loops 32 arm32
gcc -funroll-loops -O2 -fomit-frame-pointer 32 arm32
gcc -funroll-loops -O3 -fomit-frame-pointer 32 arm32
gcc -funroll-loops -O -fomit-frame-pointer 32 arm32
gcc -funroll-loops -Os -fomit-frame-pointer 32 arm32
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer 32 arm32
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer 32 arm32
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer 32 arm32
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer 32 arm32

Compiler output

Implementation: crypto_sign/ed448goldilocks/neon
Compiler: cc
crandom.c: In file included from magic.h:15:0,
crandom.c: from crandom.c:11:
crandom.c: p448.h: In function 'p448_weak_reduce':
crandom.c: p448.h:314:14: error: incompatible types when initializing type 'uint32x2_t' using type 'int'
crandom.c: tmp = vshr_n_u32(aa[7],28);
crandom.c: ^
crandom.c: p448.h:318:15: error: incompatible types when assigning to type 'uint32x2_t' from type 'int'
crandom.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
crandom.c: ^

Number of similar (compiler,implementation) pairs: 19, namely:
CompilerImplementations
cc neon
gcc neon
gcc -O2 -fomit-frame-pointer neon
gcc -O3 -fomit-frame-pointer neon
gcc -O -fomit-frame-pointer neon
gcc -Os -fomit-frame-pointer neon
gcc -fno-schedule-insns -O2 -fomit-frame-pointer neon
gcc -fno-schedule-insns -O3 -fomit-frame-pointer neon
gcc -fno-schedule-insns -O -fomit-frame-pointer neon
gcc -fno-schedule-insns -Os -fomit-frame-pointer neon
gcc -funroll-loops neon
gcc -funroll-loops -O2 -fomit-frame-pointer neon
gcc -funroll-loops -O3 -fomit-frame-pointer neon
gcc -funroll-loops -O -fomit-frame-pointer neon
gcc -funroll-loops -Os -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer neon

Compiler output

Implementation: crypto_sign/ed448goldilocks/amd64
Compiler: cc
p448.c: In file included from p448.c:6:0:
p448.c: x86-64-arith.h: In function 'widemul':
p448.c: x86-64-arith.h:17:3: error: impossible constraint in 'asm'
p448.c: __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: __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: __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: __asm__ volatile
p448.c: ^
p448.c: x86-64-arith.h:181:3: error: unknown register name 'rax' in 'asm'
p448.c: x86-64-arith.h: In function 'msb':
p448.c: x86-64-arith.h:208:3: error: unknown register name 'rdx' in 'asm'
p448.c: __asm__ volatile
p448.c: ^
p448.c: x86-64-arith.h:208:3: error: unknown register name 'rax' in 'asm'
p448.c: ...

Number of similar (compiler,implementation) pairs: 7, namely:
CompilerImplementations
cc amd64
gcc amd64
gcc -Os -fomit-frame-pointer amd64
gcc -fno-schedule-insns -Os -fomit-frame-pointer amd64
gcc -funroll-loops amd64
gcc -funroll-loops -Os -fomit-frame-pointer amd64
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer amd64

Compiler output

Implementation: crypto_sign/ed448goldilocks/amd64
Compiler: gcc -O2 -fomit-frame-pointer
p448.c: In file included from p448.c:6:0:
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: __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: __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: __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: __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: __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: __asm__ volatile
p448.c: ^
p448.c: ...

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer amd64
gcc -O3 -fomit-frame-pointer amd64
gcc -O -fomit-frame-pointer amd64
gcc -fno-schedule-insns -O2 -fomit-frame-pointer amd64
gcc -fno-schedule-insns -O3 -fomit-frame-pointer amd64
gcc -fno-schedule-insns -O -fomit-frame-pointer amd64
gcc -funroll-loops -O2 -fomit-frame-pointer amd64
gcc -funroll-loops -O3 -fomit-frame-pointer amd64
gcc -funroll-loops -O -fomit-frame-pointer amd64
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer amd64
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer amd64
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer amd64