<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/144489>144489</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[X86] Remove lowerToAddSubOrFMAddSub and update test coverage
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:X86
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
RKSimon
</td>
</tr>
</table>
<pre>
lowerToAddSubOrFMAddSub is a x86 DAG lowering that tries to vectorize fadd/fsub code into ADDSUB + VFMADDSUB/VFMSUBADD vector instructions but SLP/VectorCombine should now be vectorising these patterns leaving the backend code superfluous.
Very similar to #143000
So, this task involves:
- Disable lowerToAddSubOrFMAddSub
- Review all CodeGen/X86 test changes
- Convert the changed CodeGen/X86 tests into similar PhaseOrdering/X86 tests to track the vectorized IR (for the various SSE/AVX/FMA3/FMA4 targets)
- Replace the CodeGen/X86 test coverage with the real vectorized IR
- Remove lowerToAddSubOrFMAddSub and all its support methods
- Handle any CodeGen regressions (maybe a cost model, transform or backend fix)
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyEU01v5DYM_TXyhcjAI3_EPvjgZOpt0Qa7yHSDXGWLY6uRpYFIO5v--mLkyRYBdrEn2dIj-fgeqYjM6BAbUdyJ4pCohScfmsc_j2b2Lum9fmusf8Xwt2-1Pi7959A9bF9gCBR8q0o4tJ8ggowbgSfFwMEgAXtYcWAfzL8IJ6W1kN2Jlh4GrxGMYw_t4XD8egdC3sFT97D9Cdk9dQ_Hr3ft4XBNAMYRh2Vg4x1BvzAc__pywcXXez_3xiHQ5BerwflX6PG9NG2kkBDOihmDI7Co1us19Gp4Qac3TrScMZzs4hfaibQVafuE4Q3IzMaqcGlIyGyfZ2mabs9HL-Q98GQIWNELGLd6uyKJrN0AN3AwpHqL8DMZI-gRV4OvoKyFe6_xEzohu-eqBEZiGCblRqSIvPduxcCR-3avfxBCm7zvxL9MivBz0NGiDzD2wEENLzHfd7c0_PEIQlYnH7YHFYxfCI7H34Ts2qdnIbvuoc22IwdWYUQmIetrN2erBoyhP2rHrxjUiPBqeIqggMp-rH7NM_v158opp6Nihuni3NkHhhl58nqT6nfltEVQ7u2dBQQcAxLFMRKymtVbj6Bg8MQwe4022hmUo5MPM_jwfT5O5puQdaKbTNdZrRJs9rdFui-ytM6TqZFlPVSyx1qebgddFmWJVV-fslrmcl8POjGNTGWRlvvbtM6qfb4rMtRpWVVDdasLzHKRpzgrY3fWrvPOhzExRAs2-zzPqzqxqkdLcU-lvJISWftclULKy-qG5hJ40y8jiTy1hpj-T8WGbVzyC744_ErZKO1y1orxo2XJEmwzMZ_jhMtOyG40PC39bvCzkN2l4PW4OQf_Dw4sZBcbISG7ay9rI_8LAAD__5zSfXw">