@@ -551,20 +551,17 @@ let isCall = 1, Defs = [A0] in
551551 let n = 0;
552552 }
553553
554- let isIndirectBranch = 1 in
554+ def CALLX0: CALLX_Inst<0x00, 0x00, 0x00, (outs), (ins AR:$s),
555+ "callx0\t$s", [(Xtensa_call AR:$s)]>
555556 {
556- def CALLX0: CALLX_Inst<0x00, 0x00, 0x00, (outs), (ins AR:$s),
557- "callx0\t$s", [(Xtensa_call AR:$s)]>
558- {
559- let m = 0x3;
560- let n = 0x0;
561- let r = 0;
562- }
557+ let m = 0x3;
558+ let n = 0x0;
559+ let r = 0;
563560 }
564561}
565562
566563let isReturn = 1, isTerminator = 1,
567- isBarrier = 1, hasCtrlDep = 1, Uses = [A0] in
564+ isBarrier = 1, Uses = [A0] in
568565{
569566
570567 def RET: CALLX_Inst<0x00, 0x00, 0x00, (outs), (ins),
@@ -803,7 +800,7 @@ let mayStore = 1, usesCustomInserter = 1 in
803800
804801//Return instruction
805802let isReturn = 1, isTerminator = 1,
806- isBarrier = 1, hasCtrlDep = 1, Uses = [A0] in
803+ isBarrier = 1, Uses = [A0] in
807804{
808805 def RET_N: RRRN_Inst<0x0D, (outs), (ins),
809806 "ret.n", [(Xtensa_retflag)]>, Requires<[HasDensity]>
@@ -848,31 +845,28 @@ let isCall = 1, Defs = [A0] in
848845 let n = 3;
849846 }
850847
851- let isIndirectBranch = 1 in
848+ def CALLX4: CALLX_Inst<0x00, 0x00, 0x00, (outs), (ins AR:$s),
849+ "callx4\t$s", []>, Requires<[HasWindowed]>
850+ {
851+ let m = 0x3;
852+ let n = 0x1;
853+ let r = 0;
854+ }
855+
856+ def CALLX8: CALLX_Inst<0x00, 0x00, 0x00, (outs), (ins AR:$s),
857+ "callx8\t$s", []>, Requires<[HasWindowed]>
852858 {
853- def CALLX4: CALLX_Inst<0x00, 0x00, 0x00, (outs), (ins AR:$s),
854- "callx4\t$s", []>, Requires<[HasWindowed]>
855- {
856- let m = 0x3;
857- let n = 0x1;
858- let r = 0;
859- }
860-
861- def CALLX8: CALLX_Inst<0x00, 0x00, 0x00, (outs), (ins AR:$s),
862- "callx8\t$s", []>, Requires<[HasWindowed]>
863- {
864- let m = 0x3;
865- let n = 0x2;
866- let r = 0;
867- }
868-
869- def CALLX12: CALLX_Inst<0x00, 0x00, 0x00, (outs), (ins AR:$s),
870- "callx12\t$s", []>, Requires<[HasWindowed]>
871- {
872- let m = 0x3;
873- let n = 0x3;
874- let r = 0;
875- }
859+ let m = 0x3;
860+ let n = 0x2;
861+ let r = 0;
862+ }
863+
864+ def CALLX12: CALLX_Inst<0x00, 0x00, 0x00, (outs), (ins AR:$s),
865+ "callx12\t$s", []>, Requires<[HasWindowed]>
866+ {
867+ let m = 0x3;
868+ let n = 0x3;
869+ let r = 0;
876870 }
877871}
878872
@@ -893,7 +887,7 @@ def MOVSP: RRR_Inst<0x00, 0x00, 0x00, (outs AR:$t), (ins AR:$s),
893887
894888//Return instructions
895889let isReturn = 1, isTerminator = 1,
896- isBarrier = 1, hasCtrlDep = 1, Uses = [A0] in
890+ isBarrier = 1, Uses = [A0] in
897891{
898892 def RETW_N: RRRN_Inst<0x0D, (outs), (ins),
899893 "retw.n", [(Xtensa_retWflag)]>, Requires<[HasWindowed, HasDensity]>
@@ -903,7 +897,7 @@ let isReturn = 1, isTerminator = 1,
903897 let t = 1;
904898 }
905899
906- def RETW: CALLX_Inst<0x00, 0x00, 0x00, (outs), (ins),
900+ def RETW: CALLX_Inst<0x00, 0x00, 0x00, (outs), (ins),
907901 "retw", [(Xtensa_retWflag)]>, Requires<[HasWindowed]>
908902 {
909903 let m = 0x2;
0 commit comments