This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SME]: Use SVE mov instruction for FPR128 registers in streaming-compatible mode.
ClosedPublic

Authored by hassnaa-arm on Nov 17 2022, 7:28 AM.

Details

Summary

1- in streaming mode, use SVE OR instruction instead of NEON OR,

during copying phyReg.(AArch64InstrInfo::copyPhysReg).

2- add test file: register-mov.ll.

Diff Detail

Event Timeline

hassnaa-arm created this revision.Nov 17 2022, 7:28 AM
hassnaa-arm requested review of this revision.Nov 17 2022, 7:28 AM
Herald added a project: Restricted Project. · View Herald TranscriptNov 17 2022, 7:28 AM

add test file: register-mov.ll to test code changes in AArch64InstrInfo::copyPhysReg.

Remove not related testing files.

hassnaa-arm retitled this revision from [AArch64-SVE][StreamingMode]: test insert-vec-elt and vec-shuffle tests. to [AArch64-SVE][StreamingMode]: force generating valid instr during copying phy reg..Nov 17 2022, 9:31 AM
hassnaa-arm edited the summary of this revision. (Show Details)

Thanks for this change @hassnaa-arm. The patch looks good, just added two nits.

Could you change the title to something like this:

[AArch64][SME]: Use SVE mov instruction for FPR128 registers in streaming-compatible mode.

such that it has:

  • Proper capitalisation
  • [AArch64] as the target description, [SME] for the sub-topic
  • A slightly more descriptive title
llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
6

nit: Can you add a comment to describe the rationale behind the test (i.e. that a NEON Q-register mov is not valid in streaming mode, but an SVE Z-register mov is)

hassnaa-arm retitled this revision from [AArch64-SVE][StreamingMode]: force generating valid instr during copying phy reg. to [AArch64][SME]: Use SVE mov instruction for FPR128 registers in streaming-compatible mode..Nov 18 2022, 3:06 AM
hassnaa-arm marked an inline comment as done.Nov 18 2022, 3:17 AM
This revision was not accepted when it landed; it landed in state Needs Review.Nov 18 2022, 3:43 AM
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.