Mesa (master): r600/sb: Fix an &/&& mistake

Adam Jackson ajax at kemper.freedesktop.org
Tue Jul 21 17:39:00 UTC 2015


Module: Mesa
Branch: master
Commit: 5b4a7ec8f1d2eee12895541bb5c7d15382370884
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5b4a7ec8f1d2eee12895541bb5c7d15382370884

Author: Adam Jackson <ajax at redhat.com>
Date:   Tue Jul 21 12:08:20 2015 -0400

r600/sb: Fix an &/&& mistake

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 at amd.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>

---

 src/gallium/drivers/r600/sb/sb_sched.cpp |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/r600/sb/sb_sched.cpp b/src/gallium/drivers/r600/sb/sb_sched.cpp
index 2e38a62..6268078 100644
--- a/src/gallium/drivers/r600/sb/sb_sched.cpp
+++ b/src/gallium/drivers/r600/sb/sb_sched.cpp
@@ -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)) {




More information about the mesa-commit mailing list