On Tue, Apr 21, 2020 at 08:37:09AM +0000, Yangfei (Felix) wrote: > Yes, that's right. And I have a question here: > Should aarch64_sve::init_builtins ()/aarch64_sve::handle_arm_sve_h () be > guarded by TARGET_SVE? > > I mean in aarch64_init_builtins: > if (TARGET_SVE) > aarch64_sve::init_builtins (); > > and in aarch64_pragma_aarch64: > if (TARGET_SVE) > aarch64_sve::handle_arm_sve_h ();
If aarch64 supports target attribute/pragma, can't one function be target ("msve") and another one not? Would something then register the builtins for the functions that need it? And on the other side, if the builtins are already registered because of some earlier "msve" function, something should ensure there are no ICEs even in target ("mgeneral-regs-only") functions later. Jakub