本文整理汇总了C++中STORE_RESULT函数的典型用法代码示例。如果您正苦于以下问题:C++ STORE_RESULT函数的具体用法?C++ STORE_RESULT怎么用?C++ STORE_RESULT使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了STORE_RESULT函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RSP_VNAND
void RSP_VNAND(RSP::CPUState *rsp, unsigned vd, unsigned vs, unsigned vt, unsigned e)
{
uint16_t *acc = rsp->cp2.acc.e;
rsp_vect_t result = rsp_vnand(LOAD_VS(), LOAD_VT());
write_acc_lo(acc, result);
STORE_RESULT();
}
示例2: INPUT_VARIABLE
Nd4jStatus LegacyScalarOp::validateAndExecute(Context &block) {
auto x = INPUT_VARIABLE(0);
int offset = 0;
auto z = OUTPUT_VARIABLE(0);
int opNum = block.opNum() < 0 ? this->_opNum : block.opNum();
if (block.width() > 1) {
auto y = INPUT_VARIABLE(1);
y->printIndexedBuffer("scalar");
// FIXME
NativeOpExcutioner::execScalar(opNum, x->getBuffer(), x->getShapeInfo(), z->getBuffer(), z->getShapeInfo(), y->buffer(), y->shapeInfo(), block.getTArguments()->data());
} else if (block.getTArguments()->size() > 0) {
auto y = NDArrayFactory::create(x->dataType(), T_ARG(0), block.getWorkspace());
offset++;
// FIXME
NativeOpExcutioner::execScalar(opNum, x->getBuffer(), x->getShapeInfo(), z->getBuffer(), z->getShapeInfo(), y.buffer(), y.shapeInfo(), block.getTArguments()->data() + offset);
} else {
// FIXME
NativeOpExcutioner::execScalar(opNum, x->getBuffer(), x->getShapeInfo(), z->getBuffer(), z->getShapeInfo(), _scalar.buffer(), _scalar.shapeInfo(), block.getTArguments()->data());
}
STORE_RESULT(*z);
return Status::OK();
}
示例3: RSP_VMOV
//
// VMOV
//
void RSP_VMOV(RSP::CPUState *rsp, unsigned vd, unsigned vs, unsigned vt, unsigned e)
{
uint16_t *acc = rsp->cp2.acc.e;
unsigned de = vs & 0x7;
write_acc_lo(acc, LOAD_VT());
__m128i result = rsp_vmov(rsp, vt, e, vd, de);
STORE_RESULT();
}
示例4: rlf
static void rlf(void)
{
R.ALU = GET_REGFILE(ADDR);
R.ALU <<= 1;
if (R.STATUS & C_FLAG) R.ALU |= 1;
if (GET_REGFILE(ADDR) & 0x80) SET(C_FLAG);
else CLR(C_FLAG);
STORE_RESULT(ADDR, R.ALU);
}
示例5: rrf
static void rrf(void)
{
R.ALU = GET_REGFILE(ADDR);
R.ALU >>= 1;
if (R.STATUS & C_FLAG) R.ALU |= 0x80;
if (GET_REGFILE(ADDR) & 1) SET(C_FLAG);
else CLR(C_FLAG);
STORE_RESULT(ADDR, R.ALU);
}
示例6: subwf
static void subwf(void)
{
old_data = GET_REGFILE(ADDR);
R.ALU = old_data - R.W;
STORE_RESULT(ADDR, R.ALU);
CALCULATE_Z_FLAG();
CALCULATE_SUB_CARRY();
CALCULATE_SUB_DIGITCARRY();
}
示例7: GET_REGFILE
void pic16c62x_device::subwf()
{
m_old_data = GET_REGFILE(ADDR);
m_ALU = m_old_data - m_W;
STORE_RESULT(ADDR, m_ALU);
CALCULATE_Z_FLAG();
CALCULATE_SUB_CARRY();
CALCULATE_SUB_DIGITCARRY();
}
示例8: addwf
static void addwf(void)
{
old_data = GET_REGFILE(ADDR);
R.ALU = old_data + R.W;
STORE_RESULT(ADDR, R.ALU);
CALCULATE_Z_FLAG();
CALCULATE_ADD_CARRY();
CALCULATE_ADD_DIGITCARRY();
}
示例9: RSP_VADDC
//
// VADDC
//
void RSP_VADDC(RSP::CPUState *rsp, unsigned vd, unsigned vs, unsigned vt, unsigned e)
{
uint16_t *acc = rsp->cp2.acc.e;
rsp_vect_t sn;
rsp_vect_t result = rsp_vaddc(LOAD_VS(), LOAD_VT(), rsp_vzero(), &sn);
write_vco_hi(rsp->cp2.flags[RSP::RSP_VCO].e, rsp_vzero()); // TODO: Confirm.
write_vco_lo(rsp->cp2.flags[RSP::RSP_VCO].e, sn);
write_acc_lo(acc, result);
STORE_RESULT();
}
示例10: incfsz
static void incfsz(void)
{
R.ALU = GET_REGFILE(ADDR) + 1;
STORE_RESULT(ADDR, R.ALU);
if (R.ALU == 0)
{
R.PC++ ;
R.PCL = R.PC & 0xff;
inst_cycles += cycles_000_other[0]; /* Add NOP cycles */
}
}
示例11: RSP_VRSQ
void RSP_VRSQ(RSP::CPUState *rsp, unsigned vd, unsigned vs, unsigned vt, unsigned e)
{
uint16_t *acc = rsp->cp2.acc.e;
unsigned de = vs & 0x7;
e &= 0x7;
write_acc_lo(acc, LOAD_VT());
rsp->cp2.dp_flag = 0;
rsp_vect_t result = rsp_vrcp_vrsq<true>(rsp, 0, vt, e, vd, de);
STORE_RESULT();
}
示例12: RSP_VMULU
void RSP_VMULU(RSP::CPUState *rsp, unsigned vd, unsigned vs, unsigned vt, unsigned e)
{
uint16_t *acc = rsp->cp2.acc.e;
rsp_vect_t acc_lo, acc_md, acc_hi, result;
result = rsp_vmulf_vmulu<true>(LOAD_VS(), LOAD_VT(), rsp_vzero(), &acc_lo, &acc_md, &acc_hi);
write_acc_lo(acc, acc_lo);
write_acc_md(acc, acc_md);
write_acc_hi(acc, acc_hi);
STORE_RESULT();
}
示例13: RSP_VMRG
//
// VMRG
//
void RSP_VMRG(RSP::CPUState *rsp, unsigned vd, unsigned vs, unsigned vt, unsigned e)
{
uint16_t *acc = rsp->cp2.acc.e;
rsp_vect_t le;
le = read_vcc_lo(rsp->cp2.flags[RSP::RSP_VCC].e);
rsp_vect_t result = rsp_vmrg(LOAD_VS(), LOAD_VT(), le);
write_vco_hi(rsp->cp2.flags[RSP::RSP_VCO].e, rsp_vzero());
write_vco_lo(rsp->cp2.flags[RSP::RSP_VCO].e, rsp_vzero());
write_acc_lo(acc, result);
STORE_RESULT();
}
示例14: RSP_VSUBC
//
// VSUBC
//
void RSP_VSUBC(RSP::CPUState *rsp, unsigned vd, unsigned vs, unsigned vt, unsigned e)
{
uint16_t *acc = rsp->cp2.acc.e;
rsp_vect_t eq, sn;
rsp_vect_t result = rsp_vsubc(LOAD_VS(), LOAD_VT(), rsp_vzero(), &eq, &sn);
write_vco_hi(rsp->cp2.flags[RSP::RSP_VCO].e, eq);
write_vco_lo(rsp->cp2.flags[RSP::RSP_VCO].e, sn);
write_acc_lo(acc, result);
STORE_RESULT();
}
示例15: RSP_VADD
//
// VADD
//
void RSP_VADD(RSP::CPUState *rsp, unsigned vd, unsigned vs, unsigned vt, unsigned e)
{
uint16_t *acc = rsp->cp2.acc.e;
rsp_vect_t carry, acc_lo;
carry = read_vco_lo(rsp->cp2.flags[RSP::RSP_VCO].e);
rsp_vect_t result = rsp_vadd(LOAD_VS(), LOAD_VT(), carry, &acc_lo);
write_vco_hi(rsp->cp2.flags[RSP::RSP_VCO].e, rsp_vzero());
write_vco_lo(rsp->cp2.flags[RSP::RSP_VCO].e, rsp_vzero());
write_acc_lo(acc, acc_lo);
STORE_RESULT();
}