Yeah, I agree that your approach is better. I missed this point. Thanks.
> > Ah, sorry for the duplication of effort. And thanks for the heads-up about > upcoming work! I don't think I have any plans for any of those others at the > moment. > > In the case of vld1_dup, however, I'm going to argue that my approach > (https://gcc.gnu.org/ml/gcc-patches/2014-11/msg01718.html) is better, in that > a > builtin is opaque (blocks optimization) for the midend, whereas gcc vector > extensions (as in vdup_n_...) allows the midend to perform constant-folding, > etc. > Does that make sense? > > --Alan > > Yangfei (Felix) wrote: > >> These three are logically independent, but all on a common theme, and > >> I've tested them all together by > >> > >> bootstrapped + check-gcc on aarch64-none-elf cross-tested check-gcc > >> on aarch64_be-none-elf > >> > >> Ok for trunk? > > > > > > Hi Alan, > > > > It seems that we are duplicating the work for the vld1_dup part. (Refer > > to > my message: https://gcc.gnu.org/ml/gcc-patches/2014-11/msg01462.html) > > I have a plan to improve these intrinsics/builtins: vrsubhnX, vrsqrtX, > vqrdmulX, vqmovX, vqdmulhqX, vqdmulhX, vpminX, vpmaxX, vpaddX, vpadaX > > vmvnX, vmulxX, > vmovnX, vmlsX, vhsubX, vcvtX, vcopyX, vaddlvX, vabX, vfmX, vrecpeX, vcntX, > vclsX > > And work for these intrinsics is in progress: vfmX, vrecpeX, vhsubX, > vcntX, vclsX > > Please let me know if you guys want to work on any of them. Thanks. > > >