0066-target-riscv-rvv-1.0-floating-point-min-max-instruct.patch 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. From 442867b1fb418d240ad564f93ae9c020a82f2541 Mon Sep 17 00:00:00 2001
  2. From: Frank Chang <frank.chang@sifive.com>
  3. Date: Mon, 6 Jul 2020 20:03:09 +0800
  4. Subject: [PATCH 066/107] target/riscv: rvv-1.0: floating-point min/max
  5. instructions
  6. Signed-off-by: Frank Chang <frank.chang@sifive.com>
  7. Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
  8. ---
  9. target/riscv/vector_helper.c | 24 ++++++++++++------------
  10. 1 file changed, 12 insertions(+), 12 deletions(-)
  11. diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c
  12. index b82fe7841a..45ad6eaa96 100644
  13. --- a/target/riscv/vector_helper.c
  14. +++ b/target/riscv/vector_helper.c
  15. @@ -3596,28 +3596,28 @@ GEN_VEXT_V_ENV(vfsqrt_v_w, 4, 4)
  16. GEN_VEXT_V_ENV(vfsqrt_v_d, 8, 8)
  17. /* Vector Floating-Point MIN/MAX Instructions */
  18. -RVVCALL(OPFVV2, vfmin_vv_h, OP_UUU_H, H2, H2, H2, float16_minnum)
  19. -RVVCALL(OPFVV2, vfmin_vv_w, OP_UUU_W, H4, H4, H4, float32_minnum)
  20. -RVVCALL(OPFVV2, vfmin_vv_d, OP_UUU_D, H8, H8, H8, float64_minnum)
  21. +RVVCALL(OPFVV2, vfmin_vv_h, OP_UUU_H, H2, H2, H2, float16_minnum_noprop)
  22. +RVVCALL(OPFVV2, vfmin_vv_w, OP_UUU_W, H4, H4, H4, float32_minnum_noprop)
  23. +RVVCALL(OPFVV2, vfmin_vv_d, OP_UUU_D, H8, H8, H8, float64_minnum_noprop)
  24. GEN_VEXT_VV_ENV(vfmin_vv_h, 2, 2)
  25. GEN_VEXT_VV_ENV(vfmin_vv_w, 4, 4)
  26. GEN_VEXT_VV_ENV(vfmin_vv_d, 8, 8)
  27. -RVVCALL(OPFVF2, vfmin_vf_h, OP_UUU_H, H2, H2, float16_minnum)
  28. -RVVCALL(OPFVF2, vfmin_vf_w, OP_UUU_W, H4, H4, float32_minnum)
  29. -RVVCALL(OPFVF2, vfmin_vf_d, OP_UUU_D, H8, H8, float64_minnum)
  30. +RVVCALL(OPFVF2, vfmin_vf_h, OP_UUU_H, H2, H2, float16_minnum_noprop)
  31. +RVVCALL(OPFVF2, vfmin_vf_w, OP_UUU_W, H4, H4, float32_minnum_noprop)
  32. +RVVCALL(OPFVF2, vfmin_vf_d, OP_UUU_D, H8, H8, float64_minnum_noprop)
  33. GEN_VEXT_VF(vfmin_vf_h, 2, 2)
  34. GEN_VEXT_VF(vfmin_vf_w, 4, 4)
  35. GEN_VEXT_VF(vfmin_vf_d, 8, 8)
  36. -RVVCALL(OPFVV2, vfmax_vv_h, OP_UUU_H, H2, H2, H2, float16_maxnum)
  37. -RVVCALL(OPFVV2, vfmax_vv_w, OP_UUU_W, H4, H4, H4, float32_maxnum)
  38. -RVVCALL(OPFVV2, vfmax_vv_d, OP_UUU_D, H8, H8, H8, float64_maxnum)
  39. +RVVCALL(OPFVV2, vfmax_vv_h, OP_UUU_H, H2, H2, H2, float16_maxnum_noprop)
  40. +RVVCALL(OPFVV2, vfmax_vv_w, OP_UUU_W, H4, H4, H4, float32_maxnum_noprop)
  41. +RVVCALL(OPFVV2, vfmax_vv_d, OP_UUU_D, H8, H8, H8, float64_maxnum_noprop)
  42. GEN_VEXT_VV_ENV(vfmax_vv_h, 2, 2)
  43. GEN_VEXT_VV_ENV(vfmax_vv_w, 4, 4)
  44. GEN_VEXT_VV_ENV(vfmax_vv_d, 8, 8)
  45. -RVVCALL(OPFVF2, vfmax_vf_h, OP_UUU_H, H2, H2, float16_maxnum)
  46. -RVVCALL(OPFVF2, vfmax_vf_w, OP_UUU_W, H4, H4, float32_maxnum)
  47. -RVVCALL(OPFVF2, vfmax_vf_d, OP_UUU_D, H8, H8, float64_maxnum)
  48. +RVVCALL(OPFVF2, vfmax_vf_h, OP_UUU_H, H2, H2, float16_maxnum_noprop)
  49. +RVVCALL(OPFVF2, vfmax_vf_w, OP_UUU_W, H4, H4, float32_maxnum_noprop)
  50. +RVVCALL(OPFVF2, vfmax_vf_d, OP_UUU_D, H8, H8, float64_maxnum_noprop)
  51. GEN_VEXT_VF(vfmax_vf_h, 2, 2)
  52. GEN_VEXT_VF(vfmax_vf_w, 4, 4)
  53. GEN_VEXT_VF(vfmax_vf_d, 8, 8)
  54. --
  55. 2.33.1