This is an archive of the discontinued LLVM Phabricator instance.

[NFC][AArch64] Precommit test cases; in one test case, BFI is indeed better while in the other test case ORR is better
AbandonedPublic

Authored by mingmingl on Oct 2 2022, 9:57 PM.

Details

Reviewers
None
Summary

In {test_bfi_not_orr, test_bfxil_not_orr}, bfi/bfxil are better since they simplifies away two instructions (extracting bits into destination directly)

In {test_orr_not_bfi, test_orr_not_bfxil}, orr is better since

  1. both orr and bfm would simplify away one instruction (the shl node)
  2. orr has higher throughput and shorter latency than bfm.

Diff Detail

Event Timeline

mingmingl created this revision.Oct 2 2022, 9:57 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 2 2022, 9:57 PM
mingmingl requested review of this revision.Oct 2 2022, 9:57 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 2 2022, 9:57 PM
mingmingl edited the summary of this revision. (Show Details)Oct 2 2022, 10:03 PM
mingmingl edited the summary of this revision. (Show Details)
mingmingl retitled this revision from [NFC][AArch64]Precommit test to show missed-optimization when the left-shift of a bit-field positioning could be folded into ORR to [NFC][AArch64] Precommit test to show missed-optimization when BFI is suboptimal to ORR with imm-shifted operand.
mingmingl edited the summary of this revision. (Show Details)
mingmingl retitled this revision from [NFC][AArch64] Precommit test to show missed-optimization when BFI is suboptimal to ORR with imm-shifted operand to [NFC][AArch64] Precommit test cases; in one test case, BFI is indeed better while in the other test case ORR is better.
mingmingl edited the summary of this revision. (Show Details)
mingmingl edited the summary of this revision. (Show Details)

added tests for {i32,i64}x{bfi,bfxil}

mingmingl updated this revision to Diff 474156.Nov 8 2022, 10:29 PM

mostly rebase

mingmingl updated this revision to Diff 474157.Nov 8 2022, 10:37 PM

fix comments for the 80 column limit.

Submitted (as a part of D137689) in this commit

mingmingl abandoned this revision.Nov 11 2022, 2:05 PM