Hi,

A previous commit "aarch64: Remove macros for vld4[q]_lane Neon
intrinsics" introduced some float <-> int type conversion errors.
This patch fixes those errors.

Bootstrapped and regression tested on aarch64-none-linux-gnu - no
issues.

Ok for master?

Thanks,
Jonathan

---

gcc/ChangeLog:

2021-08-18  Jonathan Wright  <jonathan.wri...@arm.com>

        * config/aarch64/arm_neon.h (vld4_lane_f32): Use float RTL
        pattern.
        (vld4q_lane_f64): Use float type cast.



From: Andreas Schwab <sch...@linux-m68k.org>
Sent: 18 August 2021 13:09
To: Jonathan Wright via Gcc-patches <gcc-patches@gcc.gnu.org>
Cc: Jonathan Wright <jonathan.wri...@arm.com>; Richard Sandiford 
<richard.sandif...@arm.com>
Subject: Re: [PATCH 3/3] aarch64: Remove macros for vld4[q]_lane Neon 
intrinsics 
 
I think this patch breaks bootstrap.

In file included from ../../libcpp/lex.c:756:
/opt/gcc/gcc-20210818/Build/prev-gcc/include/arm_neon.h: In function 
'float32x2x4_t vld4_lane_f32(const float32_t*, float32x2x4_t, int)':
/opt/gcc/gcc-20210818/Build/prev-gcc/include/arm_neon.h:21081:11: error: cannot 
convert 'float*' to 'const int*'
21081 |           (__builtin_aarch64_simd_sf *) __ptr, __o, __c);
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |           |
      |           float*
<built-in>: note:   initializing argument 1 of '__builtin_aarch64_simd_xi 
__builtin_aarch64_ld4_lanev2si(const int*, __builtin_aarch64_simd_xi, int)'
/opt/gcc/gcc-20210818/Build/prev-gcc/include/arm_neon.h: In function 
'float64x2x4_t vld4q_lane_f64(const float64_t*, float64x2x4_t, int)':
/opt/gcc/gcc-20210818/Build/prev-gcc/include/arm_neon.h:21384:9: error: cannot 
convert 'long int*' to 'const double*'
21384 |         (__builtin_aarch64_simd_di *) __ptr, __o, __c);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |         |
      |         long int*
<built-in>: note:   initializing argument 1 of '__builtin_aarch64_simd_xi 
__builtin_aarch64_ld4_lanev2df(const double*, __builtin_aarch64_simd_xi, int)'

Andreas.

-- 
Andreas Schwab, sch...@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."

Attachment: rb14797.patch
Description: rb14797.patch

Reply via email to