r600/sb: Fix an &/&& mistake
authorAdam Jackson <ajax@redhat.com>
Tue, 21 Jul 2015 16:08:20 +0000 (12:08 -0400)
committerAdam Jackson <ajax@redhat.com>
Tue, 21 Jul 2015 17:38:27 +0000 (13:38 -0400)
gcc says:

    sb/sb_sched.cpp: In member function 'bool r600_sb::alu_group_tracker::try_reserve(r600_sb::alu_node*)':
    sb/sb_sched.cpp:492:7: warning: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Wparentheses]
      if (!trans & fbs)

It happens to be harmless; if fbs is ever non-zero, it will be VEC_210,
which is 5, so (!trans & 5) == 1 and the branch works as expected.  But
logical AND is clearly what was meant.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
src/gallium/drivers/r600/sb/sb_sched.cpp

index 2e38a62..6268078 100644 (file)
@@ -489,7 +489,7 @@ bool alu_group_tracker::try_reserve(alu_node* n) {
 
        n->bc.bank_swizzle = 0;
 
-       if (!trans & fbs)
+       if (!trans && fbs)
                n->bc.bank_swizzle = VEC_210;
 
        if (gpr.try_reserve(n)) {