Ian Lance Taylor-3 wrote: > > noeljohn <noel.daniel@xxxxxxx> writes: > >> I am working on a new risc machine. I have defined the >> "store_multiple" and "load_multiple" pattern and the system builds fine. >> But >> when I compile the C program for a declared integer array, the >> "store_multiple" and "load_multiple" patterns are not getting emitted. >> Instead simple load and store patterns are emitted multiple times. As per >> actual working store_multiple and load_multiple patters need to get >> emitted. > > What do your store_multiple and load_multiple insns look like? > > E.g., if they only work for consecutive registers, then gcc can only > match them after register allocation, but there is no appropriate > optimization pass to do so. In that case you are going to have write > peepholes for them, and you're going to have to generate them > explicitly in your backend's prologue and epilogue generation. > > > Ian > > Thank you for replying. According to my understanding, it works for consecutive registers as I am just declaring an array in my test case. To be specific, how do I get "rodata" section in assembly generated that contains only the data(integers) in the array declared,, because when I compile with other already build processors, it creates this rodata section and then using a single instruction stores all the elements of array in memory. noeljohn -- View this message in context: http://old.nabble.com/Emission-of-store_multiple-and-load_multiple-patterns-tp26739724p26775192.html Sent from the gcc - Help mailing list archive at Nabble.com.