Implementation notes: aarch64, gcc185, crypto_sign/picnic2l3fs

Computer: gcc185
Microarchitecture: aarch64; Skylark (503f0002)
Architecture: aarch64
CPU ID: 503f0002
SUPERCOP version: 20230530
Operation: crypto_sign
Primitive: picnic2l3fs
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3608612925135350 1744 10172467 2648 1600T:optimizedct/cclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061120230530
3623162025137737 1744 10174626 2640 1592T:optimizedct/neongcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023061120230530
3664913925144471 1744 10182506 2656 1608T:optimizedct/neongcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023061120230530
3666918075152883 1744 10191938 2656 1624T:optimizedct/neongcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023061120230530
3672819825143935 1744 10181850 2656 1608T:optimizedct/neongcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023061120230530
3735204225146131 1744 10185755 2648 1600T:optimizedct/cclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061120230530
3740736375146131 1744 10185755 2648 1600T:optimizedct/cclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061120230530
3780496650130857 1744 10167490 2640 1592T:optimizedct/cgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023061120230530
3787006500137443 1744 10175827 2648 1600T:optimizedct/cclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061120230530
3814913550132062 1744 10168961 2640 1584T:optimizedct/cclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061120230530
4035026250136327 1744 10173978 2656 1608T:optimizedct/cgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023061120230530
4220919825142463 1744 10181242 2656 1624T:optimizedct/cgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023061120230530
4277527275136951 1744 10174722 2656 1608T:optimizedct/cgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023061120230530
156741408001044433 4 01080734 888 1584T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061120230530
162123809251045884 4 01082950 904 1592T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023061120230530
166510581751037325 4 01073126 888 1576T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023061120230530
228596904751041348 4 01078254 904 1592T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023061120230530
238258872751040117 4 01076212 880 1584T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061120230530
242484074251059893 4 01098590 888 1584T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061120230530
242722644001054941 4 01092422 888 1584T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061120230530
242999586751059893 4 01098590 888 1584T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023061120230530
253928574751057870 4 01095966 904 1608T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023061120230530

Compiler output

Implementation: T:optimizedct/neon
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
picnic2_simulate_mul.c: picnic2_simulate_mul.c:295:57: error: argument to '__builtin_neon_vshrq_n_v' must be a constant integer
picnic2_simulate_mul.c: out128[i1 / 2] = mm128_xor(mm128_and(t1, mask), mm128_sr_u64(mm128_and(t2, mask), width));
picnic2_simulate_mul.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
picnic2_simulate_mul.c: ./simd.h:109:28: note: expanded from macro 'mm128_sr_u64'
picnic2_simulate_mul.c: #define mm128_sr_u64(x, s) vshrq_n_u64((x), (s))
picnic2_simulate_mul.c: ^
picnic2_simulate_mul.c: /usr/lib64/clang/15.0.7/include/arm_neon.h:25260:24: note: expanded from macro 'vshrq_n_u64'
picnic2_simulate_mul.c: __ret = (uint64x2_t) __builtin_neon_vshrq_n_v((int8x16_t)__s0, __p1, 51); \
picnic2_simulate_mul.c: ^
picnic2_simulate_mul.c: ./simd.h:103:41: note: expanded from macro 'mm128_xor'
picnic2_simulate_mul.c: #define mm128_xor(l, r) veorq_u64((l), (r))
picnic2_simulate_mul.c: ^
picnic2_simulate_mul.c: picnic2_simulate_mul.c:296:58: error: argument to '__builtin_neon_vshlq_n_v' must be a constant integer
picnic2_simulate_mul.c: out128[i2 / 2] = mm128_xor(mm128_nand(mask, t2), mm128_sl_u64(mm128_nand(mask, t1), width));
picnic2_simulate_mul.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
picnic2_simulate_mul.c: ./simd.h:108:28: note: expanded from macro 'mm128_sl_u64'
picnic2_simulate_mul.c: #define mm128_sl_u64(x, s) vshlq_n_u64((x), (s))
picnic2_simulate_mul.c: ^
picnic2_simulate_mul.c: /usr/lib64/clang/15.0.7/include/arm_neon.h:24852:24: note: expanded from macro 'vshlq_n_u64'
picnic2_simulate_mul.c: __ret = (uint64x2_t) __builtin_neon_vshlq_n_v((int8x16_t)__s0, __p1, 51); \
picnic2_simulate_mul.c: ^
picnic2_simulate_mul.c: ./simd.h:103:41: note: expanded from macro 'mm128_xor'
picnic2_simulate_mul.c: #define mm128_xor(l, r) veorq_u64((l), (r))
picnic2_simulate_mul.c: ^
picnic2_simulate_mul.c: 2 errors generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimizedct/neon
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimizedct/neon
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimizedct/neon
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimizedct/neon
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimizedct/neon