https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71670
--- Comment #2 from Segher Boessenkool <segher at gcc dot gnu.org> --- Author: segher Date: Tue Jun 28 05:56:41 2016 New Revision: 237813 URL: https://gcc.gnu.org/viewcvs?rev=237813&root=gcc&view=rev Log: rs6000: Fix split of ashdi3_extswsli_dot for memory (PR71670) The splitter for ashdi3_extswsli_dot for cr0 with memory uses emit_insn gen_ashdi3_extswsli_dot, which does not work because that emits a scratch, while the splitter runs after reload so there should be a real register instead. We can laboriously fix that up, or emit using gen_ashdi3_extswsli_dot2 instead. This patch does the latter. PR target/71670 * config/rs6000/rs6000.md (ashdi3_extswsli_dot): Use gen_ashdi3_extswsli_dot2 instead of gen_ashdi3_extswsli_dot. gcc/testsuite/ PR target/71670 * gcc.target/powerpc/pr71670.c: New testcase. Added: trunk/gcc/testsuite/gcc.target/powerpc/pr71670.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/rs6000.md trunk/gcc/testsuite/ChangeLog