On 6/19/24 9:28 PM, demin.han wrote:
We can unify eqne and other comparison operations.

Tested on RV32 and RV64.

gcc/ChangeLog:

        * config/riscv/predicates.md (comparison_except_eqge_operator): Only
       exclude ge
        (comparison_except_ge_operator): Ditto
        * config/riscv/riscv-string.cc (expand_rawmemchr): Use cmp pattern
        (expand_strcmp): Ditto
        * config/riscv/riscv-vector-builtins-bases.cc: Remove eqne cond
        * config/riscv/vector.md (@pred_eqne<mode>_scalar): Remove eqne
       patterns
        (*pred_eqne<mode>_scalar_merge_tie_mask): Ditto
        (*pred_eqne<mode>_scalar): Ditto
        (*pred_eqne<mode>_scalar_narrow): Ditto
        (*pred_eqne<mode>_extended_scalar_merge_tie_mask): Ditto
        (*pred_eqne<mode>_extended_scalar): Ditto
        (*pred_eqne<mode>_extended_scalar_narrow): Ditto

gcc/testsuite/ChangeLog:

        * gcc.target/riscv/rvv/base/integer-cmp-eqne.c: New test.
Thanks.  I've pushed this to the trunk.

jeff

Reply via email to