[LLVMdev] [RFC][PATCH] Adding absd/hadd/sad intrinsics

Shahid, Asghar-ahmad
Mon, 04 May 2015 05:31:15 -0000

Hi Devs,

Pinging..., as didn't get any response yet. Or shall I assume it is
acceptable to all?

Regards,
Shahid

> -----Original Message-----
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at
cs.uiuc.edu]
> On Behalf Of Shahid, Asghar-ahmad
> Sent: Friday, May 01, 2015 10:29 PM
> To: llvmdev at cs.uiuc.edu
> Subject: [LLVMdev] [RFC][PATCH] Adding absd/hadd/sad intrinsics
>
> Hi All,
>
> I would like to introduce intrinsics to generate efficient codes for
'absolute
> differences', 'horizontal add'
> and 'sum of absolute differences' Idioms used by user programs.
>
> Identifying these idioms at lower level (Codegen) is complex. These idioms
> can be identified in LV/SLP and vectorized using above intrinsics to
generate
> better code.
>
> Proposal:
> 1. Add intrinsics for 'absolute differences', 'horizontal
add' and 'sum of
> absolute differences' having variants of Fixed / floating point data
types and
> signed/unsigned operations.
> 2. Recognize these idioms at loop vectorizer or SLP and replace with
> corresponding intrinsics based on the target's Backend support.
>
> Having these intrinsic will also help in cost modeling for these idioms
which is
> complex down the lane.
>
> Pls find attached a patch regarding this which is incomplete & dirty at
this
> moment, however, it may help in this discussion.
>
> Regards,
> Shahid
>