This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB 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]

[applied mips sim patch] Fix a lot of FP instructions' filterflags.


more pulled out of our source tree here.  Obviously the right thing.

gotta wonder...  8-)

verified that a selection of sims still build w/ these changes.


cgd
===================================================================
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.

Index: mips.igen
===================================================================
RCS file: /cvs/src/src/sim/mips/mips.igen,v
retrieving revision 1.20
diff -u -r1.20 mips.igen
--- mips.igen	2002/03/01 07:34:57	1.20
+++ mips.igen	2002/03/01 07:50:21
@@ -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:



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