tree 07746ec18a09c1244d1c9f457a28610e22c7ba38
parent 339450fa80bd59ad2d0410a0eb58b8b9981aac10
author Sam Elliott <aelliott@qti.qualcomm.com> 1758241004 +0100
committer GitHub <noreply@github.com> 1758241004 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJozKDsCRC1aQ7uu5UhlAAAIeIQAJCSf2Nu0AtOt/4hZPfyAh1q
 bXA5FE2Evm5j4GubdUuhlyREQhNdGpC2N2oD5plOGannicK5mInVrUfhzJ7nrPDy
 Xdre7LSS1/ksgAsXWdNzHxIGUnNKfIi+07AU8coRgQ9308YW3DDz53lXsejPTZas
 RUQz58Ho3UA88k+rqEdoF2lZKXZGCsgvJl+JjUdoh/yjNDsuB4N7WhbYz50uV97F
 YMUDHd6D61jVRlr0AkNNeNiAowAoakYx5YHWP00KmG31UDw48cKx+L2hm00jzZeg
 6tR/j1ONn2jUUM4S92apHsLMLe64HjfXF5KlDB8FbJF4YtqWFhhSCOqZ5sgEjOoH
 X9dIM2aZxRFKBmtVuGNpUZchV/2TikRRcrzr6a9EwSdFQhIDLOfxsPtrbrIi9u2g
 rqFVnU8Ez4OZXDLQ+Xp7dLiQCbRpv44Axhlq2We/DMtzDCBcIVLzd20XKN6kPr3P
 2/v5ycwDwfuXYoVpbKfu8QLSFqscnuHx27iXPC7tr37OeVmLhvnYdtRp74CU348+
 ExBz5MeMyMZYFhRVgSJMF6WWcibiC8qkWMySX5WhaGnC3jgndznFILBab+cFdS5t
 auQqS+qKVRzPac9KE5PehXKV/1U06f5wX4geAfwWLHUYrn+IhEj3g5IVCATy6XAx
 zCzleqlumkd7C+8D455h
 =VNHZ
 -----END PGP SIGNATURE-----
 

[RISCV] Move Xqci Select-likes to use riscv_selectcc (#153147)

The original patterns for the Xqci select-like instructions used
`select`, and marked that ISD node as legal. This is not the usual way
that `select` is dealt with in the RISC-V backend.

Usually on RISC-V, we expand `select` to `riscv_select_cc` which holds
references to the operands of the comparison and the possible values
depending on the comparison. In retrospect, this is a much better fit
for our instructions, as most of them correspond to specific condition
codes, rather than more generic `select` with a truthy/falsey value.

This PR moves the Xqci select-like patterns to use `riscv_select_cc`
nodes. This applies to the Xqcicm, Xqcics and Xqcicli instruction
patterns.

In order to match the existing codegen, minor additions had to be made
to `translateSetCCForBranch` to ensure that comparisons against specific
immediate values are left in a form that can be matched more closely by
the instructions. This prevents having to insert additional `li`
instructions and use the register forms.

There are a few slight regressions:
- There are sometimes more `mv` instructions than entirely necessary. I
believe these would not be seen with larger examples where the register
allocator has more leeway.
- In some tests where just one of the three extensions is enabled,
codegen falls back to using a branch over a move. With all three
extensions enabled (the configuration we most care about), these are not
seen.
- The generated patterns are very similar to each other - they have
similar complexity (7 or 8) and there are still overlaps. Sometimes the
choice between two instructions can be affected by the order of the
patterns in the tablegen file.

One other change is that Xqcicm instructions are prioritised over Xqcics
instructions where they have identical patterns. This is done because
one of the the Xqcicm instructions is compressible (`qc.mveqi`), while
none of the Xqcics instructions are.