Message ID | 4AF3000C.8080607@gmail.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
From: Roel Kluin <roel.kluin@gmail.com> Date: Thu, 05 Nov 2009 17:40:44 +0100 > `>>' has a higher precedence than `?' so src2 evaluated to > either 16 or 0 dependent on the bits set in rs2. > > Signed-off-by: Roel Kluin <roel.kluin@gmail.com> > --- > arch/sparc/kernel/visemul.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > I am not 100% sure that the code was incorrect, however, if it > was intended I think it is a very strange way to write it. Your fix is correct, thanks Roel! I really need to write a testsuite for this VIS emulation code. -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/sparc/kernel/visemul.c b/arch/sparc/kernel/visemul.c index b956fd7..d231cbd 100644 --- a/arch/sparc/kernel/visemul.c +++ b/arch/sparc/kernel/visemul.c @@ -617,7 +617,7 @@ static void pmul(struct pt_regs *regs, unsigned int insn, unsigned int opf) rs2 = fps_regval(f, RS2(insn)); rd_val = 0; - src2 = (rs2 >> (opf == FMUL8x16AU_OPF) ? 16 : 0); + src2 = rs2 >> (opf == FMUL8x16AU_OPF ? 16 : 0); for (byte = 0; byte < 4; byte++) { u16 src1 = (rs1 >> (byte * 8)) & 0x00ff; u32 prod = src1 * src2;
`>>' has a higher precedence than `?' so src2 evaluated to either 16 or 0 dependent on the bits set in rs2. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> --- arch/sparc/kernel/visemul.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) I am not 100% sure that the code was incorrect, however, if it was intended I think it is a very strange way to write it. Roel -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html