4 typedef uint64_t (*cvt
)(uint64_t r
);
6 uint64_t u64_u64_cvt(reg_t r
) { return r
; }
7 uint64_t u64_u16_cvt(reg_t r
) { return (uint64_t)(uint16_t)r
; }
9 uint64_t (sext32
)(reg_t r
) { return sext32(r
); }
17 opcvt(cvt _cv_rd
, cvt _cv_rs1
, cvt _cv_rs2
) :
18 cv_rd(_cv_rd
), cv_rs1(_cv_rs1
), cv_rs2(_cv_rs2
) {}
20 void add(reg_t
&rd
, const reg_t
&rs1
, const reg_t
&rs2
)
21 { rd
= cv_rd(cv_rs1(rs1
) + cv_rs2(rs2
)); }
23 //R operator+ (op2 &s2) { return typecvt(s1 + typecvt(s2)); }
24 //operator R() { return typecvt(s1); }