]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Aarch64, bugfix: Fix NEON bigendian addp intrinsic [PR114890]
authorAlfie Richards <alfie.richards@arm.com>
Thu, 4 Jul 2024 07:09:19 +0000 (09:09 +0200)
committerKyrylo Tkachov <ktkachov@nvidia.com>
Thu, 4 Jul 2024 07:10:10 +0000 (09:10 +0200)
This change removes code that switches the operands in bigendian mode erroneously.
This fixes the related test also.

gcc/ChangeLog:

PR target/114890
* config/aarch64/aarch64-simd.md: Remove bigendian operand swap.

gcc/testsuite/ChangeLog:

PR target/114890
* gcc.target/aarch64/vector_intrinsics_asm.c: Remove xfail.

gcc/config/aarch64/aarch64-simd.md
gcc/testsuite/gcc.target/aarch64/vector_intrinsics_asm.c

index fd0c5e612b56a3215c84427fcc54c426ceb70090..fd10039f9a27d0da51624d6d3a6d8b2a532f5625 100644 (file)
       nunits /= 2;
     rtx par_even = aarch64_gen_stepped_int_parallel (nunits, 0, 2);
     rtx par_odd = aarch64_gen_stepped_int_parallel (nunits, 1, 2);
-    if (BYTES_BIG_ENDIAN)
-      std::swap (operands[1], operands[2]);
     emit_insn (gen_aarch64_addp<mode>_insn (operands[0], operands[1],
                                            operands[2], par_even, par_odd));
     DONE;
index b7d5620abab8a3bfff16b09c1a88a919c6df13c4..e3dcd0830c84a5235055a89c6d6af23c6e12a08b 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2" } */
-/* { dg-final { check-function-bodies "**" "" "" { xfail be } } } */
+/* { dg-final { check-function-bodies "**" "" "" } } */
 
 #include "arm_neon.h"