mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-22 11:31:05 +08:00
* regmove.c (kill_value): Handle subregs.
From-SVN: r49748
This commit is contained in:
parent
558740bf3d
commit
8686336f51
@ -1,3 +1,7 @@
|
||||
Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* regmove.c (kill_value): Handle subregs.
|
||||
|
||||
Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* i386.md (mul patterns): Allow memory operand to be first;
|
||||
|
@ -1095,6 +1095,14 @@ kill_value (x, vd)
|
||||
rtx x;
|
||||
struct value_data *vd;
|
||||
{
|
||||
/* SUBREGS are supposed to have been eliminated by now. But some
|
||||
ports, e.g. i386 sse, use them to smuggle vector type information
|
||||
through to instruction selection. Each such SUBREG should simplify,
|
||||
so if we get a NULL we've done something wrong elsewhere. */
|
||||
|
||||
if (GET_CODE (x) == SUBREG)
|
||||
x = simplify_subreg (GET_MODE (x), SUBREG_REG (x),
|
||||
GET_MODE (SUBREG_REG (x)), SUBREG_BYTE (x));
|
||||
if (REG_P (x))
|
||||
{
|
||||
unsigned int regno = REGNO (x);
|
||||
|
Loading…
x
Reference in New Issue
Block a user