In commit
16-8400-g48c2ea1750efe4, VCOND_MASK is inverted
(if that would be an improvement). However, since the LoongArch
backend does not define the rtx_cost for the ORDERED RTX, the
calculated cost for UNORDERED becomes greater than that of ORDERED.
This triggers an inversion from UNORDERED to ORDERED, leading to
test failures in lasx-vcond-2.c and lsx-vcond-2.c.
Since the assembly sequences generated for ORDERED and UNORDERED
are identical on LoongArch, I have set the rtx_cost for ORDERED
to match that of UNORDERED. This ensures consistent cost
evaluation and allows the related test cases to pass.
gcc/ChangeLog:
* config/loongarch/loongarch.cc (loongarch_rtx_costs): Add
RTX cost handling for the ORDERED RTX code.
case EQ:
case NE:
case UNORDERED:
+ case ORDERED:
case LTGT:
case UNGE:
case UNGT: