This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU: add llvm.amdgcn.buffer.load/store intrinsics
ClosedPublic

Authored by nhaehnle on Mar 18 2016, 8:06 PM.

Details

Summary

They correspond to BUFFER_LOAD/STORE_DWORD[_X2,X3,X4] and mostly behave like
llvm.amdgcn.buffer.load/store.format. They will be used by Mesa for SSBO and
atomic counters at least when robust buffer access behavior is desired.
(These instructions perform no format conversion and do buffer range checking
per component.)

As a side effect of sharing patterns with llvm.amdgcn.buffer.store.format,
it has become trivial to add support for the f32 and v2f32 variants of that
intrinsic, so the patch does so.

Also DAG-ify (and fix) some tests that I noticed intermittent failures in
while developing this patch.

Diff Detail

Event Timeline

nhaehnle updated this revision to Diff 51101.Mar 18 2016, 8:06 PM
nhaehnle retitled this revision from to AMDGPU: add llvm.amdgcn.buffer.load/store intrinsics.
nhaehnle updated this object.
nhaehnle added a subscriber: llvm-commits.
This revision was automatically updated to reflect the committed changes.