Kyrylo Tkachov <kyrylo.tkac...@arm.com> writes:
> Hi all,
>
> Besides the builtins in aarch64-simd-builtins.def there are a number of 
> builtins defined in aarch64-builtins.c itself.
> They could also benefit from the attributes generated by 
> aarch64_get_attributes.
> However aarch64_get_attributes and its helpers are only set up to handle a 
> aarch64_simd_builtin_datum.
>
> This patch changes these functions to instead take a flag and mode value that 
> are extracted from
> aarch64_simd_builtin_datum.flags and aarch64_simd_builtin_datum.mode anyway.
> Then the various builtin init functions in aarch64-builtins.c can pass down 
> their own FLAG_* flags
> that they want to derive attributes from.
> I'm not too happy with changing the helper functions in this way, but it 
> seemed like the least bad option.
>
> Richard, does this look like an ok approach to you?

Looks good to me.  Just some very minor things:

I guess this is personal preference, but in:

> +      unsigned int flags = FLAG_FP;
> +      tree attrs = aarch64_get_attributes (flags, d->mode);

it seemed odd to separate out the flags variable instead of just having:

      tree attrs = aarch64_get_attributes (FLAG_FP, d->mode);

Long line in:

> +      tree fndecl = aarch64_general_add_builtin (d->name, ftype, d->fcode, 
> attrs);

For;

> @@ -906,14 +906,13 @@ aarch64_init_simd_builtin_scalar_types (void)
>                                            "__builtin_aarch64_simd_udi");
>  }
>  
> -/* Return a set of FLAG_* flags that describe what the function could do,
> +/* Adjust the set of FLAG_* flags derived from FLAGS
> +   that describe what the function with result MODE could do,

I think this is easier to parse without the s/Return a/Adjust the/.

Also, s/the function/a function/ seems better, now that we're not passing
a specific function.  Same for the other comments.

Thanks,
Richard

Reply via email to