diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2022-10-04 02:50:22 +0000 |
---|---|---|
committer | Segher Boessenkool <segher@kernel.crashing.org> | 2022-10-05 19:12:28 +0000 |
commit | ba3e5a3826be53ecbb7d6044c50878d44640c296 (patch) | |
tree | 947f82a71a3109e10ff9f55af684b47f9346c244 /gcc/fixed-value.h | |
parent | c3d131531a23c71e09c032d6222d0b5ff0eb8162 (diff) | |
download | gcc-ba3e5a3826be53ecbb7d6044c50878d44640c296.zip gcc-ba3e5a3826be53ecbb7d6044c50878d44640c296.tar.gz gcc-ba3e5a3826be53ecbb7d6044c50878d44640c296.tar.bz2 |
rs6000: Rework vsx_extract_<mode>
Extracting the left and right halfs of a vector are entirely different
operations. Things are simpler if they are separate define_insns, and
it is easy to get rid of the "wD" constraint use then.
This also give the variant that is a no-op copy its own alternative, of
length 0 (and this, cost 0, making it more likely RA will choose it.
2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/vsx.md (vsx_extract_<mode>): Replace define_insn by a
define_expand. Split the contents to...
(*vsx_extract_<mode>_0): ... this. Rewrite.
(*vsx_extract_<mode>_1): ... and this. Rewrite.
Diffstat (limited to 'gcc/fixed-value.h')
0 files changed, 0 insertions, 0 deletions