@@ 3156,6 3156,12 @@ inline void uvm_eval(UVM &vm, uvm_ref ip
int8_t, int16_t, int32_t, int64_t, __int128_t, \
CLASS>(vm, uvm_deref(vm, v.a, Weak), uvm_deref(vm, v.b, Weak)); \
UVM_CASE_END()
+#define UVM_BFOP2(NAME, CLASS) \
+ UVM_CASE_BEGIN(NAME) \
+ result = &uvm_apply_bool_op2< \
+ float, float, float, double, double, \
+ CLASS>(vm, uvm_deref(vm, v.a, Weak), uvm_deref(vm, v.b, Weak)); \
+ UVM_CASE_END()
#define UVM_BUOP2(NAME, CLASS) \
UVM_CASE_BEGIN(NAME) \
result = &uvm_apply_bool_op2< \
@@ 3259,6 3265,13 @@ inline void uvm_eval(UVM &vm, uvm_ref ip
UVM_BUOP2(ugt, IGt)
UVM_BUOP2(uge, IGe)
+ UVM_BFOP2(foeq, IEq)
+ UVM_BFOP2(fune, INe)
+ UVM_BFOP2(folt, ILt)
+ UVM_BFOP2(fole, ILe)
+ UVM_BFOP2(fogt, IGt)
+ UVM_BFOP2(foge, IGe)
+
UVM_CASE_BEGIN(slice)
result = &uvm_apply_slice(vm,
uvm_deref(vm, v.value, Weak),
@@ 3303,6 3316,14 @@ inline void uvm_eval(UVM &vm, uvm_ref ip
uvm_deref(vm, v.value, Weak),
v.stride);
UVM_CASE_END()
+ UVM_CASE_BEGIN(ftof)
+ result = &uvm_apply_convert<
+ float, float, float, double, double,
+ float, float, float, double, double,
+ IConvert>(vm,
+ uvm_deref(vm, v.value, Weak),
+ v.stride);
+ UVM_CASE_END()
#if 0
UVM_CASE_BEGIN0(membaseaddr)