From: Ulrich Weigand Date: Tue, 12 Apr 2005 20:41:51 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: misc/cutover-cvs2svn~4141 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ca11b3fb997da7fc100bebcbfb2b2928dc6b1949;p=thirdparty%2Fgcc.git *** empty log message *** From-SVN: r98040 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 392eb6702afc..11e50e923410 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-04-12 Ulrich Weigand + + PR middle-end/20917 + * config/s390/s390.md ("*set_tp"): Use SET in pattern. + ("set_tp_64", "set_tp_31"): Adapt expanded pattern. + 2004-04-12 Richard Henderson * config/i386/i386.md (UNSPEC_FIX, UNSPEC_MOVA, UNSPEC_SHUFFLE, diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index 022d7791bba6..65b49dc2d455 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -7784,18 +7784,18 @@ (define_expand "set_tp_64" [(set (reg:DI 36) (match_operand:DI 0 "nonimmediate_operand" "")) - (unspec_volatile [(reg:DI 36)] UNSPECV_SET_TP)] + (set (reg:DI 36) (unspec_volatile:DI [(reg:DI 36)] UNSPECV_SET_TP))] "TARGET_64BIT" "") (define_expand "set_tp_31" [(set (reg:SI 36) (match_operand:SI 0 "nonimmediate_operand" "")) - (unspec_volatile [(reg:SI 36)] UNSPECV_SET_TP)] + (set (reg:SI 36) (unspec_volatile:SI [(reg:SI 36)] UNSPECV_SET_TP))] "!TARGET_64BIT" "") (define_insn "*set_tp" - [(unspec_volatile [(reg 36)] UNSPECV_SET_TP)] + [(set (reg 36) (unspec_volatile [(reg 36)] UNSPECV_SET_TP))] "" "" [(set_attr "type" "none") diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d36f43233224..3edefec3c8e5 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-04-12 Ulrich Weigand + + PR middle-end/20917 + * gcc.dg/20050409-1.c: New test. + 2005-04-12 Andrew Pinski * gcc.dg/tree-ssa/alias-1.c: Fix spelling of optimized. diff --git a/gcc/testsuite/gcc.dg/20050409-1.c b/gcc/testsuite/gcc.dg/20050409-1.c new file mode 100644 index 000000000000..be85f71a6b78 --- /dev/null +++ b/gcc/testsuite/gcc.dg/20050409-1.c @@ -0,0 +1,18 @@ +/* This used to ICE due to a regmove problem on s390. */ + +/* { dg-do compile { target s390*-*-* } } */ +/* { dg-options "-O2" } */ + + +extern void abort (void); +extern void **alloc (void); + +void *test (void) +{ + void **p = alloc (); + if (!p) abort (); + + __builtin_set_thread_pointer (p); + return *p; +} +