CGEN: RELAXABLE and RELAX

Dave Brolley brolley@redhat.com
Fri Aug 18 09:04:00 GMT 2000


Hi,

The architecture I'm working with has two load immediate insns
that look syntactically identical except for the range of the
immediate value allowed:

ld Rn,imm8	; 8 bit immediate
ld Rn,imm16	; 16 bit immediate

The 8 bit load assembles to a 16 bit insn and the 16 bit load
assembles to a 32 bit insn. From the reading the CGEN manual, it
looks to me like this is what RELAXABLE and RELAX are supposed to
handle. i.e. specifying RELAXABLE on the 8 bit load will cause it
to be tried first during assembly and specifying RELAX on the 16
bit load will cause it to be tried next. I tried this, but when I
code 'ld r1,0x100', I get an error saying bad instruction. 'ld
r1,0xff' assembles correctly. It looks like the 16 bit load was
never considered. Am I missing something?

Thanks,
Dave


More information about the Cgen mailing list