rs6000: Use rldimi for 64-bit constants with high=low (PR93012)
We currently use an (up to) five instruction sequence to generate such constants. After this change we just generate a 32-bit constant and do a rotate-and-mask-insert instruction, making the sequence only up to three instructions. * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Handle the case where the low and the high 32 bits are equal to each other specially, with an rldimi instruction. gcc/testsuite/ * gcc.target/powerpc/pr93012.c: New.
Showing
gcc/testsuite/gcc.target/powerpc/pr93012.c
0 → 100644
Please
register
or
sign in
to comment