diff mbox series

decodetree: Fix comparison of Field

Message ID 20190604154225.26992-1-richard.henderson@linaro.org
State Superseded
Headers show
Series decodetree: Fix comparison of Field | expand

Commit Message

Richard Henderson June 4, 2019, 3:42 p.m. UTC
Typo comparing the sign of the field, twice, instead of also comparing
the mask of the field (which itself encodes both position and length).

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

---
 scripts/decodetree.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.17.1

Comments

Peter Maydell June 4, 2019, 4:12 p.m. UTC | #1
On Tue, 4 Jun 2019 at 16:42, Richard Henderson
<richard.henderson@linaro.org> wrote:
>

> Typo comparing the sign of the field, twice, instead of also comparing

> the mask of the field (which itself encodes both position and length).

>

> Reported-by: Peter Maydell <peter.maydell@linaro.org>

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

> ---

>  scripts/decodetree.py | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

>

> diff --git a/scripts/decodetree.py b/scripts/decodetree.py

> index 81874e22cc..d7a59d63ac 100755

> --- a/scripts/decodetree.py

> +++ b/scripts/decodetree.py

> @@ -184,7 +184,7 @@ class Field:

>          return '{0}(insn, {1}, {2})'.format(extr, self.pos, self.len)

>

>      def __eq__(self, other):

> -        return self.sign == other.sign and self.sign == other.sign

> +        return self.sign == other.sign and self.mask == other.mask

>

>      def __ne__(self, other):

>          return not self.__eq__(other)

> --


Reviewed-by: Peter Maydell <peter.maydell@linaro.org>


This fixes the problems I was seeing with the VFP decodetree
conversion I was working on.

thanks
-- PMM
Philippe Mathieu-Daudé June 11, 2019, 11:38 a.m. UTC | #2
On 6/4/19 5:42 PM, Richard Henderson wrote:
> Typo comparing the sign of the field, twice, instead of also comparing

> the mask of the field (which itself encodes both position and length).

> 

> Reported-by: Peter Maydell <peter.maydell@linaro.org>

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

> ---

>  scripts/decodetree.py | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/scripts/decodetree.py b/scripts/decodetree.py

> index 81874e22cc..d7a59d63ac 100755

> --- a/scripts/decodetree.py

> +++ b/scripts/decodetree.py

> @@ -184,7 +184,7 @@ class Field:

>          return '{0}(insn, {1}, {2})'.format(extr, self.pos, self.len)

>  

>      def __eq__(self, other):

> -        return self.sign == other.sign and self.sign == other.sign

> +        return self.sign == other.sign and self.mask == other.mask


Argh

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


>  

>      def __ne__(self, other):

>          return not self.__eq__(other)

>
diff mbox series

Patch

diff --git a/scripts/decodetree.py b/scripts/decodetree.py
index 81874e22cc..d7a59d63ac 100755
--- a/scripts/decodetree.py
+++ b/scripts/decodetree.py
@@ -184,7 +184,7 @@  class Field:
         return '{0}(insn, {1}, {2})'.format(extr, self.pos, self.len)
 
     def __eq__(self, other):
-        return self.sign == other.sign and self.sign == other.sign
+        return self.sign == other.sign and self.mask == other.mask
 
     def __ne__(self, other):
         return not self.__eq__(other)