diff options
author | Chris Demetriou <cgd@google.com> | 2002-03-01 07:53:46 +0000 |
---|---|---|
committer | Chris Demetriou <cgd@google.com> | 2002-03-01 07:53:46 +0000 |
commit | eb5fcf93241c28ecae87001a1568c453703f30ef (patch) | |
tree | 857359b92fed0cb7b12f9df328a532e827da1aff /sim/mips | |
parent | bb22bd7d9ec6a874d1b8797ed81a4763dee3b917 (diff) | |
download | gdb-eb5fcf93241c28ecae87001a1568c453703f30ef.zip gdb-eb5fcf93241c28ecae87001a1568c453703f30ef.tar.gz gdb-eb5fcf93241c28ecae87001a1568c453703f30ef.tar.bz2 |
2002-02-28 Chris Demetriou <cgd@broadcom.com>
* mips.igen (LWXC1): Mark with filter "64,f", rather than just "32".
(MOVtf, MxC1, MxC1, DMxC1, DMxC1, CxC1, CxC1, SQRT.fmt, MOV.fmt,
NEG.fmt, ROUND.L.fmt, TRUNC.L.fmt, CEIL.L.fmt, FLOOR.L.fmt,
ROUND.W.fmt, TRUNC.W, CEIL.W, FLOOR.W.fmt, RECIP.fmt, RSQRT.fmt,
CVT.S.fmt, CVT.D.fmt, CVT.W.fmt, CVT.L.fmt, MOVtf.fmt, C.cond.fmta,
C.cond.fmtb, SUB.fmt, MUL.fmt, DIV.fmt, MOVZ.fmt, MOVN.fmt, LDXC1,
SWXC1, SDXC1, MSUB.D, MSUB.S, NMADD.S, NMADD.D, NMSUB.S, NMSUB.D,
LWC1, SWC1): Add "f" to filter, since these are FP instructions.
Diffstat (limited to 'sim/mips')
-rw-r--r-- | sim/mips/ChangeLog | 11 | ||||
-rw-r--r-- | sim/mips/mips.igen | 88 |
2 files changed, 55 insertions, 44 deletions
diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog index cb69ddb..554b85b 100644 --- a/sim/mips/ChangeLog +++ b/sim/mips/ChangeLog @@ -1,5 +1,16 @@ 2002-02-28 Chris Demetriou <cgd@broadcom.com> + * mips.igen (LWXC1): Mark with filter "64,f", rather than just "32". + (MOVtf, MxC1, MxC1, DMxC1, DMxC1, CxC1, CxC1, SQRT.fmt, MOV.fmt, + NEG.fmt, ROUND.L.fmt, TRUNC.L.fmt, CEIL.L.fmt, FLOOR.L.fmt, + ROUND.W.fmt, TRUNC.W, CEIL.W, FLOOR.W.fmt, RECIP.fmt, RSQRT.fmt, + CVT.S.fmt, CVT.D.fmt, CVT.W.fmt, CVT.L.fmt, MOVtf.fmt, C.cond.fmta, + C.cond.fmtb, SUB.fmt, MUL.fmt, DIV.fmt, MOVZ.fmt, MOVN.fmt, LDXC1, + SWXC1, SDXC1, MSUB.D, MSUB.S, NMADD.S, NMADD.D, NMSUB.S, NMSUB.D, + LWC1, SWC1): Add "f" to filter, since these are FP instructions. + +2002-02-28 Chris Demetriou <cgd@broadcom.com> + * mips.igen (DSRA32, DSRAV): Fix order of arguments in instruction-printing string. (LWU): Use '64' as the filter flag. diff --git a/sim/mips/mips.igen b/sim/mips/mips.igen index 02ae760..3c46579 100644 --- a/sim/mips/mips.igen +++ b/sim/mips/mips.igen @@ -3185,7 +3185,7 @@ } } -010001,10,3.FMT,5.FT,5.FS,3.0,00,11,4.COND:COP1:32::C.cond.fmta +010001,10,3.FMT,5.FT,5.FS,3.0,00,11,4.COND:COP1:32,f::C.cond.fmta "c.%s<COND>.%s<FMT> f<FS>, f<FT>" *mipsI: *mipsII: @@ -3195,7 +3195,7 @@ do_c_cond_fmt (SD_, FMT, FT, FS, 0, COND, instruction_0); } -010001,10,3.FMT,5.FT,5.FS,3.CC,00,11,4.COND:COP1:32::C.cond.fmtb +010001,10,3.FMT,5.FT,5.FS,3.CC,00,11,4.COND:COP1:32,f::C.cond.fmtb "c.%s<COND>.%s<FMT> f<FS>, f<FT>":CC == 0 "c.%s<COND>.%s<FMT> <CC>, f<FS>, f<FT>" *mipsIV: @@ -3209,7 +3209,7 @@ } -010001,10,3.FMT,00000,5.FS,5.FD,001010:COP1:64::CEIL.L.fmt +010001,10,3.FMT,00000,5.FS,5.FD,001010:COP1:64,f::CEIL.L.fmt "ceil.l.%s<FMT> f<FD>, f<FS>" *mipsIII: *mipsIV: @@ -3232,7 +3232,7 @@ } -010001,10,3.FMT,00000,5.FS,5.FD,001110:COP1:32::CEIL.W +010001,10,3.FMT,00000,5.FS,5.FD,001110:COP1:32,f::CEIL.W *mipsII: *mipsIII: *mipsIV: @@ -3257,7 +3257,7 @@ // CFC1 // CTC1 -010001,00,X,10,5.RT,5.FS,00000000000:COP1Sa:32::CxC1 +010001,00,X,10,5.RT,5.FS,00000000000:COP1Sa:32,f::CxC1 "c%s<X>c1 r<RT>, f<FS>" *mipsI: *mipsII: @@ -3282,7 +3282,7 @@ /* else NOP */ } } -010001,00,X,10,5.RT,5.FS,00000000000:COP1Sb:32::CxC1 +010001,00,X,10,5.RT,5.FS,00000000000:COP1Sb:32,f::CxC1 "c%s<X>c1 r<RT>, f<FS>" *mipsIV: *mipsV: @@ -3333,7 +3333,7 @@ // // FIXME: Does not correctly differentiate between mips* // -010001,10,3.FMT,00000,5.FS,5.FD,100001:COP1:32::CVT.D.fmt +010001,10,3.FMT,00000,5.FS,5.FD,100001:COP1:32,f::CVT.D.fmt "cvt.d.%s<FMT> f<FD>, f<FS>" *mipsI: *mipsII: @@ -3358,7 +3358,7 @@ } -010001,10,3.FMT,00000,5.FS,5.FD,100101:COP1:64::CVT.L.fmt +010001,10,3.FMT,00000,5.FS,5.FD,100101:COP1:64,f::CVT.L.fmt "cvt.l.%s<FMT> f<FD>, f<FS>" *mipsIII: *mipsIV: @@ -3384,7 +3384,7 @@ // // FIXME: Does not correctly differentiate between mips* // -010001,10,3.FMT,00000,5.FS,5.FD,100000:COP1:32::CVT.S.fmt +010001,10,3.FMT,00000,5.FS,5.FD,100000:COP1:32,f::CVT.S.fmt "cvt.s.%s<FMT> f<FD>, f<FS>" *mipsI: *mipsII: @@ -3409,7 +3409,7 @@ } -010001,10,3.FMT,00000,5.FS,5.FD,100100:COP1:32::CVT.W.fmt +010001,10,3.FMT,00000,5.FS,5.FD,100100:COP1:32,f::CVT.W.fmt "cvt.w.%s<FMT> f<FD>, f<FS>" *mipsI: *mipsII: @@ -3434,7 +3434,7 @@ } -010001,10,3.FMT,5.FT,5.FS,5.FD,000011:COP1:32::DIV.fmt +010001,10,3.FMT,5.FT,5.FS,5.FD,000011:COP1:32,f::DIV.fmt "div.%s<FMT> f<FD>, f<FS>, f<FT>" *mipsI: *mipsII: @@ -3462,7 +3462,7 @@ // DMFC1 // DMTC1 -010001,00,X,01,5.RT,5.FS,00000000000:COP1Sa:64::DMxC1 +010001,00,X,01,5.RT,5.FS,00000000000:COP1Sa:64,f::DMxC1 "dm%s<X>c1 r<RT>, f<FS>" *mipsIII: { @@ -3494,7 +3494,7 @@ } } } -010001,00,X,01,5.RT,5.FS,00000000000:COP1Sb:64::DMxC1 +010001,00,X,01,5.RT,5.FS,00000000000:COP1Sb:64,f::DMxC1 "dm%s<X>c1 r<RT>, f<FS>" *mipsIV: *mipsV: @@ -3529,7 +3529,7 @@ } -010001,10,3.FMT,00000,5.FS,5.FD,001011:COP1:64::FLOOR.L.fmt +010001,10,3.FMT,00000,5.FS,5.FD,001011:COP1:64,f::FLOOR.L.fmt "floor.l.%s<FMT> f<FD>, f<FS>" *mipsIII: *mipsIV: @@ -3552,7 +3552,7 @@ } -010001,10,3.FMT,00000,5.FS,5.FD,001111:COP1:32::FLOOR.W.fmt +010001,10,3.FMT,00000,5.FS,5.FD,001111:COP1:32,f::FLOOR.W.fmt "floor.w.%s<FMT> f<FD>, f<FS>" *mipsII: *mipsIII: @@ -3591,7 +3591,7 @@ } -010011,5.BASE,5.INDEX,5.0,5.FD,000001:COP1X:64::LDXC1 +010011,5.BASE,5.INDEX,5.0,5.FD,000001:COP1X:64,f::LDXC1 "ldxc1 f<FD>, r<INDEX>(r<BASE>)" *mipsIV: *mipsV: @@ -3604,7 +3604,7 @@ -110001,5.BASE,5.FT,16.OFFSET:COP1:32::LWC1 +110001,5.BASE,5.FT,16.OFFSET:COP1:32,f::LWC1 "lwc1 f<FT>, <OFFSET>(r<BASE>)" *mipsI: *mipsII: @@ -3620,7 +3620,7 @@ } -010011,5.BASE,5.INDEX,5.0,5.FD,000000:COP1X:32::LWXC1 +010011,5.BASE,5.INDEX,5.0,5.FD,000000:COP1X:64,f::LWXC1 "lwxc1 f<FD>, r<INDEX>(r<BASE>)" *mipsIV: *mipsV: @@ -3674,7 +3674,7 @@ // MFC1 // MTC1 -010001,00,X,00,5.RT,5.FS,00000000000:COP1Sa:32::MxC1 +010001,00,X,00,5.RT,5.FS,00000000000:COP1Sa:32,f::MxC1 "m%s<X>c1 r<RT>, f<FS>" *mipsI: *mipsII: @@ -3697,7 +3697,7 @@ else /*MFC1*/ PENDING_FILL (RT, SIGNEXTEND(FGR[FS],32)); } -010001,00,X,00,5.RT,5.FS,00000000000:COP1Sb:32::MxC1 +010001,00,X,00,5.RT,5.FS,00000000000:COP1Sb:32,f::MxC1 "m%s<X>c1 r<RT>, f<FS>" *mipsIV: *mipsV: @@ -3715,7 +3715,7 @@ } -010001,10,3.FMT,00000,5.FS,5.FD,000110:COP1:32::MOV.fmt +010001,10,3.FMT,00000,5.FS,5.FD,000110:COP1:32,f::MOV.fmt "mov.%s<FMT> f<FD>, f<FS>" *mipsI: *mipsII: @@ -3739,7 +3739,7 @@ // MOVF // MOVT -000000,5.RS,3.CC,0,1.TF,5.RD,00000,000001:SPECIAL:32::MOVtf +000000,5.RS,3.CC,0,1.TF,5.RD,00000,000001:SPECIAL:32,f::MOVtf "mov%s<TF> r<RD>, r<RS>, <CC>" *mipsIV: *mipsV: @@ -3753,7 +3753,7 @@ // MOVF.fmt // MOVT.fmt -010001,10,3.FMT,3.CC,0,1.TF,5.FS,5.FD,010001:COP1:32::MOVtf.fmt +010001,10,3.FMT,3.CC,0,1.TF,5.FS,5.FD,010001:COP1:32,f::MOVtf.fmt "mov%s<TF>.%s<FMT> f<FD>, f<FS>, <CC>" *mipsIV: *mipsV: @@ -3771,7 +3771,7 @@ } -010001,10,3.FMT,5.RT,5.FS,5.FD,010011:COP1:32::MOVN.fmt +010001,10,3.FMT,5.RT,5.FS,5.FD,010011:COP1:32,f::MOVN.fmt "movn.%s<FMT> f<FD>, f<FS>, r<RT>" *mipsIV: *mipsV: @@ -3792,7 +3792,7 @@ -010001,10,3.FMT,5.RT,5.FS,5.FD,010010:COP1:32::MOVZ.fmt +010001,10,3.FMT,5.RT,5.FS,5.FD,010010:COP1:32,f::MOVZ.fmt "movz.%s<FMT> f<FD>, f<FS>, r<RT>" *mipsIV: *mipsV: @@ -3807,7 +3807,7 @@ // MSUB.fmt -010011,5.FR,5.FT,5.FS,5.FD,101,001:COP1X:32::MSUB.D +010011,5.FR,5.FT,5.FS,5.FD,101,001:COP1X:32,f::MSUB.D "msub.d f<FD>, f<FR>, f<FS>, f<FT>" *mipsIV: *mipsV: @@ -3826,7 +3826,7 @@ // MSUB.fmt -010011,5.FR,5.FT,5.FS,5.FD,101000:COP1X:32::MSUB.S +010011,5.FR,5.FT,5.FS,5.FD,101000:COP1X:32,f::MSUB.S "msub.s f<FD>, f<FR>, f<FS>, f<FT>" *mipsIV: *mipsV: @@ -3847,7 +3847,7 @@ // MTC1 see MxC1 -010001,10,3.FMT,5.FT,5.FS,5.FD,000010:COP1:32::MUL.fmt +010001,10,3.FMT,5.FT,5.FS,5.FD,000010:COP1:32,f::MUL.fmt "mul.%s<FMT> f<FD>, f<FS>, f<FT>" *mipsI: *mipsII: @@ -3873,7 +3873,7 @@ } -010001,10,3.FMT,00000,5.FS,5.FD,000111:COP1:32::NEG.fmt +010001,10,3.FMT,00000,5.FS,5.FD,000111:COP1:32,f::NEG.fmt "neg.%s<FMT> f<FD>, f<FS>" *mipsI: *mipsII: @@ -3899,7 +3899,7 @@ // NMADD.fmt -010011,5.FR,5.FT,5.FS,5.FD,110001:COP1X:32::NMADD.D +010011,5.FR,5.FT,5.FS,5.FD,110001:COP1X:32,f::NMADD.D "nmadd.d f<FD>, f<FR>, f<FS>, f<FT>" *mipsIV: *mipsV: @@ -3918,7 +3918,7 @@ // NMADD.fmt -010011,5.FR,5.FT,5.FS,5.FD,110000:COP1X:32::NMADD.S +010011,5.FR,5.FT,5.FS,5.FD,110000:COP1X:32,f::NMADD.S "nmadd.s f<FD>, f<FR>, f<FS>, f<FT>" *mipsIV: *mipsV: @@ -3937,7 +3937,7 @@ // NMSUB.fmt -010011,5.FR,5.FT,5.FS,5.FD,111001:COP1X:32::NMSUB.D +010011,5.FR,5.FT,5.FS,5.FD,111001:COP1X:32,f::NMSUB.D "nmsub.d f<FD>, f<FR>, f<FS>, f<FT>" *mipsIV: *mipsV: @@ -3956,7 +3956,7 @@ // NMSUB.fmt -010011,5.FR,5.FT,5.FS,5.FD,111000:COP1X:32::NMSUB.S +010011,5.FR,5.FT,5.FS,5.FD,111000:COP1X:32,f::NMSUB.S "nmsub.s f<FD>, f<FR>, f<FS>, f<FT>" *mipsIV: *mipsV: @@ -3993,7 +3993,7 @@ } } -010001,10,3.FMT,00000,5.FS,5.FD,010101:COP1:32::RECIP.fmt +010001,10,3.FMT,00000,5.FS,5.FD,010101:COP1:32,f::RECIP.fmt "recip.%s<FMT> f<FD>, f<FS>" *mipsIV: *mipsV: @@ -4013,7 +4013,7 @@ } -010001,10,3.FMT,00000,5.FS,5.FD,001000:COP1:64::ROUND.L.fmt +010001,10,3.FMT,00000,5.FS,5.FD,001000:COP1:64,f::ROUND.L.fmt "round.l.%s<FMT> f<FD>, f<FS>" *mipsIII: *mipsIV: @@ -4036,7 +4036,7 @@ } -010001,10,3.FMT,00000,5.FS,5.FD,001100:COP1:32::ROUND.W.fmt +010001,10,3.FMT,00000,5.FS,5.FD,001100:COP1:32,f::ROUND.W.fmt "round.w.%s<FMT> f<FD>, f<FS>" *mipsII: *mipsIII: @@ -4060,7 +4060,7 @@ } -010001,10,3.FMT,00000,5.FS,5.FD,010110:COP1:32::RSQRT.fmt +010001,10,3.FMT,00000,5.FS,5.FD,010110:COP1:32,f::RSQRT.fmt *mipsIV: *mipsV: "rsqrt.%s<FMT> f<FD>, f<FS>" @@ -4095,7 +4095,7 @@ } -010011,5.BASE,5.INDEX,5.FS,00000001001:COP1X:64::SDXC1 +010011,5.BASE,5.INDEX,5.FS,00000001001:COP1X:64,f::SDXC1 "sdxc1 f<FS>, r<INDEX>(r<BASE>)" *mipsIV: *mipsV: @@ -4107,7 +4107,7 @@ } -010001,10,3.FMT,00000,5.FS,5.FD,000100:COP1:32::SQRT.fmt +010001,10,3.FMT,00000,5.FS,5.FD,000100:COP1:32,f::SQRT.fmt "sqrt.%s<FMT> f<FD>, f<FS>" *mipsII: *mipsIII: @@ -4131,7 +4131,7 @@ } -010001,10,3.FMT,5.FT,5.FS,5.FD,000001:COP1:32::SUB.fmt +010001,10,3.FMT,5.FT,5.FS,5.FD,000001:COP1:32,f::SUB.fmt "sub.%s<FMT> f<FD>, f<FS>, f<FT>" *mipsI: *mipsII: @@ -4158,7 +4158,7 @@ -111001,5.BASE,5.FT,16.OFFSET:COP1:32::SWC1 +111001,5.BASE,5.FT,16.OFFSET:COP1:32,f::SWC1 "swc1 f<FT>, <OFFSET>(r<BASE>)" *mipsI: *mipsII: @@ -4202,7 +4202,7 @@ } -010011,5.BASE,5.INDEX,5.FS,00000,001000:COP1X:32::SWXC1 +010011,5.BASE,5.INDEX,5.FS,00000,001000:COP1X:32,f::SWXC1 "swxc1 f<FS>, r<INDEX>(r<BASE>)" *mipsIV: *mipsV: @@ -4242,7 +4242,7 @@ } -010001,10,3.FMT,00000,5.FS,5.FD,001001:COP1:64::TRUNC.L.fmt +010001,10,3.FMT,00000,5.FS,5.FD,001001:COP1:64,f::TRUNC.L.fmt "trunc.l.%s<FMT> f<FD>, f<FS>" *mipsIII: *mipsIV: @@ -4265,7 +4265,7 @@ } -010001,10,3.FMT,00000,5.FS,5.FD,001101:COP1:32::TRUNC.W +010001,10,3.FMT,00000,5.FS,5.FD,001101:COP1:32,f::TRUNC.W "trunc.w.%s<FMT> f<FD>, f<FS>" *mipsII: *mipsIII: |