Implementation notes: aarch64, gcc185, crypto_sign/picnic2l3fs

Computer: gcc185
Microarchitecture: aarch64; Skylark (503f0002)
Architecture: aarch64
CPU ID: 503f0002
SUPERCOP version: 20240107
Operation: crypto_sign
Primitive: picnic2l3fs
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3619571550137737 1744 10173666 2640 1592T:optimizedct/neongcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122520231212
3655510275144471 1744 10181546 2656 1608T:optimizedct/neongcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122520231212
3661146750152883 1744 10190978 2656 1624T:optimizedct/neongcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122520231212
3670436400143935 1744 10180890 2656 1608T:optimizedct/neongcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122520231212
3711073425135666 1744 10171591 2632 1600T:optimizedct/cclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122520231212
3727573800145563 1744 10184711 2632 1600T:optimizedct/cclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122520231212
3729659175145563 1744 10184711 2632 1600T:optimizedct/cclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122520231212
3754794900138303 1744 10175951 2632 1600T:optimizedct/cclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122520231212
3780986250130857 1744 10166530 2640 1592T:optimizedct/cgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122520231212
3787349400132162 1744 10167945 2624 1600T:optimizedct/cclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122520231212
4028688300136327 1744 10173018 2656 1608T:optimizedct/cgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122520231212
4222656300142463 1744 10180282 2656 1624T:optimizedct/cgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122520231212
4275515925136951 1744 10173762 2656 1608T:optimizedct/cgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122520231212
157602592501044129 4 01079218 872 1584T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122520231212
161659865251045884 4 01081990 904 1592T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122520231212
166167266251037325 4 01072166 888 1576T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122520231212
228140761501041348 4 01077294 904 1592T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122520231212
237345102001039977 4 01074964 864 1584T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122520231212
253461441001057870 4 01094998 904 1608T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122520231212
267215931001058545 4 01096754 872 1584T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122520231212
267317894251058545 4 01096754 872 1584T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122520231212
268927783501052221 4 01088938 872 1584T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122520231212

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: 295 | 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: 109 | #define mm128_sr_u64(x, s) vshrq_n_u64((x), (s))
picnic2_simulate_mul.c: | ^
picnic2_simulate_mul.c: /usr/bin/../lib/clang/17/include/arm_neon.h:25289:24: note: expanded from macro 'vshrq_n_u64'
picnic2_simulate_mul.c: 25289 | __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: 103 | #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: 296 | 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: 108 | #define mm128_sl_u64(x, s) vshlq_n_u64((x), (s))
picnic2_simulate_mul.c: | ^
picnic2_simulate_mul.c: /usr/bin/../lib/clang/17/include/arm_neon.h:24881:24: note: expanded from macro 'vshlq_n_u64'
picnic2_simulate_mul.c: 24881 | __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: 103 | #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