re PR target/65505 ([SH] ICE in sh_disp_addr_displacement)
authorOleg Endo <olegendo@gcc.gnu.org>
Mon, 23 Mar 2015 18:57:58 +0000 (18:57 +0000)
committerOleg Endo <olegendo@gcc.gnu.org>
Mon, 23 Mar 2015 18:57:58 +0000 (18:57 +0000)
commit21f65dc872f5b746181d6e78f8be9f7ecb625292
tree789b9c7cac5c22ded1c4e42b1d0917543468053b
parented137300ca45443f9986b4a0322298a38610ddce
re PR target/65505 ([SH] ICE in sh_disp_addr_displacement)

gcc/
PR target/65505
* config/sh/predicates.md (simple_mem_operand,
displacement_mem_operand): Add test for reg.
(short_displacement_mem_operand): Test for displacement_mem_operand
before invoking sh_disp_addr_displacement.
* config/sh/constraints.md (Sdd, Sra): Simplify.
* config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
Remove redundant displacement_mem_operand tests.

gcc/testsuite/
PR target/65505
* gcc.target/sh/torture/pr65505.c: New.

From-SVN: r221604
gcc/ChangeLog
gcc/config/sh/constraints.md
gcc/config/sh/predicates.md
gcc/config/sh/sync.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/sh/torture/pr65505.c [new file with mode: 0644]