This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/12408] New: Gcc failed to extend array index


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

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

           Summary: Gcc failed to extend array index
           Product: gcc
           Version: 3.3.2
            Status: UNCONFIRMED
          Severity: critical
          Priority: P2
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hjl at lucon dot org
                CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: ia64-hpux

[hjl@gnu array]$ cat foo.c
extern void bar (char *);
 
foo (char *p, int i)
{
  bar (p + i);
}
[hjl@gnu array]$ gcc -S -O2 -milp32 foo.c
[hjl@gnu array]$ cat foo.s
        .file   "foo.c"
        .pred.safe_across_calls p1-p5,p16-p63
        .section        .text,  "ax",   "progbits"
        .align 16
        .global foo#
        .proc foo#
foo:
        .prologue 12, 34
        .mii
        .save ar.pfs, r35
        alloc r35 = ar.pfs, 2, 3, 1, 0
        .save rp, r34
        mov r34 = b0
        addp4 r32 = 0,r32
        .mmi
        mov r36 = r1
        .body
        ;;
        add r37 = r33, r32
        nop.i 0
        .mib
        nop.m 0
        nop.i 0
        br.call.sptk.many b0 = bar#
        ;;
        .mmi
        mov r1 = r36
        mov r8 = r14
        mov ar.pfs = r35
        .mib
        nop.m 0
        mov b0 = r34
        br.ret.sptk.many b0
        .endp foo#
        .global bar#
        .type   bar#,@function
        .ident  "GCC: (GNU) 3.3.2 20030909 (prerelease)"

The problem is r33 is not signe-extended.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]