On Wed, 4 Oct 2023, Andre Vieira (lists) wrote: > > > On 30/08/2023 14:04, Richard Biener wrote: > > On Wed, 30 Aug 2023, Andre Vieira (lists) wrote: > > > >> This patch adds a new target hook to enable us to adapt the types of return > >> and parameters of simd clones. We use this in two ways, the first one is > >> to > >> make sure we can create valid SVE types, including the SVE type attribute, > >> when creating a SVE simd clone, even when the target options do not support > >> SVE. We are following the same behaviour seen with x86 that creates simd > >> clones according to the ABI rules when no simdlen is provided, even if that > >> simdlen is not supported by the current target options. Note that this > >> doesn't mean the simd clone will be used in auto-vectorization. > > > > You are not documenting the bool parameter of the new hook. > > > > What's wrong with doing the adjustment in TARGET_SIMD_CLONE_ADJUST? > > simd_clone_adjust_argument_types is called after that hook, so by the time we > call TARGET_SIMD_CLONE_ADJUST the types are still in scalar, not vector. The > same is true for the return type one. > > Also the changes to the types need to be taken into consideration in > 'adjustments' I think.
Nothing in the three existing implementations of TARGET_SIMD_CLONE_ADJUST relies on this ordering I think, how about moving the hook invocation after simd_clone_adjust_argument_types? Richard. > PS: I hope the subject line survived, my email client is having a bit of a > wobble this morning... it's what you get for updating software :(