This is an archive of the discontinued LLVM Phabricator instance.

Add v16f64 value type
ClosedPublic

Authored by rampitec on May 14 2020, 11:14 AM.

Details

Summary

We need to use it to handle <16 x double> indirect indexes
in the AMDGPU BE.

The only visible change from adding it is in ARM cost model.
To me it looks reasonable. With doubling a vector size it
quadruples the cost up to the size 8 and then it did only
double it. Now it also quadruples, which seems a logical
progression to me.

Actual AMDGPU code is to follow, this is a common part, plus
load/store legalization in the AMDGPU BE not to break what
works now.

Diff Detail

Event Timeline

rampitec created this revision.May 14 2020, 11:14 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 14 2020, 11:14 AM
dmgreen added inline comments.
llvm/test/Analysis/CostModel/ARM/cast.ll
375

Yeah. Sounds fine.

efriedma added a subscriber: efriedma.

The change to the ARM cost models indicates a bug in the ARM code; someone should probably look at that.

Otherwise looks fine.

efriedma accepted this revision.May 14 2020, 11:57 AM

(Fixing the ARM code model doesn't need to block this.)

This revision is now accepted and ready to land.May 14 2020, 11:57 AM
This revision was automatically updated to reflect the committed changes.