diff options
author | Brian Gaeke <gaeke@uiuc.edu> | 2003-05-30 08:02:14 +0000 |
---|---|---|
committer | Brian Gaeke <gaeke@uiuc.edu> | 2003-05-30 08:02:14 +0000 |
commit | 9604416192ed6add7c2b0d32dbb18174fe319e06 (patch) | |
tree | 4c38289a1d0608fe05650873e05426c711e2de29 | |
parent | 261d686737989a8d7eff0b0f405515a1565303d9 (diff) |
Makefile: Make SparcV9CodeEmitter.inc depend on SparcV9_F*.td as well.
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
-rw-r--r-- | lib/Target/SparcV9/Makefile | 2 | ||||
-rw-r--r-- | lib/Target/SparcV9/SparcV9_F3.td | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/lib/Target/SparcV9/Makefile b/lib/Target/SparcV9/Makefile index a18719354e..8ac4d5b498 100644 --- a/lib/Target/SparcV9/Makefile +++ b/lib/Target/SparcV9/Makefile @@ -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 diff --git a/lib/Target/SparcV9/SparcV9_F3.td b/lib/Target/SparcV9/SparcV9_F3.td index cabbde1839..294d1d7c6d 100644 --- a/lib/Target/SparcV9/SparcV9_F3.td +++ b/lib/Target/SparcV9/SparcV9_F3.td @@ -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 |