[PATCH] D23286: AMDGPU/SI: Propose to redefine image load/store intrinsics

Marek Olšák via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 10 13:35:13 PDT 2016


mareko added a comment.

In https://reviews.llvm.org/D23286#511442, @cfang wrote:

> In https://reviews.llvm.org/D23286#511210, @mareko wrote:
>
> > "unorm" and "da" must be exposed as parameters. They don't change the type, but they change the behavior of the TA hardware block. In all cases, the type is always floating-point.
> >
> > "r128" doesn't have to be exposed and it's kinda useless. We don't have any use case for it and I think the next-gen hardware (after Polaris) doesn't have it either.
>
>
> This patch also consider image load and image store. For image store, unorm bit must be 1. I haven't seen any restriction regarding image load.
>  Are you sure the coordinate type is always float-point? I know for image_sample, it is the case, and not sure image load and image store.


Image loads/stores are a different category. There are several categories but you can split all image opcodes into two:

- takes a floating-point address (all sample and gather opcodes) and also a sampler descriptor, the "unorm" and "da" bits apply here
- takes an integer address (all load, store and atomic opcodes), the "unorm" bit is irrelevant (or must be 1 in some cases) and only the "da" bit applies


https://reviews.llvm.org/D23286





More information about the llvm-commits mailing list