Allow consant element vec_extract to be loaded into vector registers.
This patch allows vec_extract of V4SI, V8HI, and V16QI vector types with a
constant element number to be loaded into vector registers directly. It also
will be split before register allocation.
This patch also adds support to rs6000_adjust_vec_address to allow it to be run
before register allocation.
2023-04-24 Michael Meissner <meissner@linux.ibm.com>
gcc/
* config/rs6000/rs6000.cc (get_vector_offset): Allow being called before
register allocation.
(adjust_vec_address_pcrel): Likewise.
(rs6000_adjust_vec_address): Likewise.
* config/rs6000/vsx.md (VSX_EX_ISA): New mode attribute.
(vsx_extract_<mode>_load): Allow vector registers to be loaded.