Ignore:
Timestamp:
Aug 7, 2015, 10:04:46 AM (4 years ago)
Author:
cameron
Message:

Mod64Advance, Mod64MatchStar, Mod64ScanThru ops; -mod64-approximate command-line option

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/pablo/pe_scanthru.h

    r4716 r4717  
    3535        return localCarryIndex;
    3636    }
    37     inline void setMod64() {
    38         isMod64approx = true;
    39     }
    40     inline bool isMod64() const {
    41         return isMod64approx;
    42     }
    4337protected:
    4438    ScanThru(PabloAST * from, PabloAST * thru, String * name)
    4539    : Statement(ClassTypeId::ScanThru, {from, thru}, name)
    46     , isMod64approx(false)
    4740    {
    4841
    4942    }
    5043private:
    51     bool isMod64approx;
    5244    unsigned localCarryIndex;
     45};
     46
     47class Mod64ScanThru : public Statement {
     48    friend class PabloBlock;
     49public:
     50    static inline bool classof(const PabloAST * e) {
     51        return e->getClassTypeId() == ClassTypeId::Mod64ScanThru;
     52    }
     53    static inline bool classof(const void *) {
     54        return false;
     55    }
     56    virtual ~Mod64ScanThru() {
     57    }
     58    PabloAST * getScanFrom() const {
     59        return getOperand(0);
     60    }
     61    PabloAST * getScanThru() const {
     62        return getOperand(1);
     63    }
     64protected:
     65    Mod64ScanThru(PabloAST * from, PabloAST * thru, String * name)
     66    : Statement(ClassTypeId::Mod64ScanThru, {from, thru}, name)
     67    {
     68
     69    }
    5370};
    5471
Note: See TracChangeset for help on using the changeset viewer.