Different addressing modes?
Fred Cook
fcook377@hotmail.com
Wed May 21 16:32:00 GMT 2003
I am still trying to get addressing modes correctly in my port. Basically my
architecture has the following addressing modes:
1) absolute
2) register indirect
3) register + offset
4) register + register
I want to specify in my define_insn for "call" that 1+2 are allowed and in
my define_insn for "movsi" that 2, 3, and 4 are allowed for loads and 2 and
3 for stores.
Which macros should I define?
What should I accept in GO_IF_LEGITIMATE? All four?
Which constraint letters should I introduce? Four letters for the four
modes? Which letters are free to use?
How to specify extra constraint in the define_insn pattern? Something
like...
(define_insn "movsi"
[(set (match_operand:SI 0 "nonimmediate_operand" "=r,S")
(match_operand:SI 1 "general_operand" "L,r"))]
""
"@
ld %1 -> %0
st %0 %1"
)
Where S accepts a store address and L accepts a load address. Or should it
be mS and mL? Or Sm or Lm?
Thanks,
Fred
_________________________________________________________________
Tired of spam? Get advanced junk mail protection with MSN 8.
http://join.msn.com/?page=features/junkmail
More information about the Gcc
mailing list