* regmove.c (kill_value): Handle subregs.

From-SVN: r49748
This commit is contained in:
Jan Hubicka 2002-02-13 23:44:12 +01:00 committed by Jan Hubicka
parent 558740bf3d
commit 8686336f51
2 changed files with 12 additions and 0 deletions

View File

@ -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;

View File

@ -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);