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

--- Comment #15 from John David Anglin <danglin at gcc dot gnu.org> 2010-10-11 
18:08:22 UTC ---
(In reply to comment #14)

Sorry, wrong expansion:

;; D.1972_24 = sB.l;

(insn 135 134 136 (set (reg/f:SI 194)
        (high:SI (symbol_ref:SI ("sB") [flags 0x200]  <var_decl 0x4028f420
sB>))
) pr45722-2.c:53 -1
     (nil))

(insn 136 135 137 (set (reg/f:SI 193)
        (lo_sum:SI (reg/f:SI 194)
            (symbol_ref:SI ("sB") [flags 0x200]  <var_decl 0x4028f420 sB>)))
pr4
5722-2.c:53 -1
     (expr_list:REG_EQUAL (symbol_ref:SI ("sB") [flags 0x200]  <var_decl
0x4028f
420 sB>)
        (nil)))

(insn 137 136 138 (set (reg:QI 196)
        (mem/s/c:QI (plus:SI (reg/f:SI 193)
                (const_int 2 [0x2])) [0+2 S1 A8])) pr45722-2.c:53 -1
     (nil))
(insn 138 137 139 (set (reg:SI 195)
        (zero_extend:SI (reg:QI 196))) pr45722-2.c:53 -1
     (nil))

(insn 139 138 140 (set (reg:SI 197)
        (ashift:SI (reg:SI 195)
            (const_int 24 [0x18]))) pr45722-2.c:53 -1
     (nil))

(insn 140 139 141 (set (reg:QI 199)
        (mem/s/c:QI (plus:SI (reg/f:SI 193)
                (const_int 3 [0x3])) [0+3 S1 A8])) pr45722-2.c:53 -1
     (nil))

(insn 141 140 142 (set (reg:SI 198)
        (zero_extend:SI (reg:QI 199))) pr45722-2.c:53 -1
     (nil))

(insn 142 141 143 (set (reg:SI 200)
        (ashift:SI (reg:SI 198)
            (const_int 16 [0x10]))) pr45722-2.c:53 -1
     (nil))

(insn 143 142 144 (set (reg:SI 201)
        (ior:SI (reg:SI 200)
            (reg:SI 197))) pr45722-2.c:53 -1
     (nil))

(insn 144 143 145 (set (reg:QI 203)
        (mem/s/c:QI (plus:SI (reg/f:SI 193)
                (const_int 4 [0x4])) [0+4 S1 A8])) pr45722-2.c:53 -1
     (nil))

(insn 145 144 146 (set (reg:SI 202)
        (zero_extend:SI (reg:QI 203))) pr45722-2.c:53 -1
     (nil))

(insn 146 145 147 (set (reg:SI 204)
        (ashift:SI (reg:SI 202)
            (const_int 8 [0x8]))) pr45722-2.c:53 -1
     (nil))

(insn 147 146 148 (set (reg:SI 205)
        (ior:SI (reg:SI 204)
            (reg:SI 201))) pr45722-2.c:53 -1
     (nil))

(insn 148 147 149 (set (reg:QI 207)
        (mem/s/c:QI (plus:SI (reg/f:SI 193)
                (const_int 5 [0x5])) [0+5 S1 A8])) pr45722-2.c:53 -1
     (nil))

(insn 149 148 150 (set (reg:SI 206)
        (zero_extend:SI (reg:QI 207))) pr45722-2.c:53 -1
     (nil))

(insn 150 149 151 (set (reg:SI 208)
        (ior:SI (reg:SI 206)
            (reg:SI 205))) pr45722-2.c:53 -1
     (nil))

(insn 151 150 0 (set (reg:SI 109 [ D.1972 ])
        (reg:SI 208)) pr45722-2.c:53 -1
     (nil))

;; if (D.1971_23 != D.1972_24)

At the moment, it appears to me that store_expr doesn't know how to handle
unaligned mem_ref's.

Reply via email to