17943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 27943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul /* TODO 37943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul * 47943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul * 1) It would be nice if load/store double could be used 57943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul * at least for the matrix parts. I think for the matrices 67943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul * it is safe, but for the vertices it probably is not due to 77943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul * things like glInterleavedArrays etc. 87943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul * 97943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul * UPDATE: Trying this now in sparc_matrix.h -DaveM_990624 107943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul * 117943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul * 2) One extremely slick trick would be if we could enclose 127943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul * groups of xform calls on the same vertices such that 137943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul * we just load the matrix into f16-->f31 before the calls 147943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul * and then we would not have to do them here. This may be 157943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul * tricky and not much of a gain though. 167943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul */ 177943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 18775355a88a0927e2e3a855036c26950397a61d7bdavem#include "sparc_matrix.h" 197943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 20f7f1211b9b0a8fa0e5f5427b74b4eee4dabf65afAurelien Jarno#if defined(SVR4) || defined(__SVR4) || defined(__svr4__) || defined(__arch64__) 21462183fe4cb6df6d90632d9e2cee881c8d26b1cbAlan Hourihane /* Solaris requires this for 64-bit. */ 22462183fe4cb6df6d90632d9e2cee881c8d26b1cbAlan Hourihane .register %g2, #scratch 23462183fe4cb6df6d90632d9e2cee881c8d26b1cbAlan Hourihane .register %g3, #scratch 24462183fe4cb6df6d90632d9e2cee881c8d26b1cbAlan Hourihane#endif 25462183fe4cb6df6d90632d9e2cee881c8d26b1cbAlan Hourihane 267943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .text 277943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .align 64 287943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 297943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul__set_v4f_1: 307943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o0 + V4F_FLAGS], %g2 317943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul mov 1, %g1 327943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g1, [%o0 + V4F_SIZE] 337943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul or %g2, VEC_SIZE_1, %g2 347943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul retl 357943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g2, [%o0 + V4F_FLAGS] 367943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul__set_v4f_2: 377943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o0 + V4F_FLAGS], %g2 387943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul mov 2, %g1 397943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g1, [%o0 + V4F_SIZE] 407943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul or %g2, VEC_SIZE_2, %g2 417943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul retl 427943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g2, [%o0 + V4F_FLAGS] 437943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul__set_v4f_3: 447943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o0 + V4F_FLAGS], %g2 457943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul mov 3, %g1 467943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g1, [%o0 + V4F_SIZE] 477943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul or %g2, VEC_SIZE_3, %g2 487943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul retl 497943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g2, [%o0 + V4F_FLAGS] 507943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul__set_v4f_4: 517943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o0 + V4F_FLAGS], %g2 527943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul mov 4, %g1 537943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g1, [%o0 + V4F_SIZE] 547943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul or %g2, VEC_SIZE_4, %g2 557943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul retl 567943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g2, [%o0 + V4F_FLAGS] 577943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 587943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul /* First the raw versions. */ 597943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 607943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points1_general 617943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points1_general: 627943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 637943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 647943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 657943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 667943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 677943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_1_2_3_12_13_14_15(%o1) 687943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 697943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 1 707943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 717943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bl 3f 727943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 737943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 747943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 757943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul andn %g3, 1, %o2 767943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 777943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 787943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU0 797943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x00], %f8 ! LSU Group 807943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 2, %o1 ! IEU0 817943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 827943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f1 ! FGM Group 1-cycle stall on %f0 837943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M1, %f2 ! FGM Group 847943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M2, %f3 ! FGM Group 857943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M3, %f4 ! FGM Group 867943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f8, M0, %f9 ! FGM Group f1 available 877943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f1, M12, %f1 ! FGA 887943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f1, [%g2 + 0x00] ! LSU 897943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f8, M1, %f10 ! FGM Group f2 available 907943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, M13, %f2 ! FGA 917943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x04] ! LSU 927943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f8, M2, %f11 ! FGM Group f3 available 937943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M14, %f3 ! FGA 947943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x08] ! LSU 957943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f8, M3, %f12 ! FGM Group f4 available 967943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, M15, %f4 ! FGA 977943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x0c] ! LSU 987943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f9, M12, %f9 ! FGA Group f9 available 997943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f9, [%g2 + 0x10] ! LSU 1007943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f10, M13, %f10 ! FGA Group f10 available 1017943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f10, [%g2 + 0x14] ! LSU 1027943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f11, M14, %f11 ! FGA Group f11 available 1037943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f11, [%g2 + 0x18] ! LSU 1047943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f12, M15, %f12 ! FGA Group f12 available 1057943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f12, [%g2 + 0x1c] ! LSU 1067943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %o2 ! IEU1 1077943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 1087943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x20, %g2 ! IEU0 Group 1097943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 1107943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 1117943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 3f 1127943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 1137943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 1147943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: ld [%g1 + 0x00], %f0 ! LSU Group 1157943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f1 ! FGM Group 1-cycle stall on %f0 1167943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M1, %f2 ! FGM Group 1177943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M2, %f3 ! FGM Group 1187943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M3, %f4 ! FGM Group 1197943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f1, M12, %f1 ! FGA Group 1207943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f1, [%g2 + 0x00] ! LSU 1217943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, M13, %f2 ! FGA Group 1227943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x04] ! LSU 1237943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M14, %f3 ! FGA Group 1247943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x08] ! LSU 1257943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, M15, %f4 ! FGA Group 1267943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x0c] ! LSU 1277943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 1287943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul3: 1297943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_4 1307943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 1317943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 1327943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points1_identity 1337943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points1_identity: 1347943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o0, %o2 1357943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 4f 1367943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 1377943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 1387943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 1397943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 1407943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 1417943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 1 1427943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 1437943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bl 3f 1447943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 1457943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 1467943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 1477943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul andn %g3, 1, %o2 1487943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 1497943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 1507943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU0 1517943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x00], %f1 ! LSU Group 1527943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 2, %o1 ! IEU0 1537943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 1547943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f0, [%g2 + 0x00] ! LSU Group 1557943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %o2 ! IEU1 1567943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f1, [%g2 + 0x10] ! LSU Group 1577943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 1587943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x20, %g2 ! IEU0 1597943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 1607943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 1617943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 3f 1627943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 1637943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 1647943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: ld [%g1 + 0x00], %f0 1657943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul addx %g0, %g0, %g0 1667943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f0, [%g2 + 0x00] 1677943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 1687943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul3: 1697943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_1 1707943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 1717943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 1727943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul4: retl 1737943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 1747943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 1757943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points1_2d 1767943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points1_2d: 1777943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 1787943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 1797943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 1807943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 1817943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 1827943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_1_12_13(%o1) 1837943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 1847943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 1 1857943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 1867943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bl 3f 1877943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 1887943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 1897943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 1907943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul andn %g3, 1, %o2 1917943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 1927943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 1937943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU0 1947943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x00], %f8 ! LSU Group 1957943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 2, %o1 ! IEU0 1967943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 1977943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f1 ! FGM Group 1987943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M1, %f2 ! FGM Group 1997943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f8, M0, %f9 ! FGM Group 2007943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f8, M1, %f10 ! FGM Group 2017943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f1, M12, %f3 ! FGA Group f1 available 2027943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x00] ! LSU 2037943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, M13, %f4 ! FGA Group f2 available 2047943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x04] ! LSU 2057943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f9, M12, %f11 ! FGA Group f9 available 2067943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f11, [%g2 + 0x10] ! LSU 2077943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f10, M13, %f12 ! FGA Group f10 available 2087943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f12, [%g2 + 0x14] ! LSU 2097943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %o2 ! IEU1 2107943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 2117943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x20, %g2 ! IEU0 Group 2127943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 2137943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 2147943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 3f 2157943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 2167943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 2177943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: ld [%g1 + 0x00], %f0 2187943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f1 2197943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M1, %f2 2207943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f1, M12, %f3 2217943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x00] 2227943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, M13, %f4 2237943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x04] 2247943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 2257943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul3: 2267943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_2 2277943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 2287943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 2297943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points1_2d_no_rot 2307943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points1_2d_no_rot: 2317943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 2327943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 2337943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 2347943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 2357943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 2367943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_12_13(%o1) 2377943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 2387943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 1 2397943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 2407943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bl 3f 2417943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 2427943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 2437943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 2447943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul andn %g3, 1, %o2 2457943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 2467943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 2477943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU0 2487943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x00], %f4 ! LSU Group 2497943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 2, %o1 ! IEU0 2507943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 2517943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f1 ! FGM Group 2527943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f4, M0, %f5 ! FGM Group 2537943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f1, M12, %f3 ! FGA Group, 2 cycle stall, f1 available 2547943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x00] ! LSU 2557943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st M13, [%g2 + 0x04] ! LSU Group, f5 available 2567943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, M12, %f6 ! FGA 2577943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f6, [%g2 + 0x10] ! LSU Group 2587943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st M13, [%g2 + 0x14] ! LSU Group 2597943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %o2 ! IEU1 2607943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 2617943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x20, %g2 ! IEU0 Group 2627943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 2637943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 2647943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 3f 2657943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 2667943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 2677943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: ld [%g1 + 0x00], %f0 2687943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f1 2697943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f1, M12, %f3 2707943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x00] 2717943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st M13, [%g2 + 0x04] 2727943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 2737943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul3: 2747943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_2 2757943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 2767943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 2777943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points1_3d 2787943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points1_3d: 2797943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 2807943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 2817943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 2827943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 2837943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 2847943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_1_2_12_13_14(%o1) 2857943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 2867943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 1 2877943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 2887943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bl 3f 2897943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 2907943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 2917943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 2927943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul andn %g3, 1, %o2 2937943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 2947943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 2957943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU0 2967943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x00], %f4 ! LSU Group 2977943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 2, %o1 ! IEU0 2987943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 2997943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f1 ! FGM Group 3007943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M1, %f2 ! FGM Group 3017943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M2, %f3 ! FGM Group 3027943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f4, M0, %f5 ! FGM Group 3037943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f1, M12, %f1 ! FGA Group, f1 available 3047943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f1, [%g2 + 0x00] ! LSU 3057943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f4, M1, %f6 ! FGM 3067943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, M13, %f2 ! FGA Group, f2 available 3077943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x04] ! LSU 3087943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f4, M2, %f7 ! FGM 3097943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M14, %f3 ! FGA Group, f3 available 3107943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x08] ! LSU 3117943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, M12, %f5 ! FGA Group, f5 available 3127943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f5, [%g2 + 0x10] ! LSU 3137943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f6, M13, %f6 ! FGA Group, f6 available 3147943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f6, [%g2 + 0x14] ! LSU 3157943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f7, M14, %f7 ! FGA Group, f7 available 3167943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f7, [%g2 + 0x18] ! LSU 3177943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %o2 ! IEU1 3187943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 3197943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x20, %g2 ! IEU0 Group 3207943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 3217943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 3227943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 3f 3237943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 3247943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 3257943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: ld [%g1 + 0x00], %f0 3267943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f1 3277943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M1, %f2 3287943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M2, %f3 3297943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f1, M12, %f1 3307943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f1, [%g2 + 0x00] 3317943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, M13, %f2 3327943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x04] 3337943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M14, %f3 3347943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x08] 3357943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 3367943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul3: 3377943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_3 3387943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 3397943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 3407943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points1_3d_no_rot 3417943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points1_3d_no_rot: 3427943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 3437943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 3447943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 3457943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 3467943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 3477943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_12_13_14(%o1) 3487943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 3497943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 1 3507943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 3517943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bl 3f 3527943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 3537943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 3547943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 3557943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul andn %g3, 1, %o2 3567943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 3577943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 3587943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU0 3597943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x00], %f2 ! LSU Group 3607943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 2, %o1 ! IEU0 3617943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 3627943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f1 ! FGM Group 3637943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M0, %f3 ! FGM Group 3647943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f1, M12, %f1 ! FGA Group, 2 cycle stall, f1 available 3657943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f1, [%g2 + 0x00] ! LSU 3667943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M12, %f3 ! FGA Group, f3 available 3677943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st M13, [%g2 + 0x04] ! LSU 3687943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st M14, [%g2 + 0x08] ! LSU Group 3697943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x10] ! LSU Group 3707943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st M13, [%g2 + 0x14] ! LSU Group 3717943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st M14, [%g2 + 0x18] ! LSU Group 3727943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %o2 ! IEU1 3737943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 3747943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x20, %g2 ! IEU0 Group 3757943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 3767943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 3777943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 3f 3787943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 3797943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 3807943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: ld [%g1 + 0x00], %f0 3817943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f1 3827943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f1, M12, %f1 3837943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f1, [%g2 + 0x00] 3847943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st M13, [%g2 + 0x04] 3857943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st M14, [%g2 + 0x08] 3867943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 3877943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul3: 3887943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_3 3897943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 3907943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 3917943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points1_perspective 3927943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points1_perspective: 3937943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 3947943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 3957943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 3967943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 3977943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 3987943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_14(%o1) 3997943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 4007943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 1 4017943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 4027943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bl 3f 4037943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 4047943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 4057943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 4067943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul andn %g3, 1, %o2 4077943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 4087943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 4097943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU0 4107943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x00], %f2 ! LSU Group 4117943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 2, %o1 ! IEU0 4127943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 4137943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f1 ! FGM Group 4147943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f1, [%g2 + 0x00] ! LSU 4157943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M0, %f3 ! FGM Group 4167943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g0, [%g2 + 0x04] ! LSU 4177943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st M14, [%g2 + 0x08] ! LSU Group 4187943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g0, [%g2 + 0x0c] ! LSU Group 4197943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x10] ! LSU Group 4207943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g0, [%g2 + 0x14] ! LSU Group 4217943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st M14, [%g2 + 0x18] ! LSU Group 4227943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g0, [%g2 + 0x1c] ! LSU Group 4237943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %o2 ! IEU1 4247943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 4257943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x20, %g2 ! IEU0 Group 4267943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 4277943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 4287943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 3f 4297943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 4307943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 4317943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: ld [%g1 + 0x00], %f0 4327943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f1 4337943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f1, [%g2 + 0x00] 4347943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g0, [%g2 + 0x04] 4357943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st M14, [%g2 + 0x08] 4367943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g0, [%g2 + 0x0c] 4377943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 4387943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul3: 4397943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_4 4407943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 4417943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 4427943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points2_general 4437943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points2_general: 4447943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 4457943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 4467943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 4477943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 4487943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 4497943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_1_2_3_4_5_6_7_12_13_14_15(%o1) 4507943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 4517943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 0 4527943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 4537943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 4547943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 4557943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 4567943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 4577943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 4587943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 1, %o1 ! IEU0 4597943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 4607943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f2 ! FGM Group 4617943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M1, %f3 ! FGM Group 4627943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M2, %f4 ! FGM Group 4637943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M3, %f5 ! FGM Group 4647943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, M12, %f2 ! FGA Group f2 available 4657943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M4, %f6 ! FGM 4667943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M13, %f3 ! FGA Group f3 available 4677943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f7 ! FGM 4687943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, M14, %f4 ! FGA Group f4 available 4697943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M6, %f8 ! FGM 4707943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, M15, %f5 ! FGA Group f5 available 4717943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M7, %f9 ! FGM 4727943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, %f6, %f2 ! FGA Group f6 available 4737943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x00] ! LSU 4747943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, %f7, %f3 ! FGA Group f7 available 4757943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x04] ! LSU 4767943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f8, %f4 ! FGA Group f8 available 4777943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x08] ! LSU 4787943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, %f9, %f5 ! FGA Group f9 available 4797943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f5, [%g2 + 0x0c] ! LSU 4807943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 ! IEU1 4817943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 4827943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x10, %g2 ! IEU0 Group 4837943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: 4847943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_4 4857943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 4867943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 4877943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points2_identity 4887943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points2_identity: 4897943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o2, %o0 4907943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 3f 4917943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 4927943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 4937943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 4947943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 4957943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 4967943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 0 4977943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 4987943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 4997943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 5007943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 5017943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 5027943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 1, %o1 ! IEU0 5037943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 5047943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU0 5057943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 ! IEU1 5067943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f0, [%g2 + 0x00] ! LSU Group 5077943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f1, [%g2 + 0x04] ! LSU Group 5087943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 5097943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x10, %g2 ! IEU0 5107943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: 5117943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_2 5127943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 5137943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 5147943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul3: retl 5157943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 5167943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 5177943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points2_2d 5187943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points2_2d: 5197943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 5207943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 5217943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 5227943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 5237943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 5247943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_1_4_5_12_13(%o1) 5257943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 5267943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 1 5277943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 5287943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bl 3f 5297943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 5307943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 5317943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 5327943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul andn %g3, 1, %o2 5337943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 5347943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 5357943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 5367943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 2, %o1 ! IEU0 5377943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 5387943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f2 ! FGM 5397943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x00], %f8 ! LSU Group 5407943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M1, %f3 ! FGM 5417943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f9 ! LSU Group 5427943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M4, %f6 ! FGM 5437943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f7 ! FGM Group 5447943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU0 5457943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f8, M0, %f10 ! FGM Group f2 available 5467943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, M12, %f2 ! FGA 5477943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f8, M1, %f11 ! FGM Group f3 available 5487943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M13, %f3 ! FGA 5497943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f9, M4, %f12 ! FGM Group 5507943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f9, M5, %f13 ! FGM Group 5517943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f10, M12, %f10 ! FGA Group f2, f10 available 5527943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, %f6, %f2 ! FGA Group f3, f11 available 5537943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x00] ! LSU 5547943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f11, M13, %f11 ! FGA Group f12 available 5557943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, %f7, %f3 ! FGA Group f13 available 5567943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x04] ! LSU 5577943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f10, %f12, %f10 ! FGA Group f10 available 5587943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f10, [%g2 + 0x10] ! LSU 5597943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f11, %f13, %f11 ! FGA Group f11 available 5607943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f11, [%g2 + 0x14] ! LSU 5617943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %o2 ! IEU1 5627943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 5637943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x20, %g2 ! IEU0 Group 5647943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 5657943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 5667943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 3f 5677943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 5687943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 5697943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: ld [%g1 + 0x00], %f0 ! LSU Group 5707943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 5717943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f2 ! FGM Group 5727943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M1, %f3 ! FGM Group 5737943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M4, %f6 ! FGM Group 5747943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f7 ! FGM Group 5757943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, M12, %f2 ! FGA Group f2 available 5767943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M13, %f3 ! FGA Group f3 available 5777943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, %f6, %f2 ! FGA Group 2 cycle stall, f2 available 5787943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x00] ! LSU 5797943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, %f7, %f3 ! FGA Group f3 available 5807943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x04] ! LSU 5817943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 5827943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul3: 5837943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_2 5847943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 5857943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 5867943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points2_2d_no_rot 5877943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points2_2d_no_rot: 5887943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 5897943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 5907943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 5917943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 5927943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 5937943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_5_12_13(%o1) 5947943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 5957943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 1 5967943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 5977943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bl 3f 5987943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 5997943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 6007943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 6017943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul andn %g3, 1, %o2 6027943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 6037943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 6047943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 6057943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 2, %o1 ! IEU0 6067943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 6077943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x00], %f4 ! LSU Group 6087943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f2 ! FGM 6097943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f5 ! LSU Group 6107943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f3 ! FGM 6117943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f4, M0, %f6 ! FGM Group 6127943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU0 6137943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f5, M5, %f7 ! FGM Group 6147943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, M12, %f2 ! FGA Group f2 available 6157943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x00] ! LSU 6167943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M13, %f3 ! FGA Group f3 available 6177943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x04] ! LSU 6187943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f6, M12, %f6 ! FGA Group f6 available 6197943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f6, [%g2 + 0x10] ! LSU 6207943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f7, M13, %f7 ! FGA Group f7 available 6217943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f7, [%g2 + 0x14] ! LSU 6227943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %o2 ! IEU1 6237943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 6247943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x20, %g2 ! IEU0 Group 6257943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 6267943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 6277943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 3f 6287943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 6297943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 6307943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: ld [%g1 + 0x00], %f0 ! LSU Group 6317943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 6327943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f2 ! FGM Group 6337943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f3 ! FGM Group 6347943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, M12, %f2 ! FGA Group, 2 cycle stall, f2 available 6357943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x00] ! LSU 6367943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M13, %f3 ! FGA Group f3 available 6377943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x04] ! LSU 6387943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 6397943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul3: 6407943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_2 6417943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 6427943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 6437943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul /* orig: 12 cycles */ 6447943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points2_3d 6457943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points2_3d: 6467943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 6477943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_START], %g1 6487943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o0 + V4F_START], %g2 6497943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 6507943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 6517943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_1_2_3_4_5_6_12_13_14(%o1) 6527943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 6537943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 1 6547943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 6557943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bl 3f 6567943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 6577943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 6587943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 6597943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul andn %g3, 1, %o2 6607943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 6617943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 6627943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 6637943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 2, %o1 ! IEU0 6647943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 6657943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x00], %f9 ! LSU Group 6667943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f2 ! FGM 6677943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f10 ! LSU Group 6687943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M1, %f3 ! FGM 6697943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M2, %f4 ! FGM Group 6707943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU0 6717943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M4, %f6 ! FGM Group 6727943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f7 ! FGM Group f2 available 6737943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, M12, %f2 ! FGA 6747943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M6, %f8 ! FGM Group f3 available 6757943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M13, %f3 ! FGA 6767943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f9, M0, %f11 ! FGM Group f4 available 6777943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, M14, %f4 ! FGA 6787943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f9, M1, %f12 ! FGM Group f6 available 6797943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f9, M2, %f13 ! FGM Group f2, f7 available 6807943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, %f6, %f2 ! FGA 6817943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x00] ! LSU 6827943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f10, M4, %f14 ! FGM Group f3, f8 available 6837943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, %f7, %f3 ! FGA 6847943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x04] ! LSU 6857943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f10, M5, %f15 ! FGM Group f4, f11 available 6867943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f11, M12, %f11 ! FGA 6877943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f10, M6, %f0 ! FGM Group f12 available 6887943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f12, M13, %f12 ! FGA 6897943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f13, M14, %f13 ! FGA Group f13 available 6907943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f8, %f4 ! FGA Group f14 available 6917943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x08] ! LSU 6927943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f11, %f14, %f11 ! FGA Group f15, f11 available 6937943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f11, [%g2 + 0x10] ! LSU 6947943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f12, %f15, %f12 ! FGA Group f0, f12 available 6957943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f12, [%g2 + 0x14] ! LSU 6967943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f13, %f0, %f13 ! FGA Group f13 available 6977943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f13, [%g2 + 0x18] ! LSU 6987943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 6997943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %o2 ! IEU1 7007943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 7017943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x20, %g2 ! IEU0 Group 7027943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 7037943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 7047943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 3f 7057943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 7067943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 7077943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: ld [%g1 + 0x00], %f0 ! LSU Group 7087943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 7097943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f2 ! FGM Group 7107943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M1, %f3 ! FGM Group 7117943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M2, %f4 ! FGM Group 7127943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M4, %f6 ! FGM Group 7137943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f7 ! FGM Group f2 available 7147943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, M12, %f2 ! FGA 7157943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M6, %f8 ! FGM Group f3 available 7167943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M13, %f3 ! FGA 7177943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, M14, %f4 ! FGA Group f4 available 7187943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, %f6, %f2 ! FGA Group stall, f2, f6, f7 available 7197943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x00] ! LSU 7207943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, %f7, %f3 ! FGA Group f3, f8 available 7217943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x04] ! LSU 7227943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f8, %f4 ! FGA Group f4 available 7237943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x08] ! LSU 7247943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 7257943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul3: 7267943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_3 7277943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 7287943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 7297943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points2_3d_no_rot 7307943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points2_3d_no_rot: 7317943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 7327943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 7337943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 7347943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 7357943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 7367943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_5_12_13_14(%o1) 7377943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 7387943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 1 7397943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 7407943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bl 3f 7417943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o3 7427943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 7437943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 7447943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul andn %g3, 1, %o2 7457943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 7467943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 7477943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 7487943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o3, 2, %o3 ! IEU0 7497943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 7507943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x00], %f4 ! LSU Group 7517943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f2 ! FGM 7527943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f5 ! LSU Group 7537943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f3 ! FGM 7547943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f4, M0, %f6 ! FGM Group 7557943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU0 7567943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f5, M5, %f7 ! FGM Group 7577943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, M12, %f2 ! FGA Group f2 available 7587943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x00] ! LSU 7597943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M13, %f3 ! FGA Group f3 available 7607943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x04] ! LSU 7617943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f6, M12, %f6 ! FGA Group f6 available 7627943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st M14, [%g2 + 0x08] ! LSU 7637943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f7, M13, %f7 ! FGA Group f7 available 7647943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f6, [%g2 + 0x10] ! LSU 7657943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f7, [%g2 + 0x14] ! LSU Group 7667943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st M14, [%g2 + 0x18] ! LSU Group 7677943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o3, %o2 ! IEU1 7687943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 7697943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x20, %g2 ! IEU0 Group 7707943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 7717943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o3, %g3 7727943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 3f 7737943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 7747943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 7757943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: ld [%g1 + 0x00], %f0 ! LSU Group 7767943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 7777943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f2 ! FGM Group 7787943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f3 ! FGM Group 7797943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f2, M12, %f2 ! FGA Group, 2 cycle stall, f2 available 7807943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x00] ! LSU 7817943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M13, %f3 ! FGA Group f3 available 7827943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x04] ! LSU 7837943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st M14, [%g2 + 0x08] ! LSU Group 7847943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 7857943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul3: ld [%o1 + (14 * 0x4)], %g3 7867943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 0 7877943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne __set_v4f_3 7887943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 7897943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_2 7907943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 7917943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 7927943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points2_perspective 7937943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points2_perspective: 7947943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 7957943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 7967943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 7977943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 7987943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 7997943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_5_14(%o1) 8007943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 8017943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 0 8027943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 8037943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 8047943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 8057943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 8067943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 8077943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 8087943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 1, %o1 8097943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 8107943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f2 8117943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x00] 8127943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f3 8137943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x04] 8147943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st M14, [%g2 + 0x08] 8157943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g0, [%g2 + 0x0c] 8167943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 8177943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b 8187943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x10, %g2 8197943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: 8207943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_4 8217943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 8227943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 8237943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points3_general 8247943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points3_general: 8257943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 8267943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 8277943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 8287943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 8297943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 8307943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_1_2_3_4_5_6_7_8_9_10_11_12_13_14_15(%o1) 8317943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 8327943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 0 8337943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 8347943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 8357943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 8367943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 8377943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 8387943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 8397943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x08], %f2 ! LSU Group 8407943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 1, %o1 ! IEU0 8417943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 8427943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f3 ! FGM 8437943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M4, %f7 ! FGM Group 8447943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M1, %f4 ! FGM Group 8457943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f8 ! FGM Group 8467943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M2, %f5 ! FGM Group f3 available 8477943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M6, %f9 ! FGM Group f7 available 8487943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, %f7, %f3 ! FGA 8497943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M3, %f6 ! FGM Group f4 available 8507943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M7, %f10 ! FGM Group f8 available 8517943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f8, %f4 ! FGA 8527943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M8, %f7 ! FGM Group f5 available 8537943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M9, %f8 ! FGM Group f9,f3 available 8547943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, %f9, %f5 ! FGA 8557943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M10, %f9 ! FGM Group f6 available 8567943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f6, %f10, %f6 ! FGA Group f10,f4 available 8577943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M11, %f10 ! FGM 8587943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M12, %f3 ! FGA Group f7 available 8597943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, M13, %f4 ! FGA Group f8,f5 available 8607943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, M14, %f5 ! FGA Group f9 available 8617943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f6, M15, %f6 ! FGA Group f10,f6 available 8627943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, %f7, %f3 ! FGA Group f3 available 8637943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x00] ! LSU 8647943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f8, %f4 ! FGA Group f4 available 8657943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x04] ! LSU 8667943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, %f9, %f5 ! FGA Group f5 available 8677943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f5, [%g2 + 0x08] ! LSU 8687943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f6, %f10, %f6 ! FGA Group f6 available 8697943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f6, [%g2 + 0x0c] ! LSU 8707943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 ! IEU1 8717943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 8727943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x10, %g2 ! IEU0 Group 8737943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: 8747943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_4 8757943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 8767943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 8777943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points3_identity 8787943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points3_identity: 8797943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 8807943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 8817943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 8827943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 8837943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 8847943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 0 8857943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 8867943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 8877943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 8887943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 8897943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 8907943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 8917943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x08], %f2 8927943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 1, %o1 8937943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 8947943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 8957943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f0, [%g2 + 0x00] 8967943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f1, [%g2 + 0x04] 8977943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x08] 8987943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b 8997943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x10, %g2 9007943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: 9017943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_3 9027943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 9037943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 9047943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points3_2d 9057943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points3_2d: 9067943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 9077943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 9087943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 9097943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 9107943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 9117943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_1_4_5_12_13(%o1) 9127943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 9137943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 0 9147943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 9157943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 9167943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 9177943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 9187943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 9197943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 9207943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x08], %f2 ! LSU Group 9217943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 1, %o1 ! IEU0 9227943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 9237943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f3 ! FGM 9247943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M1, %f4 ! FGM Group 9257943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M4, %f6 ! FGM Group 9267943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f7 ! FGM Group 9277943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M12, %f3 ! FGA Group f3 available 9287943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, M13, %f4 ! FGA Group f4 available 9297943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, %f6, %f3 ! FGA Group f6 available 9307943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x00] ! LSU 9317943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f7, %f4 ! FGA Group f7 available 9327943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x04] ! LSU 9337943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x08] ! LSU Group 9347943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 ! IEU1 9357943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 9367943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x10, %g2 ! IEU0 Group 9377943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: 9387943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_3 9397943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 9407943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 9417943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points3_2d_no_rot 9427943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points3_2d_no_rot: 9437943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 9447943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 9457943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 9467943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 9477943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 9487943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_5_12_13(%o1) 9497943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 9507943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 0 9517943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 9527943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 9537943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 9547943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 9557943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 9567943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 9577943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x08], %f2 ! LSU Group 9587943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 1, %o1 ! IEU0 9597943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 9607943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f3 ! FGM 9617943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f4 ! FGM Group 9627943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x08] ! LSU 9637943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M12, %f3 ! FGA Group 9647943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x00] ! LSU 9657943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, M13, %f4 ! FGA Group 9667943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x04] ! LSU 9677943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 ! IEU1 9687943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 9697943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x10, %g2 ! IEU0 Group 9707943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: 9717943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_3 9727943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 9737943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 9747943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points3_3d 9757943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points3_3d: 9767943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 9777943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 9787943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 9797943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 9807943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 9817943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_1_2_4_5_6_8_9_10_12_13_14(%o1) 9827943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 9837943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 0 9847943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 9857943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 9867943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 9877943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 9887943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 9897943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 9907943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x08], %f2 ! LSU Group 9917943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 1, %o1 ! IEU0 9927943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 9937943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f3 ! FGM 9947943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M4, %f6 ! FGM Group 9957943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M1, %f4 ! FGM Group 9967943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f7 ! FGM Group 9977943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M2, %f5 ! FGM Group f3 available 9987943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M6, %f8 ! FGM Group f6 available 9997943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, %f6, %f3 ! FGA 10007943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M8, %f9 ! FGM Group f4 available 10017943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M9, %f10 ! FGM Group f7 available 10027943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f7, %f4 ! FGA 10037943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M10, %f11 ! FGM Group f5 available 10047943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, %f8, %f5 ! FGA Group f8, f3 available 10057943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, %f9, %f3 ! FGA Group f9 available 10067943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f10, %f4 ! FGA Group f10, f4 available 10077943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, %f11, %f5 ! FGA Group stall, f11, f5 available 10087943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M12, %f3 ! FGA Group f3 available 10097943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x00] ! LSU 10107943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, M13, %f4 ! FGA Group f4 available 10117943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x04] ! LSU 10127943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, M14, %f5 ! FGA Group f5 available 10137943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f5, [%g2 + 0x08] ! LSU 10147943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 ! IEU1 10157943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 10167943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x10, %g2 ! IEU0 Group 10177943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: 10187943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_3 10197943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 10207943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 10217943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points3_3d_no_rot 10227943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points3_3d_no_rot: 10237943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 10247943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 10257943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 10267943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 10277943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 10287943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_5_10_12_13_14(%o1) 10297943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 10307943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 0 10317943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 10327943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 10337943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 10347943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 10357943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 10367943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 10377943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x08], %f2 ! LSU Group 10387943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 1, %o1 ! IEU0 10397943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 10407943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 ! IEU1 Group 10417943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f3 ! FGM 10427943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f4 ! FGM Group 10437943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M10, %f5 ! FGM Group 10447943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, M12, %f3 ! FGA Group, stall, f3 available 10457943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x00] ! LSU 10467943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, M13, %f4 ! FGA Group, f4 available 10477943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x04] ! LSU 10487943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, M14, %f5 ! FGA Group, f5 available 10497943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f5, [%g2 + 0x08] ! LEU 10507943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 10517943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x10, %g2 ! IEU0 Group 10527943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: 10537943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_3 10547943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 10557943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 10567943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points3_perspective 10577943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points3_perspective: 10587943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 10597943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 10607943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 10617943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 10627943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 10637943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_5_8_9_10_14(%o1) 10647943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 10657943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 0 10667943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 10677943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 10687943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 10697943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 10707943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 10717943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 10727943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x08], %f2 ! LSU Group 10737943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 1, %o1 ! IEU0 10747943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 10757943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f3 ! FGM 10767943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M8, %f6 ! FGM Group 10777943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f4 ! FGM Group 10787943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M9, %f7 ! FGM Group 10797943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M10, %f5 ! FGM Group f3 available 10807943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f3, %f6, %f3 ! FGA Group f6 available 10817943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x00] ! LSU 10827943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f7, %f4 ! FGA Group stall, f4, f7 available 10837943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x04] ! LSU 10847943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, M14, %f5 ! FGA Group 10857943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f5, [%g2 + 0x08] ! LSU 10867943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fnegs %f2, %f6 ! FGA Group 10877943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f6, [%g2 + 0x0c] ! LSU 10887943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 ! IEU1 10897943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 10907943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x10, %g2 ! IEU0 Group 10917943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: 10927943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_4 10937943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 10947943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 10957943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points4_general 10967943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points4_general: 10977943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 10987943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 10997943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 11007943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 11017943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 11027943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_1_2_3_4_5_6_7_8_9_10_11_12_13_14_15(%o1) 11037943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 11047943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 0 11057943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 11067943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 11077943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 11087943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 11097943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 11107943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 11117943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x08], %f2 ! LSU Group 11127943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x0c], %f3 ! LSU Group 11137943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 1, %o1 ! IEU0 11147943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 11157943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f4 ! FGM Group 11167943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M4, %f8 ! FGM Group 11177943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M1, %f5 ! FGM Group 11187943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f9 ! FGM Group 11197943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M2, %f6 ! FGM Group f4 available 11207943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M6, %f10 ! FGM Group f8 available 11217943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f8, %f4 ! FGA 11227943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M3, %f7 ! FGM Group f5 available 11237943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M7, %f11 ! FGM Group f9 available 11247943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, %f9, %f5 ! FGA 11257943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M8, %f12 ! FGM Group f6 available 11267943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M9, %f13 ! FGM Group f10, f4 available 11277943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f6, %f10, %f6 ! FGA 11287943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M10, %f14 ! FGM Group f7 available 11297943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M11, %f15 ! FGM Group f11, f5 available 11307943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f7, %f11, %f7 ! FGA 11317943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f3, M12, %f8 ! FGM Group f12 available 11327943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f12, %f4 ! FGA 11337943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f3, M13, %f9 ! FGM Group f13, f6 available 11347943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, %f13, %f5 ! FGA 11357943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f3, M14, %f10 ! FGM Group f14 available 11367943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f6, %f14, %f6 ! FGA 11377943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f3, M15, %f11 ! FGM Group f15, f7 available 11387943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f7, %f15, %f7 ! FGA 11397943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f8, %f4 ! FGA Group f8, f4 available 11407943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x00] ! LSU 11417943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, %f9, %f5 ! FGA Group f9, f5 available 11427943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f5, [%g2 + 0x04] ! LSU 11437943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f6, %f10, %f6 ! FGA Group f10, f6 available 11447943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f6, [%g2 + 0x08] ! LSU 11457943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f7, %f11, %f7 ! FGA Group f11, f7 available 11467943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f7, [%g2 + 0x0c] ! LSU 11477943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 ! IEU1 11487943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 11497943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x10, %g2 ! IEU0 Group 11507943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: 11517943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_4 11527943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 11537943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 11547943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points4_identity 11557943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points4_identity: 11567943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 11577943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 11587943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 11597943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 11607943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 11617943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 0 11627943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 11637943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 11647943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 11657943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 11667943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 11677943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 11687943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x08], %f2 11697943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 1, %o1 11707943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x0c], %f3 11717943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 11727943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f0, [%g2 + 0x00] 11737943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f1, [%g2 + 0x04] 11747943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x08] 11757943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 11767943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x0c] 11777943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b 11787943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x10, %g2 11797943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: 11807943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_4 11817943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 11827943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 11837943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points4_2d 11847943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points4_2d: 11857943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 11867943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 11877943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 11887943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 11897943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 11907943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_1_4_5_12_13(%o1) 11917943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 11927943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 0 11937943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 11947943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 11957943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 11967943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 11977943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 11987943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 11997943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x08], %f2 ! LSU Group 12007943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x0c], %f3 ! LSU Group 12017943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 1, %o1 ! IEU0 12027943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 12037943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f4 ! FGM 12047943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M4, %f8 ! FGM Group 12057943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M1, %f5 ! FGM Group 12067943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f9 ! FGM Group f4 available 12077943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f3, M12, %f12 ! FGM Group 12087943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f3, M13, %f13 ! FGM Group f8 available 12097943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f8, %f4 ! FGA 12107943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, %f9, %f5 ! FGA Group stall, f5, f9 available 12117943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f12, %f4 ! FGA Group 2 cycle stall, f4, f12, f13 avail 12127943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x00] ! LSU 12137943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, %f13, %f5 ! FGA Group f5 available 12147943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f5, [%g2 + 0x04] ! LSU 12157943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x08] ! LSU Group 12167943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x0c] ! LSU Group 12177943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 ! IEU1 12187943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 12197943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x10, %g2 ! IEU0 Group 12207943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: 12217943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_4 12227943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 12237943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 12247943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points4_2d_no_rot 12257943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points4_2d_no_rot: 12267943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 12277943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 12287943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 12297943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 12307943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 12317943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_1_4_5_12_13(%o1) 12327943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 12337943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 0 12347943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 12357943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 12367943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 12377943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 12387943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 12397943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 12407943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x08], %f2 12417943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x0c], %f3 12427943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 1, %o1 12437943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 12447943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f4 12457943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f3, M12, %f8 12467943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f5 12477943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f3, M13, %f9 12487943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f8, %f4 12497943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x00] 12507943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, %f9, %f5 12517943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f5, [%g2 + 0x04] 12527943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f2, [%g2 + 0x08] 12537943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x0c] 12547943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 12557943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b 12567943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x10, %g2 12577943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: 12587943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_4 12597943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 12607943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 12617943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points4_3d 12627943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points4_3d: 12637943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 12647943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 12657943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 12667943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 12677943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 12687943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_1_2_4_5_6_8_9_10_12_13_14(%o1) 12697943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 12707943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 0 12717943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 12727943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 12737943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 12747943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 12757943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 12767943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 12777943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x08], %f2 ! LSU Group 12787943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x0c], %f3 ! LSU Group 12797943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 1, %o1 ! IEU0 12807943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 12817943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f4 ! FGM 12827943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M4, %f7 ! FGM Group 12837943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M1, %f5 ! FGM Group 12847943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f8 ! FGM Group 12857943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M2, %f6 ! FGM Group f4 available 12867943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M6, %f9 ! FGM Group f7 available 12877943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f7, %f4 ! FGA 12887943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M8, %f10 ! FGM Group f5 available 12897943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M9, %f11 ! FGM Group f8 available 12907943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, %f8, %f5 ! FGA 12917943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M10, %f12 ! FGM Group f6 available 12927943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f3, M12, %f13 ! FGM Group f9, f4 available 12937943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f6, %f9, %f6 ! FGA 12947943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f3, M13, %f14 ! FGM Group f10 available 12957943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f10, %f4 ! FGA 12967943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f3, M14, %f15 ! FGM Group f11, f5 available 12977943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, %f11, %f5 ! FGA 12987943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f6, %f12, %f6 ! FGA Group stall, f12, f13, f6 available 12997943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f13, %f4 ! FGA Group f14, f4 available 13007943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x00] ! LSU 13017943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, %f14, %f5 ! FGA Group f15, f5 available 13027943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f5, [%g2 + 0x04] ! LSU 13037943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f6, %f15, %f6 ! FGA Group f6 available 13047943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f6, [%g2 + 0x08] ! LSU 13057943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x0c] ! LSU Group 13067943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 ! IEU1 13077943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 13087943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x10, %g2 ! IEU0 Group 13097943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: 13107943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_4 13117943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 13127943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 13137943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points4_3d_no_rot 13147943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points4_3d_no_rot: 13157943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 13167943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 13177943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 13187943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 13197943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 13207943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_5_10_12_13_14(%o1) 13217943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 13227943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 0 13237943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 13247943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 13257943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 13267943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 13277943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 13287943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 13297943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x08], %f2 ! LSU Group 13307943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x0c], %f3 ! LSU Group 13317943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 1, %o1 ! IEU0 13327943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 13337943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f4 ! FGM 13347943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f3, M12, %f7 ! FGM Group 13357943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f5 ! FGM Group 13367943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f3, M13, %f8 ! FGM Group 13377943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M10, %f6 ! FGM Group f4 available 13387943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f3, M14, %f9 ! FGM Group f7 available 13397943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f7, %f4 ! FGA 13407943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x00] ! LSU 13417943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, %f8, %f5 ! FGA Group stall, f5, f8 available 13427943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f5, [%g2 + 0x04] ! LSU 13437943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f6, %f9, %f6 ! FGA Group stall, f6, f9 available 13447943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f6, [%g2 + 0x08] ! LSU 13457943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f3, [%g2 + 0x0c] ! LSU Group 13467943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 ! IEU1 13477943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 13487943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x10, %g2 ! IEU0 Group 13497943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: 13507943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_4 13517943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 13527943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 13537943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul .globl _mesa_sparc_transform_points4_perspective 13547943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul_mesa_sparc_transform_points4_perspective: 13557943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_STRIDE], %o5 13567943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o2 + V4F_START], %g1 13577943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDPTR [%o0 + V4F_START], %g2 13587943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%o2 + V4F_COUNT], %g3 13597943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 13607943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul LDMATRIX_0_5_8_9_10_14(%o1) 13617943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 13627943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %g3, 0 13637943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %g3, [%o0 + V4F_COUNT] 13647943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul be 2f 13657943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul clr %o1 13667943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul 13677943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul1: ld [%g1 + 0x00], %f0 ! LSU Group 13687943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x04], %f1 ! LSU Group 13697943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x08], %f2 ! LSU Group 13707943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ld [%g1 + 0x0c], %f3 ! LSU Group 13717943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %o1, 1, %o1 ! IEU0 13727943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g1, %o5, %g1 ! IEU1 13737943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f0, M0, %f4 ! FGM 13747943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M8, %f7 ! FGM Group 13757943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f1, M5, %f5 ! FGM Group 13767943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M9, %f8 ! FGM Group 13777943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f2, M10, %f6 ! FGM Group f4 available 13787943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fmuls %f3, M14, %f9 ! FGM Group f7 available 13797943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f4, %f7, %f4 ! FGA 13807943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f4, [%g2 + 0x00] ! LSU 13817943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f5, %f8, %f5 ! FGA Group stall, f5, f8 available 13827943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f5, [%g2 + 0x04] ! LSU 13837943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fadds %f6, %f9, %f6 ! FGA Group stall, f6, f9 available 13847943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f6, [%g2 + 0x08] ! LSU 13857943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul fnegs %f2, %f7 ! FGA Group 13867943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul st %f7, [%g2 + 0x0c] ! LSU 13877943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul cmp %o1, %g3 ! IEU1 13887943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul bne 1b ! CTI 13897943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul add %g2, 0x10, %g2 ! IEU0 Group 13907943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul2: 13917943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul ba __set_v4f_4 13927943b349d696f8030f0d2f836ad42a762f4c6026Brian Paul nop 1393