Message ID | 20200330121345.14665-1-f4bug@amsat.org |
---|---|
State | New |
Headers | show |
Series | [PATCH-for-5.0?] decodetree: Use Python3 floor division operator | expand |
On Mon, 30 Mar 2020 at 13:14, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote: > > This script started using Python2, where the 'classic' division > operator returns the floor result. In commit 3d004a371 we started > to use Python3, where the division operator returns the float > result ('true division'). > To keep the same behavior, use the 'floor division' operator "//" > which returns the floor result. > > Fixes: 3d004a371 > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > We didn't notice it because only the RX port (which uses the > --varinsnwidth option, and got merged very recently) triggers > these problems. > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Ouch. That's a painfully hard to detect incompatibility between 2 and 3 :-( thanks -- PMM
On 3/30/20 5:13 AM, Philippe Mathieu-Daudé wrote: > This script started using Python2, where the 'classic' division > operator returns the floor result. In commit 3d004a371 we started > to use Python3, where the division operator returns the float > result ('true division'). > To keep the same behavior, use the 'floor division' operator "//" > which returns the floor result. > > Fixes: 3d004a371 > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > We didn't notice it because only the RX port (which uses the > --varinsnwidth option, and got merged very recently) triggers > these problems. > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > scripts/decodetree.py | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
On 3/30/20 10:14 AM, Richard Henderson wrote: > On 3/30/20 5:13 AM, Philippe Mathieu-Daudé wrote: >> This script started using Python2, where the 'classic' division >> operator returns the floor result. In commit 3d004a371 we started >> to use Python3, where the division operator returns the float >> result ('true division'). >> To keep the same behavior, use the 'floor division' operator "//" >> which returns the floor result. >> >> Fixes: 3d004a371 >> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> >> --- >> We didn't notice it because only the RX port (which uses the >> --varinsnwidth option, and got merged very recently) triggers >> these problems. >> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> >> --- >> scripts/decodetree.py | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> > > Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Queued to tcg-next for 5.0. r~
20:47 Pon, 30.03.2020. Richard Henderson <rth@twiddle.net> је написао/ла: > > On 3/30/20 10:14 AM, Richard Henderson wrote: > > On 3/30/20 5:13 AM, Philippe Mathieu-Daudé wrote: > >> This script started using Python2, where the 'classic' division > >> operator returns the floor result. In commit 3d004a371 we started > >> to use Python3, where the division operator returns the float > >> result ('true division'). > >> To keep the same behavior, use the 'floor division' operator "//" > >> which returns the floor result. > >> > >> Fixes: 3d004a371 > >> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > >> --- > >> We didn't notice it because only the RX port (which uses the > >> --varinsnwidth option, and got merged very recently) triggers > >> these problems. > >> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > >> --- > >> scripts/decodetree.py | 4 ++-- > >> 1 file changed, 2 insertions(+), 2 deletions(-) > >> > > > > Reviewed-by: Richard Henderson <richard.henderson@linaro.org> > > Queued to tcg-next for 5.0. > Richard, great, could you please pick up the LMI patch from the other day together with this patch in your tcg-5.0 queue? Yours, Aleksandar > > r~ > >
On 3/30/20 4:28 PM, Aleksandar Markovic wrote: > Richard, great, could you please pick up the LMI patch from the other day > together with this patch in your tcg-5.0 queue? Yes, I've got it. r~
diff --git a/scripts/decodetree.py b/scripts/decodetree.py index 2a8f2b6e06..46ab917807 100755 --- a/scripts/decodetree.py +++ b/scripts/decodetree.py @@ -1025,7 +1025,7 @@ def output_code(self, i, extracted, outerbits, outermask): if extracted < self.width: output(ind, 'insn = ', decode_function, '_load_bytes(ctx, insn, {0}, {1});\n' - .format(extracted / 8, self.width / 8)); + .format(extracted // 8, self.width // 8)); extracted = self.width # Attempt to aid the compiler in producing compact switch statements. @@ -1079,7 +1079,7 @@ def output_code(self, i, extracted, outerbits, outermask): if extracted < self.width: output(ind, 'insn = ', decode_function, '_load_bytes(ctx, insn, {0}, {1});\n' - .format(extracted / 8, self.width / 8)); + .format(extracted // 8, self.width // 8)); extracted = self.width output(ind, 'return insn;\n') # end SizeLeaf