From eb5fcf93241c28ecae87001a1568c453703f30ef Mon Sep 17 00:00:00 2001 From: Chris Demetriou Date: Fri, 1 Mar 2002 07:53:46 +0000 Subject: [PATCH] 2002-02-28 Chris Demetriou * 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. --- sim/mips/ChangeLog | 11 ++++++ sim/mips/mips.igen | 88 +++++++++++++++++++++++----------------------- 2 files changed, 55 insertions(+), 44 deletions(-) diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog index cb69ddb74c2..554b85b07bc 100644 --- a/sim/mips/ChangeLog +++ b/sim/mips/ChangeLog @@ -1,3 +1,14 @@ +2002-02-28 Chris Demetriou + + * 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 * mips.igen (DSRA32, DSRAV): Fix order of arguments in diff --git a/sim/mips/mips.igen b/sim/mips/mips.igen index 02ae7607835..3c46579c206 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.%s f, f" *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.%s f, f":CC == 0 "c.%s.%s , f, f" *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 f, f" *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%sc1 r, f" *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%sc1 r, f" *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 f, f" *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 f, f" *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 f, f" *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 f, f" *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 f, f, f" *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%sc1 r, f" *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%sc1 r, f" *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 f, f" *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 f, f" *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, r(r)" *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, (r)" *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, r(r)" *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%sc1 r, f" *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%sc1 r, f" *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 f, f" *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 r, r, " *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.%s f, f, " *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 f, f, r" *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 f, f, r" *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, f, f, f" *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, f, f, f" *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 f, f, f" *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 f, f" *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, f, f, f" *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, f, f, f" *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, f, f, f" *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, f, f, f" *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 f, f" *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 f, f" *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 f, f" *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 f, f" @@ -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, r(r)" *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 f, f" *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 f, f, f" *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, (r)" *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, r(r)" *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 f, f" *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 f, f" *mipsII: *mipsIII: -- 2.30.2