This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE] Add lowering for llvm fsqrt
ClosedPublic

Authored by Asif on Sep 15 2020, 10:01 AM.

Details

Summary

Add the functionality to lower fsqrt for passthru variant

Diff Detail

Event Timeline

Asif created this revision.Sep 15 2020, 10:01 AM
Herald added a project: Restricted Project. · View Herald Transcript
Asif requested review of this revision.Sep 15 2020, 10:01 AM

@paulwalker-arm: I couldn't find out the corresponding ISD Node for FRECPX.

paulwalker-arm accepted this revision.Sep 15 2020, 10:20 AM

@paulwalker-arm: I couldn't find out the corresponding ISD Node for FRECPX.

There isn't likely to be a common ISD node that matches FRECPX. Normally this would mean it's not yet worth creating a predicated variant but this time I think there's benefit to creating FRECPX_MERGE_PASSTHRU because it'll remove the final user for sve_fp_2op_p_zd_HSD's int_op operand. You shouldn't need any extra testing for FRECPX_MERGE_PASSTHRU because there's no IR route to create the node outside of intrinsics, which is already tested.

This revision is now accepted and ready to land.Sep 15 2020, 10:20 AM
llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
212

I would be nicer if this was aligned to the previous def.

This revision was automatically updated to reflect the committed changes.