[fpc-devel] AVX 512 - Can't compile vaddps zmm1, zmm2, zmm3

Joao Schuler jp at schulers.com
Sat Aug 25 09:48:10 CEST 2018


Hello,
Almost everything I tested works perfectly.

This is what I tested so far:

zmm registers are properly recognized:
  end  [
    'RAX', 'RCX', 'RDX',
    'ymm2', 'ymm3', 'ymm4', 'ymm5', 'ymm0'
    {$IFDEF AVX512},'zmm2', 'zmm3', 'zmm0'{$ENDIF}
  ];

*These commands work:*

  VBROADCASTSS zmm0, [rdx]
  vmulps  zmm2, zmm0, [rax]
  vmulps  zmm3, zmm0, [rax+64]
  vmulps  zmm2, zmm5, [rdx]
  vmulps  zmm3, zmm5, [rdx+64]
  vmovups [rax],    zmm2
  vmovups [rax+64], zmm3
  vaddps  zmm2, zmm2, [rdx]
  vaddps  zmm3, zmm3, [rdx+64]
  vsubps  zmm2, zmm2, [rdx]
  vsubps  zmm3, zmm3, [rdx+64]

I'm getting more "inline" warnings than usual. Unfortunately, source forge
is offline now and I can't share the code.

Question: should the following 2 commands be supported?

   - vfmadd231ps zmm0, zmm5, [rax]
   - VEXTRACTF128 xmm3, zmm0, 2

Congrats for the work,
JP
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20180825/90123ee5/attachment.html>


More information about the fpc-devel mailing list