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]

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;

        }
}


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