diff --git a/src/amd/compiler/aco_validate.cpp b/src/amd/compiler/aco_validate.cpp index 22815f96157..368665249f0 100644 --- a/src/amd/compiler/aco_validate.cpp +++ b/src/amd/compiler/aco_validate.cpp @@ -1311,12 +1311,16 @@ validate_subdword_definition(amd_gfx_level gfx_level, const aco_ptr case aco_opcode::buffer_load_short_d16_hi: case aco_opcode::buffer_load_format_d16_hi_x: case aco_opcode::flat_load_ubyte_d16_hi: + case aco_opcode::flat_load_sbyte_d16_hi: case aco_opcode::flat_load_short_d16_hi: case aco_opcode::scratch_load_ubyte_d16_hi: + case aco_opcode::scratch_load_sbyte_d16_hi: case aco_opcode::scratch_load_short_d16_hi: case aco_opcode::global_load_ubyte_d16_hi: + case aco_opcode::global_load_sbyte_d16_hi: case aco_opcode::global_load_short_d16_hi: case aco_opcode::ds_read_u8_d16_hi: + case aco_opcode::ds_read_i8_d16_hi: case aco_opcode::ds_read_u16_d16_hi: return byte == 2; default: break; } @@ -1355,24 +1359,32 @@ get_subdword_bytes_written(Program* program, const aco_ptr& instr, case aco_opcode::buffer_load_format_d16_x: case aco_opcode::tbuffer_load_format_d16_x: case aco_opcode::flat_load_ubyte_d16: + case aco_opcode::flat_load_sbyte_d16: case aco_opcode::flat_load_short_d16: case aco_opcode::scratch_load_ubyte_d16: + case aco_opcode::scratch_load_sbyte_d16: case aco_opcode::scratch_load_short_d16: case aco_opcode::global_load_ubyte_d16: + case aco_opcode::global_load_sbyte_d16: case aco_opcode::global_load_short_d16: case aco_opcode::ds_read_u8_d16: + case aco_opcode::ds_read_i8_d16: case aco_opcode::ds_read_u16_d16: case aco_opcode::buffer_load_ubyte_d16_hi: case aco_opcode::buffer_load_sbyte_d16_hi: case aco_opcode::buffer_load_short_d16_hi: case aco_opcode::buffer_load_format_d16_hi_x: case aco_opcode::flat_load_ubyte_d16_hi: + case aco_opcode::flat_load_sbyte_d16_hi: case aco_opcode::flat_load_short_d16_hi: case aco_opcode::scratch_load_ubyte_d16_hi: + case aco_opcode::scratch_load_sbyte_d16_hi: case aco_opcode::scratch_load_short_d16_hi: case aco_opcode::global_load_ubyte_d16_hi: + case aco_opcode::global_load_sbyte_d16_hi: case aco_opcode::global_load_short_d16_hi: case aco_opcode::ds_read_u8_d16_hi: + case aco_opcode::ds_read_i8_d16_hi: case aco_opcode::ds_read_u16_d16_hi: return program->dev.sram_ecc_enabled ? 4 : 2; case aco_opcode::buffer_load_format_d16_xyz: case aco_opcode::tbuffer_load_format_d16_xyz: return program->dev.sram_ecc_enabled ? 8 : 6;