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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org
   Target Milestone|5.5                         |6.5
            Summary|[5 Regression] ICE: in      |[6/7/8 Regression] ICE: in
                   |simplify_binary_operation_1 |simplify_binary_operation_1
                   |, at simplify-rtx.c:3678 on |, at simplify-rtx.c:3678 on
                   |powerpc64le-linux-gnu       |powerpc64le-linux-gnu

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
We don't ICE anymore on this starting with r229173, but that IMHO just makes
the bug latent rather than being a real fix.
The bug I see is that the powerpc backend splits
(insn 75 74 76 2 (set (mem/c:V1TI (reg:DI 8 8) [0  S16 A128])
        (reg:V1TI 10 10)) 662 {*vsx_movv1ti}
     (nil))
(insn 76 75 15 2 (set (reg:V1TI 77 0)
        (mem/c:V1TI (reg:DI 8 8) [0  S16 A128])) 634 {*vsx_le_perm_load_v1ti}
     (nil))
into:
(insn 111 74 112 2 (set (mem/c:DI (reg:DI 8 8) [0  S8 A128])
        (reg:DI 10 10)) 417 {*movdi_internal64}
     (nil))
(insn 112 111 113 2 (set (mem/c:DI (plus:DI (reg:DI 8 8)
                (const_int 8 [0x8])) [0  S8 A64])
        (reg:DI 11 11 [+8 ])) 417 {*movdi_internal64}
     (nil))
(insn 113 112 114 2 (set (reg:V1TI 77 0)
        (vec_select:V1TI (mem/c:V1TI (reg:DI 8 8) [0  S16 A128])
            (parallel [
                    (const_int 1 [0x1])
                    (const_int 0 [0])
                ]))) 797 {*vsx_lxvd2x2_le_v1ti}
     (nil))
(insn 114 113 15 2 (set (reg:V1TI 77 0)
        (vec_select:V1TI (reg:V1TI 77 0)
            (parallel [
                    (const_int 1 [0x1])
                    (const_int 0 [0])
                ]))) 789 {*vsx_xxpermdi2_le_v1ti}
     (nil))

That is obviously invalid RTL, V1TImode has only one element, so you can't
select part 1 of it, only part 0.

Reply via email to