From 9ec3591cba034c799df52ffbc3f1dda423bc4f98 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Wed, 15 Jul 2020 15:54:27 +0100 Subject: [PATCH] overflow detection in mullw and mulld off-by-one --- openpower/isa/fixedarith.mdwn | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/openpower/isa/fixedarith.mdwn b/openpower/isa/fixedarith.mdwn index 1931c72ec..5f556607e 100644 --- a/openpower/isa/fixedarith.mdwn +++ b/openpower/isa/fixedarith.mdwn @@ -350,8 +350,8 @@ Pseudo-code: prod[0:63] <- MULS((RA)[32:63], (RB)[32:63]) RT <- prod - overflow <- ((prod[0:31] != 0x0000_0000) & - (prod[0:31] != 0xffff_ffff)) + overflow <- ((prod[0:32] != 0x0_0000_0000) & + (prod[0:32] != 0x1_ffff_ffff)) Special Registers Altered: @@ -564,8 +564,8 @@ Pseudo-code: prod[0:127] <- MULS((RA), (RB)) RT <- prod[64:127] - overflow <- ((prod[0:63] != 0x0000_0000_0000_0000) & - (prod[0:63] != 0xffff_ffff_ffff_ffff)) + overflow <- ((prod[0:64] != 0x0_0000_0000_0000_0000) & + (prod[0:64] != 0x1_ffff_ffff_ffff_ffff)) Special Registers Altered: -- 2.30.2