From d632e927760f2fad2c3a0f5072d376beb9e1f701 Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Sun, 21 Mar 1993 21:28:23 +0000 Subject: [PATCH] (copy_rtx_and_substitute, case USE): Don't remove a subreg if ORIG had one. From-SVN: r3814 --- gcc/integrate.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/integrate.c b/gcc/integrate.c index 1b358e10e339..95917c8b7c30 100644 --- a/gcc/integrate.c +++ b/gcc/integrate.c @@ -1981,9 +1981,11 @@ copy_rtx_and_substitute (orig, map) case USE: case CLOBBER: /* USE and CLOBBER are ordinary, but we convert (use (subreg foo)) - to (use foo). */ + to (use foo) if the original insn didn't have a subreg. + Removing the subreg distorts the VAX movstrhi pattern + by changing the mode of an operand. */ copy = copy_rtx_and_substitute (XEXP (orig, 0), map); - if (GET_CODE (copy) == SUBREG) + if (GET_CODE (copy) == SUBREG && GET_CODE (XEXP (orig, 0)) != SUBREG) copy = SUBREG_REG (copy); return gen_rtx (code, VOIDmode, copy); -- 2.43.5