📄 xform.s
字号:
fmuls %f1, M4, %f6 ! FGM fadds %f3, M13, %f3 ! FGA Group f3 available fmuls %f1, M5, %f7 ! FGM fadds %f4, M14, %f4 ! FGA Group f4 available fmuls %f1, M6, %f8 ! FGM fadds %f5, M15, %f5 ! FGA Group f5 available fmuls %f1, M7, %f9 ! FGM fadds %f2, %f6, %f2 ! FGA Group f6 available st %f2, [%g2 + 0x00] ! LSU fadds %f3, %f7, %f3 ! FGA Group f7 available st %f3, [%g2 + 0x04] ! LSU fadds %f4, %f8, %f4 ! FGA Group f8 available st %f4, [%g2 + 0x08] ! LSU fadds %f5, %f9, %f5 ! FGA Group f9 available st %f5, [%g2 + 0x0c] ! LSU cmp %o1, %g3 ! IEU1 bne 1b ! CTI add %g2, 0x10, %g2 ! IEU0 Group2: ba __set_v4f_4 nop .globl _mesa_sparc_transform_points2_identity_mesa_sparc_transform_points2_identity: cmp %o2, %o0 be 3f ld [%o2 + V4F_STRIDE], %o5 LDPTR [%o2 + V4F_START], %g1 LDPTR [%o0 + V4F_START], %g2 ld [%o2 + V4F_COUNT], %g3 cmp %g3, 0 st %g3, [%o0 + V4F_COUNT] be 2f clr %o11: ld [%g1 + 0x00], %f0 ! LSU Group add %o1, 1, %o1 ! IEU0 ld [%g1 + 0x04], %f1 ! LSU Group add %g1, %o5, %g1 ! IEU0 cmp %o1, %g3 ! IEU1 st %f0, [%g2 + 0x00] ! LSU Group st %f1, [%g2 + 0x04] ! LSU Group bne 1b ! CTI add %g2, 0x10, %g2 ! IEU02: ba __set_v4f_2 nop3: retl nop .globl _mesa_sparc_transform_points2_2d_mesa_sparc_transform_points2_2d: ld [%o2 + V4F_STRIDE], %o5 LDPTR [%o2 + V4F_START], %g1 LDPTR [%o0 + V4F_START], %g2 ld [%o2 + V4F_COUNT], %g3 LDMATRIX_0_1_4_5_12_13(%o1) cmp %g3, 1 st %g3, [%o0 + V4F_COUNT] bl 3f clr %o1 be 2f andn %g3, 1, %o21: ld [%g1 + 0x00], %f0 ! LSU Group ld [%g1 + 0x04], %f1 ! LSU Group add %o1, 2, %o1 ! IEU0 add %g1, %o5, %g1 ! IEU1 fmuls %f0, M0, %f2 ! FGM ld [%g1 + 0x00], %f8 ! LSU Group fmuls %f0, M1, %f3 ! FGM ld [%g1 + 0x04], %f9 ! LSU Group fmuls %f1, M4, %f6 ! FGM fmuls %f1, M5, %f7 ! FGM Group add %g1, %o5, %g1 ! IEU0 fmuls %f8, M0, %f10 ! FGM Group f2 available fadds %f2, M12, %f2 ! FGA fmuls %f8, M1, %f11 ! FGM Group f3 available fadds %f3, M13, %f3 ! FGA fmuls %f9, M4, %f12 ! FGM Group fmuls %f9, M5, %f13 ! FGM Group fadds %f10, M12, %f10 ! FGA Group f2, f10 available fadds %f2, %f6, %f2 ! FGA Group f3, f11 available st %f2, [%g2 + 0x00] ! LSU fadds %f11, M13, %f11 ! FGA Group f12 available fadds %f3, %f7, %f3 ! FGA Group f13 available st %f3, [%g2 + 0x04] ! LSU fadds %f10, %f12, %f10 ! FGA Group f10 available st %f10, [%g2 + 0x10] ! LSU fadds %f11, %f13, %f11 ! FGA Group f11 available st %f11, [%g2 + 0x14] ! LSU cmp %o1, %o2 ! IEU1 bne 1b ! CTI add %g2, 0x20, %g2 ! IEU0 Group cmp %o1, %g3 be 3f nop2: ld [%g1 + 0x00], %f0 ! LSU Group ld [%g1 + 0x04], %f1 ! LSU Group fmuls %f0, M0, %f2 ! FGM Group fmuls %f0, M1, %f3 ! FGM Group fmuls %f1, M4, %f6 ! FGM Group fmuls %f1, M5, %f7 ! FGM Group fadds %f2, M12, %f2 ! FGA Group f2 available fadds %f3, M13, %f3 ! FGA Group f3 available fadds %f2, %f6, %f2 ! FGA Group 2 cycle stall, f2 available st %f2, [%g2 + 0x00] ! LSU fadds %f3, %f7, %f3 ! FGA Group f3 available st %f3, [%g2 + 0x04] ! LSU3: ba __set_v4f_2 nop .globl _mesa_sparc_transform_points2_2d_no_rot_mesa_sparc_transform_points2_2d_no_rot: ld [%o2 + V4F_STRIDE], %o5 LDPTR [%o2 + V4F_START], %g1 LDPTR [%o0 + V4F_START], %g2 ld [%o2 + V4F_COUNT], %g3 LDMATRIX_0_5_12_13(%o1) cmp %g3, 1 st %g3, [%o0 + V4F_COUNT] bl 3f clr %o1 be 2f andn %g3, 1, %o21: ld [%g1 + 0x00], %f0 ! LSU Group ld [%g1 + 0x04], %f1 ! LSU Group add %o1, 2, %o1 ! IEU0 add %g1, %o5, %g1 ! IEU1 ld [%g1 + 0x00], %f4 ! LSU Group fmuls %f0, M0, %f2 ! FGM ld [%g1 + 0x04], %f5 ! LSU Group fmuls %f1, M5, %f3 ! FGM fmuls %f4, M0, %f6 ! FGM Group add %g1, %o5, %g1 ! IEU0 fmuls %f5, M5, %f7 ! FGM Group fadds %f2, M12, %f2 ! FGA Group f2 available st %f2, [%g2 + 0x00] ! LSU fadds %f3, M13, %f3 ! FGA Group f3 available st %f3, [%g2 + 0x04] ! LSU fadds %f6, M12, %f6 ! FGA Group f6 available st %f6, [%g2 + 0x10] ! LSU fadds %f7, M13, %f7 ! FGA Group f7 available st %f7, [%g2 + 0x14] ! LSU cmp %o1, %o2 ! IEU1 bne 1b ! CTI add %g2, 0x20, %g2 ! IEU0 Group cmp %o1, %g3 be 3f nop2: ld [%g1 + 0x00], %f0 ! LSU Group ld [%g1 + 0x04], %f1 ! LSU Group fmuls %f0, M0, %f2 ! FGM Group fmuls %f1, M5, %f3 ! FGM Group fadds %f2, M12, %f2 ! FGA Group, 2 cycle stall, f2 available st %f2, [%g2 + 0x00] ! LSU fadds %f3, M13, %f3 ! FGA Group f3 available st %f3, [%g2 + 0x04] ! LSU3: ba __set_v4f_2 nop /* orig: 12 cycles */ .globl _mesa_sparc_transform_points2_3d_mesa_sparc_transform_points2_3d: ld [%o2 + V4F_STRIDE], %o5 ld [%o2 + V4F_START], %g1 ld [%o0 + V4F_START], %g2 ld [%o2 + V4F_COUNT], %g3 LDMATRIX_0_1_2_3_4_5_6_12_13_14(%o1) cmp %g3, 1 st %g3, [%o0 + V4F_COUNT] bl 3f clr %o1 be 2f andn %g3, 1, %o21: ld [%g1 + 0x00], %f0 ! LSU Group ld [%g1 + 0x04], %f1 ! LSU Group add %o1, 2, %o1 ! IEU0 add %g1, %o5, %g1 ! IEU1 ld [%g1 + 0x00], %f9 ! LSU Group fmuls %f0, M0, %f2 ! FGM ld [%g1 + 0x04], %f10 ! LSU Group fmuls %f0, M1, %f3 ! FGM fmuls %f0, M2, %f4 ! FGM Group add %g1, %o5, %g1 ! IEU0 fmuls %f1, M4, %f6 ! FGM Group fmuls %f1, M5, %f7 ! FGM Group f2 available fadds %f2, M12, %f2 ! FGA fmuls %f1, M6, %f8 ! FGM Group f3 available fadds %f3, M13, %f3 ! FGA fmuls %f9, M0, %f11 ! FGM Group f4 available fadds %f4, M14, %f4 ! FGA fmuls %f9, M1, %f12 ! FGM Group f6 available fmuls %f9, M2, %f13 ! FGM Group f2, f7 available fadds %f2, %f6, %f2 ! FGA st %f2, [%g2 + 0x00] ! LSU fmuls %f10, M4, %f14 ! FGM Group f3, f8 available fadds %f3, %f7, %f3 ! FGA st %f3, [%g2 + 0x04] ! LSU fmuls %f10, M5, %f15 ! FGM Group f4, f11 available fadds %f11, M12, %f11 ! FGA fmuls %f10, M6, %f0 ! FGM Group f12 available fadds %f12, M13, %f12 ! FGA fadds %f13, M14, %f13 ! FGA Group f13 available fadds %f4, %f8, %f4 ! FGA Group f14 available st %f4, [%g2 + 0x08] ! LSU fadds %f11, %f14, %f11 ! FGA Group f15, f11 available st %f11, [%g2 + 0x10] ! LSU fadds %f12, %f15, %f12 ! FGA Group f0, f12 available st %f12, [%g2 + 0x14] ! LSU fadds %f13, %f0, %f13 ! FGA Group f13 available st %f13, [%g2 + 0x18] ! LSU cmp %o1, %o2 ! IEU1 bne 1b ! CTI add %g2, 0x20, %g2 ! IEU0 Group cmp %o1, %g3 be 3f nop2: ld [%g1 + 0x00], %f0 ! LSU Group ld [%g1 + 0x04], %f1 ! LSU Group fmuls %f0, M0, %f2 ! FGM Group fmuls %f0, M1, %f3 ! FGM Group fmuls %f0, M2, %f4 ! FGM Group fmuls %f1, M4, %f6 ! FGM Group fmuls %f1, M5, %f7 ! FGM Group f2 available fadds %f2, M12, %f2 ! FGA fmuls %f1, M6, %f8 ! FGM Group f3 available fadds %f3, M13, %f3 ! FGA fadds %f4, M14, %f4 ! FGA Group f4 available fadds %f2, %f6, %f2 ! FGA Group stall, f2, f6, f7 available st %f2, [%g2 + 0x00] ! LSU fadds %f3, %f7, %f3 ! FGA Group f3, f8 available st %f3, [%g2 + 0x04] ! LSU fadds %f4, %f8, %f4 ! FGA Group f4 available st %f4, [%g2 + 0x08] ! LSU3: ba __set_v4f_3 nop .globl _mesa_sparc_transform_points2_3d_no_rot_mesa_sparc_transform_points2_3d_no_rot: ld [%o2 + V4F_STRIDE], %o5 LDPTR [%o2 + V4F_START], %g1 LDPTR [%o0 + V4F_START], %g2 ld [%o2 + V4F_COUNT], %g3 LDMATRIX_0_5_12_13_14(%o1) cmp %g3, 1 st %g3, [%o0 + V4F_COUNT] bl 3f clr %o3 be 2f andn %g3, 1, %o21: ld [%g1 + 0x00], %f0 ! LSU Group ld [%g1 + 0x04], %f1 ! LSU Group add %o3, 2, %o3 ! IEU0 add %g1, %o5, %g1 ! IEU1 ld [%g1 + 0x00], %f4 ! LSU Group fmuls %f0, M0, %f2 ! FGM ld [%g1 + 0x04], %f5 ! LSU Group fmuls %f1, M5, %f3 ! FGM fmuls %f4, M0, %f6 ! FGM Group add %g1, %o5, %g1 ! IEU0 fmuls %f5, M5, %f7 ! FGM Group fadds %f2, M12, %f2 ! FGA Group f2 available st %f2, [%g2 + 0x00] ! LSU fadds %f3, M13, %f3 ! FGA Group f3 available st %f3, [%g2 + 0x04] ! LSU fadds %f6, M12, %f6 ! FGA Group f6 available st M14, [%g2 + 0x08] ! LSU fadds %f7, M13, %f7 ! FGA Group f7 available st %f6, [%g2 + 0x10] ! LSU st %f7, [%g2 + 0x14] ! LSU Group st M14, [%g2 + 0x18] ! LSU Group cmp %o3, %o2 ! IEU1 bne 1b ! CTI add %g2, 0x20, %g2 ! IEU0 Group cmp %o3, %g3 be 3f nop2: ld [%g1 + 0x00], %f0 ! LSU Group ld [%g1 + 0x04], %f1 ! LSU Group fmuls %f0, M0, %f2 ! FGM Group fmuls %f1, M5, %f3 ! FGM Group fadds %f2, M12, %f2 ! FGA Group, 2 cycle stall, f2 available st %f2, [%g2 + 0x00] ! LSU fadds %f3, M13, %f3 ! FGA Group f3 available st %f3, [%g2 + 0x04] ! LSU st M14, [%g2 + 0x08] ! LSU Group3: ld [%o1 + (14 * 0x4)], %g3 cmp %g3, 0 bne __set_v4f_3 nop ba __set_v4f_2 nop .globl _mesa_sparc_transform_points2_perspective_mesa_sparc_transform_points2_perspective: ld [%o2 + V4F_STRIDE], %o5 LDPTR [%o2 + V4F_START], %g1 LDPTR [%o0 + V4F_START], %g2 ld [%o2 + V4F_COUNT], %g3 LDMATRIX_0_5_14(%o1) cmp %g3, 0 st %g3, [%o0 + V4F_COUNT] be 2f clr %o11: ld [%g1 + 0x00], %f0 ld [%g1 + 0x04], %f1 add %o1, 1, %o1 add %g1, %o5, %g1 fmuls %f0, M0, %f2 st %f2, [%g2 + 0x00] fmuls %f1, M5, %f3 st %f3, [%g2 + 0x04] st M14, [%g2 + 0x08] st %g0, [%g2 + 0x0c] cmp %o1, %g3 bne 1b add %g2, 0x10, %g22: ba __set_v4f_4 nop .globl _mesa_sparc_transform_points3_general_mesa_sparc_transform_points3_general: ld [%o2 + V4F_STRIDE], %o5 LDPTR [%o2 + V4F_START], %g1 LDPTR [%o0 + V4F_START], %g2 ld [%o2 + V4F_COUNT], %g3 LDMATRIX_0_1_2_3_4_5_6_7_8_9_10_11_12_13_14_15(%o1) cmp %g3, 0 st %g3, [%o0 + V4F_COUNT] be 2f clr %o11: ld [%g1 + 0x00], %f0 ! LSU Group ld [%g1 + 0x04], %f1 ! LSU Group ld [%g1 + 0x08], %f2 ! LSU Group add %o1, 1, %o1 ! IEU0 add %g1, %o5, %g1 ! IEU1 fmuls %f0, M0, %f3 ! FGM fmuls %f1, M4, %f7 ! FGM Group fmuls %f0, M1, %f4 ! FGM Group fmuls %f1, M5, %f8 ! FGM Group fmuls %f0, M2, %f5 ! FGM Group f3 available fmuls %f1, M6, %f9 ! FGM Group f7 available fadds %f3, %f7, %f3 ! FGA fmuls %f0, M3, %f6 ! FGM Group f4 available fmuls %f1, M7, %f10 ! FGM Group f8 available fadds %f4, %f8, %f4 ! FGA fmuls %f2, M8, %f7 ! FGM Group f5 available fmuls %f2, M9, %f8 ! FGM Group f9,f3 available fadds %f5, %f9, %f5 ! FGA fmuls %f2, M10, %f9 ! FGM Group f6 available fadds %f6, %f10, %f6 ! FGA Group f10,f4 available fmuls %f2, M11, %f10 ! FGM fadds %f3, M12, %f3 ! FGA Group f7 available fadds %f4, M13, %f4 ! FGA Group f8,f5 available fadds %f5, M14, %f5 ! FGA Group f9 available fadds %f6, M15, %f6 ! FGA Group f10,f6 available fadds %f3, %f7, %f3 ! FGA Group f3 available st %f3, [%g2 + 0x00] ! LSU fadds %f4, %f8, %f4 ! FGA Group f4 available st %f4, [%g2 + 0x04] ! LSU fadds %f5, %f9, %f5 ! FGA Group f5 available st %f5, [%g2 + 0x08] ! LSU fadds %f6, %f10, %f6 ! FGA Group f6 available st %f6, [%g2 + 0x0c] ! LSU cmp %o1, %g3 ! IEU1 bne 1b ! CTI add %g2, 0x10, %g2 ! IEU0 Group2: ba __set_v4f_4 nop .globl _mesa_sparc_transform_points3_identity_mesa_sparc_transform_points3_identity: ld [%o2 + V4F_STRIDE], %o5 LDPTR [%o2 + V4F_START], %g1 LDPTR [%o0 + V4F_START], %g2 ld [%o2 + V4F_COUNT], %g3 cmp %g3, 0 st %g3, [%o0 + V4F_COUNT] be 2f clr %o11: ld [%g1 + 0x00], %f0 ld [%g1 + 0x04], %f1 ld [%g1 + 0x08], %f2 add %o1, 1, %o1 add %g1, %o5, %g1 cmp %o1, %g3 st %f0, [%g2 + 0x00] st %f1, [%g2 + 0x04] st %f2, [%g2 + 0x08] bne 1b add %g2, 0x10, %g22: ba __set_v4f_3 nop .globl _mesa_sparc_transform_points3_2d_mesa_sparc_transform_points3_2d: ld [%o2 + V4F_STRIDE], %o5 LDPTR [%o2 + V4F_START], %g1 LDPTR [%o0 + V4F_START], %g2 ld [%o2 + V4F_COUNT], %g3 LDMATRIX_0_1_4_5_12_13(%o1) cmp %g3, 0 st %g3, [%o0 + V4F_COUNT] be 2f clr %o11: ld [%g1 + 0x00], %f0 ! LSU Group ld [%g1 + 0x04], %f1 ! LSU Group ld [%g1 + 0x08], %f2 ! LSU Group add %o1, 1, %o1 ! IEU0 add %g1, %o5, %g1 ! IEU1 fmuls %f0, M0, %f3 ! FGM fmuls %f0, M1, %f4 ! FGM Group fmuls %f1, M4, %f6 ! FGM Group fmuls %f1, M5, %f7 ! FGM Group fadds %f3, M12, %f3 ! FGA Group f3 available fadds %f4, M13, %f4 ! FGA Group f4 available fadds %f3, %f6, %f3 ! FGA Group f6 available
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -