Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to optimize C code for NGPC?
#3
a bit of asm in your c code ?

Personally, I use asm for hblank code, sometimes using also bank register switch (incf, decf or ldf)

Do you know ldir(w) and lddr(w) ? (check asm doc: e_900h_chap3_cpu_4.pdf) 

something like:

void moveRam(void*dst,void*src,u32 count)
{
__ASM(" ld xbc,(xsp+12) ");
__ASM(" ld xhl,(xsp+8) ");
__ASM(" ld xde,(xsp+4) ");
__ASM(" ldirw (xde+),(xhl+) ");
}


can be improved without using a function and direct access to global var to init dst & src (maybe you can use DMA for async mem transfert)

Most of the time, -O3 is better than my own asm "optimizations", that's why I often add a -S to check how it's compiled.
Reply


Messages In This Thread
RE: How to optimize C code for NGPC? - by sodthor - 02-11-2022, 07:43 PM
RE: How to optimize C code for NGPC? - by sodthor - 02-11-2022, 08:49 PM
RE: How to optimize C code for NGPC? - by sodthor - 02-14-2022, 05:33 AM
RE: How to optimize C code for NGPC? - by sodthor - 02-14-2022, 06:29 PM
RE: How to optimize C code for NGPC? - by sodthor - 02-14-2022, 09:16 PM
RE: How to optimize C code for NGPC? - by sodthor - 02-15-2022, 03:38 AM
RE: How to optimize C code for NGPC? - by sodthor - 02-15-2022, 04:17 AM
RE: How to optimize C code for NGPC? - by sodthor - 02-16-2022, 07:25 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)