@@ -106,7 +106,7 @@ struct DoubleTraits
106106template <typename TFp, typename TFpTraits>
107107TFp FpAdd (TFp value1, TFp value2)
108108{
109- #if defined(TARGET_ARMARCH) || defined(TARGET_LOONGARCH64)
109+ #if defined(TARGET_ARMARCH) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64)
110110 // If [value1] is negative infinity and [value2] is positive infinity
111111 // the result is NaN.
112112 // If [value1] is positive infinity and [value2] is negative infinity
@@ -124,7 +124,7 @@ TFp FpAdd(TFp value1, TFp value2)
124124 return TFpTraits::NaN ();
125125 }
126126 }
127- #endif // TARGET_ARMARCH || TARGET_LOONGARCH64
127+ #endif // TARGET_ARMARCH || TARGET_LOONGARCH64 || TARGET_RISCV64
128128
129129 return value1 + value2;
130130}
@@ -142,7 +142,7 @@ TFp FpAdd(TFp value1, TFp value2)
142142template <typename TFp, typename TFpTraits>
143143TFp FpSub (TFp value1, TFp value2)
144144{
145- #if defined(TARGET_ARMARCH) || defined(TARGET_LOONGARCH64)
145+ #if defined(TARGET_ARMARCH) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64)
146146 // If [value1] is positive infinity and [value2] is positive infinity
147147 // the result is NaN.
148148 // If [value1] is negative infinity and [value2] is negative infinity
@@ -160,7 +160,7 @@ TFp FpSub(TFp value1, TFp value2)
160160 return TFpTraits::NaN ();
161161 }
162162 }
163- #endif // TARGET_ARMARCH || TARGET_LOONGARCH64
163+ #endif // TARGET_ARMARCH || TARGET_LOONGARCH64 || TARGET_RISCV64
164164
165165 return value1 - value2;
166166}
@@ -178,7 +178,7 @@ TFp FpSub(TFp value1, TFp value2)
178178template <typename TFp, typename TFpTraits>
179179TFp FpMul (TFp value1, TFp value2)
180180{
181- #if defined(TARGET_ARMARCH) || defined(TARGET_LOONGARCH64)
181+ #if defined(TARGET_ARMARCH) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64)
182182 // From the ECMA standard:
183183 //
184184 // If [value1] is zero and [value2] is infinity
@@ -194,7 +194,7 @@ TFp FpMul(TFp value1, TFp value2)
194194 {
195195 return TFpTraits::NaN ();
196196 }
197- #endif // TARGET_ARMARCH || TARGET_LOONGARCH64
197+ #endif // TARGET_ARMARCH || TARGET_LOONGARCH64 || TARGET_RISCV64
198198
199199 return value1 * value2;
200200}
@@ -212,7 +212,7 @@ TFp FpMul(TFp value1, TFp value2)
212212template <typename TFp, typename TFpTraits>
213213TFp FpDiv (TFp dividend, TFp divisor)
214214{
215- #if defined(TARGET_ARMARCH) || defined(TARGET_LOONGARCH64)
215+ #if defined(TARGET_ARMARCH) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64)
216216 // From the ECMA standard:
217217 //
218218 // If [dividend] is zero and [divisor] is zero
@@ -228,7 +228,7 @@ TFp FpDiv(TFp dividend, TFp divisor)
228228 {
229229 return TFpTraits::NaN ();
230230 }
231- #endif // TARGET_ARMARCH || TARGET_LOONGARCH64
231+ #endif // TARGET_ARMARCH || TARGET_LOONGARCH64 || TARGET_RISCV64
232232
233233 return dividend / divisor;
234234}
0 commit comments