This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Try to convert signed to unsigned pred to re-use zext.
AbandonedPublic

Authored by fhahn on Feb 25 2022, 1:51 AM.

Details

Summary

Building on D120481, try to convert a signed predicate to unsigned to
re-use existing zext.

The following conversion is supported: %a >s -1 -> zext(%a) <u 128.
https://alive2.llvm.org/ce/z/RVnadn

Depends on D120481.

Diff Detail

Event Timeline

fhahn created this revision.Feb 25 2022, 1:51 AM
fhahn requested review of this revision.Feb 25 2022, 1:51 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 25 2022, 1:51 AM
fhahn updated this revision to Diff 411473.Feb 25 2022, 11:24 AM

rebase on top of additional tests

dmgreen added inline comments.Mar 2 2022, 2:44 AM
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
17095–17096

Should this be overriding Op1ExtV?

llvm/test/CodeGen/AArch64/vselect-ext.ll
169–183

This doesn't seem to be correct.

Herald added a project: Restricted Project. · View Herald TranscriptMar 2 2022, 2:44 AM
fhahn abandoned this revision.Jan 17 2023, 12:16 PM

This is no longer relevant.