On Tue, Oct 18, 2011 at 11:39:22AM +0200, Ira Rosen wrote:
> On 2 October 2011 10:30, Ira Rosen <[email protected]> wrote:
> > On 29 September 2011 17:30, Ramana Radhakrishnan
> > <[email protected]> wrote:
> >> On 19 September 2011 08:54, Ira Rosen <[email protected]> wrote:
> >>
> >>>
> >>> Bootstrapped on powerpc64-suse-linux, tested on powerpc64-suse-linux
> >>> and arm-linux-gnueabi
> >>> OK for mainline?
> >>
> >> Sorry I missed this patch. Is there any reason why we need unspecs in
> >> this case ? Can't this be represented by subregs and zero/ sign
> >> extensions in RTL without the UNSPECs ?
>
> I committed the attached patch with Ramana's solution for testing
> +/* Detect widening shift pattern:
>
> + type a_t;
> + TYPE a_T, res_T;
> +
> + S1 a_t = ;
> + S2 a_T = (TYPE) a_t;
> + S3 res_T = a_T << CONST;
> +
> + where type 'TYPE' is at least double the size of type 'type'.
> +
> + Also detect unsgigned cases:
unsigned
Jakub