(expand_call): Disable special handling for const calls
authorJim Wilson <wilson@gcc.gnu.org>
Thu, 31 Oct 1996 18:27:30 +0000 (10:27 -0800)
committerJim Wilson <wilson@gcc.gnu.org>
Thu, 31 Oct 1996 18:27:30 +0000 (10:27 -0800)
that return a PARALLEL rtx.

From-SVN: r13084

gcc/calls.c

index cc92f54dcab254e633021916337ddfd883ca0d60..f53529312c9aafc30873b45df2d9ec6b56a2ba99 100644 (file)
@@ -1912,8 +1912,9 @@ expand_call (exp, target, ignore)
 
   /* If call is cse'able, make appropriate pair of reg-notes around it.
      Test valreg so we don't crash; may safely ignore `const'
-     if return type is void.  */
-  if (is_const && valreg != 0)
+     if return type is void.  Disable for PARALLEL return values, because
+     we have no way to move such values into a pseudo register.  */
+  if (is_const && valreg != 0 && GET_CODE (valreg) != PARALLEL)
     {
       rtx note = 0;
       rtx temp = gen_reg_rtx (GET_MODE (valreg));