re PR target/85508 (runtime error in config/i386/i386.c)
PR target/85508 * config/i386/i386.c (ix86_expand_vector_init_one_var): Use UINTVAL instead of INTVAL when shifting x left. * gcc.target/i386/pr85508.c: New test. From-SVN: r259594
This commit is contained in:
parent
062c0a7b2f
commit
1704194ae7
|
@ -1,3 +1,9 @@
|
|||
2018-04-24 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/85508
|
||||
* config/i386/i386.c (ix86_expand_vector_init_one_var): Use UINTVAL
|
||||
instead of INTVAL when shifting x left.
|
||||
|
||||
2018-04-24 Andreas Krebbel <krebbel@linux.ibm.com>
|
||||
|
||||
PR tree-optimization/85478
|
||||
|
|
|
@ -43194,7 +43194,7 @@ ix86_expand_vector_init_one_var (bool mmx_ok, machine_mode mode,
|
|||
else
|
||||
{
|
||||
var = convert_modes (HImode, QImode, var, true);
|
||||
x = gen_int_mode (INTVAL (x) << 8, HImode);
|
||||
x = gen_int_mode (UINTVAL (x) << 8, HImode);
|
||||
}
|
||||
if (x != const0_rtx)
|
||||
var = expand_simple_binop (HImode, IOR, var, x, var,
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2018-04-24 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/85508
|
||||
* gcc.target/i386/pr85508.c: New test.
|
||||
|
||||
2018-04-24 Andreas Krebbel <krebbel@linux.ibm.com>
|
||||
|
||||
PR tree-optimization/85478
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
/* PR target/85508 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2 -msse2" } */
|
||||
|
||||
typedef signed char V __attribute__((vector_size (16)));
|
||||
signed char c;
|
||||
|
||||
V
|
||||
foo (void)
|
||||
{
|
||||
return (V) { c, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 };
|
||||
}
|
Loading…
Reference in New Issue