Hexagon: Set isPredicatedFlase flag for all the instructions with negated predication.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179387 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jyotsna Verma 2013-04-12 17:46:52 +00:00
parent fb1cd69b90
commit c1406d76ec
2 changed files with 21 additions and 21 deletions

View File

@ -107,7 +107,7 @@ multiclass ALU32_Pbase<string mnemonic, bit isNot,
} }
multiclass ALU32_Pred<string mnemonic, bit PredNot> { multiclass ALU32_Pred<string mnemonic, bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
defm _c#NAME : ALU32_Pbase<mnemonic, PredNot, 0>; defm _c#NAME : ALU32_Pbase<mnemonic, PredNot, 0>;
// Predicate new // Predicate new
defm _cdn#NAME : ALU32_Pbase<mnemonic, PredNot, 1>; defm _cdn#NAME : ALU32_Pbase<mnemonic, PredNot, 1>;
@ -153,7 +153,7 @@ multiclass ALU32ri_Pbase<string mnemonic, bit isNot, bit isPredNew> {
} }
multiclass ALU32ri_Pred<string mnemonic, bit PredNot> { multiclass ALU32ri_Pred<string mnemonic, bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
defm _c#NAME : ALU32ri_Pbase<mnemonic, PredNot, 0>; defm _c#NAME : ALU32ri_Pbase<mnemonic, PredNot, 0>;
// Predicate new // Predicate new
defm _cdn#NAME : ALU32ri_Pbase<mnemonic, PredNot, 1>; defm _cdn#NAME : ALU32ri_Pbase<mnemonic, PredNot, 1>;
@ -222,7 +222,7 @@ def SUB_ri : ALU32_ri<(outs IntRegs:$dst),
multiclass TFR_Pred<bit PredNot> { multiclass TFR_Pred<bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
def _c#NAME : ALU32_rr<(outs IntRegs:$dst), def _c#NAME : ALU32_rr<(outs IntRegs:$dst),
(ins PredRegs:$src1, IntRegs:$src2), (ins PredRegs:$src1, IntRegs:$src2),
!if(PredNot, "if (!$src1", "if ($src1")#") $dst = $src2", !if(PredNot, "if (!$src1", "if ($src1")#") $dst = $src2",
@ -274,7 +274,7 @@ class T_TFR64_Pred<bit PredNot, bit isPredNew>
} }
multiclass TFR64_Pred<bit PredNot> { multiclass TFR64_Pred<bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
def _c#NAME : T_TFR64_Pred<PredNot, 0>; def _c#NAME : T_TFR64_Pred<PredNot, 0>;
let PNewValue = "new" in let PNewValue = "new" in
@ -309,7 +309,7 @@ multiclass TFR64_base<string BaseName> {
} }
multiclass TFRI_Pred<bit PredNot> { multiclass TFRI_Pred<bit PredNot> {
let isMoveImm = 1, PredSense = !if(PredNot, "false", "true") in { let isMoveImm = 1, isPredicatedFalse = PredNot in {
def _c#NAME : ALU32_ri<(outs IntRegs:$dst), def _c#NAME : ALU32_ri<(outs IntRegs:$dst),
(ins PredRegs:$src1, s12Ext:$src2), (ins PredRegs:$src1, s12Ext:$src2),
!if(PredNot, "if (!$src1", "if ($src1")#") $dst = #$src2", !if(PredNot, "if (!$src1", "if ($src1")#") $dst = #$src2",
@ -901,7 +901,7 @@ multiclass LD_MEMri_Pbase<string mnemonic, RegisterClass RC,
} }
multiclass LD_MEMri_Pred<string mnemonic, RegisterClass RC, bit PredNot> { multiclass LD_MEMri_Pred<string mnemonic, RegisterClass RC, bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
defm _c#NAME : LD_MEMri_Pbase<mnemonic, RC, PredNot, 0>; defm _c#NAME : LD_MEMri_Pbase<mnemonic, RC, PredNot, 0>;
// Predicate new // Predicate new
defm _cdn#NAME : LD_MEMri_Pbase<mnemonic, RC, PredNot, 1>; defm _cdn#NAME : LD_MEMri_Pbase<mnemonic, RC, PredNot, 1>;
@ -968,7 +968,7 @@ multiclass LD_Idxd_Pbase<string mnemonic, RegisterClass RC, Operand predImmOp,
multiclass LD_Idxd_Pred<string mnemonic, RegisterClass RC, Operand predImmOp, multiclass LD_Idxd_Pred<string mnemonic, RegisterClass RC, Operand predImmOp,
bit PredNot> { bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
defm _c#NAME : LD_Idxd_Pbase<mnemonic, RC, predImmOp, PredNot, 0>; defm _c#NAME : LD_Idxd_Pbase<mnemonic, RC, predImmOp, PredNot, 0>;
// Predicate new // Predicate new
defm _cdn#NAME : LD_Idxd_Pbase<mnemonic, RC, predImmOp, PredNot, 1>; defm _cdn#NAME : LD_Idxd_Pbase<mnemonic, RC, predImmOp, PredNot, 1>;
@ -1049,7 +1049,7 @@ multiclass LD_PostInc_Pbase<string mnemonic, RegisterClass RC, Operand ImmOp,
multiclass LD_PostInc_Pred<string mnemonic, RegisterClass RC, multiclass LD_PostInc_Pred<string mnemonic, RegisterClass RC,
Operand ImmOp, bit PredNot> { Operand ImmOp, bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
defm _c#NAME : LD_PostInc_Pbase<mnemonic, RC, ImmOp, PredNot, 0>; defm _c#NAME : LD_PostInc_Pbase<mnemonic, RC, ImmOp, PredNot, 0>;
// Predicate new // Predicate new
let Predicates = [HasV4T], validSubTargets = HasV4SubT in let Predicates = [HasV4T], validSubTargets = HasV4SubT in
@ -1377,7 +1377,7 @@ multiclass ST_PostInc_Pbase<string mnemonic, RegisterClass RC, Operand ImmOp,
multiclass ST_PostInc_Pred<string mnemonic, RegisterClass RC, multiclass ST_PostInc_Pred<string mnemonic, RegisterClass RC,
Operand ImmOp, bit PredNot> { Operand ImmOp, bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
defm _c#NAME# : ST_PostInc_Pbase<mnemonic, RC, ImmOp, PredNot, 0>; defm _c#NAME# : ST_PostInc_Pbase<mnemonic, RC, ImmOp, PredNot, 0>;
// Predicate new // Predicate new
let Predicates = [HasV4T], validSubTargets = HasV4SubT in let Predicates = [HasV4T], validSubTargets = HasV4SubT in
@ -1440,7 +1440,7 @@ multiclass ST_MEMri_Pbase<string mnemonic, RegisterClass RC, bit isNot,
} }
multiclass ST_MEMri_Pred<string mnemonic, RegisterClass RC, bit PredNot> { multiclass ST_MEMri_Pred<string mnemonic, RegisterClass RC, bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
defm _c#NAME : ST_MEMri_Pbase<mnemonic, RC, PredNot, 0>; defm _c#NAME : ST_MEMri_Pbase<mnemonic, RC, PredNot, 0>;
// Predicate new // Predicate new
@ -1507,7 +1507,7 @@ multiclass ST_Idxd_Pbase<string mnemonic, RegisterClass RC, Operand predImmOp,
multiclass ST_Idxd_Pred<string mnemonic, RegisterClass RC, Operand predImmOp, multiclass ST_Idxd_Pred<string mnemonic, RegisterClass RC, Operand predImmOp,
bit PredNot> { bit PredNot> {
let PredSense = !if(PredNot, "false", "true"), isPredicated = 1 in { let isPredicatedFalse = PredNot, isPredicated = 1 in {
defm _c#NAME : ST_Idxd_Pbase<mnemonic, RC, predImmOp, PredNot, 0>; defm _c#NAME : ST_Idxd_Pbase<mnemonic, RC, predImmOp, PredNot, 0>;
// Predicate new // Predicate new

View File

@ -316,7 +316,7 @@ multiclass ld_idxd_shl_pbase<string mnemonic, RegisterClass RC, bit isNot,
} }
multiclass ld_idxd_shl_pred<string mnemonic, RegisterClass RC, bit PredNot> { multiclass ld_idxd_shl_pred<string mnemonic, RegisterClass RC, bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
defm _c#NAME : ld_idxd_shl_pbase<mnemonic, RC, PredNot, 0>; defm _c#NAME : ld_idxd_shl_pbase<mnemonic, RC, PredNot, 0>;
// Predicate new // Predicate new
defm _cdn#NAME : ld_idxd_shl_pbase<mnemonic, RC, PredNot, 1>; defm _cdn#NAME : ld_idxd_shl_pbase<mnemonic, RC, PredNot, 1>;
@ -609,7 +609,7 @@ multiclass ST_Idxd_shl_Pbase<string mnemonic, RegisterClass RC, bit isNot,
} }
multiclass ST_Idxd_shl_Pred<string mnemonic, RegisterClass RC, bit PredNot> { multiclass ST_Idxd_shl_Pred<string mnemonic, RegisterClass RC, bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
defm _c#NAME : ST_Idxd_shl_Pbase<mnemonic, RC, PredNot, 0>; defm _c#NAME : ST_Idxd_shl_Pbase<mnemonic, RC, PredNot, 0>;
// Predicate new // Predicate new
defm _cdn#NAME : ST_Idxd_shl_Pbase<mnemonic, RC, PredNot, 1>; defm _cdn#NAME : ST_Idxd_shl_Pbase<mnemonic, RC, PredNot, 1>;
@ -648,7 +648,7 @@ multiclass ST_Idxd_shl_Pbase_nv<string mnemonic, RegisterClass RC, bit isNot,
} }
multiclass ST_Idxd_shl_Pred_nv<string mnemonic, RegisterClass RC, bit PredNot> { multiclass ST_Idxd_shl_Pred_nv<string mnemonic, RegisterClass RC, bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
defm _c#NAME : ST_Idxd_shl_Pbase_nv<mnemonic, RC, PredNot, 0>; defm _c#NAME : ST_Idxd_shl_Pbase_nv<mnemonic, RC, PredNot, 0>;
// Predicate new // Predicate new
defm _cdn#NAME : ST_Idxd_shl_Pbase_nv<mnemonic, RC, PredNot, 1>; defm _cdn#NAME : ST_Idxd_shl_Pbase_nv<mnemonic, RC, PredNot, 1>;
@ -751,7 +751,7 @@ multiclass ST_Imm_Pbase<string mnemonic, Operand OffsetOp, bit isNot,
} }
multiclass ST_Imm_Pred<string mnemonic, Operand OffsetOp, bit PredNot> { multiclass ST_Imm_Pred<string mnemonic, Operand OffsetOp, bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
defm _c#NAME : ST_Imm_Pbase<mnemonic, OffsetOp, PredNot, 0>; defm _c#NAME : ST_Imm_Pbase<mnemonic, OffsetOp, PredNot, 0>;
// Predicate new // Predicate new
defm _cdn#NAME : ST_Imm_Pbase<mnemonic, OffsetOp, PredNot, 1>; defm _cdn#NAME : ST_Imm_Pbase<mnemonic, OffsetOp, PredNot, 1>;
@ -918,7 +918,7 @@ multiclass ST_Idxd_Pbase_nv<string mnemonic, RegisterClass RC,
multiclass ST_Idxd_Pred_nv<string mnemonic, RegisterClass RC, Operand predImmOp, multiclass ST_Idxd_Pred_nv<string mnemonic, RegisterClass RC, Operand predImmOp,
bit PredNot> { bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
defm _c#NAME : ST_Idxd_Pbase_nv<mnemonic, RC, predImmOp, PredNot, 0>; defm _c#NAME : ST_Idxd_Pbase_nv<mnemonic, RC, predImmOp, PredNot, 0>;
// Predicate new // Predicate new
defm _cdn#NAME : ST_Idxd_Pbase_nv<mnemonic, RC, predImmOp, PredNot, 1>; defm _cdn#NAME : ST_Idxd_Pbase_nv<mnemonic, RC, predImmOp, PredNot, 1>;
@ -970,7 +970,7 @@ multiclass ST_MEMri_Pbase_nv<string mnemonic, RegisterClass RC, bit isNot,
} }
multiclass ST_MEMri_Pred_nv<string mnemonic, RegisterClass RC, bit PredNot> { multiclass ST_MEMri_Pred_nv<string mnemonic, RegisterClass RC, bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
defm _c#NAME : ST_MEMri_Pbase_nv<mnemonic, RC, PredNot, 0>; defm _c#NAME : ST_MEMri_Pbase_nv<mnemonic, RC, PredNot, 0>;
// Predicate new // Predicate new
@ -1034,7 +1034,7 @@ multiclass ST_PostInc_Pbase_nv<string mnemonic, RegisterClass RC, Operand ImmOp,
multiclass ST_PostInc_Pred_nv<string mnemonic, RegisterClass RC, multiclass ST_PostInc_Pred_nv<string mnemonic, RegisterClass RC,
Operand ImmOp, bit PredNot> { Operand ImmOp, bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
defm _c#NAME : ST_PostInc_Pbase_nv<mnemonic, RC, ImmOp, PredNot, 0>; defm _c#NAME : ST_PostInc_Pbase_nv<mnemonic, RC, ImmOp, PredNot, 0>;
// Predicate new // Predicate new
let Predicates = [HasV4T], validSubTargets = HasV4SubT in let Predicates = [HasV4T], validSubTargets = HasV4SubT in
@ -2779,7 +2779,7 @@ multiclass ST_Abs_Predbase<string mnemonic, RegisterClass RC, bit isNot,
} }
multiclass ST_Abs_Pred<string mnemonic, RegisterClass RC, bit PredNot> { multiclass ST_Abs_Pred<string mnemonic, RegisterClass RC, bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
defm _c#NAME : ST_Abs_Predbase<mnemonic, RC, PredNot, 0>; defm _c#NAME : ST_Abs_Predbase<mnemonic, RC, PredNot, 0>;
// Predicate new // Predicate new
defm _cdn#NAME : ST_Abs_Predbase<mnemonic, RC, PredNot, 1>; defm _cdn#NAME : ST_Abs_Predbase<mnemonic, RC, PredNot, 1>;
@ -2815,7 +2815,7 @@ multiclass ST_Abs_Predbase_nv<string mnemonic, RegisterClass RC, bit isNot,
} }
multiclass ST_Abs_Pred_nv<string mnemonic, RegisterClass RC, bit PredNot> { multiclass ST_Abs_Pred_nv<string mnemonic, RegisterClass RC, bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
defm _c#NAME : ST_Abs_Predbase_nv<mnemonic, RC, PredNot, 0>; defm _c#NAME : ST_Abs_Predbase_nv<mnemonic, RC, PredNot, 0>;
// Predicate new // Predicate new
defm _cdn#NAME : ST_Abs_Predbase_nv<mnemonic, RC, PredNot, 1>; defm _cdn#NAME : ST_Abs_Predbase_nv<mnemonic, RC, PredNot, 1>;
@ -2984,7 +2984,7 @@ multiclass LD_Abs_Predbase<string mnemonic, RegisterClass RC, bit isNot,
} }
multiclass LD_Abs_Pred<string mnemonic, RegisterClass RC, bit PredNot> { multiclass LD_Abs_Pred<string mnemonic, RegisterClass RC, bit PredNot> {
let PredSense = !if(PredNot, "false", "true") in { let isPredicatedFalse = PredNot in {
defm _c#NAME : LD_Abs_Predbase<mnemonic, RC, PredNot, 0>; defm _c#NAME : LD_Abs_Predbase<mnemonic, RC, PredNot, 0>;
// Predicate new // Predicate new
defm _cdn#NAME : LD_Abs_Predbase<mnemonic, RC, PredNot, 1>; defm _cdn#NAME : LD_Abs_Predbase<mnemonic, RC, PredNot, 1>;