re PR target/57108 ([4.7/4.8/4.9] SH internal compiler error: in int_mode_for_mode, at stor-layout.c:395)

2013-04-29  Christian Bruel  <christian.bruel@st.com>

        PR target/57108
        * sh.md (tstsi_t_zero_extract_eq): Set mode for operand 0.

From-SVN: r198410
This commit is contained in:
Christian Bruel 2013-04-29 13:34:26 +02:00 committed by Christian Bruel
parent 4df34bf573
commit ab319545aa
4 changed files with 30 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2013-04-29 Christian Bruel <christian.bruel@st.com>
PR target/57108
* sh.md (tstsi_t_zero_extract_eq): Set mode for operand 0.
2013-04-27 Jakub Jelinek <jakub@redhat.com>
PR target/56866

View File

@ -654,7 +654,7 @@
(define_insn "tstsi_t_zero_extract_eq"
[(set (reg:SI T_REG)
(eq:SI (zero_extract:SI (match_operand 0 "logical_operand" "z")
(eq:SI (zero_extract:SI (match_operand:SI 0 "logical_operand" "z")
(match_operand:SI 1 "const_int_operand")
(match_operand:SI 2 "const_int_operand"))
(const_int 0)))]

View File

@ -1,3 +1,8 @@
2013-04-29 Christian Bruel <christian.bruel@st.com>
PR target/57108
* gcc.target/sh/pr57108.c: New test.
2013-04-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Backport from trunk:

View File

@ -0,0 +1,19 @@
/* { dg-do compile { target "sh*-*-*" } } */
/* { dg-options "-O1" } */
void __assert_func (void) __attribute__ ((__noreturn__)) ;
void ATATransfer (int num, int buffer)
{
int wordCount;
while (num > 0)
{
wordCount = num * 512 / sizeof (int);
((0 == (buffer & 63)) ? (void)0 : __assert_func () );
((0 == (wordCount & 31)) ? (void)0 : __assert_func ());
}
}