[Bug target/58219] [SH] mov.l insn length is wrong on SH2A
olegendo at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri May 6 10:21:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58219
--- Comment #2 from Oleg Endo <olegendo at gcc dot gnu.org> ---
Author: olegendo
Date: Fri May 6 10:20:13 2016
New Revision: 235954
URL: https://gcc.gnu.org/viewcvs?rev=235954&root=gcc&view=rev
Log:
gcc/
PR target/58219
* config/sh/predicates.md (long_displacement_mem_operand): New.
* config/sh/sh.md (movsi_i): Allow for SH2A, disallow for any FPU.
Add movi20, movi20s alternatives. Adjust length attribute for
alternatives.
(movsi_ie): Allow for any FPU. Adjust length attribute for
alternatives.
(movsi_i_lowpart): Add movi20, movi20s alternatives. Adjust length
attribute for alternatives.
(*mov<mode>): Use long_displacement_mem_operand for length attribute.
(*movdi_i, movdf_k, movdf_i4, movsf_i, movsf_ie, movsf_ie_ra): Adjust
length attribute for alternatives.
gcc/testsuite/
PR target/58219
*gcc.target/sh/pr58219.c: New tests.
Added:
trunk/gcc/testsuite/gcc.target/sh/pr58219.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/sh/predicates.md
trunk/gcc/config/sh/sh.md
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-bugs
mailing list