https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118133
--- Comment #3 from Richard Sandiford <rsandifo at gcc dot gnu.org> --- The reason I went for m4 is that it means we don't need to write a parser, or come up with a DSL. I was hoping that the scaffolding would be pretty much write-and-forget, with only the main (declarative) aarch64-simd-pragma-builtins.m4 changing. Personally I agree that requiring python for development should be fine. But if we did use python, I think the script should generate the output directly, rather than parse some ad-hoc DSL. In other words, the definition file would be imperative rather than declarative and would have full access to python features.