[Bug target/26255] New: [3.3 regression] internal compiler error: in reload_cse_simplify_operands, at postreload.c:391

tausq at debian dot org gcc-bugzilla@gcc.gnu.org
Mon Feb 13 04:58:00 GMT 2006


Ref: http://bugs.debian.org/352529

The attached testcase, reduced from the Debian BTS bug report, causes an ICE

bug.c: In function 'foo':
bug.c:31: error: insn does not satisfy its constraints:
(insn 156 35 37 0 (set (reg:HI 70 %fr23 [122])
        (reg:HI 20 %r20)) 53 {*pa.md:2926} (nil)
    (nil))
bug.c:31: internal compiler error: in reload_cse_simplify_operands, at
postreload.c:391
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.0/README.Bugs>.

------------ bug.c -------------
typedef short int16_t;

int round_sample(int *sum);

#define MULS(ra, rb) ((ra) * (rb))

#define SUM8(sum, op, w, p) \
{                                               \
    sum op MULS((w)[0 * 64], p[0 * 64]);\
    sum op MULS((w)[1 * 64], p[1 * 64]);\
    sum op MULS((w)[2 * 64], p[2 * 64]);\
    sum op MULS((w)[3 * 64], p[3 * 64]);\
    sum op MULS((w)[4 * 64], p[4 * 64]);\
    sum op MULS((w)[5 * 64], p[5 * 64]);\
    sum op MULS((w)[6 * 64], p[6 * 64]);\
    sum op MULS((w)[7 * 64], p[7 * 64]);\
}

void foo(int *dither_state, int *samples)
{
    int16_t *synth_buf;
    const int16_t *w, *p;
    int sum;

    sum = *dither_state;
    p = synth_buf + 16;
    SUM8(sum, +=, w, p);
    p = synth_buf + 48;
    SUM8(sum, -=, w + 32, p);
    *samples = round_sample(&sum);
}
------------ bug.c -------------
$ cc -O2 -c bug.c
bug.c: In function 'foo':
bug.c:31: error: insn does not satisfy its constraints:
(insn 156 35 37 0 (set (reg:HI 70 %fr23 [122])
        (reg:HI 20 %r20)) 53 {*pa.md:2926} (nil)
    (nil))
bug.c:31: internal compiler error: in reload_cse_simplify_operands, at
postreload.c:391
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.0/README.Bugs>.

Problem only happens with -O2.


-- 
           Summary: [3.3 regression] internal compiler error: in
                    reload_cse_simplify_operands, at postreload.c:391
           Product: gcc
           Version: 4.0.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tausq at debian dot org
 GCC build triplet: hppa-linux
  GCC host triplet: hppa-linux
GCC target triplet: hppa-linux


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



More information about the Gcc-bugs mailing list