do { *pDst++ = *pSrc++; } while (--i != 0);
0x00000024 0x2A48 movea.l a0,a50x00000026 0x2C49 movea.l a1,a60x00000028 0x2C95 move.l (a5),(a6)0x0000002A 0x43E90004 lea 4(a1),a10x0000002E 0x41E80004 lea 4(a0),a00x00000032 0x5382 subq.l #1,d20x00000034 0x66EE bne.s *-16 ; 0x00000024
do { // Separate access and ++ for better optimization on this compiler *pDst = *pSrc; pDst++; pSrc++; } while (--i != 0);
0x00000020 0x22D8 move.l (a0)+,(a1)+0x00000022 0x5382 subq.l #1,d20x00000024 0x66FA bne.s *-4 ; 0x00000020
i /= 4; do { *pDst = *pSrc; pDst++; pSrc++; // Separate ++ for better optimization *pDst = *pSrc; pDst++; pSrc++; // Separate ++ for better optimization *pDst = *pSrc; pDst++; pSrc++; // Separate ++ for better optimization *pDst = *pSrc; pDst++; pSrc++; // Separate ++ for better optimization } while (--i != 0);
0x00000028 0xE480 asr.l #2,d00x0000002A 0x2290 move.l (a0),(a1)0x0000002C 0x41E80010 lea 16(a0),a00x00000030 0x43E90010 lea 16(a1),a10x00000034 0x2368FFF4FFF4 move.l -12(a0),-12(a1)0x0000003A 0x2368FFF8FFF8 move.l -8(a0),-8(a1)0x00000040 0x2368FFFCFFFC move.l -4(a0),-4(a1)0x00000046 0x5380 subq.l #1,d00x00000048 0x66E0 bne.s *-30 ; 0x0000002a
i /= 4; do { *pDst++ = *pSrc++; *pDst++ = *pSrc++; *pDst++ = *pSrc++; *pDst++ = *pSrc++; } while (--i != 0);
0x0000002C 0xE480 asr.l #2,d00x0000002E 0x2A48 movea.l a0,a50x00000030 0x2C49 movea.l a1,a60x00000032 0x2215 move.l (a5),d10x00000034 0x43E90004 lea 4(a1),a10x00000038 0x2A49 movea.l a1,a50x0000003A 0x2C81 move.l d1,(a6)0x0000003C 0x41E80004 lea 4(a0),a00x00000040 0x2C48 movea.l a0,a60x00000042 0x2216 move.l (a6),d10x00000044 0x41E80004 lea 4(a0),a00x00000048 0x2C48 movea.l a0,a60x0000004A 0x2A81 move.l d1,(a5)0x0000004C 0x43E90004 lea 4(a1),a10x00000050 0x2A49 movea.l a1,a50x00000052 0x2216 move.l (a6),d10x00000054 0x41E80004 lea 4(a0),a00x00000058 0x2C48 movea.l a0,a60x0000005A 0x2A81 move.l d1,(a5)0x0000005C 0x43E90004 lea 4(a1),a10x00000060 0x2A49 movea.l a1,a50x00000062 0x2A96 move.l (a6),(a5)0x00000064 0x43E90004 lea 4(a1),a10x00000068 0x41E80004 lea 4(a0),a00x0000006C 0x5380 subq.l #1,d00x0000006E 0x66BE bne.s *-64 ; 0x0000002e
asr.l #2,d01H move.l (a0)+,(a1)+ move.l (a0)+,(a1)+ move.l (a0)+,(a1)+ move.l (a0)+,(a1)+ subq.l #1,d0 bne.s 1B
Message Edited by CrasyCat on 2007-04-13 01:28 PM
Message Edited by BugMan on 2006-10-3009:33 AM