fix vcgen of fp128 constants
MODIFY
ir/constant.cpp
ir/constant.cpp
@@ -62,7 +62,8 @@ StateValue FloatConst::toSMT(State &s) const {
}
if (auto n = get_if<string>(&val))
- return { expr::mkNumber(n->c_str(), getType().getDummyValue(true).value),
+ return { expr::mkNumber(n->c_str(), expr::mkUInt(0, getType().bits()))
+ .BV2float(getType().getDummyValue(true).value),
true };
expr e;

ADD
tests/alive-tv/fp/fp128-2.srctgt.ll
+define fp128 @src() {
+ %r = fpext float -2.0 to fp128
+ ret fp128 %r
+}
+
+define fp128 @tgt() {
+ ret fp128 0xL0000000000000000C000000000000000
+}
+

fix vcgen of fp128 constants