Ignore:
Timestamp:
Apr 14, 2013, 12:04:55 PM (6 years ago)
Author:
cameron
Message:

Fixes for multicarry while mode.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/Compiler/CCGO_While.py

    r3018 r3020  
    6666          if dpth == 0: inits.append("Test%i = simd<1>::constant<0>()" % b)
    6767          else: inits.append("TestVector%i = simd<1>::constant<0>()" % b)
    68         return "".join(["BitBlock %s;\n" % i  for i in inits])
     68        return "".join(["%s;\n" % i  for i in inits])
    6969
    7070    def GenerateStreamFunctionDecls(self):
     
    109109    def GenerateCarryIfTest(self, block_no, ifTest):
    110110        if self.carryInfoSet.whileDepth(block_no) == 0: v = mkast.var("Test%i" % block_no)
    111         else: v = mkast.var("TestVector%i" % block_no)
     111        else: v = mkast.call("Dequeue_bit", [mkast.var("TestVector%i" % block_no)])
    112112        return mkast.TestHelper_Bitblock_Or(ifTest, v)
    113113
     
    132132    def GenerateLocalDeclare(self, block_no):
    133133       return [mkast.assign([mkast.var("iterCount%i" % block_no)],
    134                             ast.BinOp(mkast.var("iterCount%i" % block_no), ast.Add(), ast.Num(1)))]
     134                            ast.BinOp(mkast.var("iterCount%i" % block_no), ast.Add(), ast.Num(1))),
     135               mkast.assign([mkast.var("TestVector%i" % block_no)],
     136                            mkast.call("simd<64>::srli<1>", [mkast.var("TestVector%i" % block_no)]))]
    135137    def GenerateCarryWhileTest(self, block_no, testExpr):
    136138        return mkast.TestHelper_Bitblock_Or(testExpr, mkast.var("TestVector%i" % block_no))
Note: See TracChangeset for help on using the changeset viewer.