[llvm-dev] Complex proposal v3 + roundtable agenda

Florian Hahn via llvm-dev llvm-dev at lists.llvm.org
Wed Nov 18 13:28:37 PST 2020



> On 18 Nov 2020, at 21:15, David Greene <dag at cray.com> wrote:
> 
> Florian Hahn <florian_hahn at apple.com> writes:
> 
>> Once we have support in the vectorizers, it might be beneficial to use
>> the intrinsics even for targets that do not natively support them. I
>> think for that cases, adding a pass that lowers them to regular IR
>> instructions for targets that do not have dedicated instructions would
>> be a great idea. I think we did something similar for the experimental
>> reduction intrinsics.
> 
> We don't *need* intrinsics to do such lowering.  "Normal" LLVM
> instructions with a first-class complex type is similarly lowerable.
> 

Yes, I did not mean to imply that. The snippet above was not intended to compare intrinsics/first-class type versions. It was only meant to state that a generic lowering pass would be useful, so we can use the intrinsics even for targets that cannot lower them natively.

> I'm not necessarily opposed to intrinsics (especially if we have Simon's
> generic matchers available) but I think it's important to be clear what
> we're talking about.  Intrtinaics vs. first-class complex types have
> different tradeoffs.  With Simon's generic matchers those trade-offs are
> less stark to me though.


Agreed. I think various places in the thread explore some trade-offs in detail.

Cheers,
Florian


More information about the llvm-dev mailing list