https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98209

--- Comment #10 from rguenther at suse dot de <rguenther at suse dot de> ---
On Thu, 28 Jan 2021, jakub at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98209
> 
> Jakub Jelinek <jakub at gcc dot gnu.org> changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |jakub at gcc dot gnu.org
> 
> --- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> But e.g. for the *intrin.h intrinsics, ignoring the ISA requirements that it
> got from the target pragmas is highly undesirable, we do need the diagnostics
> and refuse to inline them, otherwise they will ICE all over.
> And it is unclear how to differentiate between ISA requirements that were 
> added
> because of the command line option flags vs. ISA requirements that got added
> through target pragmas or target attributes.

For select cases we have sth like cfun->uses_math and chose to ignore
some (target specific) settings based on things we use in the IL.  We
could go much further here (but of course _not_ scan the IL in the
respective function - we'd have to pre-compute things somehow, like
adding target specific fields in the inline summary / merging and
when computing that, allow the target to amend).

I think the *intrin.h example is not really relevant as their direct
caller is very unlikely to differ in setting.

Reply via email to