[Bug other/95778] target_clones indirection eliminates requires noinline

2020-06-20 Thread yyc1992 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95778 --- Comment #4 from Yichao Yu --- Yeah, after digging further the two issue are indeed the same. I initially didn't think they are since I didn't realize PR95786 (that the visibility attribute is simply ignored completely...) and thought static w

[Bug other/95778] target_clones indirection eliminates requires noinline

2020-06-20 Thread hjl.tools at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95778 --- Comment #3 from H.J. Lu --- *** Bug 95780 has been marked as a duplicate of this bug. ***

[Bug other/95778] target_clones indirection eliminates requires noinline

2020-06-20 Thread yyc1992 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95778 --- Comment #2 from Yichao Yu --- Also, the original code example had an error, the code that works properly was ``` static __attribute__((noinline,target_clones("default,avx2"))) int f2(int *p) { asm volatile ("" :: "r"(p) : "memory");

[Bug other/95778] target_clones indirection eliminates requires noinline

2020-06-20 Thread yyc1992 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95778 --- Comment #1 from Yichao Yu --- Ah, I think this might be the fix for both this issue and https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95780 . I'll test more and will try to submit it later. ``` diff --git a/gcc/multiple_target.c b/gcc/multipl