venkataramanan.kumar.llvm added a comment. In D88154#2314352 <https://reviews.llvm.org/D88154#2314352>, @spatel wrote:
> In D88154#2310653 <https://reviews.llvm.org/D88154#2310653>, > @venkataramanan.kumar.llvm wrote: > >> In D88154#2290205 <https://reviews.llvm.org/D88154#2290205>, @abique wrote: >> >>> Looks good to me. >>> Regarding the tests, it seems that you check if auto-vectorization takes >>> advantages of libmvec? >>> Would it be interesting to have a test which declares a vector and call the >>> builtin sin on it? >>> >>> Thank you very much for the changes! :) >> >> do we we have built-in support for sin that takes vector types? >> >> I tried >> >> __m128d compute_sin(__m128d x) >> { >> >> return __builtin_sin(x); >> >> } >> >>>> error: passing '__m128d' (vector of 2 'double' values) to parameter of >>>> incompatible type 'double' > > We have LLVM intrinsics for sin/cos that may use vector types: > http://llvm.org/docs/LangRef.html#llvm-sin-intrinsic > ...but I don't know of a way to produce those directly from C source. Ok I see intrinsic for fp128 type in LangRef. ---Snip-- declare fp128 @llvm.cos.f128(fp128) define fp128 @test_cos(float %float, double %double, fp128 %fp128) { %cosfp128 = call fp128 @llvm.cos.f128(fp128 %fp128) ret fp128 %cosfp128 } --Snip-- f128 is treated a long double I see call to cosl. vmovaps %xmm2, %xmm0 jmp cosl so I am not sure how to generate vector calls via built-ins. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88154/new/ https://reviews.llvm.org/D88154 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits