Comment 7 for bug 1264962

Revision history for this message
Terry Guo (terry.guo) wrote : Re: internal compiler error

I can confirm it is a bug of gcc 4.8 including upstream gcc 4.8. It is caused by compiler option -fprefetch-loop-arrays which will generate following rtx for pld instruction:

(insn 99 100 105 10 (prefetch (plus:SI (reg/v/f:SI 3 r3 [orig:143 last ] [143])
            (const_int 34 [0x22]))
        (const_int 0 [0])
        (const_int 3 [0x3])) 343 {prefetch}
     (nil))

Current gcc 4.8 can't handle it very well, thus trigger internal compiler error. The related gcc mainline function is improved and can handle it well, thus no such error. In next Q1 update release, we will back port the fix to 4.8 and solve this issue.

For the time being, you can workaround the issue by removing option -fprefetch-loop-arrays.