Changeset 3132


Ignore:
Timestamp:
May 12, 2013, 2:47:13 PM (6 years ago)
Author:
cameron
Message:

Compiler fix for atEOF() at block boundary.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/Compiler/pablo.py

    r3128 r3132  
    381381        # Non final block: atEOF(x) = 0.
    382382        return mkCall('simd<1>::constant<0>', [])
    383       else: return mkCall('simd_and', [mkCall('simd_andc', [callnode.args[0], ast.Name('EOF_mask', ast.Load())]),
    384                                        mkCall('bitblock::slli<1>', [ast.Name('EOF_mask', ast.Load())])])
     383      else:
     384        mask1 = mkCall('bitblock::slli<1>', [mkCall('simd_not', [ast.Name('EOF_mask', ast.Load())])])
     385        return mkCall('simd_andc', [mkCall('simd_andc', [callnode.args[0], ast.Name('EOF_mask', ast.Load())]), mask1])
    385386    elif is_BuiltIn_Call(callnode, 'inFile', 1):
    386387      if self.carryout != "": 
Note: See TracChangeset for help on using the changeset viewer.