i965/fs: Rearrange code to remove most of the gotos
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
parent
77f269bb56
commit
f2d8bb7a7b
|
@ -55,15 +55,11 @@ cmod_propagate_cmp_to_add(const gen_device_info *devinfo, bblock_t *block,
|
||||||
bool read_flag = false;
|
bool read_flag = false;
|
||||||
|
|
||||||
foreach_inst_in_block_reverse_starting_from(fs_inst, scan_inst, inst) {
|
foreach_inst_in_block_reverse_starting_from(fs_inst, scan_inst, inst) {
|
||||||
/* The extra scope is to prevent compiler errors for gotos crossing a
|
if (scan_inst->opcode == BRW_OPCODE_ADD &&
|
||||||
* variable initializer (cond, below).
|
!scan_inst->is_partial_write() &&
|
||||||
*/
|
scan_inst->exec_size == inst->exec_size) {
|
||||||
{
|
|
||||||
bool negate;
|
bool negate;
|
||||||
|
|
||||||
if (scan_inst->opcode != BRW_OPCODE_ADD)
|
|
||||||
goto not_match;
|
|
||||||
|
|
||||||
/* A CMP is basically a subtraction. The result of the
|
/* A CMP is basically a subtraction. The result of the
|
||||||
* subtraction must be the same as the result of the addition.
|
* subtraction must be the same as the result of the addition.
|
||||||
* This means that one of the operands must be negated. So (a +
|
* This means that one of the operands must be negated. So (a +
|
||||||
|
@ -83,10 +79,6 @@ cmod_propagate_cmp_to_add(const gen_device_info *devinfo, bblock_t *block,
|
||||||
goto not_match;
|
goto not_match;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (scan_inst->is_partial_write() ||
|
|
||||||
scan_inst->exec_size != inst->exec_size)
|
|
||||||
goto not_match;
|
|
||||||
|
|
||||||
/* From the Sky Lake PRM Vol. 7 "Assigning Conditional Mods":
|
/* From the Sky Lake PRM Vol. 7 "Assigning Conditional Mods":
|
||||||
*
|
*
|
||||||
* * Note that the [post condition signal] bits generated at
|
* * Note that the [post condition signal] bits generated at
|
||||||
|
|
Loading…
Reference in New Issue