aco: don't create byte-aligned short loads
The ISA docs don't seem to say if this is allowed, so just assume short loads require short alignment. In practice, the only situation this should affect are byte-aligned u8vec2 loads. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5207>
This commit is contained in:
@@ -3111,7 +3111,9 @@ void emit_load(isel_context *ctx, Builder& bld, const LoadEmitInfo *info)
|
||||
int byte_align = align_mul % 4 == 0 ? align_offset % 4 : -1;
|
||||
|
||||
if (byte_align) {
|
||||
if ((bytes_needed > 2 || !supports_8bit_16bit_loads) && byte_align_loads) {
|
||||
if ((bytes_needed > 2 ||
|
||||
(bytes_needed == 2 && (align_mul % 2 || align_offset % 2)) ||
|
||||
!supports_8bit_16bit_loads) && byte_align_loads) {
|
||||
if (info->component_stride) {
|
||||
assert(supports_8bit_16bit_loads && "unimplemented");
|
||||
bytes_needed = 2;
|
||||
|
Reference in New Issue
Block a user