Signed-off-by: Matheus Tavares Bernardino <matheus.bernardino@oss.qualcomm.com>
---
tests/tcg/hexagon/fp_hvx.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/tests/tcg/hexagon/fp_hvx.c b/tests/tcg/hexagon/fp_hvx.c
index 85b8ff78ed..ded3a80f8f 100644
--- a/tests/tcg/hexagon/fp_hvx.c
+++ b/tests/tcg/hexagon/fp_hvx.c
@@ -73,6 +73,21 @@ DEF_TEST_OP_2(vsub, SUB_HF, hf, hf);
DEF_TEST_OP_2(vmpy, MULT_SF, sf, sf);
DEF_TEST_OP_2(vmpy, MULT_HF, hf, hf);
+#define MIN(X, Y, DEF_NAN) \
+ ((isnan(X) || isnan(Y)) ? DEF_NAN : ((X) < (Y) ? (X) : (Y)))
+#define MAX(X, Y, DEF_NAN) \
+ ((isnan(X) || isnan(Y)) ? DEF_NAN : ((X) > (Y) ? (X) : (Y)))
+
+#define MIN_HF(X, Y) MIN(X, Y, NAN_HF)
+#define MAX_HF(X, Y) MAX(X, Y, NAN_HF)
+#define MIN_SF(X, Y) MIN(X, Y, NAN_SF)
+#define MAX_SF(X, Y) MAX(X, Y, NAN_SF)
+
+DEF_TEST_OP_2(vfmin, MIN_SF, sf, sf);
+DEF_TEST_OP_2(vfmax, MAX_SF, sf, sf);
+DEF_TEST_OP_2(vfmin, MIN_HF, hf, hf);
+DEF_TEST_OP_2(vfmax, MAX_HF, hf, hf);
+
/******************************************************************************
* Other tests
*****************************************************************************/
@@ -124,6 +139,12 @@ int main(void)
test_vdmpy_sf_hf(false);
test_vdmpy_sf_hf(true);
+ /* min/max */
+ test_vfmin_sf_sf();
+ test_vfmin_hf_hf();
+ test_vfmax_sf_sf();
+ test_vfmax_hf_hf();
+
puts(err ? "FAIL" : "PASS");
return err ? 1 : 0;
}
--
2.37.2