search for: __svml_sin4

Displaying 20 results from an estimated 21 matches for "__svml_sin4".

2018 Jul 02
8
[RFC][VECLIB] how should we legalize VECLIB calls?
...0, (%r15,%r12,8) > > Unfortunately, __svml_sin8() doesn’t use this form of > input/output. It takes zmm0 and returns zmm0. > > i.e., not legal to use for AVX. > >   > > What we need to see instead is two calls to __svml_sin4(), > like below. > >         vmovaps %ymm0, %ymm1 > >         vcvtdq2pd       %xmm1, %ymm0 > >         vextractf128    $1, %ymm1, %xmm1 > >         vcvtdq2pd       %xmm1, %ymm1 > >         callq...
2018 Jun 29
2
[RFC][VECLIB] how should we legalize VECLIB calls?
...%xmm1, %ymm1 callq __svml_sin8 vmovups %ymm1, 32(%r15,%r12,8) vmovups %ymm0, (%r15,%r12,8) Unfortunately, __svml_sin8() doesn't use this form of input/output. It takes zmm0 and returns zmm0. i.e., not legal to use for AVX. What we need to see instead is two calls to __svml_sin4(), like below. vmovaps %ymm0, %ymm1 vcvtdq2pd %xmm1, %ymm0 vextractf128 $1, %ymm1, %xmm1 vcvtdq2pd %xmm1, %ymm1 callq __svml_sin4 vmovups %ymm0, 32(%r15,%r12,8) vmovups %ymm1, ymm0 callq __svml_sin4 vmovups %...
2018 Jun 29
2
[RFC][VECLIB] how should we legalize VECLIB calls?
...%xmm1, %ymm1 callq __svml_sin8 vmovups %ymm1, 32(%r15,%r12,8) vmovups %ymm0, (%r15,%r12,8) Unfortunately, __svml_sin8() doesn't use this form of input/output. It takes zmm0 and returns zmm0. i.e., not legal to use for AVX. What we need to see instead is two calls to __svml_sin4(), like below. vmovaps %ymm0, %ymm1 vcvtdq2pd %xmm1, %ymm0 vextractf128 $1, %ymm1, %xmm1 vcvtdq2pd %xmm1, %ymm1 callq __svml_sin4 vmovups %ymm0, 32(%r15,%r12,8) vmovups %ymm1, ymm0 callq __svml_sin4 vmovups %...
2018 Jul 02
2
[RFC][VECLIB] how should we legalize VECLIB calls?
...;> vmovups %ymm0, (%r15,%r12,8) >> >> Unfortunately, __svml_sin8() doesn’t use this form of input/output. It >> takes zmm0 and returns zmm0. >> >> i.e., not legal to use for AVX. >> >> >> >> What we need to see instead is two calls to __svml_sin4(), like below. >> >> vmovaps %ymm0, %ymm1 >> >> vcvtdq2pd %xmm1, %ymm0 >> >> vextractf128 $1, %ymm1, %xmm1 >> >> vcvtdq2pd %xmm1, %ymm1 >> >> callq __svml_sin4 >> >>...
2018 Jul 02
2
[RFC][VECLIB] how should we legalize VECLIB calls?
...vmovups %ymm1, 32(%r15,%r12,8) > > vmovups %ymm0, (%r15,%r12,8) > > Unfortunately, __svml_sin8() doesn’t use this form of input/output. It > takes zmm0 and returns zmm0. > > i.e., not legal to use for AVX. > > > > What we need to see instead is two calls to __svml_sin4(), like below. > > vmovaps %ymm0, %ymm1 > > vcvtdq2pd %xmm1, %ymm0 > > vextractf128 $1, %ymm1, %xmm1 > > vcvtdq2pd %xmm1, %ymm1 > > callq __svml_sin4 > > vmovups %ymm0, 32(%r15,%r12,8) > >...
2019 May 28
6
[RFC] Expose user provided vector function for auto-vectorization.
...le, the availability of a 2-lane double precision `sin` function via SVML when targeting AVX on x86 is provided by the following IR. // ... ... = call double @sin(double) #0 // ... #0 = { vector-variant = {"_ZGVcN2v_sin(__svml_sin2), _ZGVdN4v_sin(__svml_sin4), ..."} } The string `"_ZGVcN2v_sin(__svml_sin2)"` in this vector-variant attribute provides information on the shape of the vector function via the string `_ZGVcN2v_sin`, mangled according to the Vector Function ABI for Intel, and remaps the standard V...
2018 Nov 30
2
[RFC] Re-implementing -fveclib with OpenMP
Hi all, I am submitting the following RFC [1] to re-implement -fveclib via OpenMP constructs. The RFC was discussed during a round table at the last LLVM developer meeting, and presented during the BoF [2]. The proposal is published on Phabricator, for the purpose of keeping track of the comments, and it now ready for a review from a wider audience after being polished by Hal Finkel and Hideki
2019 May 29
2
[cfe-dev] [RFC] Expose user provided vector function for auto-vectorization.
...hen targeting AVX on x86 is provided by the following >> IR. >> >> // ... >> ... = call double @sin(double) #0 >> // ... >> >> #0 = { vector-variant = {"_ZGVcN2v_sin(__svml_sin2), >> _ZGVdN4v_sin(__svml_sin4), >> ..."} } >> >> The string `"_ZGVcN2v_sin(__svml_sin2)"` in this vector-variant >> attribute provides information on the shape of the vector function via >> the string `_ZGVcN2v_sin`, mangled according to the Vector Func...
2019 May 29
2
[cfe-dev] [RFC] Expose user provided vector function for auto-vectorization.
...; IR. >>>> >>>> // ... >>>> ... = call double @sin(double) #0 >>>> // ... >>>> >>>> #0 = { vector-variant = {"_ZGVcN2v_sin(__svml_sin2), >>>> _ZGVdN4v_sin(__svml_sin4), >>>> ..."} } >>>> >>>> The string `"_ZGVcN2v_sin(__svml_sin2)"` in this vector-variant >>>> attribute provides information on the shape of the vector function via >>>> the string `_ZGVcN2v_s...
2019 May 30
5
[cfe-dev] [RFC] Expose user provided vector function for auto-vectorization.
...// ... >>>>>> ... = call double @sin(double) #0 >>>>>> // ... >>>>>> >>>>>> #0 = { vector-variant = {"_ZGVcN2v_sin(__svml_sin2), >>>>>> _ZGVdN4v_sin(__svml_sin4), >>>>>> ..."} } >>>>>> >>>>>> The string `"_ZGVcN2v_sin(__svml_sin2)"` in this vector-variant >>>>>> attribute provides information on the shape of the vector function via >&gt...
2019 May 31
2
[cfe-dev] [RFC] Expose user provided vector function for auto-vectorization.
...>>> ... = call double @sin(double) #0 >>>>>>>> // ... >>>>>>>> >>>>>>>> #0 = { vector-variant = {"_ZGVcN2v_sin(__svml_sin2), >>>>>>>> _ZGVdN4v_sin(__svml_sin4), >>>>>>>> ..."} } >>>>>>>> >>>>>>>> The string `"_ZGVcN2v_sin(__svml_sin2)"` in this vector-variant >>>>>>>> attribute provides information on the shape of...
2019 May 31
2
[cfe-dev] [RFC] Expose user provided vector function for auto-vectorization.
...l double @sin(double) #0 >>>>>>>>>> // ... >>>>>>>>>> >>>>>>>>>> #0 = { vector-variant = {"_ZGVcN2v_sin(__svml_sin2), >>>>>>>>>> _ZGVdN4v_sin(__svml_sin4), >>>>>>>>>> ..."} } >>>>>>>>>> >>>>>>>>>> The string `"_ZGVcN2v_sin(__svml_sin2)"` in this vector-variant >>>>>>>>>> attribute provide...
2019 May 31
2
[cfe-dev] [RFC] Expose user provided vector function for auto-vectorization.
...gt;>>>>>>>>>>> // ... >>>>>>>>>>>> >>>>>>>>>>>> #0 = { vector-variant = {"_ZGVcN2v_sin(__svml_sin2), >>>>>>>>>>>> _ZGVdN4v_sin(__svml_sin4), >>>>>>>>>>>> ..."} } >>>>>>>>>>>> >>>>>>>>>>>> The string `"_ZGVcN2v_sin(__svml_sin2)"` in this vector-variant >>>>>>>>>...
2019 May 31
2
[cfe-dev] [RFC] Expose user provided vector function for auto-vectorization.
...;>>>>>> // ... >>>>>>>>>>>>>> >>>>>>>>>>>>>> #0 = { vector-variant = {"_ZGVcN2v_sin(__svml_sin2), >>>>>>>>>>>>>> _ZGVdN4v_sin(__svml_sin4), >>>>>>>>>>>>>> ..."} } >>>>>>>>>>>>>> >>>>>>>>>>>>>> The string `"_ZGVcN2v_sin(__svml_sin2)"` in this vector-variant >>>&g...
2019 May 31
2
[cfe-dev] [RFC] Expose user provided vector function for auto-vectorization.
...> ... = call double @sin(double) #0 > >>>>>>> // ... > >>>>>>> > >>>>>>> #0 = { vector-variant = {"_ZGVcN2v_sin(__svml_sin2), > >>>>>>> _ZGVdN4v_sin(__svml_sin4), > >>>>>>> ..."} } > >>>>>>> > >>>>>>> The string `"_ZGVcN2v_sin(__svml_sin2)"` in this vector-variant > >>>>>>> attribute provides information on the shap...
2019 May 31
2
[cfe-dev] [RFC] Expose user provided vector function for auto-vectorization.
...> >>>>>>>>> // ... > > >>>>>>>>> > > >>>>>>>>> #0 = { vector-variant = {"_ZGVcN2v_sin(__svml_sin2), > > >>>>>>>>> _ZGVdN4v_sin(__svml_sin4), > > >>>>>>>>> ..."} } > > >>>>>>>>> > > >>>>>>>>> The string `"_ZGVcN2v_sin(__svml_sin2)"` in this > > >>>>>>>>> vecto...
2019 May 31
5
[cfe-dev] [RFC] Expose user provided vector function for auto-vectorization.
...sin(double) #0 > >>>>>>>>> // ... > >>>>>>>>> > >>>>>>>>> #0 = { vector-variant = {"_ZGVcN2v_sin(__svml_sin2), > >>>>>>>>> _ZGVdN4v_sin(__svml_sin4), > >>>>>>>>> ..."} } > >>>>>>>>> > >>>>>>>>> The string `"_ZGVcN2v_sin(__svml_sin2)"` in this vector-variant > >>>>>>>>> attribute p...
2019 May 31
2
[cfe-dev] [RFC] Expose user provided vector function for auto-vectorization.
...e) #0 >>>>>>>>>>> // ... >>>>>>>>>>> >>>>>>>>>>> #0 = { vector-variant = {"_ZGVcN2v_sin(__svml_sin2), >>>>>>>>>>> _ZGVdN4v_sin(__svml_sin4), >>>>>>>>>>> ..."} } >>>>>>>>>>> >>>>>>>>>>> The string `"_ZGVcN2v_sin(__svml_sin2)"` in this >>>>>>>>>>> vector-variant...
2019 May 31
2
[cfe-dev] [RFC] Expose user provided vector function for auto-vectorization.
...gt;>>>>>>>> // ... > >>>>>>>>>>> > >>>>>>>>>>> #0 = { vector-variant = {"_ZGVcN2v_sin(__svml_sin2), > >>>>>>>>>>> _ZGVdN4v_sin(__svml_sin4), > >>>>>>>>>>> ..."} } > >>>>>>>>>>> > >>>>>>>>>>> The string `"_ZGVcN2v_sin(__svml_sin2)"` in this > >>>>>>>>>&gt...
2019 Jun 01
2
[cfe-dev] [RFC] Expose user provided vector function for auto-vectorization.
...>>>>> // ... > > >>>>>>>>>>> > > >>>>>>>>>>> #0 = { vector-variant = {"_ZGVcN2v_sin(__svml_sin2), > > >>>>>>>>>>> _ZGVdN4v_sin(__svml_sin4), > > >>>>>>>>>>> ..."} } > > >>>>>>>>>>> > > >>>>>>>>>>> The string `"_ZGVcN2v_sin(__svml_sin2)"` in this > > >>>>&gt...