[Might be off topic for this list, but I could not find any list which discusses the arm gcc backend] To study the program behavior, after being linked (which will be used for application specific architecture tuning), I need to construct a control flow graph for the whole program. My target architecture is arm. I have following questions 1) Can function return take place with any other instruction other than the following? And also, can I assume that this instructions will be used only for function return a. mov pc, lr b. ldmdb fp, {r4, fp, sp, pc} 2) Instructions like the following: what is the genral use of them? a. ldr pc, [r4]. #4 b. mov pc, r8 Can I get these informations by looking arm.md file used in GCC. How des gcc generates code based on this md file. Any points, links or documents about this will be very helpful Thanks in advance, -kgn