Hi there. I'm looking at porting GCC to a new architecture which has a quite small instruction set and I'm afraid I can't figure out how to represent unintended side effects on instructions.
My current problem is accessing memory. Reading an aligned 32 bit word is simple using LOADACC, (X). Half words and bytes are harder as the only instruction available is a load byte with post increment 'LOADACC, (X+)'. How can I tell GCC that loading a byte also increases the pointer register? My first version reserved one of the pointer registers and threw away the modified value but this is inefficient. I suspect that some type of clobber or define_expand is required but I can't figure it out. Thanks for any help, -- Michael