Re: [patch][ARM] Fix 16-bit -> 64-bit multiply and accumulate

2011-05-03 Thread Andrew Stubbs
On 03/05/11 10:07, Bernd Schmidt wrote: I tried to fix it with the patch below, which unfortunately doesn't work since during combine we don't see the SIGN_EXTEND operations inside the MULT, but two shift operations instead. Maybe you can complete it from here? I'll take a look. Thanks for the

Re: [patch][ARM] Fix 16-bit -> 64-bit multiply and accumulate

2011-05-03 Thread Bernd Schmidt
On 04/15/2011 12:54 PM, Andrew Stubbs wrote: > Ping. Trying to unblock this... I think the point is that both examples: long long foolong (long long x, short *a, short *b) { return x + (long long)*a * (long long)*b; } and long long foolong (long long x, short *a, short *b) {

Re: [patch][ARM] Fix 16-bit -> 64-bit multiply and accumulate

2011-04-15 Thread Andrew Stubbs
Ping. On 25/03/11 16:19, Andrew Stubbs wrote: On 28/01/11 15:20, Richard Earnshaw wrote: On Fri, 2011-01-28 at 15:13 +, Andrew Stubbs wrote: On 28/01/11 14:12, Richard Earnshaw wrote: So what happens to a variation of your testcase: long long foolong (long long x, short *a, short *b) {

Re: [patch][ARM] Fix 16-bit -> 64-bit multiply and accumulate

2011-03-25 Thread Andrew Stubbs
On 28/01/11 15:20, Richard Earnshaw wrote: On Fri, 2011-01-28 at 15:13 +, Andrew Stubbs wrote: On 28/01/11 14:12, Richard Earnshaw wrote: So what happens to a variation of your testcase: long long foolong (long long x, short *a, short *b) { return x + (long long)*a * (long l