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