aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const.cc
diff options
context:
space:
mode:
authorHaochen Gui <guihaoc@gcc.gnu.org>2023-08-16 14:29:36 +0800
committerHaochen Gui <guihaoc@gcc.gnu.org>2023-08-16 14:54:20 +0800
commitd471bdb0453de7b738f49148b66d57cb5871937d (patch)
tree5083a63fa5d9a5f9ec7754e3447a901cc680cc5e /gcc/fold-const.cc
parenta79cf858b39e01c80537bc5d47a5e9004418c267 (diff)
downloadgcc-d471bdb0453de7b738f49148b66d57cb5871937d.zip
gcc-d471bdb0453de7b738f49148b66d57cb5871937d.tar.gz
gcc-d471bdb0453de7b738f49148b66d57cb5871937d.tar.bz2
rs6000: Skip unnecessary vector extract for certain elements.
If the extracted element index is: - for byte, 7 on BE while 8 on LE; - for half word, 3 on BE while 4 on LE; the element to be stored is already in the corresponding place for stxsi[hb]x. We don't need a redundant vector extraction at all. gcc/ PR target/110429 * config/rs6000/vsx.md (*vsx_extract_<mode>_store_p9): Skip vector extract when the element is 7 on BE while 8 on LE for byte or 3 on BE while 4 on LE for halfword. gcc/testsuite/ PR target/110429 * gcc.target/powerpc/pr110429.c: New.
Diffstat (limited to 'gcc/fold-const.cc')
0 files changed, 0 insertions, 0 deletions