intel/compiler: Don't emit no-op cr0 changes
authorMatt Turner <mattst88@gmail.com>
Fri, 19 Jun 2020 19:33:31 +0000 (12:33 -0700)
committerMarge Bot <eric+marge@anholt.net>
Thu, 2 Jul 2020 01:24:06 +0000 (01:24 +0000)
If mask is 0, we're asking for no changes to cr0.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5566>

src/intel/compiler/brw_fs_visitor.cpp

index bf8e615a274521f4bdff61605dbdc641e8a07f53..5e06f10a0f40942297e4d9db558c7934b3ed193f 100644 (file)
@@ -258,6 +258,9 @@ fs_visitor::emit_shader_float_controls_execution_mode()
    fs_builder abld = bld.annotate("shader floats control execution mode");
    unsigned mask, mode = brw_rnd_mode_from_nir(execution_mode, &mask);
 
    fs_builder abld = bld.annotate("shader floats control execution mode");
    unsigned mask, mode = brw_rnd_mode_from_nir(execution_mode, &mask);
 
+   if (mask == 0)
+      return;
+
    abld.emit(SHADER_OPCODE_FLOAT_CONTROL_MODE, bld.null_reg_ud(),
              brw_imm_d(mode), brw_imm_d(mask));
 }
    abld.emit(SHADER_OPCODE_FLOAT_CONTROL_MODE, bld.null_reg_ud(),
              brw_imm_d(mode), brw_imm_d(mask));
 }