Implementation notes: aarch64, supercoplxc, crypto_kem/hila5

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: hila5
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
107624023357 0 042249 912 1568optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112320190816
109056022933 0 041793 912 1568optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112320190816
111472018717 0 036249 912 1568optgcc_-O3_-fomit-frame-pointer2019112320190816
113032018413 0 035929 912 1568optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112320190816
113336020049 0 038433 912 1552optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112320190816
115632019825 0 038305 912 1552optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112320190816
120088015425 0 031753 912 1552optgcc_-O2_-fomit-frame-pointer2019112320190816
121808015361 0 031641 912 1552optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112320190816
122184021109 0 039604 808 1584optclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019112320190816
122328021073 0 039564 808 1584optclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112320190816
122432021061 0 039500 808 1584optclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112320190816
122512021073 0 039564 808 1584optclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112320190816
122528021073 0 039564 808 1584optclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112320190816
148104015181 0 030695 896 1544optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112320190816
148320015181 0 030695 896 1544optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112320190816
151288020553 0 040137 912 1552optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112320190816
151304020553 0 040137 912 1552optgcc_-funroll-loops_-O_-fomit-frame-pointer2019112320190816
152648015165 0 030631 896 1544optgcc_-Os_-fomit-frame-pointer2019112320190816
152912015165 0 030631 896 1544optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112320190816
155192016097 0 032465 912 1552optgcc_-O_-fomit-frame-pointer2019112320190816
155368016097 0 032465 912 1552optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112320190816
566992023337 0 042625 896 1560optgcc2019112320190816
571256023337 0 042625 896 1560optcc2019112320190816
572816023337 0 042625 896 1560optgcc_-funroll-loops2019112320190816
7599864011401 0 820029745 896 9760refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112320190816
7731280013569 0 820832361 896 9792refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112320190816
7779976013533 0 820832361 896 9792refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112320190816
7800168011317 0 820029737 896 9760refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112320190816
802805605597 0 819621023 880 9744refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112320190816
802962405597 0 819621023 880 9744refgcc_-Os_-fomit-frame-pointer2019112320190816
8036072010461 0 819628956 808 9776refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019112320190816
8046280010597 0 819629092 808 9776refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112320190816
8073416010593 0 819629036 808 9776refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112320190816
8075200010597 0 819629092 808 9776refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112320190816
8101264010597 0 819629092 808 9776refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112320190816
854047205617 0 819621095 880 9744refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112320190816
854507205617 0 819621095 880 9744refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112320190816
859509607941 0 820825393 896 9792refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112320190816
864872007909 0 820825369 896 9792refgcc_-O3_-fomit-frame-pointer2019112320190816
876043206237 0 820022505 896 9760refgcc_-O2_-fomit-frame-pointer2019112320190816
881415206293 0 820022505 896 9760refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112320190816
911003206257 0 820022585 896 9760refgcc_-O_-fomit-frame-pointer2019112320190816
913703206257 0 820022585 896 9760refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112320190816
9280472011069 0 820030617 896 9760refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112320190816
9280784011069 0 820030617 896 9760refgcc_-funroll-loops_-O_-fomit-frame-pointer2019112320190816
28211656010665 0 819629913 880 9752refcc2019112320190816
28324352010665 0 819629913 880 9752refgcc2019112320190816
28475792010665 0 819629913 880 9752refgcc_-funroll-loops2019112320190816

Compiler output

