On 01/03/2012 09:50 PM, Uros Bizjak wrote:
> I tried to investigate -mbig-endian a bit, but unfortunately almost
> all gcc.dg/torture/vshuf-*.c tests FAIL with -O2 on unpatched gcc.
> Tests pass with -O0, though.
Tests without -O don't actually test this code.
And -mbig-endian doesn't get big-end
On Tue, Jan 3, 2012 at 11:50 AM, Uros Bizjak wrote:
> On Mon, Jan 2, 2012 at 9:31 PM, Richard Henderson wrote:
>> On 01/03/2012 06:47 AM, Uros Bizjak wrote:
>>> if (d->testing_p)
>>> return true;
>>>
>>> + hi = shift < nelt ? d->op1 : d->op0;
>>> + lo = shift < nelt ? d->op0 : d->op1;
>
On Mon, Jan 2, 2012 at 9:31 PM, Richard Henderson wrote:
> On 01/03/2012 06:47 AM, Uros Bizjak wrote:
>> if (d->testing_p)
>> return true;
>>
>> + hi = shift < nelt ? d->op1 : d->op0;
>> + lo = shift < nelt ? d->op0 : d->op1;
>> +
>> + shift %= nelt;
>
> This bit only works for little-e
On 01/03/2012 06:47 AM, Uros Bizjak wrote:
>if (d->testing_p)
> return true;
>
> + hi = shift < nelt ? d->op1 : d->op0;
> + lo = shift < nelt ? d->op0 : d->op1;
> +
> + shift %= nelt;
This bit only works for little-endian. It's why I had that assert
for shift range 1-63, for one thi
Hello!
Attached patch fixes a couple of thinkos in new ia64 vector permutation code.
2012-01-02 Uros Bizjak
PR target/51681
* config/ia64/ia64.c (expand_vec_perm_shrp): Use correct operands
for shrp pattern. Correctly handle and fixup shift variable.
2012-01-02 Uros