krzysz00 wrote: Yeah, makes sense.
... what prevents a match-bitwidth operator from existing? Context from where I'm standing is that you should be able to `raw.buffer.load/store` any (non-aggregate, let's say, since that could be better handled in `addrspace(7)` handling) type you could `load` or `store`. That is, `raw.ptr.buffer.load.i15` should work (as an i16 load that truncates) as should `raw.ptr.buffer.store.v8f32` (or `raw.ptr.buffer.store.i256`). Sure, the latter are two instructions long, but regular loads can regularize to multiple instructions just fine. My thoughts on how to implement that second behavior were to split the type into legal chunks and add in the offsets, and then merge/bitcast the values back. https://github.com/llvm/llvm-project/pull/95379 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits