Hi ShiHua:

Thanks for your contribution to the zfbfmin extension :)

General comments:
- Add zfbfmin to riscv_ext_version_table
- Add test case to verify the -march is accepted.
- Add testcase to test argument passing.
- Add testcase for operations.
- Add testcase for compares.

> +(define_insn "*movbf_softfloat"
> +  [(set (match_operand:BF 0 "nonimmediate_operand" "=f, r,r,m,*f,*r")
> +       (match_operand:BF 1 "move_operand"         " f,Gr,m,r,*r,*f"))]
> +  "!TARGET_ZFHMIN

Should be TARGET_ZFBFMIN?

> @@ -3192,7 +3192,11 @@ riscv_emit_float_compare (enum rtx_code *code, rtx 
> *op0, rtx *op1)
>        else if (GET_MODE (cmp_op0) == HFmode && TARGET_64BIT)           \
>         emit_insn (gen_f##CMP##_quiethfdi4 (*op0, cmp_op0, cmp_op1));   \
>        else if (GET_MODE (cmp_op0) == HFmode)                           \
> -       emit_insn (gen_f##CMP##_quiethfsi4 (*op0, cmp_op0, cmp_op1));   \
> +       emit_insn (gen_f##CMP##_quietbfsi4 (*op0, cmp_op0, cmp_op1));   \
> +      else if (GET_MODE (cmp_op0) == BFmode && TARGET_64BIT)           \
> +       emit_insn (gen_f##CMP##_quietbfdi4 (*op0, cmp_op0, cmp_op1));   \
> +      else if (GET_MODE (cmp_op0) == BFmode)                           \
> +       emit_insn (gen_f##CMP##_quietbfsi4 (*op0, cmp_op0, cmp_op1));   \
>        else                                                             \
>         gcc_unreachable ();                                             \
>        *op1 = const0_rtx;                                               \

Do we really need this? I thought we'll always promote to SF before
they compare?

Reply via email to