This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [SH] Fold big/little endian word code with MSW and LSW
Oleg Endo <oleg.endo@t-online.de> wrote:
>> On a second thought, it might be better to simplify those cases in
>> the .md file, where low/high subregs are used by using 'gen_highpart'
>> and 'gen_lowpart' for example, instead of checking the endianness over
>> and over again.
>> I'm trying out a couple of things...
>
> ... like the attached patch.
>
> Tested against rev. 186216 with
> make -k check RUNTESTFLAGS="--target_board=sh-sim
> \{-m2/-ml,-m2/-mb,-m2a/-mb,-m2a-single/-mb,-m4/-ml,-m4/-mb,
> -m4-single/-ml,-m4-single/-mb,-m4a-single/-ml,-m4a-single/-mb}"
>
> and no new failures.
>
> I've left the DFmode related patterns alone, because when
> 'gen_highpart' / 'gen_lowpart' is used to access DFmode subregs the
> functions fill fail because 'sh_cannot_change_mode_class' rejects the
> mode changes DFmode -> SFmode for some reason...
>
> OK like that?
OK.
Regards,
kaz