SpirvShader: Optimize SIMD sequential, fully-in-bounds loads & stores
For sequential, fully-in-bound vectors:
* Loads can safely be a regular vector load. We mask just to keep behavior consistent with rr::MaskedLoad and rr::Gather.
* Stores of non-atomics can be implemented as a read-modify-write.
These optimizations have drastic performance improvements on architectures where there are no masked-read and masked-write instructions.
Bug: b/135609394
Change-Id: I552cc38f4aeae73f8db079a0a11da6a8db857710
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/33628Tested-by:
Ben Clayton <bclayton@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
Showing
Please
register
or
sign in
to comment