This is an archive of the discontinued LLVM Phabricator instance.

[SVE] Add intrinsics for logical/bitwise operations that explicitly undefine the result for inactive lanes.
ClosedPublic

Authored by lizhijin on Feb 7 2023, 7:21 AM.

Details

Summary

This patch adds new intrinsics for logical/bitwise operations and changes the lowering for the following builtins to emit calls to the new aarch64.sve.###.u intrinsics.
svand_x
svand_n_x
svorr_x
svorr_n_x
sveor_x
sveor_n_x
svbic_x
svbic_n_x

Diff Detail

Event Timeline

lizhijin created this revision.Feb 7 2023, 7:21 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 7 2023, 7:21 AM
lizhijin requested review of this revision.Feb 7 2023, 7:21 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 7 2023, 7:21 AM
paulwalker-arm accepted this revision.Feb 7 2023, 9:55 AM

The description needs updating because this patch is for logical/bitwise operations and not shifts.

FYI: I have a patch that extends the support to integer and floating point multiple-add operations that I'll push to phabricator probably tomorrow.

This revision is now accepted and ready to land.Feb 7 2023, 9:55 AM
lizhijin retitled this revision from [SVE] Add intrinsics for shift operations that explicitly undefine the result for inactive lanes. to [SVE] Add intrinsics for logical/bitwise operations that explicitly undefine the result for inactive lanes..Feb 7 2023, 5:27 PM
lizhijin edited the summary of this revision. (Show Details)
Matt added a subscriber: Matt.Feb 7 2023, 8:30 PM
lizhijin updated this revision to Diff 495830.Feb 8 2023, 6:41 AM

Update code format.

lizhijin updated this revision to Diff 496026.Feb 8 2023, 10:38 PM
lizhijin edited the summary of this revision. (Show Details)

Rebase

lizhijin edited the summary of this revision. (Show Details)Feb 8 2023, 10:48 PM

@lizhijin: In case there's a misunderstanding I just wanted to say your patch has been accepted and is good to land. Sometimes patches are accepted with a few extra comments which you're trusted to consider before landing a patch (i.e. there's no need to wait for the patch to be accepted again). There's no real rule but typically I just wait a day after acceptance before landing a patch (with any suggested minor modifications) in order to give other reviewers a chance to comment.

@lizhijin: In case there's a misunderstanding I just wanted to say your patch has been accepted and is good to land. Sometimes patches are accepted with a few extra comments which you're trusted to consider before landing a patch (i.e. there's no need to wait for the patch to be accepted again). There's no real rule but typically I just wait a day after acceptance before landing a patch (with any suggested minor modifications) in order to give other reviewers a chance to comment.

OK, I see. Thanks!

Herald added a project: Restricted Project. · View Herald TranscriptFeb 9 2023, 10:54 PM
Herald added a subscriber: cfe-commits. · View Herald Transcript