define_split rtl template usage
Ian Lance Taylor
iant@google.com
Wed Feb 25 22:15:00 GMT 2009
raja.saleru@iap-online.com writes:
> How can I split the below assembly line using define_split RTL template
> <1> rd = dps
>
> into the below two liens
>
> <2>
> rd = dps
> rd = signext(rdhl)
>
> Here rd is 40-bit register
> dps is 32-bit register contains the address
>
> Here register name can be r1, r2 ... rd. and
> dp1, dp2, .....dps
>
> sigext(rdhl) is the sign extending from 32-bit to 40bit.
The details are going to depend on your target. The first step is to
figure out the RTL for instructions <1> and <2> above. Then write a
define_split which matches the RTL for instruction <1> and produces the
RTL for instruction <2>.
It's hard to be more helpful without more details. There are hundreds
of existing examples of define_split in the existing backends, so it
should be easy to see how it is used.
Ian
More information about the Gcc-help
mailing list