From c883c482be2ab4ab65e4905a447a0edf3e18418b Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Wed, 15 Jul 2020 15:12:57 -0700 Subject: [PATCH] intel/compiler: Relax SENDS regioning assertions The next commit fixes a mistake in the assembler and ends up running afoul of this assertion. Reviewed-by: Sagar Ghuge Part-of: --- src/intel/compiler/brw_eu_emit.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/intel/compiler/brw_eu_emit.c b/src/intel/compiler/brw_eu_emit.c index 7e9967144a6..0d5c755f9e8 100644 --- a/src/intel/compiler/brw_eu_emit.c +++ b/src/intel/compiler/brw_eu_emit.c @@ -237,7 +237,7 @@ brw_set_src0(struct brw_codegen *p, brw_inst *inst, struct brw_reg reg) assert(reg.file != BRW_IMMEDIATE_VALUE); assert(reg.address_mode == BRW_ADDRESS_DIRECT); assert(reg.subnr == 0); - assert(brw_inst_exec_size(devinfo, inst) == BRW_EXECUTE_1 || + assert(has_scalar_region(reg) || (reg.hstride == BRW_HORIZONTAL_STRIDE_1 && reg.vstride == reg.width + 1)); assert(!reg.negate && !reg.abs); @@ -249,8 +249,9 @@ brw_set_src0(struct brw_codegen *p, brw_inst *inst, struct brw_reg reg) assert(reg.file == BRW_GENERAL_REGISTER_FILE); assert(reg.address_mode == BRW_ADDRESS_DIRECT); assert(reg.subnr % 16 == 0); - assert(reg.hstride == BRW_HORIZONTAL_STRIDE_1 && - reg.vstride == reg.width + 1); + assert(has_scalar_region(reg) || + (reg.hstride == BRW_HORIZONTAL_STRIDE_1 && + reg.vstride == reg.width + 1)); assert(!reg.negate && !reg.abs); brw_inst_set_src0_da_reg_nr(devinfo, inst, reg.nr); brw_inst_set_src0_da16_subreg_nr(devinfo, inst, reg.subnr / 16); @@ -357,7 +358,7 @@ brw_set_src1(struct brw_codegen *p, brw_inst *inst, struct brw_reg reg) reg.file == BRW_ARCHITECTURE_REGISTER_FILE); assert(reg.address_mode == BRW_ADDRESS_DIRECT); assert(reg.subnr == 0); - assert(brw_inst_exec_size(devinfo, inst) == BRW_EXECUTE_1 || + assert(has_scalar_region(reg) || (reg.hstride == BRW_HORIZONTAL_STRIDE_1 && reg.vstride == reg.width + 1)); assert(!reg.negate && !reg.abs);