This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Precommit some more LD1R splat tests for scalar int/fp loads
ClosedPublic

Authored by SjoerdMeijer on Mar 1 2023, 6:50 AM.

Details

Summary

Just a quick check whether you're happy with adding some LD1R tests, and I moved that comment around a bit.
These tests are for scalar integer and FP loads, the existing ones are for vector loads.

The context is of this is https://github.com/llvm/llvm-project/issues/61047, and next I want to actually start looking into these LD1R costs.

Diff Detail

Event Timeline

SjoerdMeijer created this revision.Mar 1 2023, 6:50 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 1 2023, 6:50 AM
SjoerdMeijer requested review of this revision.Mar 1 2023, 6:50 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 1 2023, 6:50 AM
dmgreen accepted this revision.Mar 1 2023, 9:44 AM

Additional tests sounds OK. We don't always match splats to a single cost like we should.

I tend to add many tests to one function because the amount of boilerplate code is otherwise quite high, but either way sounds fine (and most other costmodel tests are smaller sets of instructions).

This revision is now accepted and ready to land.Mar 1 2023, 9:44 AM
SjoerdMeijer added a comment.EditedMar 1 2023, 11:59 AM

Additional tests sounds OK. We don't always match splats to a single cost like we should.

The LD1R is a high latency instruction, the SWOG says a latency of 8.

(accidentally pressed enter)

Was saying that it is a high latency instruction, so somewhere I want to compensate for that. I think this shows interesting differences. The insertelement seems expensive for the integer variant (4) while it is free for the FP cases.