use MemOperand instead of Reg32e
This commit is contained in:
parent
209ada4b10
commit
0fe89e3df9
3 changed files with 24 additions and 9 deletions
|
@ -37,8 +37,12 @@ private:
|
|||
size_t constTblPos_;
|
||||
int regIdx_;
|
||||
Map varMap_; // map var name to index
|
||||
const Xbyak::Reg32e& valTbl_;
|
||||
const Xbyak::Reg32e& tbl_;
|
||||
const Xbyak::MemOperand& valTbl_;
|
||||
#ifdef XBYAK32
|
||||
const Xbyak::Reg32& tbl_;
|
||||
#else
|
||||
const Xbyak::Reg64& tbl_;
|
||||
#endif
|
||||
public:
|
||||
/*
|
||||
@param y [out] the value of f(var)
|
||||
|
@ -80,7 +84,7 @@ public:
|
|||
if (constTblPos_ >= MAX_CONST_NUM) throw;
|
||||
constTbl_[constTblPos_] = n;
|
||||
if (regIdx_ == 7) throw;
|
||||
movsd(Xbyak::Xmm(++regIdx_), ptr[tbl_ + constTblPos_ * sizeof(double)]);
|
||||
movsd(Xbyak::Xmm(++regIdx_), ptr[tbl_ + constTblPos_ * (int)sizeof(double)]);
|
||||
constTblPos_++;
|
||||
}
|
||||
// use eax
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue