On 17/01/14 15:55, Richard Earnshaw wrote:
On 16/01/14 14:43, Alex Velenko wrote:
On 14/01/14 15:51, pins...@gmail.com wrote:


On Jan 14, 2014, at 7:19 AM, Alex Velenko <alex.vele...@arm.com> wrote:

Hi,

This patch turns off the vec_perm patterns for aarch64_be, this should resolve
the issue  highlighted here 
http://gcc.gnu.org/ml/gcc-patches/2014-01/msg00321.html
With this patch applied, the test case provided in that link compiles without 
an ICE.

However, the Big-Endian port is still in development. This patch exposes
another known but unrelated issue with Big-Endian Large-Int modes.

The patch has been tested on aarch64-none-elf and aarch64_be-none-elf resulting 
in five
further regression due to the broken implementation of Big-Endian Large-Int 
modes.

Kind regards,
Alex Velenko

gcc/

2014-01-14  Alex Velenko  <alex.vele...@arm.com>

     * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
     * config/aarch64/aarch64.c (aarch64_expand_vec_perm): Add comment.

gcc/testsuite/

2014-01-14  Alex Velenko  <alex.vele...@arm.com>

     * lib/target-supports.exp
     (check_effective_target_vect_perm): Exclude aarch64_be.
     (check_effective_target_vect_perm_byte): Likewise.
     (check_effective_target_vect_perm_short): Likewise.

I think you want to use a function to check if the target is effectively 
big-endian instead.  Internally at Cavium, our elf compiler has big-endian 
multi-lib.

Thanks,
Andrew


<vec-perm.patch>


Hi,
Here is a vec-perm patch with changes proposed previously.
Little and Big-Endian tested with no additional issues appearing.

Kind regards,
Alex

gcc/

2014-01-16  Alex Velenko  <alex.vele...@arm.com>

        * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
        * config/aarch64/aarch64.c (aarch64_expand_vec_perm): Add comment.

gcc/testsuite/

2014-01-16  Alex Velenko  <alex.vele...@arm.com>

        * lib/target-supports.exp
        (check_effective_target_vect_perm): Exclude aarch64_be.
        (check_effective_target_vect_perm_byte): Likewise.
        (check_effective_target_vect_perm_short): Likewise.


The patch is missing the hunk for aarch64.c.



Hi,
It is a faulty changelog entry, not patch.
Should be:

gcc/

2014-01-16  Alex Velenko  <alex.vele...@arm.com>

    * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.

gcc/testsuite/

2014-01-16  Alex Velenko  <alex.vele...@arm.com>

    * lib/target-supports.exp
    (check_effective_target_vect_perm): Exclude aarch64_be.
    (check_effective_target_vect_perm_byte): Likewise.
    (check_effective_target_vect_perm_short): Likewise.

Reply via email to