Implementation notes: aarch64, supercoplxc, crypto_stream/chacha12

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_stream
Primitive: chacha12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
69604388 0 417489 912 824dolbeau/arm-neongcc_-O3_-fomit-frame-pointer2019090220190816
69605312 0 419144 904 808dolbeau/arm-neongcc_-funroll-loops_-O2_-fomit-frame-pointer2019090220190816
69605744 0 420233 912 824dolbeau/arm-neongcc_-funroll-loops_-O3_-fomit-frame-pointer2019090220190816
70403792 0 117764 800 840dolbeau/arm-neonclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090220190816
70403808 0 117836 800 840dolbeau/arm-neonclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090220190816
70403808 0 117836 800 840dolbeau/arm-neonclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090220190816
70403808 0 117836 800 840dolbeau/arm-neonclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090220190816
70403732 0 117748 800 840dolbeau/arm-neonclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090220190816
70403744 0 415496 904 808dolbeau/arm-neongcc_-O2_-fomit-frame-pointer2019090220190816
80803172 0 414086 888 800dolbeau/arm-neongcc_-Os_-fomit-frame-pointer2019090220190816
80803172 0 414086 888 800dolbeau/arm-neongcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090220190816
80803168 0 414142 888 800dolbeau/arm-neongcc_-funroll-loops_-Os_-fomit-frame-pointer2019090220190816
80803168 0 414142 888 800dolbeau/arm-neongcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090220190816
82405292 0 419184 904 808dolbeau/arm-neongcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090220190816
82405804 0 420217 912 824dolbeau/arm-neongcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090220190816
88003632 0 415312 904 808dolbeau/arm-neongcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090220190816
88004444 0 417489 912 824dolbeau/arm-neongcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090220190816
106404132 0 416040 904 808dolbeau/arm-neongcc_-O_-fomit-frame-pointer2019090220190816
106404132 0 416040 904 808dolbeau/arm-neongcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090220190816
106406204 0 421336 904 808dolbeau/arm-neongcc_-funroll-loops_-O_-fomit-frame-pointer2019090220190816
106406204 0 421336 904 808dolbeau/arm-neongcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090220190816
108803020 0 416113 912 824e/mergedgcc_-O3_-fomit-frame-pointer2019090220190816
108803840 0 417664 904 808e/mergedgcc_-funroll-loops_-O2_-fomit-frame-pointer2019090220190816
108804408 0 418881 912 824e/mergedgcc_-funroll-loops_-O3_-fomit-frame-pointer2019090220190816
109602176 0 413912 904 808e/mergedgcc_-O2_-fomit-frame-pointer2019090220190816
113602724 0 415833 912 824dolbeau/mipsel-msagcc_-O3_-fomit-frame-pointer2019090220190816
113601892 0 412806 888 800e/mergedgcc_-Os_-fomit-frame-pointer2019090220190816
113601892 0 412806 888 800e/mergedgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090220190816
113601892 0 412870 888 800e/mergedgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090220190816
114402740 0 415793 912 824dolbeau/mipsel-msagcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090220190816
114404136 0 418617 912 824dolbeau/mipsel-msagcc_-funroll-loops_-O3_-fomit-frame-pointer2019090220190816
114402120 0 413776 904 808e/mergedgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090220190816
114402948 0 415985 912 824e/mergedgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090220190816
114402748 0 415849 912 824e/refgcc_-O3_-fomit-frame-pointer2019090220190816
114402764 0 415809 912 824e/refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090220190816
114402748 0 415849 912 824e/regsgcc_-O3_-fomit-frame-pointer2019090220190816
114402756 0 415801 912 824e/regsgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090220190816
115204104 0 418585 912 824e/refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019090220190816
115204104 0 418585 912 824e/regsgcc_-funroll-loops_-O3_-fomit-frame-pointer2019090220190816
116801892 0 412870 888 800e/mergedgcc_-funroll-loops_-Os_-fomit-frame-pointer2019090220190816
125602564 0 116572 800 840e/mergedclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090220190816
126402516 0 116532 800 840e/mergedclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090220190816
126402516 0 116532 800 840e/mergedclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090220190816
126402516 0 116532 800 840e/mergedclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090220190816
128802472 0 116436 800 840e/mergedclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090220190816
132802340 0 116356 800 840dolbeau/mipsel-msaclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090220190816
132802340 0 116348 800 840e/refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090220190816
134402412 0 116420 800 840e/regsclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019090220190816
140002404 0 116428 800 840dolbeau/mipsel-msaclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090220190816
140002404 0 116428 800 840dolbeau/mipsel-msaclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090220190816
140002404 0 116428 800 840dolbeau/mipsel-msaclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090220190816
140002404 0 116420 800 840e/refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090220190816
140002404 0 116420 800 840e/refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090220190816
140002404 0 116420 800 840e/refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090220190816
140802420 0 116396 800 840dolbeau/mipsel-msaclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090220190816
140802420 0 116388 800 840e/refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090220190816
145602544 0 116508 800 840e/regsclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019090220190816
147202512 0 116532 800 840e/regsclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019090220190816
147202512 0 116532 800 840e/regsclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019090220190816
147202512 0 116532 800 840e/regsclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019090220190816
157604324 0 418729 912 824e/mergedgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090220190816
158403780 0 417664 904 808e/mergedgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090220190816
167204132 0 418545 912 824dolbeau/mipsel-msagcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090220190816
171204108 0 418521 912 824e/refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090220190816
171204100 0 418513 912 824e/regsgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019090220190816
182403636 0 417536 904 808dolbeau/mipsel-msagcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090220190816
184003664 0 417544 904 808e/refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090220190816
186403668 0 417488 904 808e/refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019090220190816
187203664 0 417504 904 808dolbeau/mipsel-msagcc_-funroll-loops_-O2_-fomit-frame-pointer2019090220190816
195203668 0 417496 904 808e/regsgcc_-funroll-loops_-O2_-fomit-frame-pointer2019090220190816
208801988 0 413744 904 808e/regsgcc_-O2_-fomit-frame-pointer2019090220190816
225601972 0 413648 904 808e/regsgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090220190816
238403656 0 417536 904 808e/regsgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090220190816
283201824 0 412782 888 800e/regsgcc_-funroll-loops_-Os_-fomit-frame-pointer2019090220190816
283201824 0 412782 888 800e/regsgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090220190816
290403552 0 415448 904 808e/mergedgcc_-O_-fomit-frame-pointer2019090220190816
290403552 0 415448 904 808e/mergedgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090220190816
290405144 0 420256 904 808e/mergedgcc_-funroll-loops_-O_-fomit-frame-pointer2019090220190816
290405144 0 420256 904 808e/mergedgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090220190816
302401664 0 412582 888 800dolbeau/mipsel-msagcc_-Os_-fomit-frame-pointer2019090220190816
302401664 0 412582 888 800dolbeau/mipsel-msagcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090220190816
302401664 0 412566 888 800e/refgcc_-Os_-fomit-frame-pointer2019090220190816
302401664 0 412566 888 800e/refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090220190816
306401664 0 412646 888 800dolbeau/mipsel-msagcc_-funroll-loops_-Os_-fomit-frame-pointer2019090220190816
306401664 0 412646 888 800dolbeau/mipsel-msagcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090220190816
306401664 0 412630 888 800e/refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090220190816
307201664 0 412630 888 800e/refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019090220190816
320001824 0 412718 888 800e/regsgcc_-Os_-fomit-frame-pointer2019090220190816
320001824 0 412718 888 800e/regsgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019090220190816
324001984 0 413744 904 808dolbeau/mipsel-msagcc_-O2_-fomit-frame-pointer2019090220190816
324801964 0 413712 904 808e/refgcc_-O2_-fomit-frame-pointer2019090220190816
328001984 0 413664 904 808dolbeau/mipsel-msagcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090220190816
328001948 0 413624 904 808e/refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019090220190816
420804580 0 419696 904 808e/regsgcc_-funroll-loops_-O_-fomit-frame-pointer2019090220190816
420804580 0 419696 904 808e/regsgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090220190816
423202916 0 414808 904 808e/regsgcc_-O_-fomit-frame-pointer2019090220190816
423202916 0 414808 904 808e/regsgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090220190816
441604612 0 419744 904 808dolbeau/mipsel-msagcc_-funroll-loops_-O_-fomit-frame-pointer2019090220190816
441604612 0 419744 904 808dolbeau/mipsel-msagcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090220190816
441604612 0 419728 904 808e/refgcc_-funroll-loops_-O_-fomit-frame-pointer2019090220190816
441604612 0 419728 904 808e/refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019090220190816
466402420 0 414328 904 808dolbeau/mipsel-msagcc_-O_-fomit-frame-pointer2019090220190816
466402420 0 414328 904 808dolbeau/mipsel-msagcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090220190816
466402420 0 414312 904 808e/refgcc_-O_-fomit-frame-pointer2019090220190816
466402420 0 414312 904 808e/refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019090220190816
976807192 0 426368 888 816e/mergedcc2019090220190816
976807192 0 426368 888 816e/mergedgcc2019090220190816
976807192 0 426368 888 816e/mergedgcc_-funroll-loops2019090220190816
9856013832 0 433016 888 816dolbeau/arm-neoncc2019090220190816
9856013832 0 433016 888 816dolbeau/arm-neongcc_-funroll-loops2019090220190816
9864013832 0 433016 888 816dolbeau/arm-neongcc2019090220190816
1344005844 0 425032 888 816e/regscc2019090220190816
1344005844 0 425032 888 816e/regsgcc2019090220190816
1344005844 0 425032 888 816e/regsgcc_-funroll-loops2019090220190816
1817604192 0 423376 888 816e/refcc2019090220190816
1817604192 0 423376 888 816e/refgcc2019090220190816
1817604192 0 423376 888 816e/refgcc_-funroll-loops2019090220190816
1818404228 0 423432 888 816dolbeau/mipsel-msacc2019090220190816
1818404228 0 423432 888 816dolbeau/mipsel-msagcc2019090220190816
1818404228 0 423432 888 816dolbeau/mipsel-msagcc_-funroll-loops2019090220190816

