On November 28, 2015 9:38:40 AM GMT+01:00, Jakub Jelinek <ja...@redhat.com> wrote: >On Sat, Nov 28, 2015 at 08:47:18AM +0100, Richard Biener wrote: >> On November 27, 2015 8:40:56 PM GMT+01:00, Jakub Jelinek ><ja...@redhat.com> wrote: >> >The recent changes where vector sqrt is represented in the IL using >> >IFN_SQRT instead of target specific builtins broke the discovery >> >of vector rsqrt, as targetm.builtin_reciprocal is called only >> >on builtin functions (not internal functions). Furthermore, >> >for internal fns, not only the IFN_* is significant, but also the >> >types (modes actually) of the lhs and/or arguments. >> > >> >This patch adjusts the target hook, so that the backends can just >> >inspect >> >the call (builtin or internal function), whatever it is. >> > >> >Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? >> >> OK. Though the other option would be to add an optab with >corresponding IFN. > >Yeah, I've been thinking about IFN_RSQRT and rsqrt optab, perhaps that >is >cleaner and the target hook could go away completely.
That was the idea for this kind of stuff. Not sure if appropriate at this stage. Richard. > Jakub