This is the mail archive of the
cgen@sources.redhat.com
mailing list for the CGEN project.
CGEN: RELAXABLE and RELAX
- To: cgen at sources dot redhat dot com
- Subject: CGEN: RELAXABLE and RELAX
- From: Dave Brolley <brolley at redhat dot com>
- Date: Fri, 18 Aug 2000 12:05:27 -0400
- Organization: Red Hat Canada, Inc
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