This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Internal compiler error in extract_insn
- From: "Steven G. Kargl" <kargl at troutmask dot apl dot washington dot edu>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 23 Oct 2002 16:11:07 -0700 (PDT)
- Subject: Internal compiler error in extract_insn
troutmask:kargl[410] gcc -v -O2 -c b.c
Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.2.1 [FreeBSD] 20021009 (prerelease)
/usr/libexec/cc1 -lang-c -v -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=1 -D__GXX_ABI_VERSION=102 -D__FreeBSD__=5 -D__FreeBSD_cc_version=500004 -Dunix -D__KPRINTF_ATTRIBUTE__ -D__FreeBSD__=5 -D__FreeBSD_cc_version=500004 -D__unix__ -D__KPRINTF_ATTRIBUTE__ -D__unix -Asystem=unix -Asystem=bsd -Asystem=FreeBSD -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i386__ -D__ELF__ -D_LONGLONG b.c -quiet -dumpbase b.c -O2 -version -o /var/tmp/cc4r9a8P.s
GNU CPP version 3.2.1 [FreeBSD] 20021009 (prerelease) (cpplib) (i386 FreeBSD/ELF)
GNU C version 3.2.1 [FreeBSD] 20021009 (prerelease) (i386-undermydesk-freebsd)
compiled by GNU C version 3.2.1 [FreeBSD] 20021009 (prerelease).
ignoring duplicate directory "/usr/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/include
End of search list.
b.c: In function `ssqjac_':
b.c:202: unrecognizable insn:
(insn 641 736 650 (set (reg:SI 189)
(ashift:SI (reg/v:SI 113)
(const_int 1 [0x1]))) -1 (nil)
(nil))
b.c:202: Internal compiler error in extract_insn, at recog.c:2150
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
--
Steve
http://troutmask.apl.washington.edu/~kargl/
# 1 "b.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "b.c"
typedef char *Pointer;
typedef int Integer;
typedef double Double;
typedef struct {
Integer extent, mult, lower;
} Triplet;
typedef struct {
Pointer addr;
int offset;
Triplet dim[1];
} Dope1;
typedef struct {
int rank, offset;
Triplet dim[7];
} BoundsInfo;
void
ssqjac_(m_Dummy, n_Dummy, x_, fjac_, ldfjac_Dummy, nprob_Dummy)
Integer *m_Dummy;
Integer *n_Dummy;
Double *x_;
Double *fjac_;
Integer *ldfjac_Dummy;
Integer *nprob_Dummy;
{
Integer Tmp1;
Integer Tmp2;
Integer Tmp3;
Integer Tmp4;
Integer Tmp5;
Integer Tmp6;
Integer Tmp7;
Double Tmp8;
Integer Tmp9;
Integer Tmp10;
Double Tmp11;
Integer Tmp12;
Integer Tmp13;
Integer Tmp14;
Integer Tmp15;
Double Tmp16;
Double Tmp17;
Integer Tmp18;
Integer Tmp19;
Double Tmp20;
Double Tmp21;
Double Tmp22;
Double Tmp23;
Integer Tmp24;
Integer Tmp25;
Integer Tmp26;
Integer Tmp27;
Integer Tmp28;
Integer Tmp29;
Integer Tmp30;
Integer Tmp31;
Integer Tmp32;
Integer Tmp33;
Integer Tmp34;
Double Tmp35;
Double Tmp36;
Double Tmp37;
Double Tmp38;
Double Tmp39;
char *pTmp1;
char *pTmp2;
Double *pTmp3;
char *pTmp4;
char *pTmp5;
Dope1 Section1;
static Double aConst1[11] = {4.00000000000000000e+00, 2.00000000000000000e+00, 1.00000000000000000e+00, 5.00000000000000000e-01, 2.50000000000000000e-01, 1.67000000000000010e-01, 1.25000000000000000e-01, 1.00000000000000006e-01, 8.32999999999999990e-02, 7.14000000000000051e-02, 6.25000000000000000e-02,};
static Double aConst2[11] = {4.00000000000000000e+00, 2.00000000000000000e+00, 1.00000000000000000e+00, 5.00000000000000000e-01, 2.50000000000000000e-01, 1.67000000000000010e-01, 1.25000000000000000e-01, 1.00000000000000006e-01, 8.32999999999999990e-02, 7.14000000000000051e-02, 6.25000000000000000e-02,};
static Double aConst3[11] = {4.00000000000000000e+00, 2.00000000000000000e+00, 1.00000000000000000e+00, 5.00000000000000000e-01, 2.50000000000000000e-01, 1.67000000000000010e-01, 1.25000000000000000e-01, 1.00000000000000006e-01, 8.32999999999999990e-02, 7.14000000000000051e-02, 6.25000000000000000e-02,};
static Double aConst4[11] = {4.00000000000000000e+00, 2.00000000000000000e+00, 1.00000000000000000e+00, 5.00000000000000000e-01, 2.50000000000000000e-01, 1.67000000000000010e-01, 1.25000000000000000e-01, 1.00000000000000006e-01, 8.32999999999999990e-02, 7.14000000000000051e-02, 6.25000000000000000e-02,};
static Double aConst5[11] = {4.00000000000000000e+00, 2.00000000000000000e+00, 1.00000000000000000e+00, 5.00000000000000000e-01, 2.50000000000000000e-01, 1.67000000000000010e-01, 1.25000000000000000e-01, 1.00000000000000006e-01, 8.32999999999999990e-02, 7.14000000000000051e-02, 6.25000000000000000e-02,};
static Double aConst6[11] = {4.00000000000000000e+00, 2.00000000000000000e+00, 1.00000000000000000e+00, 5.00000000000000000e-01, 2.50000000000000000e-01, 1.67000000000000010e-01, 1.25000000000000000e-01, 1.00000000000000006e-01, 8.32999999999999990e-02, 7.14000000000000051e-02, 6.25000000000000000e-02,};
Integer m_;
Integer n_;
BoundsInfo x_INFO;
BoundsInfo fjac_INFO;
Integer ldfjac_;
Integer nprob_;
register Integer i_;
register Integer j_;
register Integer k_;
auto Double div_;
auto Double dx_;
auto Double prod_;
auto Double s2_;
auto Double temp_;
auto Double ti_;
auto Double tmp1_;
auto Double tmp2_;
auto Double tmp3_;
auto Double tmp4_;
auto Double tpi_;
m_ = *m_Dummy;
n_ = *n_Dummy;
ldfjac_ = *ldfjac_Dummy;
nprob_ = *nprob_Dummy;
x_INFO.rank = 1;
x_INFO.offset = 0;
x_INFO.dim[0].lower = 1;
Tmp1 = n_ - 1 + 1;
if (Tmp1 < 0)
Tmp1 = 0;
x_INFO.dim[0].extent = Tmp1;
x_INFO.dim[0].mult = 1;
x_INFO.offset -= 1;
fjac_INFO.rank = 2;
fjac_INFO.offset = 0;
fjac_INFO.dim[0].lower = 1;
Tmp2 = ldfjac_ - 1 + 1;
if (Tmp2 < 0)
Tmp2 = 0;
fjac_INFO.dim[0].extent = Tmp2;
fjac_INFO.dim[0].mult = 1;
fjac_INFO.offset -= 1;
Tmp3 = 1 * Tmp2;
fjac_INFO.dim[1].lower = 1;
Tmp2 = n_ - 1 + 1;
if (Tmp2 < 0)
Tmp2 = 0;
fjac_INFO.dim[1].extent = Tmp2;
fjac_INFO.dim[1].mult = Tmp3;
fjac_INFO.offset -= 1 * fjac_INFO.dim[1].mult;
Tmp5 = fjac_INFO.dim[1].mult;
Tmp4 = fjac_INFO.offset;
switch (nprob_) {
case 1:
temp_ = 2.00000000000000000e+00 / m_;
Tmp6 = n_;
for (j_ = 1; j_ <= Tmp6; j_++) {
Tmp7 = 8;
Section1.addr = (Pointer) fjac_;
Section1.offset = 0;
Section1.addr += Tmp7 * (1 - 1);
Section1.dim[0].mult = Tmp7;
Section1.dim[0].extent = m_ - 1 + 1;
if (Section1.dim[0].extent < 0)
Section1.dim[0].extent = 0;
Section1.offset = -(Section1.dim[0].mult);
Section1.dim[0].lower = 1;
Tmp7 *= fjac_INFO.dim[0].extent;
Section1.addr += Tmp7 * (j_ - 1);
Tmp8 = -(temp_);
pTmp1 = Section1.addr;
for (Tmp9 = 0; Tmp9 < Section1.dim[0].extent; Tmp9++) {
*((Double *) pTmp1) = Tmp8;
pTmp1 += Section1.dim[0].mult;
}
fjac_[j_ + Tmp5 * (j_) + Tmp4] = fjac_[j_ + Tmp5 * (j_) + Tmp4] + 1.00000000000000000e+00;
}
break;
case 2:
Tmp9 = n_;
for (j_ = 1; j_ <= Tmp9; j_++) {
Tmp10 = m_;
for (i_ = 1; i_ <= Tmp10 - 1; i_ += 2) {
fjac_[i_ + Tmp5 * (j_) + Tmp4] = (Double) ((i_ * j_));
fjac_[(i_ + 1) + Tmp5 * (j_) + Tmp4] = (Double) (((i_ + 1) * j_));
}
if (i_ == Tmp10) {
fjac_[i_ + Tmp5 * (j_) + Tmp4] = (Double) ((i_ * j_));
}
if (1 <= Tmp10)
i_ = Tmp10 + 1;
}
break;
}
}