This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/71670] powerpc64le ICE in extract_constrain_insn with -mcpu=power9


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71670

--- Comment #3 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Author: segher
Date: Mon Jul  4 09:52:38 2016
New Revision: 237958

URL: https://gcc.gnu.org/viewcvs?rev=237958&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.


2016-07-04  Segher Boessenkool  <segher@kernel.crashing.org>

        Backport from mainline
        2016-06-27  Segher Boessenkool  <segher@kernel.crashing.org>

        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:
    branches/gcc-6-branch/gcc/testsuite/gcc.target/powerpc/pr71670.c
Modified:
    branches/gcc-6-branch/gcc/ChangeLog
    branches/gcc-6-branch/gcc/config/rs6000/rs6000.md
    branches/gcc-6-branch/gcc/testsuite/ChangeLog

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]