public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [Patch ARM] Fix PR target/50106
@ 2011-10-19 20:34 Ramana Radhakrishnan
  2011-10-19 20:36 ` Nathan Froyd
  2011-10-20  9:33 ` Jakub Jelinek
  0 siblings, 2 replies; 4+ messages in thread
From: Ramana Radhakrishnan @ 2011-10-19 20:34 UTC (permalink / raw)
  To: gcc-patches; +Cc: Jakub Jelinek

Hi,

This fixes PR target/50106 which was missing handling return register
size from 1-3 for Thumb1. Fixed thusly. Final testing on-going with
arm-linux-gnueabi with thumb1.

Ok to backport to 4.6 branch given it is branch freeze time ? I'll be
able to commit this to the branch latest by tomorrow A.M. UK time.

cheers
Ramana


2011-10-19  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

        PR target/50106
        * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return
reg size from 1-3.


Index: gcc/config/arm/arm.c
===================================================================
--- gcc/config/arm/arm.c	(revision 180200)
+++ gcc/config/arm/arm.c	(working copy)
@@ -21652,7 +21652,7 @@
   if (extra_pop > 0)
     {
       unsigned long extra_mask = (1 << extra_pop) - 1;
-      live_regs_mask |= extra_mask << (size / UNITS_PER_WORD);
+      live_regs_mask |= extra_mask << ((size + 3) / UNITS_PER_WORD);
     }

   /* The prolog may have pushed some high registers to use as

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Patch ARM] Fix PR target/50106
  2011-10-19 20:34 [Patch ARM] Fix PR target/50106 Ramana Radhakrishnan
@ 2011-10-19 20:36 ` Nathan Froyd
  2011-10-20  9:29   ` Ramana Radhakrishnan
  2011-10-20  9:33 ` Jakub Jelinek
  1 sibling, 1 reply; 4+ messages in thread
From: Nathan Froyd @ 2011-10-19 20:36 UTC (permalink / raw)
  To: Ramana Radhakrishnan; +Cc: gcc-patches, Jakub Jelinek

On 10/19/2011 3:27 PM, Ramana Radhakrishnan wrote:
> Index: gcc/config/arm/arm.c
> -      live_regs_mask |= extra_mask<<  (size / UNITS_PER_WORD);
> +      live_regs_mask |= extra_mask<<  ((size + 3) / UNITS_PER_WORD);

IIUC, wouldn't ((size + UNITS_PER_WORD - 1) / UNITS_PER_WORD) be clearer?

-Nathan

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Patch ARM] Fix PR target/50106
  2011-10-19 20:36 ` Nathan Froyd
@ 2011-10-20  9:29   ` Ramana Radhakrishnan
  0 siblings, 0 replies; 4+ messages in thread
From: Ramana Radhakrishnan @ 2011-10-20  9:29 UTC (permalink / raw)
  To: Nathan Froyd; +Cc: gcc-patches, Jakub Jelinek

[-- Attachment #1: Type: text/plain, Size: 646 bytes --]

On 19 October 2011 20:38, Nathan Froyd <nfroyd@mozilla.com> wrote:
> On 10/19/2011 3:27 PM, Ramana Radhakrishnan wrote:
>>
>> Index: gcc/config/arm/arm.c
>> -      live_regs_mask |= extra_mask<<  (size / UNITS_PER_WORD);
>> +      live_regs_mask |= extra_mask<<  ((size + 3) / UNITS_PER_WORD);
>
> IIUC, wouldn't ((size + UNITS_PER_WORD - 1) / UNITS_PER_WORD) be clearer?
>
> -Nathan
>


Doh ! Yes , this is what I committed.

Ramana

 2011-10-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

       PR target/50106
       * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return
        reg size from 1-3.

[-- Attachment #2: p1.txt --]
[-- Type: text/plain, Size: 524 bytes --]

Index: gcc/config/arm/arm.c
===================================================================
--- gcc/config/arm/arm.c	(revision 180239)
+++ gcc/config/arm/arm.c	(working copy)
@@ -21652,7 +21652,8 @@
   if (extra_pop > 0)
     {
       unsigned long extra_mask = (1 << extra_pop) - 1;
-      live_regs_mask |= extra_mask << (size / UNITS_PER_WORD);
+      live_regs_mask |= extra_mask << ((size + UNITS_PER_WORD - 1) 
+				       / UNITS_PER_WORD);
     }
 
   /* The prolog may have pushed some high registers to use as

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Patch ARM] Fix PR target/50106
  2011-10-19 20:34 [Patch ARM] Fix PR target/50106 Ramana Radhakrishnan
  2011-10-19 20:36 ` Nathan Froyd
@ 2011-10-20  9:33 ` Jakub Jelinek
  1 sibling, 0 replies; 4+ messages in thread
From: Jakub Jelinek @ 2011-10-20  9:33 UTC (permalink / raw)
  To: Ramana Radhakrishnan; +Cc: gcc-patches

On Wed, Oct 19, 2011 at 08:27:26PM +0100, Ramana Radhakrishnan wrote:
> Ok to backport to 4.6 branch given it is branch freeze time ? I'll be

Yeah (with the changes Nathan suggested).

> 2011-10-19  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
> 
>         PR target/50106
>         * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return
> reg size from 1-3.

	Jakub

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-10-20  9:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-19 20:34 [Patch ARM] Fix PR target/50106 Ramana Radhakrishnan
2011-10-19 20:36 ` Nathan Froyd
2011-10-20  9:29   ` Ramana Radhakrishnan
2011-10-20  9:33 ` Jakub Jelinek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).