opcode = &instr_info.opcode_gfx7[0];
else if (chip_class <= GFX9)
opcode = &instr_info.opcode_gfx9[0];
- else if (chip_class == GFX10)
+ else if (chip_class >= GFX10)
opcode = &instr_info.opcode_gfx10[0];
}
instr->opcode == aco_opcode::v_interp_p2_f16) {
if (ctx.chip_class == GFX8 || ctx.chip_class == GFX9) {
encoding = (0b110100 << 26);
- } else if (ctx.chip_class == GFX10) {
+ } else if (ctx.chip_class >= GFX10) {
encoding = (0b110101 << 26);
} else {
unreachable("Unknown chip_class.");
uint32_t encoding;
if (ctx.chip_class <= GFX9) {
encoding = (0b110100 << 26);
- } else if (ctx.chip_class == GFX10) {
+ } else if (ctx.chip_class >= GFX10) {
encoding = (0b110101 << 26);
} else {
unreachable("Unknown chip_class.");
uint32_t encoding;
if (ctx.chip_class == GFX9) {
encoding = (0b110100111 << 23);
- } else if (ctx.chip_class == GFX10) {
+ } else if (ctx.chip_class >= GFX10) {
encoding = (0b110011 << 26);
} else {
unreachable("Unknown chip_class.");
{
if (ctx.program->chip_class <= GFX7)
emit_gfx6_bpermute(program, instr, bld);
- else if (ctx.program->chip_class == GFX10 && ctx.program->wave_size == 64)
+ else if (ctx.program->chip_class >= GFX10 && ctx.program->wave_size == 64)
emit_gfx10_wave64_bpermute(program, instr, bld);
else
unreachable("Current hardware supports ds_bpermute, don't emit p_bpermute.");
/* mask out src2 on v_writelane_b32 */
if (((program->chip_class == GFX8 || program->chip_class == GFX9) && (binary[pos] & 0xffff8000) == 0xd28a0000) ||
- (program->chip_class == GFX10 && (binary[pos] & 0xffff8000) == 0xd7610000)) {
+ (program->chip_class >= GFX10 && (binary[pos] & 0xffff8000) == 0xd7610000)) {
binary[pos+1] = binary[pos+1] & 0xF803FFFF;
}
bool has_literal = program->chip_class >= GFX10 &&
(((binary[pos+1] & 0x1ff) == 0xff) || (((binary[pos+1] >> 9) & 0x1ff) == 0xff));
new_pos = pos + 2 + has_literal;
- } else if (program->chip_class == GFX10 && l == 4 && ((binary[pos] & 0xfe0001ff) == 0x020000f9)) {
+ } else if (program->chip_class >= GFX10 && l == 4 && ((binary[pos] & 0xfe0001ff) == 0x020000f9)) {
out << std::left << std::setw(align_width) << std::setfill(' ') << "\tv_cndmask_b32 + sdwa";
new_pos = pos + 2;
} else if (!l) {