diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index 3b5b506c496..3732cfb8d42 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -703,8 +703,8 @@ Temp get_alu_src(struct isel_context *ctx, nir_alu_src src, unsigned size=1) uint32_t get_alu_src_ub(isel_context *ctx, nir_alu_instr *instr, int src_idx) { - nir_ssa_scalar scalar = (nir_ssa_scalar){instr->src[src_idx].src.ssa, - instr->src[src_idx].swizzle[0]}; + nir_ssa_scalar scalar = nir_ssa_scalar{instr->src[src_idx].src.ssa, + instr->src[src_idx].swizzle[0]}; return nir_unsigned_upper_bound(ctx->shader, ctx->range_ht, scalar, &ctx->ub_config); } @@ -4655,14 +4655,20 @@ uint8_t get_fetch_data_format(isel_context *ctx, const ac_data_format_info *vtx_ switch (vtx_info->chan_format) { case V_008F0C_BUF_DATA_FORMAT_8: - return (uint8_t[]){V_008F0C_BUF_DATA_FORMAT_8, V_008F0C_BUF_DATA_FORMAT_8_8, - V_008F0C_BUF_DATA_FORMAT_INVALID, V_008F0C_BUF_DATA_FORMAT_8_8_8_8}[num_channels - 1]; + return std::array{V_008F0C_BUF_DATA_FORMAT_8, + V_008F0C_BUF_DATA_FORMAT_8_8, + V_008F0C_BUF_DATA_FORMAT_INVALID, + V_008F0C_BUF_DATA_FORMAT_8_8_8_8}[num_channels - 1]; case V_008F0C_BUF_DATA_FORMAT_16: - return (uint8_t[]){V_008F0C_BUF_DATA_FORMAT_16, V_008F0C_BUF_DATA_FORMAT_16_16, - V_008F0C_BUF_DATA_FORMAT_INVALID, V_008F0C_BUF_DATA_FORMAT_16_16_16_16}[num_channels - 1]; + return std::array{V_008F0C_BUF_DATA_FORMAT_16, + V_008F0C_BUF_DATA_FORMAT_16_16, + V_008F0C_BUF_DATA_FORMAT_INVALID, + V_008F0C_BUF_DATA_FORMAT_16_16_16_16}[num_channels - 1]; case V_008F0C_BUF_DATA_FORMAT_32: - return (uint8_t[]){V_008F0C_BUF_DATA_FORMAT_32, V_008F0C_BUF_DATA_FORMAT_32_32, - V_008F0C_BUF_DATA_FORMAT_32_32_32, V_008F0C_BUF_DATA_FORMAT_32_32_32_32}[num_channels - 1]; + return std::array{V_008F0C_BUF_DATA_FORMAT_32, + V_008F0C_BUF_DATA_FORMAT_32_32, + V_008F0C_BUF_DATA_FORMAT_32_32_32, + V_008F0C_BUF_DATA_FORMAT_32_32_32_32}[num_channels - 1]; } unreachable("shouldn't reach here"); return V_008F0C_BUF_DATA_FORMAT_INVALID; diff --git a/src/amd/compiler/aco_optimizer.cpp b/src/amd/compiler/aco_optimizer.cpp index 123963296d4..3e9d79d6fd1 100644 --- a/src/amd/compiler/aco_optimizer.cpp +++ b/src/amd/compiler/aco_optimizer.cpp @@ -26,6 +26,7 @@ */ #include +#include #include #include "aco_ir.h" @@ -2266,10 +2267,10 @@ bool combine_salu_lshl_add(opt_ctx& ctx, aco_ptr& instr) instr->operands[0] = op2_instr->operands[0]; ctx.info[instr->definitions[0].tempId()].label = 0; - instr->opcode = ((aco_opcode[]){aco_opcode::s_lshl1_add_u32, - aco_opcode::s_lshl2_add_u32, - aco_opcode::s_lshl3_add_u32, - aco_opcode::s_lshl4_add_u32})[shift - 1]; + instr->opcode = std::array{aco_opcode::s_lshl1_add_u32, + aco_opcode::s_lshl2_add_u32, + aco_opcode::s_lshl3_add_u32, + aco_opcode::s_lshl4_add_u32}[shift - 1]; return true; } diff --git a/src/amd/compiler/aco_spill.cpp b/src/amd/compiler/aco_spill.cpp index 0fd13d6d76c..42fb2cbc229 100644 --- a/src/amd/compiler/aco_spill.cpp +++ b/src/amd/compiler/aco_spill.cpp @@ -316,7 +316,7 @@ void get_rematerialize_info(spill_ctx& ctx) if (logical && should_rematerialize(instr)) { for (const Definition& def : instr->definitions) { if (def.isTemp()) { - ctx.remat[def.getTemp()] = (remat_info){instr.get()}; + ctx.remat[def.getTemp()] = remat_info{instr.get()}; ctx.remat_used[instr.get()] = false; } }