OSDN Git Service

For Ian Bolton <ian.bolton@arm.com>
[pf3gnuchains/gcc-fork.git] / gcc / config / arm / arm.c
index f6148a7..5ed16a8 100644 (file)
@@ -14467,7 +14467,8 @@ arm_output_epilogue (rtx sibling)
                  && !crtl->tail_call_emit)
                {
                  unsigned long mask;
-                 mask = (1 << (arm_size_return_regs() / 4)) - 1;
+                  /* Preserve return values, of any size.  */
+                 mask = (1 << ((arm_size_return_regs() + 3) / 4)) - 1;
                  mask ^= 0xf;
                  mask &= ~saved_regs_mask;
                  reg = 0;