<html>
  <head>
    <meta content="text/html; charset=ISO-8859-15"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Am 18.09.2011 11:02, schrieb Florian Klämpfl:
    <blockquote cite="mid:4E75B3A9.2080805@freepascal.org" type="cite">
      <pre wrap="">Am 18.09.2011 10:54, schrieb Torsten:
</pre>
      <blockquote type="cite">
        <pre wrap="">Hi,

im starting with implementation of AVX (Intel/AMD) in fpc-assemblercode.

I use in first step a external assembler (linux "as"). In this case, it
is easy to use XMM-Register (max. 3 parameter) (only change the file
"x86ins.dat", examble:

[VMOVDQA]
(Ch All, Ch None, Ch None)
xmmreg, xmmrm             \361\...
</pre>
      </blockquote>
      <pre wrap="">
Problem is probably the correct encoding sequence.</pre>
    </blockquote>
    Yes, i known. I think that is important for the internal assembler,
    but not external.  <br>
    <br>
    <blockquote cite="mid:4E75B3A9.2080805@freepascal.org" type="cite">
      <pre wrap="">

</pre>
      <blockquote type="cite">
        <pre wrap="">

For use of YMM-Register i have change the file "x86reg.dat"


NR_YMM0,$07000000,ymm0,%ymm0,ymm0,ymm0,21,21,17,OT_YMMREG,0
NR_YMM1,$07000001,ymm1,%ymm1,ymm1,ymm1,22,22,18,OT_YMMREG,1
NR_YMM2,$07000002,ymm2,%ymm2,ymm2,ymm2,23,23,19,OT_YMMREG,2
NR_YMM3,$07000003,ymm3,%ymm3,ymm3,ymm3,24,24,20,OT_YMMREG,3
NR_YMM4,$07000004,ymm4,%ymm4,ymm4,ymm4,25,25,21,OT_YMMREG,4
NR_YMM5,$07000005,ymm5,%ymm5,ymm5,ymm5,26,26,22,OT_YMMREG,5
NR_YMM6,$07000006,ymm6,%ymm6,ymm6,ymm6,27,27,23,OT_YMMREG,6
NR_YMM7,$07000007,ymm7,%ymm7,ymm7,ymm7,28,28,24,OT_YMMREG,7
NR_YMM8,$07000008,ymm8,%ymm8,ymm8,ymm8,-1,-1,25,OT_YMMREG,0,64
NR_YMM9,$07000009,ymm9,%ymm9,ymm9,ymm9,-1,-1,26,OT_YMMREG,1,64
NR_YMM10,$0700000a,ymm10,%ymm10,ymm10,ymm10,-1,-1,27,OT_YMMREG,2,64
NR_YMM11,$0700000b,ymm11,%ymm11,ymm11,ymm11,-1,-1,28,OT_YMMREG,3,64
NR_YMM12,$0700000c,ymm12,%ymm12,ymm12,ymm12,-1,-1,29,OT_YMMREG,4,64
NR_YMM13,$0700000d,ymm13,%ymm13,ymm13,ymm13,-1,-1,30,OT_YMMREG,5,64
NR_YMM14,$0700000e,ymm14,%ymm14,ymm14,ymm14,-1,-1,31,OT_YMMREG,6,64
NR_YMM15,$0700000f,ymm15,%ymm15,ymm15,ymm15,-1,-1,32,OT_YMMREG,7,64
</pre>
      </blockquote>
      <pre wrap="">
I'am not sure if the ymm registers should be an own register class.
After all, they are a superset of xmm
</pre>
    </blockquote>
    <br>
    OK. <br>
    <br>
    <blockquote cite="mid:4E75B3A9.2080805@freepascal.org" type="cite">
      <pre wrap="">
</pre>
      <blockquote type="cite">
        <pre wrap="">
Next step is change the files "cpubase, cgbase, aasmcpu, ...".
What do i consider?
</pre>
      </blockquote>
      <pre wrap="">
In which regard?</pre>
    </blockquote>
    <br>
    <div id="gt-res-content" class="almost_half_cell">
      <div dir="ltr" style="zoom:1"><span id="result_box" class=""
          lang="en"><span class="hps">I</span> <span class="hps">do not
            know exactly</span> <span class="hps">which</span> <span
            class="hps">functions</span> <span class="hps">need to be
            changed. I'm hoping for tips.<br>
          </span></span></div>
    </div>
    <br>
    <blockquote cite="mid:4E75B3A9.2080805@freepascal.org" type="cite">
      <pre wrap="">
_______________________________________________
fpc-devel maillist  -  <a class="moz-txt-link-abbreviated" href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a>
<a class="moz-txt-link-freetext" href="http://lists.freepascal.org/mailman/listinfo/fpc-devel">http://lists.freepascal.org/mailman/listinfo/fpc-devel</a>


</pre>
    </blockquote>
    <br>
  </body>
</html>