Implementation: avx2
Security model: unknown
Compiler: cc
ms_x64_ntt.S: ms_x64_ntt.S: Assembler messages:
ms_x64_ntt.S: ms_x64_ntt.S:18: Error: unknown pseudo-op: `.intel_syntax'
ms_x64_ntt.S: ms_x64_ntt.S:68: Error: unknown mnemonic `push' -- `push r12'
ms_x64_ntt.S: ms_x64_ntt.S:69: Error: unknown mnemonic `push' -- `push r13'
ms_x64_ntt.S: ms_x64_ntt.S:70: Error: unknown mnemonic `push' -- `push r14'
ms_x64_ntt.S: ms_x64_ntt.S:73: Error: operand 1 must be an integer register -- `mov r9,1'
ms_x64_ntt.S: ms_x64_ntt.S:74: Error: operand 1 must be an integer register -- `mov rax,rdx'
ms_x64_ntt.S: ms_x64_ntt.S:75: Error: operand 1 must be an integer register -- `mov r12,rdx'
ms_x64_ntt.S: ms_x64_ntt.S:76: Error: unknown mnemonic `shr' -- `shr r12,4'
ms_x64_ntt.S: ms_x64_ntt.S:77: Error: unknown mnemonic `vmovdqu' -- `vmovdqu ymm14,MASK12x8'
ms_x64_ntt.S: ms_x64_ntt.S:78: Error: unknown mnemonic `vmovdqu' -- `vmovdqu ymm12,PERM0246'
ms_x64_ntt.S: ms_x64_ntt.S:79: Error: operand 1 must be an integer register -- `mov r14,16'
ms_x64_ntt.S: ms_x64_ntt.S:80: Error: operand 1 must be an integer register -- `mov rcx,11'
ms_x64_ntt.S: ms_x64_ntt.S:82: Error: unknown mnemonic `shr' -- `shr rax,1'
ms_x64_ntt.S: ms_x64_ntt.S:83: Error: unknown mnemonic `dec' -- `dec rcx'
ms_x64_ntt.S: ms_x64_ntt.S:84: Error: unknown mnemonic `xor' -- `xor rdx,rdx'
ms_x64_ntt.S: ms_x64_ntt.S:86: Error: operand 1 must be an integer register -- `mov r10,rdx'
ms_x64_ntt.S: ms_x64_ntt.S:87: Error: operand 1 must be an integer register -- `mov r11,rax'
ms_x64_ntt.S: ms_x64_ntt.S:88: Error: unknown mnemonic `dec' -- `dec r11'
ms_x64_ntt.S: ms_x64_ntt.S:89: Error: operand 1 must be a SIMD scalar register -- `shl r10,cl'
ms_x64_ntt.S: ms_x64_ntt.S:90: Error: operand 1 must be an integer or stack pointer register -- `add r11,r10'
ms_x64_ntt.S: ms_x64_ntt.S:91: Error: operand 1 must be an integer register -- `mov r13,r9'
ms_x64_ntt.S: ms_x64_ntt.S:92: Error: operand 1 must be an integer or stack pointer register -- `add r13,rdx'
ms_x64_ntt.S: ms_x64_ntt.S:93: Error: unknown mnemonic `vbroadcastss' -- `vbroadcastss ymm11,DWORD PTR[rsi+4*r13]'
ms_x64_ntt.S: ms_x64_ntt.S:96: Error: operand 1 must be an integer register -- `mov r13,r10'
ms_x64_ntt.S: ...

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
ms_x64_ntt.S: ms_x64_ntt.S:18:1: error: unknown directive
ms_x64_ntt.S: .intel_syntax noprefix
ms_x64_ntt.S: ^
ms_x64_ntt.S: ms_x64_ntt.S:37:12: error: invalid alignment value
ms_x64_ntt.S: .align 32
ms_x64_ntt.S: ^
ms_x64_ntt.S: ms_x64_ntt.S:68:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
ms_x64_ntt.S: push r12
ms_x64_ntt.S: ^
ms_x64_ntt.S: ms_x64_ntt.S:69:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
ms_x64_ntt.S: push r13
ms_x64_ntt.S: ^
ms_x64_ntt.S: ms_x64_ntt.S:70:3: error: unrecognized instruction mnemonic, did you mean: ushl, ushr?
ms_x64_ntt.S: push r14
ms_x64_ntt.S: ^
ms_x64_ntt.S: ms_x64_ntt.S:73:7: error: invalid operand for instruction
ms_x64_ntt.S: mov r9, 1
ms_x64_ntt.S: ^
ms_x64_ntt.S: ms_x64_ntt.S:74:7: error: invalid operand for instruction
ms_x64_ntt.S: mov rax, rdx
ms_x64_ntt.S: ^
ms_x64_ntt.S: ms_x64_ntt.S:75:7: error: invalid operand for instruction
ms_x64_ntt.S: mov r12, rdx
ms_x64_ntt.S: ^
ms_x64_ntt.S: ms_x64_ntt.S:76:3: error: unrecognized instruction mnemonic, did you mean: asr, lsr, msr, rshrn, shl, shrn, shrn2, sri, srshr, sshr, str, urshr, ushr?
ms_x64_ntt.S: ...

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