re PR target/24620 (internal compiler error: in find_reloads, at reload.c:3730)
ChangeLog: PR target/24620 * config/s390/s390.md ("*insv<mode>_reg_imm"): Accept any CONST_INT as operand 2. ("*insv<mode>_reg_extimm"): Likewise. testsuite/ChangeLog: PR target/24620 * gcc.dg/pr24620.c: New test. From-SVN: r106422
This commit is contained in:
parent
a92c58c273
commit
ac746a73f0
4 changed files with 41 additions and 2 deletions
|
@ -1,3 +1,10 @@
|
|||
2005-11-03 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
PR target/24620
|
||||
* config/s390/s390.md ("*insv<mode>_reg_imm"): Accept any CONST_INT
|
||||
as operand 2.
|
||||
("*insv<mode>_reg_extimm"): Likewise.
|
||||
|
||||
2005-11-03 Joseph S. Myers <joseph@codesourcery.com>
|
||||
|
||||
PR c/24329
|
||||
|
|
|
@ -2598,7 +2598,7 @@
|
|||
[(set (zero_extract:P (match_operand:P 0 "register_operand" "+d")
|
||||
(const_int 16)
|
||||
(match_operand 1 "const_int_operand" "n"))
|
||||
(match_operand:P 2 "const_int_operand" "K"))]
|
||||
(match_operand 2 "const_int_operand" "n"))]
|
||||
"TARGET_ZARCH
|
||||
&& INTVAL (operands[1]) >= 0
|
||||
&& INTVAL (operands[1]) < BITS_PER_WORD
|
||||
|
@ -2619,7 +2619,7 @@
|
|||
[(set (zero_extract:P (match_operand:P 0 "register_operand" "+d")
|
||||
(const_int 32)
|
||||
(match_operand 1 "const_int_operand" "n"))
|
||||
(match_operand:P 2 "const_int_operand" "Os"))]
|
||||
(match_operand 2 "const_int_operand" "n"))]
|
||||
"TARGET_EXTIMM
|
||||
&& INTVAL (operands[1]) >= 0
|
||||
&& INTVAL (operands[1]) < BITS_PER_WORD
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2005-11-03 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
PR target/24620
|
||||
* gcc.dg/pr24620.c: New test.
|
||||
|
||||
2005-11-03 Joseph S. Myers <joseph@codesourcery.com>
|
||||
|
||||
PR c/24329
|
||||
|
|
27
gcc/testsuite/gcc.dg/pr24620.c
Normal file
27
gcc/testsuite/gcc.dg/pr24620.c
Normal file
|
@ -0,0 +1,27 @@
|
|||
/* This used to ICE due to a backend problem on s390. */
|
||||
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2" } */
|
||||
|
||||
struct rgba
|
||||
{
|
||||
unsigned char r;
|
||||
unsigned char g;
|
||||
unsigned char b;
|
||||
unsigned char a;
|
||||
};
|
||||
|
||||
void g (struct rgba);
|
||||
|
||||
void f (void)
|
||||
{
|
||||
struct rgba x;
|
||||
|
||||
x.r = 0;
|
||||
x.g = 128;
|
||||
x.b = 128;
|
||||
x.a = 26;
|
||||
|
||||
g (x);
|
||||
}
|
||||
|
Loading…
Add table
Reference in a new issue