(gen_highpart): If arg is function value hard reg,
authorRichard Stallman <rms@gnu.org>
Fri, 5 Nov 1993 06:56:12 +0000 (06:56 +0000)
committerRichard Stallman <rms@gnu.org>
Fri, 5 Nov 1993 06:56:12 +0000 (06:56 +0000)
return a subreg of it (as in gen_lowpart_common).

From-SVN: r6005

gcc/emit-rtl.c

index cc988317d1ca47c6f2a1a6fff48c39f00678fee2..3f1e995c3f4ca76a44819246d0a2395495e0b1a3 100644 (file)
@@ -891,6 +891,9 @@ gen_highpart (mode, x)
                / UNITS_PER_WORD);
 #endif
       if (REGNO (x) < FIRST_PSEUDO_REGISTER
+         /* integrate.c can't handle parts of a return value register. */
+         && (! REG_FUNCTION_VALUE_P (x)
+             || ! rtx_equal_function_value_matters)
          /* We want to keep the stack, frame, and arg pointers special.  */
          && REGNO (x) != FRAME_POINTER_REGNUM
 #if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM