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.