Skip to content

v0.20.0

Choose a tag to compare

@tannevaled tannevaled released this 18 Oct 21:02
· 10 commits to main since this release
3e02738

fft/amd64: radix-32 builders with fused multiply-adds, for go-fft's opt-in FMA plans (#30).

  • SplitR32: the split-layout radix-32 pass at 256 and 512 bits, the values between its two stages kept in the output's slots.
  • SplitR32InFrame: the same pass with those values in its own 2 KB (4 KB) frame, not NOSPLIT.
  • LastR32: the interleaved final radix-32 pass, two blocks per YMM or four per ZMM register.
  • Consts.R32 and SplitConsts.R32 locate their constants rows; every existing offset, and so every file go-fft already generates, is unchanged.

All three build FMA kernels only (Kernels.FMA) and are bit-identical to go-fft's bfly32FMA Go pass, which go-fft's tests check on Zen 3 and Cascade Lake.