On 01/31/2018 10:33 PM, Segher Boessenkool wrote:
Hi!

On Wed, Jan 31, 2018 at 08:47:08PM +0100, Uros Bizjak wrote:
We should skip RTXes that will result in certain ICE here, and this is
what the attached patch does.

2018-01-31  Uros Bizjak  <ubiz...@gmail.com>

     PR target/84123
     * combine.c (change_zero_ext): Check if hard register satisfies
     can_change_dest_mode before calling gen_lowpart_SUBREG.

Patch was bootstrapped and regression tested on alphaev68-linux-gnu
(native bootstrap) and x86_64-linux-gnu {,-m32}.

OK for mainline and backports?

Okay for trunk, and backports too.  Thanks!


I'm running into an ICE here for nvptx, because "HARD_REGISTER_P (x)" expects x to be a REG, but actually it's an lshiftrt:
...
gdb)
#7  change_zero_ext (pat=pat@entry=0x7ffff690a5a0) at combine.c:11486
11486                 if (HARD_REGISTER_P (x)
(gdb) call debug_rtx (x)
(lshiftrt:HI (mem/j:HI (plus:DI (reg/v/f:DI 31 [ r ])
(const_int 242 [0xf2])) [11 r_9(D)->_new._reent._r48._seed+2 S2 A16])
    (const_int 1 [0x1]))
...

Thanks,
- Tom

Reply via email to