rs6000: Fix split of ashdi3_extswsli_dot for memory (PR71670)
authorSegher Boessenkool <segher@kernel.crashing.org>
Tue, 28 Jun 2016 05:56:41 +0000 (07:56 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Tue, 28 Jun 2016 05:56:41 +0000 (07:56 +0200)
commita826405801ce4e28d534e3f693f236405d886caf
treeb92fe8cfd230d1136925b46281769fb3bcbfe626
parent7c788ce223bef845356773178b64de69e753c1b8
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.

From-SVN: r237813
gcc/ChangeLog
gcc/config/rs6000/rs6000.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/pr71670.c [new file with mode: 0644]