From tests/test/cg/tvectorcall1.pp

{$PUSH}
{$CODEALIGN RECORDMIN=16}
{$PACKRECORDS C}
type
  TM128 = record
    case Byte of
      0: (M128_F32: array[0..3] of Single);
      1: (M128_F64: array[0..1] of Double);
  end;
{$POP}

(This declaration mimics how __m128 is defined in Microsoft Visual C++)

Gareth aka. Kit

On 21/04/2020 09:10, denisgolovan wrote:
I did suggest it once - https://bugs.freepascal.org/view.php?id=32780 -
it would make things useful and allow for cleaner typecasting with the
internal __m128 type etc. It was assigned, but appears to have stalled.
Yeap. That's right it's a long awaited feature.

There might be some portability issues with it, although I think the
feature already exists in the form of pre-processor directives, but
those are a little cumbersome sometimes.
Could you point me to this solution?

-- Regards,
Denis Golovan


--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to