https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96674
--- Comment #4 from Gabriel Ravier <gabravier at gmail dot com> --- I'd assume those are for older test cases: __attribute__((noipa)) makes more sense (at least to me) considering it's made specifically to prevent inter-procedural optimization (which __attribute__((noinline)) does not, afaik) which is helpful for testing specific optimizations on specific functions and seeing whether the optimizations make those functions non-functional without potentially having problems with inter-procedural optimization doing stuff like constant-propagation or anything that could interfere with the proper testing of a specific optimization.