mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-05 08:10:26 +08:00
re PR middle-end/33667 (RTL sharing with divmod)
gcc/ PR middle-end/33667 * lower-subreg.c (decompose_multiword_subregs): Use validate_unshare_change(). testsuite/ * gcc.dg/pr33667.c: New testcase. From-SVN: r129038
This commit is contained in:
parent
b4da855a9e
commit
1a309dfb7a
@ -1,3 +1,9 @@
|
||||
2007-10-05 Michael Matz <matz@suse.de>
|
||||
|
||||
PR middle-end/33667
|
||||
* lower-subreg.c (decompose_multiword_subregs): Use
|
||||
validate_unshare_change().
|
||||
|
||||
2007-10-05 Peter Bergner <bergner@vnet.ibm.com>
|
||||
|
||||
* ra-conflict.c: Include "sparseset.h".
|
||||
|
@ -1339,7 +1339,7 @@ decompose_multiword_subregs (void)
|
||||
int dup_num = recog_data.dup_num[i];
|
||||
rtx *px = recog_data.operand_loc[dup_num];
|
||||
|
||||
validate_change (insn, pl, *px, 1);
|
||||
validate_unshare_change (insn, pl, *px, 1);
|
||||
}
|
||||
|
||||
i = apply_change_group ();
|
||||
|
@ -1,3 +1,8 @@
|
||||
2007-10-05 Michael Matz <matz@suse.de>
|
||||
|
||||
PR middle-end/33667
|
||||
* gcc.dg/pr33667.c: New testcase.
|
||||
|
||||
2007-10-05 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/33666
|
||||
|
21
gcc/testsuite/gcc.dg/pr33667.c
Normal file
21
gcc/testsuite/gcc.dg/pr33667.c
Normal file
@ -0,0 +1,21 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2" } */
|
||||
|
||||
typedef unsigned int size_t;
|
||||
typedef unsigned char uint8_t;
|
||||
typedef unsigned short int uint16_t;
|
||||
typedef unsigned long long int uint64_t;
|
||||
struct magic {
|
||||
uint8_t mask_op;
|
||||
union {
|
||||
uint64_t _mask;
|
||||
} _u;
|
||||
union VALUETYPE {
|
||||
uint16_t h;
|
||||
} value;
|
||||
};
|
||||
void cvt_16(union VALUETYPE *p, const struct magic *m)
|
||||
{
|
||||
if (m->_u._mask)
|
||||
p->h %= (uint16_t) m->_u._mask;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user