Makefile: Make SparcV9CodeEmitter.inc depend on SparcV9_F*.td as well.
authorBrian Gaeke <gaeke@uiuc.edu>
Fri, 30 May 2003 08:02:14 +0000 (08:02 +0000)
committerBrian Gaeke <gaeke@uiuc.edu>
Fri, 30 May 2003 08:02:14 +0000 (08:02 +0000)
SparcV9_F3.td: F3_12 and F3_13 instructions have rd and rs1 fields. Also,
 their fields were totally screwed up. This seems to fix the problem.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6429 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/SparcV9/Makefile
lib/Target/SparcV9/SparcV9_F3.td

index a18719354ef175a2f80674926e154aeb2696494b..8ac4d5b498e094fb8ceb6d94b5a7b50db2b77543 100644 (file)
@@ -36,7 +36,7 @@ SparcV9CodeEmitter.cpp: SparcV9CodeEmitter.inc
 
 TEMP_EMITTER_INC = _temp_emitter.inc
 
-SparcV9CodeEmitter.inc: SparcV9.td
+SparcV9CodeEmitter.inc: SparcV9.td SparcV9_F2.td SparcV9_F3.td SparcV9_F4.td SparcV9_Reg.td
        @echo "TableGen-erating $@"
        cpp -P SparcV9.td | $(TBLGEN) -gen-emitter > $(TEMP_EMITTER_INC) 
        mv -f $(TEMP_EMITTER_INC) SparcV9CodeEmitter.inc
index cabbde18399b825f72d1883353c5ab2f4f3c7e37..294d1d7c6d0bbaddf0b7782726880cd8f3f0259a 100644 (file)
@@ -108,9 +108,11 @@ class F3_11<bits<2> opVal, bits<6> op3Val,    string name> : F3_rdrs1rs2 {
   //set Inst{11-5} = dontcare;
 }
 
-class F3_12<bits<2> opVal, bits<6> op3Val,    string name> : F3 {
+class F3_12<bits<2> opVal, bits<6> op3Val,    string name> : F3_rdrs1 {
   bits<5> shcnt;
 
+  set op  = opVal;
+  set op3 = op3Val;
   set Name = name;
   set Inst{13} = 1; // i field = 1
   set Inst{12} = 0; // x field = 0
@@ -118,9 +120,11 @@ class F3_12<bits<2> opVal, bits<6> op3Val,    string name> : F3 {
   set Inst{4-0} = shcnt;
 }
 
-class F3_13<bits<2> opVal, bits<6> op3Val,    string name> : F3 {
+class F3_13<bits<2> opVal, bits<6> op3Val,    string name> : F3_rdrs1 {
   bits<6> shcnt;
 
+  set op  = opVal;
+  set op3 = op3Val;
   set Name = name;
   set Inst{13} = 1; // i field = 1
   set Inst{12} = 1; // x field = 1