arch-arm: python3 "/" will always produce a float
authorGiacomo Travaglini <giacomo.travaglini@arm.com>
Mon, 2 Mar 2020 11:56:45 +0000 (11:56 +0000)
committerGiacomo Travaglini <giacomo.travaglini@arm.com>
Tue, 10 Mar 2020 09:35:56 +0000 (09:35 +0000)
"/" was ambiguous in python2 and was producing a floor (integer)
division if the operands were int or long.
In python3 "/" will always produce a float which makes it unsuitable
in cases where an integer is expected

PEP238: https://www.python.org/dev/peps/pep-0238/

Change-Id: I481cf1e9c0f95a6f47ecf6539eee0c9bcaf31e17
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/26247
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/arch/arm/isa/insts/macromem.isa
src/arch/arm/isa/insts/neon64.isa

index 6f507b9b1991d77360a5f2b8786fa064e8789681..1b9cdf7e8dc9bad3048b2bdd004d5d79477b5227 100644 (file)
@@ -580,7 +580,7 @@ let {{
     exec_output = ''
     for typeSize in (8, 16, 32):
         for sRegs in 1, 2:
-            for dRegs in range(sRegs, min(sRegs * 64 / typeSize + 1, 5)):
+            for dRegs in range(sRegs, min(sRegs * 64 // typeSize + 1, 5)):
                 for format in ("MicroUnpackNeon%(sRegs)dto%(dRegs)dUop",
                                "MicroUnpackAllNeon%(sRegs)dto%(dRegs)dUop",
                                "MicroPackNeon%(dRegs)dto%(sRegs)dUop"):
index 8173cc0f506a93a6bb4760614d6d506360a4053a..e1b0f441e3040a8a3613cbc70a6aeeb971478ab2 100644 (file)
@@ -552,7 +552,7 @@ let {{
         %(op)s
         destReg.elements[0] = htole(destElem);
         ''' % { "op" : op }
-        destCnt = rCount / 2
+        destCnt = rCount // 2
         for reg in range(destCnt):
             eWalkCode += '''
         AA64FpDestP%(reg)d_uw = letoh(destReg.regs[%(reg)d]);