Implementation notes: aarch64, supercoplxc, crypto_kem/sikep503

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: sikep503
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
74493528074076 0 093289 920 1568optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019120120190816
77311232058744 0 076484 808 1584optclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019120120190816
77502360073592 0 092769 920 1568optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120120190816
77544456058744 0 076484 808 1584optclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019120120190816
77734408058744 0 076436 808 1584optclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019120120190816
78309296058744 0 076484 808 1584optclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019120120190816
78702544064140 0 081977 920 1568optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120120190816
79227904064668 0 082529 920 1568optgcc_-O3_-fomit-frame-pointer2019120120190816
80788464058324 0 076068 808 1584optclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019120120190816
95665248045860 0 064545 920 1552optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019120120190816
98456152027260 0 043881 920 1552optgcc_-O2_-fomit-frame-pointer2019120120190816
99837456045948 0 064729 920 1552optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120120190816
105632096027128 0 043713 920 1552optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120120190816
123892232045368 0 065385 920 1552optgcc_-funroll-loops_-O_-fomit-frame-pointer2019120120190816
124047856045368 0 065385 920 1552optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019120120190816
128405024026300 0 043097 920 1552optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019120120190816
128670136026300 0 043097 920 1552optgcc_-O_-fomit-frame-pointer2019120120190816
174469040021724 0 037671 904 1544optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019120120190816
175833504021592 0 037487 904 1544optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120120190816
177295520021592 0 037487 904 1544optgcc_-Os_-fomit-frame-pointer2019120120190816
177698528021724 0 037671 904 1544optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120120190816
587367168034064 0 053857 904 1560optcc2019120120190816
606421248034064 0 053857 904 1560optgcc2019120120190816
613868264034064 0 053857 904 1560optgcc_-funroll-loops2019120120190816

Compiler output

Implementation: ms
Security model: unknown
Compiler: cc
fp_x64_asm.S: fp_x64_asm.S: Assembler messages:
fp_x64_asm.S: fp_x64_asm.S:7: Error: unknown pseudo-op: `.intel_syntax'
fp_x64_asm.S: fp_x64_asm.S:63: Error: unknown mnemonic `push' -- `push r12'
fp_x64_asm.S: fp_x64_asm.S:64: Error: unknown mnemonic `push' -- `push r13'
fp_x64_asm.S: fp_x64_asm.S:65: Error: unknown mnemonic `push' -- `push r14'
fp_x64_asm.S: fp_x64_asm.S:66: Error: unknown mnemonic `push' -- `push r15'
fp_x64_asm.S: fp_x64_asm.S:68: Error: unknown mnemonic `xor' -- `xor rax,rax'
fp_x64_asm.S: fp_x64_asm.S:69: Error: operand 1 must be an integer register -- `mov r8,[rdi]'
fp_x64_asm.S: fp_x64_asm.S:70: Error: operand 1 must be an integer register -- `mov r9,[rdi+8]'
fp_x64_asm.S: fp_x64_asm.S:71: Error: operand 1 must be an integer register -- `mov r10,[rdi+16]'
fp_x64_asm.S: fp_x64_asm.S:72: Error: operand 1 must be an integer register -- `mov r11,[rdi+24]'
fp_x64_asm.S: fp_x64_asm.S:73: Error: operand 1 must be an integer register -- `mov r12,[rdi+32]'
fp_x64_asm.S: fp_x64_asm.S:74: Error: operand 1 must be an integer register -- `mov r13,[rdi+40]'
fp_x64_asm.S: fp_x64_asm.S:75: Error: operand 1 must be an integer register -- `mov r14,[rdi+48]'
fp_x64_asm.S: fp_x64_asm.S:76: Error: operand 1 must be an integer register -- `mov r15,[rdi+56]'
fp_x64_asm.S: fp_x64_asm.S:77: Error: operand 1 must be an integer or stack pointer register -- `add r8,[rsi]'
fp_x64_asm.S: fp_x64_asm.S:78: Error: operand 1 must be an integer register -- `adc r9,[rsi+8]'
fp_x64_asm.S: fp_x64_asm.S:79: Error: operand 1 must be an integer register -- `adc r10,[rsi+16]'
fp_x64_asm.S: fp_x64_asm.S:80: Error: operand 1 must be an integer register -- `adc r11,[rsi+24]'
fp_x64_asm.S: fp_x64_asm.S:81: Error: operand 1 must be an integer register -- `adc r12,[rsi+32]'
fp_x64_asm.S: fp_x64_asm.S:82: Error: operand 1 must be an integer register -- `adc r13,[rsi+40]'
fp_x64_asm.S: fp_x64_asm.S:83: Error: operand 1 must be an integer register -- `adc r14,[rsi+48]'
fp_x64_asm.S: fp_x64_asm.S:84: Error: operand 1 must be an integer register -- `adc r15,[rsi+56]'
fp_x64_asm.S: fp_x64_asm.S:86: Error: operand 1 must be an integer register -- `mov rcx,0xFFFFFFFFFFFFFFFE'
fp_x64_asm.S: fp_x64_asm.S:87: Error: operand 1 must be an integer or stack pointer register -- `sub r8,rcx'
fp_x64_asm.S: ...

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

Compiler output

