This is an archive of the discontinued LLVM Phabricator instance.

[X86][SelectionDAG] Add SADDO_CARRY and SSUBO_CARRY to support multipart signed add/sub overflow legalization.
ClosedPublic

Authored by craig.topper on Oct 12 2020, 12:54 AM.

Details

Summary

This passes existing X86 test but I'm not sure if it handles all type
legalization cases it needs to.

Alternative to D89200

Diff Detail

Event Timeline

craig.topper created this revision.Oct 12 2020, 12:54 AM
Herald added a project: Restricted Project. · View Herald Transcript
craig.topper requested review of this revision.Oct 12 2020, 12:54 AM

Add support for expanding SADDO_CARRY and SSUBO_CARRY in type legalizer.
Default to operation action to Expand.
Rebase after committing tests for i128 on a 32-bit target to cover the second rounding of expanding.

efriedma accepted this revision.Oct 12 2020, 4:20 PM

The title is still "WIP", but I don't see anything obviously missing.

LGTM

craig.topper retitled this revision from [X86][SelectionDAG] WIP Add SADDO_CARRY and SSUBO_CARRY to support multipart signed add/sub overflow legalization. to [X86][SelectionDAG] Add SADDO_CARRY and SSUBO_CARRY to support multipart signed add/sub overflow legalization..Oct 12 2020, 4:22 PM
craig.topper added a comment.EditedOct 12 2020, 4:37 PM

@ecnelises why does this review show blocked by you? I don't see any comments.

This revision was not accepted when it landed; it landed in state Needs Review.Oct 13 2020, 12:01 AM
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.