[Bug target/28623] [4.1/4.2 regression] ICE in extract_insn, at recog.c:2077 (nrecognizable insn) [alpha]

falk at debian dot org gcc-bugzilla@gcc.gnu.org
Thu Aug 10 21:11:00 GMT 2006



------- Comment #2 from falk at debian dot org  2006-08-10 21:11 -------
Confirmed. This is a smaller test case:

int vformat(char *buffer) {
    return buffer[32767];
}

This needs -mcpu=ev45. It is triggered by the synthetization
of the 8-bit load by 64-bit loads. ldb v0, x(a0) is done as

lda     a0,x+1(a0)
ldq_u   v0,-1(a0)
extqh   v0,a0,v0
sra     v0,56,v0

and if x=32767, this fails.

(Incidentally, maybe we should do
ldq_u   t1,x(a0)
lda     a0,x+1(a0)
extqh   t1,a0,t1
sra     t1,56,v0
and save one cycle at the cost of one extra register.)


-- 

falk at debian dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rth at gcc dot gnu dot org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1


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



More information about the Gcc-bugs mailing list