Implementation: ms
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
fp_x64_asm.S: fp_x64_asm.S:7:1: error: unknown directive
fp_x64_asm.S: .intel_syntax noprefix
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:63:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
fp_x64_asm.S: push r12
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:64:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
fp_x64_asm.S: push r13
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:65:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
fp_x64_asm.S: push r14
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:66:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
fp_x64_asm.S: push r15
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:68:3: error: unrecognized instruction mnemonic, did you mean: eor, orn, orr, ror?
fp_x64_asm.S: xor rax, rax
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:69:7: error: invalid operand for instruction
fp_x64_asm.S: mov r8, [rdi]
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:70:7: error: invalid operand for instruction
fp_x64_asm.S: mov r9, [rdi+8]
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:71:7: error: invalid operand for instruction
fp_x64_asm.S: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ms
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ms
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ms
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ms
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ms

Compiler output

Implementation: ref
Security model: unknown
Compiler: cc
api.c: In file included from ./fp2.h:16,
api.c: from ./montgomery.h:15,
api.c: from ./sike_params.h:15,
api.c: from api.c:9:
api.c: ./fp.h:15:10: fatal error: gmp.h: No such file or directory
api.c: #include <gmp.h>
api.c: ^~~~~~~
api.c: compilation terminated.

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
api.c: In file included from api.c:9:
api.c: In file included from ./sike_params.h:15:
api.c: In file included from ./montgomery.h:15:
api.c: In file included from ./fp2.h:16:
api.c: ./fp.h:15:10: fatal error: 'gmp.h' file not found
api.c: #include <gmp.h>
api.c: ^~~~~~~
api.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: x64
Security model: unknown
Compiler: cc
fp_x64_asm.S: fp_x64_asm.S: Assembler messages:
fp_x64_asm.S: fp_x64_asm.S:7: Error: unknown pseudo-op: `.intel_syntax'
fp_x64_asm.S: fp_x64_asm.S:37: Error: unknown mnemonic `push' -- `push r12'
fp_x64_asm.S: fp_x64_asm.S:38: Error: unknown mnemonic `push' -- `push r13'
fp_x64_asm.S: fp_x64_asm.S:39: Error: unknown mnemonic `push' -- `push r14'
fp_x64_asm.S: fp_x64_asm.S:40: Error: unknown mnemonic `push' -- `push r15'
fp_x64_asm.S: fp_x64_asm.S:42: Error: unknown mnemonic `xor' -- `xor rax,rax'
fp_x64_asm.S: fp_x64_asm.S:43: Error: operand 1 must be an integer register -- `mov r8,[rdi]'
fp_x64_asm.S: fp_x64_asm.S:44: Error: operand 1 must be an integer register -- `mov r9,[rdi+8]'
fp_x64_asm.S: fp_x64_asm.S:45: Error: operand 1 must be an integer register -- `mov r10,[rdi+16]'
fp_x64_asm.S: fp_x64_asm.S:46: Error: operand 1 must be an integer register -- `mov r11,[rdi+24]'
fp_x64_asm.S: fp_x64_asm.S:47: Error: operand 1 must be an integer register -- `mov r12,[rdi+32]'
fp_x64_asm.S: fp_x64_asm.S:48: Error: operand 1 must be an integer register -- `mov r13,[rdi+40]'
fp_x64_asm.S: fp_x64_asm.S:49: Error: operand 1 must be an integer register -- `mov r14,[rdi+48]'
fp_x64_asm.S: fp_x64_asm.S:50: Error: operand 1 must be an integer register -- `mov r15,[rdi+56]'
fp_x64_asm.S: fp_x64_asm.S:51: Error: operand 1 must be an integer or stack pointer register -- `add r8,[rsi]'
fp_x64_asm.S: fp_x64_asm.S:52: Error: operand 1 must be an integer register -- `adc r9,[rsi+8]'
fp_x64_asm.S: fp_x64_asm.S:53: Error: operand 1 must be an integer register -- `adc r10,[rsi+16]'
fp_x64_asm.S: fp_x64_asm.S:54: Error: operand 1 must be an integer register -- `adc r11,[rsi+24]'
fp_x64_asm.S: fp_x64_asm.S:55: Error: operand 1 must be an integer register -- `adc r12,[rsi+32]'
fp_x64_asm.S: fp_x64_asm.S:56: Error: operand 1 must be an integer register -- `adc r13,[rsi+40]'
fp_x64_asm.S: fp_x64_asm.S:57: Error: operand 1 must be an integer register -- `adc r14,[rsi+48]'
fp_x64_asm.S: fp_x64_asm.S:58: Error: operand 1 must be an integer register -- `adc r15,[rsi+56]'
fp_x64_asm.S: fp_x64_asm.S:60: Error: operand 1 must be an integer register -- `mov rcx,0xFFFFFFFFFFFFFFFE'
fp_x64_asm.S: fp_x64_asm.S:61: Error: operand 1 must be an integer or stack pointer register -- `sub r8,rcx'
fp_x64_asm.S: ...

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

Compiler output

Implementation: x64
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
fp_x64_asm.S: fp_x64_asm.S:7:1: error: unknown directive
fp_x64_asm.S: .intel_syntax noprefix
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:37:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
fp_x64_asm.S: push r12
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:38:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
fp_x64_asm.S: push r13
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:39:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
fp_x64_asm.S: push r14
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:40:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
fp_x64_asm.S: push r15
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:42:3: error: unrecognized instruction mnemonic, did you mean: eor, orn, orr, ror?
fp_x64_asm.S: xor rax, rax
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:43:7: error: invalid operand for instruction
fp_x64_asm.S: mov r8, [rdi]
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:44:7: error: invalid operand for instruction
fp_x64_asm.S: mov r9, [rdi+8]
fp_x64_asm.S: ^
fp_x64_asm.S: fp_x64_asm.S:45:7: error: invalid operand for instruction
fp_x64_asm.S: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments x64
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments x64
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments x64
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments x64
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments x64