home *** CD-ROM | disk | FTP | other *** search
/ Graphics Programming Black Book (Special Edition) / BlackBook.bin / disk1 / source / chapter63 / l63-6.asm < prev   
Assembly Source File  |  1997-06-18  |  1KB  |  41 lines

  1. ; Listing 6: optimized transformation: 34 cycles
  2.         fld     [vec0+0]    ;starts & ends on cycle 0
  3.         fmul    [matrix+0]    ;starts on cycle 1
  4.     fld    [vec0+0]    ;starts & ends on cycle 2
  5.     fmul    [matrix+16]    ;starts on cycle 3
  6.     fld    [vec0+0]    ;starts & ends on cycle 4
  7.     fmul    [matrix+32]    ;starts on cycle 5
  8.     fld    [vec0+4]    ;starts & ends on cycle 6
  9.     fmul    [matrix+4]    ;starts on cycle 7
  10.     fld    [vec0+4]    ;starts & ends on cycle 8
  11.     fmul    [matrix+20]    ;starts on cycle 9
  12.     fld    [vec0+4]    ;starts & ends on cycle 10
  13.     fmul    [matrix+36]    ;starts on cycle 11
  14.     fxch    st(2)        ;no cost
  15.     faddp    st(5),st(0)    ;starts on cycle 12
  16.     faddp    st(3),st(0)    ;starts on cycle 13
  17.     faddp    st(1),st(0)    ;starts on cycle 14
  18.     fld    [vec0+8]    ;starts & ends on cycle 15
  19.     fmul    [matrix+8]    ;starts on cycle 16
  20.     fld    [vec0+8]    ;starts & ends on cycle 17
  21.     fmul    [matrix+24]    ;starts on cycle 18
  22.     fld    [vec0+8]    ;starts & ends on cycle 19
  23.     fmul    [matrix+40]    ;starts on cycle 20
  24.     fxch    st(2)        ;no cost
  25.     faddp    st(5),st(0)    ;starts on cycle 21
  26.     faddp    st(3),st(0)    ;starts on cycle 22
  27.     faddp    st(1),st(0)    ;starts on cycle 23
  28.     fxch    st(2)        ;no cost
  29.     fadd    [matrix+12]    ;starts on cycle 24
  30.     fxch    st(1)        ;starts on cycle 25
  31.     fadd    [matrix+28]    ;starts on cycle 26
  32.     fxch    st(2)        ;no cost
  33.     fadd    [matrix+44]    ;starts on cycle 27
  34.     fxch    st(1)        ;no cost
  35.     fstp    [vec1+0]    ;starts on cycle 28,
  36.                 ; ends on cycle 29
  37.     fstp    [vec1+8]    ;starts on cycle 30,
  38.                 ; ends on cycle 31
  39.     fstp    [vec1+4]    ;starts on cycle 32,
  40.                 ; ends on cycle 33
  41.