i965/fs: Clean up FBH code.
authorMatt Turner <mattst88@gmail.com>
Mon, 26 Oct 2015 18:35:57 +0000 (11:35 -0700)
committerMatt Turner <mattst88@gmail.com>
Mon, 2 Nov 2015 17:33:31 +0000 (09:33 -0800)
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/mesa/drivers/dri/i965/brw_fs_nir.cpp

index 24ff5afc43ca9eb6aa4195d2b60f19f3b5b44a8a..7eeff93e465ea63c88ab19d2b70ee1b6aea11f90 100644 (file)
@@ -906,12 +906,11 @@ fs_visitor::nir_emit_alu(const fs_builder &bld, nir_alu_instr *instr)
        * from the LSB side. If FBH didn't return an error (0xFFFFFFFF), then
        * subtract the result from 31 to convert the MSB count into an LSB count.
        */
-
       bld.CMP(bld.null_reg_d(), result, fs_reg(-1), BRW_CONDITIONAL_NZ);
-      fs_reg neg_result(result);
-      neg_result.negate = true;
-      inst = bld.ADD(result, neg_result, fs_reg(31));
+
+      inst = bld.ADD(result, result, fs_reg(31));
       inst->predicate = BRW_PREDICATE_NORMAL;
+      inst->src[0].negate = true;
       break;
    }