diff options
author | Marek Olšák <[email protected]> | 2011-07-15 20:52:16 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2011-07-15 21:48:28 +0200 |
commit | ed5e95ada6aa310266eb0969ac7d721c3664f1d1 (patch) | |
tree | d5f8a33d62ffcebed4850d9cef8dde2cd21c9dee | |
parent | 2ce6c3ea6e66a708aefba36358fa43f2f312c42f (diff) |
r300/compiler: remove an unused-but-set variable and simplify the code
-rw-r--r-- | src/mesa/drivers/dri/r300/compiler/radeon_optimize.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c b/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c index ac73608839e..b24274259f4 100644 --- a/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c +++ b/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c @@ -560,7 +560,7 @@ static int peephole_add_presub_add( struct radeon_compiler * c, struct rc_instruction * inst_add) { - struct rc_src_register * src0 = NULL; + unsigned dstmask = inst_add->U.I.DstReg.WriteMask; struct rc_src_register * src1 = NULL; unsigned int i; @@ -570,18 +570,15 @@ static int peephole_add_presub_add( if (inst_add->U.I.SrcReg[0].Swizzle != inst_add->U.I.SrcReg[1].Swizzle) return 0; - /* src0 and src1 can't have absolute values only one can be negative and they must be all negative or all positive. */ + /* XXX This isn't fully implemented, is it? */ + /* src0 and src1 can't have absolute values only one can be negative and they must be all negative or all positive. */ for (i = 0; i < 2; i++) { if (inst_add->U.I.SrcReg[i].Abs) return 0; - if ((inst_add->U.I.SrcReg[i].Negate - & inst_add->U.I.DstReg.WriteMask) == - inst_add->U.I.DstReg.WriteMask) { - src0 = &inst_add->U.I.SrcReg[i]; - } else if (!src1) { + + /* XXX This looks weird, but it's basically what was here before this commit (see git blame): */ + if ((inst_add->U.I.SrcReg[i].Negate & dstmask) != dstmask && !src1) { src1 = &inst_add->U.I.SrcReg[i]; - } else { - src0 = &inst_add->U.I.SrcReg[i]; } } |