You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -91,7 +93,7 @@ State labels are intentionally strict:
91
93
92
94
| Backend | State | Required CPU features | Evidence |
93
95
| --- | --- | --- | --- |
94
-
| AVX-512 VBMI | admitted backend |`avx512f`, `avx512bw`, `avx512vl`, `avx512vbmi`| std x86/x86_64 runtime-dispatched encode for Standard and URL-safe alphabet families; fixed 48-byte encode blocks use vector code only when at least one full block is present; a fixed 64-byte decode block prototype exists for tests and evidence only; public decode through AVX-512 remains prototype-only, while shorter inputs, tails, unsupported alphabets, in-place encode, line-ending insertion, and `no_std` use scalar fallback |
96
+
| AVX-512 VBMI | admitted backend |`avx512f`, `avx512bw`, `avx512vl`, `avx512vbmi`| std x86/x86_64 runtime-dispatched encode and strict decode for Standard and URL-safe alphabet families; encode uses fixed 48-byte input blocks, and decode uses fixed 64-byte encoded blocks only after whole-input scalar validation preserves public error shape; shorter inputs fall back to AVX2, SSSE3/SSE4.1, or scalar, tails use scalar, and unsupported alphabets, in-place encode/decode, wrapped decode, legacy decode, CT secret decode, line-ending insertion, and `no_std` use scalar fallback |
95
97
| AVX2 | admitted backend |`avx2`| std x86/x86_64 runtime-dispatched encode and strict decode for Standard and URL-safe alphabet families; encode uses fixed 24-byte input blocks, and decode uses fixed 32-byte encoded blocks only after whole-input scalar validation preserves public error shape; shorter inputs fall back to SSSE3/SSE4.1 or scalar, tails use scalar, and unsupported alphabets, in-place encode/decode, wrapped decode, legacy decode, CT secret decode, line-ending insertion, and `no_std` use scalar fallback |
96
98
| SSSE3/SSE4.1 | admitted backend |`ssse3`, `sse4.1`| std x86/x86_64 runtime-dispatched encode and strict decode for Standard and URL-safe alphabet families; encode uses fixed 12-byte input blocks, and decode uses fixed 16-byte encoded blocks only after whole-input scalar validation preserves public error shape; shorter inputs, tails, unsupported alphabets, in-place encode/decode, wrapped decode, legacy decode, CT secret decode, line-ending insertion, and `no_std` use scalar fallback |
97
99
| NEON | admitted backend |`neon`| std aarch64 runtime-dispatched encode for Standard and URL-safe alphabet families; fixed 12-byte encode blocks use vector code only when at least one full block is present; a fixed 16-byte decode block prototype exists for tests and evidence only; public decode through NEON remains prototype-only, while shorter inputs, tails, unsupported alphabets, 32-bit ARM, in-place encode, line-ending insertion, and `no_std` use scalar fallback |
@@ -100,7 +102,7 @@ State labels are intentionally strict:
100
102
## Release Rule
101
103
102
104
Advertise SIMD acceleration only with the admitted backend name and scope. Do
103
-
not claim wasm `simd128`, custom alphabet, in-place, AVX-512/NEON decode, or
104
-
any broader decode acceleration until this manifest names those backends or API
105
+
not claim wasm `simd128`, custom alphabet, in-place, NEON decode, or any
106
+
broader decode acceleration until this manifest names those backends or API
105
107
surfaces and links to the matching differential, fuzz, unsafe, benchmark, and
0 commit comments