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. Jakub