Compiler output

Implementation: amd64-ssse3
Security model: unknown
Compiler: cc
chacha.s: chacha.s: Assembler messages:
chacha.s: chacha.s:22: Error: operand 1 must be an integer register -- `mov %rsp,%r11'
chacha.s: chacha.s:23: Error: operand 1 must be an integer or stack pointer register -- `and $31,%r11'
chacha.s: chacha.s:24: Error: operand 1 must be an integer or stack pointer register -- `add $384,%r11'
chacha.s: chacha.s:25: Error: operand 1 must be an integer or stack pointer register -- `sub %r11,%rsp'
chacha.s: chacha.s:26: Error: operand 1 must be an integer register -- `mov %rdi,%r8'
chacha.s: chacha.s:27: Error: operand 1 must be an integer register -- `mov %rsi,%rsi'
chacha.s: chacha.s:28: Error: operand 1 must be an integer register -- `mov %rsi,%rdi'
chacha.s: chacha.s:29: Error: operand 1 must be an integer register -- `mov %rdx,%rdx'
chacha.s: chacha.s:30: Error: operand 1 must be an integer or stack pointer register -- `cmp $0,%rdx'
chacha.s: chacha.s:32: Error: unknown mnemonic `jbe' -- `jbe ._done'
chacha.s: chacha.s:34: Error: operand 1 must be an integer register -- `mov $0,%rax'
chacha.s: chacha.s:36: Error: operand 1 must be an integer register -- `mov %rdx,%rcx'
chacha.s: chacha.s:38: Error: unknown mnemonic `rep' -- `rep stosb'
chacha.s: chacha.s:40: Error: operand 1 must be an integer or stack pointer register -- `sub %rdx,%rdi'
chacha.s: chacha.s:42: Error: unknown mnemonic `jmp' -- `jmp ._start'
chacha.s: chacha.s:50: Error: operand 1 must be an integer register -- `mov %rsp,%r11'
chacha.s: chacha.s:51: Error: operand 1 must be an integer or stack pointer register -- `and $31,%r11'
chacha.s: chacha.s:52: Error: operand 1 must be an integer or stack pointer register -- `add $384,%r11'
chacha.s: chacha.s:53: Error: operand 1 must be an integer or stack pointer register -- `sub %r11,%rsp'
chacha.s: chacha.s:55: Error: operand 1 must be an integer register -- `mov %rdi,%r8'
chacha.s: chacha.s:57: Error: operand 1 must be an integer register -- `mov %rsi,%rsi'
chacha.s: chacha.s:59: Error: operand 1 must be an integer register -- `mov %rdx,%rdi'
chacha.s: chacha.s:61: Error: operand 1 must be an integer register -- `mov %rcx,%rdx'
chacha.s: chacha.s:63: Error: operand 1 must be an integer or stack pointer register -- `cmp $0,%rdx'
chacha.s: ...

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

Compiler output

Implementation: amd64-ssse3
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
chacha.s: chacha.s:22:5: error: unknown token in expression
chacha.s: mov %rsp,%r11
chacha.s: ^
chacha.s: chacha.s:22:5: error: invalid operand
chacha.s: mov %rsp,%r11
chacha.s: ^
chacha.s: chacha.s:23:5: error: invalid token in expression
chacha.s: and $31,%r11
chacha.s: ^
chacha.s: chacha.s:23:5: error: invalid operand
chacha.s: and $31,%r11
chacha.s: ^
chacha.s: chacha.s:24:5: error: invalid token in expression
chacha.s: add $384,%r11
chacha.s: ^
chacha.s: chacha.s:24:5: error: invalid operand
chacha.s: add $384,%r11
chacha.s: ^
chacha.s: chacha.s:25:5: error: unknown token in expression
chacha.s: sub %r11,%rsp
chacha.s: ^
chacha.s: chacha.s:25:5: error: invalid operand
chacha.s: sub %r11,%rsp
chacha.s: ^
chacha.s: chacha.s:26:6: error: unknown token in expression
chacha.s: ...

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

Compiler output

Implementation: goll_gueron
Security model: unknown
Compiler: cc
stream.c: stream.c:11:10: fatal error: immintrin.h: No such file or directory
stream.c: #include <immintrin.h>
stream.c: ^~~~~~~~~~~~~
stream.c: compilation terminated.

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

Compiler output

Implementation: goll_gueron
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
stream.c: In file included from stream.c:11:
stream.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/immintrin.h:28:
stream.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:64:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:143:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:173:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:203:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:230:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:253:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:274:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:301:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
stream.c: ...

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

Compiler output

Implementation: krovetz/avx2
Security model: unknown
Compiler: cc
stream.c: stream.c:8:10: fatal error: immintrin.h: No such file or directory
stream.c: #include <immintrin.h>
stream.c: ^~~~~~~~~~~~~
stream.c: compilation terminated.

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

Compiler output

Implementation: krovetz/avx2
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
stream.c: In file included from stream.c:8:
stream.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/immintrin.h:28:
stream.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:64:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:143:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:173:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:203:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:230:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:253:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:274:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:301:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
stream.c: ...

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

Compiler output

Implementation: krovetz/vec128
Security model: unknown
Compiler: cc
stream.c: stream.c:80:2: error: #error -- Implementation supports only machines with neon, altivec or SSE2
stream.c: #error -- Implementation supports only machines with neon, altivec or SSE2
stream.c: ^~~~~
stream.c: stream.c: In function 'crypto_stream_chacha12_krovetz_vec128_xor':
stream.c: stream.c:151:14: warning: implicit declaration of function 'NONCE' [-Wimplicit-function-declaration]
stream.c: vec s3 = NONCE(np);
stream.c: ^~~~~
stream.c: stream.c:151:14: error: incompatible types when initializing type 'vec' {aka '__vector(4) unsigned int'} using type 'int'
stream.c: stream.c:91:19: error: 'VBPI' undeclared (first use in this function); did you mean 'BPI'?
stream.c: #define BPI (VBPI + GPR_TOO) /* Blocks computed per loop iteration */
stream.c: ^~~~
stream.c: stream.c:152:36: note: in expansion of macro 'BPI'
stream.c: for (iters = 0; iters < inlen/(BPI*64); iters++) {
stream.c: ^~~
stream.c: stream.c:91:19: note: each undeclared identifier is reported only once for each function it appears in
stream.c: #define BPI (VBPI + GPR_TOO) /* Blocks computed per loop iteration */
stream.c: ^~~~
stream.c: stream.c:152:36: note: in expansion of macro 'BPI'
stream.c: for (iters = 0; iters < inlen/(BPI*64); iters++) {
stream.c: ^~~
stream.c: stream.c:91:26: error: 'GPR_TOO' undeclared (first use in this function)
stream.c: #define BPI (VBPI + GPR_TOO) /* Blocks computed per loop iteration */
stream.c: ^~~~~~~
stream.c: stream.c:152:36: note: in expansion of macro 'BPI'
stream.c: for (iters = 0; iters < inlen/(BPI*64); iters++) {
stream.c: ...

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

Compiler output

Implementation: krovetz/vec128
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
stream.c: stream.c:80:2: error: -- Implementation supports only machines with neon, altivec or SSE2
stream.c: #error -- Implementation supports only machines with neon, altivec or SSE2
stream.c: ^
stream.c: stream.c:151:14: warning: implicit declaration of function 'NONCE' is invalid in C99 [-Wimplicit-function-declaration]
stream.c: vec s3 = NONCE(np);
stream.c: ^
stream.c: stream.c:151:9: error: initializing 'vec' (vector of 4 'unsigned int' values) with an expression of incompatible type 'int'
stream.c: vec s3 = NONCE(np);
stream.c: ^ ~~~~~~~~~
stream.c: stream.c:152:36: error: use of undeclared identifier 'VBPI'
stream.c: for (iters = 0; iters < inlen/(BPI*64); iters++) {
stream.c: ^
stream.c: stream.c:91:19: note: expanded from macro 'BPI'
stream.c: #define BPI (VBPI + GPR_TOO) /* Blocks computed per loop iteration */
stream.c: ^
stream.c: stream.c:152:36: error: use of undeclared identifier 'GPR_TOO'
stream.c: stream.c:91:26: note: expanded from macro 'BPI'
stream.c: #define BPI (VBPI + GPR_TOO) /* Blocks computed per loop iteration */
stream.c: ^
stream.c: stream.c:155:19: error: use of undeclared identifier 'ONE'
stream.c: v7 = v3 + ONE;
stream.c: ^
stream.c: stream.c:176:13: warning: implicit declaration of function 'ROTW16' is invalid in C99 [-Wimplicit-function-declaration]
stream.c: DQROUND_VECTORS(v0,v1,v2,v3)
stream.c: ^
stream.c: ...

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