On Thu, Jun 16, 2016 at 09:31:19AM +0100, Szabolcs Nagy wrote:
> Turn the following definition in iterators.md
> 
> (define_mode_iterator XXX [(YYY "condition") ZZZ])
> 
> into
> 
> #define BUILTIN_XXX(T, N, MAP) \
>   VAR2 (T, N, MAP, yyy, zzz)
> 
> previously geniterators.sh skipped definitions with
> conditions.

I think this is OK.

It means that if we use any of these iterators with a conditional we may expose
some names that may not map to valid patterns (and then ICE), but these are in
the implementation namespace, so we make no promises that they will
unconditionally work anyway. But, I don't see how you could add this
conditional information back in, certainly not in the preprocessor as these are
runtime decisions.

We might want to catch a pattern that has not been enabled in
aarch64_simd_expand_builtin and provide a suitable error message, rather
than ICEing. But that can come as a follow-up.

The patch is OK to apply.

Thanks,
James

> 
> gcc/ChangeLog:
> 
> 2016-06-16  Szabolcs Nagy  <szabolcs.n...@arm.com>
> 
>       * config/aarch64/geniterators.sh: Handle parenthesised conditions.


Reply via email to