Daniele Lacamera
502ebf4a5d
Falcon: fold the AVX2/NEON FFT backends into the single falcon.c
...
Move the AVX2 (__m256d+FMA) and AArch64 NEON FFT intrinsics, plus the three
internal seam headers (wc_falcon_{fpr,fft,poly}.h), into falcon.c so the native
implementation is one translation unit -- matching how sha256.c and chacha.c
carry their SIMD backends inline (only hand-written .S stays a separate file).
The blocks are gated by WOLFSSL_FALCON_FFT_AVX2 / _NEON and need no per-file
CFLAGS: AVX2 self-annotates every function with target("avx2,fma") and NEON is
AArch64-baseline. Per-backend FPC_* macros are undef'd before redefinition, as
sha512.c does for SHA_METHOD. Only the generated fpr x86-64 asm remains a file.
2026-07-22 09:52:27 +02:00
..
2026-07-22 09:52:26 +02:00
2026-06-23 20:54:59 +10:00
2026-06-25 21:41:17 -07:00
2026-07-17 22:38:55 +10:00
2026-07-08 08:30:02 -07:00
2026-07-07 08:02:20 +10:00
2026-06-18 21:03:50 +10:00
2026-07-07 08:02:20 +10:00
2026-07-07 08:02:20 +10:00
2026-07-07 08:02:20 +10:00
2026-06-23 20:54:59 +10:00
2026-07-20 11:09:53 -05:00
2026-06-10 11:36:29 +02:00
2026-04-02 11:55:41 +02:00
2026-07-17 22:38:55 +10:00
2026-07-08 09:33:47 +10:00
2026-07-20 14:05:45 +02:00
2026-07-07 09:54:04 -07:00
2026-07-07 15:48:20 -07:00
2026-07-07 15:48:20 -07:00
2026-07-02 11:36:01 +02:00
2026-07-10 08:00:39 -07:00
2026-07-07 08:02:20 +10:00
2026-06-23 20:54:59 +10:00
2026-07-16 09:39:09 +10:00
2026-06-27 14:06:52 -05:00
2026-07-17 15:34:35 -05:00
2026-06-25 15:07:33 -07:00
2026-07-17 16:49:25 -06:00
2026-07-17 11:42:31 -05:00
2026-06-27 14:06:52 -05:00
2026-07-10 08:37:02 +02:00
2026-06-10 11:36:59 +02:00
2026-07-10 11:46:38 +02:00
2026-07-10 08:37:02 +02:00
2026-07-17 15:49:14 -06:00
2026-05-30 15:11:36 -05:00
2026-06-27 14:06:52 -05:00
2026-07-20 11:09:53 -05:00
2026-07-20 11:09:53 -05:00
2026-07-13 11:56:57 -06:00
2026-07-20 11:09:53 -05:00
2026-07-22 09:52:27 +02:00
2026-07-07 09:06:00 +10:00
2026-07-14 09:08:12 -07:00
2026-07-14 09:08:12 -07:00
2026-07-08 08:04:24 +10:00
2026-07-07 14:26:31 -07:00
2026-07-14 09:08:12 -07:00
2026-07-14 09:08:12 -07:00
2026-07-15 23:44:40 +02:00
2026-06-27 14:06:52 -05:00
2026-07-20 11:09:53 -05:00
2026-07-22 09:52:26 +02:00
2026-07-07 16:03:30 -06:00
2026-07-20 11:09:53 -05:00
2026-07-13 11:56:57 -06:00
2026-05-13 11:36:36 -06:00
2026-05-13 11:36:36 -06:00
2026-07-10 13:44:48 -05:00
2026-07-02 22:23:52 +09:00
2026-07-21 09:46:57 -05:00
2026-07-09 17:00:59 +02:00
2026-07-07 08:02:20 +10:00
2026-06-25 21:41:17 -07:00
2026-07-16 09:39:09 +10:00
2026-04-22 11:39:39 -07:00
2026-07-16 11:01:48 -06:00
2026-07-13 12:13:58 -05:00
2026-07-02 11:36:01 +02:00
2026-07-07 02:35:51 -05:00
2026-07-10 14:13:14 +02:00
2026-05-30 15:11:36 -05:00
2026-07-17 22:38:55 +10:00
2026-07-17 22:38:55 +10:00
2026-07-20 11:09:53 -05:00
2026-07-07 08:02:20 +10:00
2026-06-23 20:54:59 +10:00
2026-07-16 09:39:09 +10:00
2026-07-07 08:02:20 +10:00
2026-06-23 20:54:59 +10:00
2026-07-16 09:39:09 +10:00
2026-07-13 11:19:23 +02:00
2026-06-10 10:51:41 +02:00
2026-07-17 08:57:37 +02:00
2026-07-17 08:57:37 +02:00
2026-07-17 08:57:37 +02:00
2026-07-17 08:57:37 +02:00
2026-07-17 08:57:37 +02:00
2026-07-17 08:57:37 +02:00
2026-04-02 15:06:35 +02:00
2026-07-07 09:06:00 +10:00
2026-07-17 22:38:55 +10:00
2026-07-01 19:35:30 +10:00
2026-07-17 08:57:37 +02:00
2026-05-07 02:31:25 +00:00
2026-07-08 09:33:47 +10:00
2026-05-12 20:57:31 +00:00
2026-07-22 09:52:26 +02:00
2026-07-17 22:38:55 +10:00
2026-07-17 22:38:55 +10:00
2026-07-17 22:38:55 +10:00
2026-07-17 22:38:55 +10:00
2026-06-27 14:06:52 -05:00
2026-06-27 14:06:52 -05:00
2026-07-08 08:04:24 +10:00
2026-07-07 14:26:31 -07:00
2026-07-13 11:56:57 -06:00
2026-07-07 08:02:20 +10:00
2026-06-23 20:54:59 +10:00
2026-07-03 00:47:57 -05:00
2026-06-27 14:06:52 -05:00
2026-06-25 15:07:33 -07:00
2026-07-22 09:52:26 +02:00
2026-04-15 18:03:39 -06:00
2026-07-16 11:01:48 -06:00
2026-07-16 11:01:48 -06:00
2026-06-27 14:06:52 -05:00
2026-07-10 16:32:40 -07:00
2026-05-30 15:11:36 -05:00