simX floating-point fixes and refactoring
This commit is contained in:
31
simX/warp.h
31
simX/warp.h
@@ -7,6 +7,9 @@
|
||||
|
||||
namespace vortex {
|
||||
|
||||
class Core;
|
||||
class Instr;
|
||||
class Pipeline;
|
||||
struct DomStackEntry {
|
||||
DomStackEntry(const ThreadMask &tmask, Word PC)
|
||||
: tmask(tmask)
|
||||
@@ -34,14 +37,11 @@ struct vtype {
|
||||
int vsew;
|
||||
int vlmul;
|
||||
};
|
||||
|
||||
class Core;
|
||||
class Instr;
|
||||
class trace_inst_t;
|
||||
|
||||
class Warp {
|
||||
public:
|
||||
Warp(Core *core, Word id = 0);
|
||||
Warp(Core *core, Word id);
|
||||
|
||||
void clear();
|
||||
|
||||
bool active() const {
|
||||
return active_;
|
||||
@@ -57,12 +57,6 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
void printStats() const;
|
||||
|
||||
Core *core() {
|
||||
return core_;
|
||||
}
|
||||
|
||||
Word id() const {
|
||||
return id_;
|
||||
}
|
||||
@@ -80,11 +74,15 @@ public:
|
||||
active_ = tmask_.any();
|
||||
}
|
||||
|
||||
void step(trace_inst_t *);
|
||||
Word getIRegValue(int reg) const {
|
||||
return iRegFile_[0][reg];
|
||||
}
|
||||
|
||||
void step(Pipeline *);
|
||||
|
||||
private:
|
||||
|
||||
void execute(Instr &instr, trace_inst_t *);
|
||||
void execute(const Instr &instr, Pipeline *);
|
||||
|
||||
Word id_;
|
||||
bool active_;
|
||||
@@ -100,11 +98,6 @@ private:
|
||||
|
||||
struct vtype vtype_;
|
||||
int vl_;
|
||||
|
||||
unsigned long steps_;
|
||||
unsigned long insts_;
|
||||
unsigned long loads_;
|
||||
unsigned long stores_;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user