http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45849

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-10-01 
16:43:09 UTC ---
Seems simplify_rtx depends on ORIG_REGNO or REG_POINTER:

(gdb) p debug_rtx (copy)
(plus:DI (minus:DI (reg/v/f:DI 42 r13 [orig:66 matchstart ] [66])
        (reg:DI 41 r12))
    (mult:DI (minus:DI (reg/v/f:DI 6 bp [orig:76 rp ] [76])
            (reg/v/f:DI 42 r13 [orig:66 matchstart ] [66]))
        (reg/v:DI 43 r14 [orig:62 repllen ] [62])))
$52 = void
(gdb) p debug_rtx (0x7ffff19403c0)
(plus:DI (minus:DI (reg/v/f:DI 42 r13 [orig:66 matchstart ] [66])
        (reg/v/f:DI 41 r12 [orig:61 text ] [61]))
    (mult:DI (minus:DI (reg/v/f:DI 6 bp [orig:76 rp ] [76])
            (reg/v/f:DI 42 r13 [orig:66 matchstart ] [66]))
        (reg/v:DI 43 r14 [orig:62 repllen ] [62])))
$53 = void
(gdb) p rtx_equal_p (copy, 0x7ffff19403c0)
$54 = 1
(gdb) p debug_rtx (simplify_rtx (copy))
(plus:DI (mult:DI (minus:DI (reg/v/f:DI 6 bp [orig:76 rp ] [76])
            (reg/v/f:DI 42 r13 [orig:66 matchstart ] [66]))
        (reg/v:DI 43 r14 [orig:62 repllen ] [62]))
    (minus:DI (reg/v/f:DI 42 r13 [orig:66 matchstart ] [66])
        (reg:DI 41 r12)))
$55 = void
(gdb) p debug_rtx (simplify_rtx (0x7ffff19403c0))
(plus:DI (minus:DI (mult:DI (minus:DI (reg/v/f:DI 6 bp [orig:76 rp ] [76])
                (reg/v/f:DI 42 r13 [orig:66 matchstart ] [66]))
            (reg/v:DI 43 r14 [orig:62 repllen ] [62]))
        (reg/v/f:DI 41 r12 [orig:61 text ] [61]))
    (reg/v/f:DI 42 r13 [orig:66 matchstart ] [66]))
$56 = void
(gdb) p rtx_equal_p (simplify_rtx (copy), simplify_rtx (0x7ffff19403c0))
$57 = 0

Reply via email to