This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][GlobalISel] Lower G_EXTRACT_VECTOR_ELT with variable indices
ClosedPublic

Authored by dzhidzhoev on Aug 29 2023, 7:47 AM.

Details

Summary

G_EXTRACT_VECTOR_ELT instructions with non-constant indices are not
selected, so they need to be lowered.

Fixes https://github.com/llvm/llvm-project/issues/65049.

Diff Detail

Event Timeline

dzhidzhoev created this revision.Aug 29 2023, 7:47 AM
dzhidzhoev requested review of this revision.Aug 29 2023, 7:47 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 29 2023, 7:47 AM

Clang-format'ted.

Peter accepted this revision.Aug 29 2023, 2:18 PM
Peter added a subscriber: Peter.

LGTM

This revision is now accepted and ready to land.Aug 29 2023, 2:18 PM

Can you add an end-to-end IR test so we can see the codegen between SDAG and GISel?

dzhidzhoev updated this revision to Diff 555357.Sep 1 2023, 6:20 AM

Addressed @aemerson comment.
Added end-to-end IR test. Additionally, removed duplicated if condition in customIf clause.