diff options
author | Daniel Sanders <daniel.sanders@imgtec.com> | 2014-05-07 09:58:05 +0000 |
---|---|---|
committer | Daniel Sanders <daniel.sanders@imgtec.com> | 2014-05-07 09:58:05 +0000 |
commit | 0c9ea21554e976b23e494ca8bda48bd1691ac8a4 (patch) | |
tree | cb5f5fcf765318ae3e178f8c86eb6601354626e9 /lib/Target/Mips/MipsCondMov.td | |
parent | 6a48f1c27136a77159892de4ae4a28d69ab970af (diff) | |
download | llvm-0c9ea21554e976b23e494ca8bda48bd1691ac8a4.tar.gz llvm-0c9ea21554e976b23e494ca8bda48bd1691ac8a4.tar.bz2 llvm-0c9ea21554e976b23e494ca8bda48bd1691ac8a4.tar.xz |
[mips] Move HasStdEnc to the front of the predicates lists.
Summary:
This will make it easier to prove that a more complicated change in the
following commit is non-functional.
No functional change.
Depends on D3506
Reviewers: vmedic
Reviewed By: vmedic
Differential Revision: http://reviews.llvm.org/D3549
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208179 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MipsCondMov.td')
-rw-r--r-- | lib/Target/Mips/MipsCondMov.td | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/lib/Target/Mips/MipsCondMov.td b/lib/Target/Mips/MipsCondMov.td index 73dcecef79..d1da1f1681 100644 --- a/lib/Target/Mips/MipsCondMov.td +++ b/lib/Target/Mips/MipsCondMov.td @@ -132,23 +132,23 @@ def MOVZ_I_S : MMRel, CMov_I_F_FT<"movz.s", GPR32Opnd, FGR32Opnd, II_MOVZ_S>, let isCodeGenOnly = 1 in def MOVZ_I64_S : CMov_I_F_FT<"movz.s", GPR64Opnd, FGR32Opnd, II_MOVZ_S>, - CMov_I_F_FM<18, 16>, Requires<[HasMips64, HasStdEnc]>; + CMov_I_F_FM<18, 16>, Requires<[HasStdEnc, HasMips64]>; def MOVN_I_S : MMRel, CMov_I_F_FT<"movn.s", GPR32Opnd, FGR32Opnd, II_MOVN_S>, CMov_I_F_FM<19, 16>; let isCodeGenOnly = 1 in def MOVN_I64_S : CMov_I_F_FT<"movn.s", GPR64Opnd, FGR32Opnd, II_MOVN_S>, - CMov_I_F_FM<19, 16>, Requires<[IsGP64bit, HasStdEnc]>; + CMov_I_F_FM<19, 16>, Requires<[HasStdEnc, IsGP64bit]>; -let Predicates = [NotFP64bit, HasStdEnc] in { +let Predicates = [HasStdEnc, NotFP64bit] in { def MOVZ_I_D32 : MMRel, CMov_I_F_FT<"movz.d", GPR32Opnd, AFGR64Opnd, II_MOVZ_D>, CMov_I_F_FM<18, 17>; def MOVN_I_D32 : MMRel, CMov_I_F_FT<"movn.d", GPR32Opnd, AFGR64Opnd, II_MOVN_D>, CMov_I_F_FM<19, 17>; } -let Predicates = [IsFP64bit, HasStdEnc], DecoderNamespace = "Mips64" in { +let Predicates = [HasStdEnc, IsFP64bit], DecoderNamespace = "Mips64" in { def MOVZ_I_D64 : CMov_I_F_FT<"movz.d", GPR32Opnd, FGR64Opnd, II_MOVZ_D>, CMov_I_F_FM<18, 17>; def MOVN_I_D64 : CMov_I_F_FT<"movn.d", GPR32Opnd, FGR64Opnd, II_MOVN_D>, @@ -166,28 +166,28 @@ def MOVT_I : MMRel, CMov_F_I_FT<"movt", GPR32Opnd, II_MOVT, MipsCMovFP_T>, let isCodeGenOnly = 1 in def MOVT_I64 : CMov_F_I_FT<"movt", GPR64Opnd, II_MOVT, MipsCMovFP_T>, - CMov_F_I_FM<1>, Requires<[IsGP64bit, HasStdEnc]>; + CMov_F_I_FM<1>, Requires<[HasStdEnc, IsGP64bit]>; def MOVF_I : MMRel, CMov_F_I_FT<"movf", GPR32Opnd, II_MOVF, MipsCMovFP_F>, CMov_F_I_FM<0>; let isCodeGenOnly = 1 in def MOVF_I64 : CMov_F_I_FT<"movf", GPR64Opnd, II_MOVF, MipsCMovFP_F>, - CMov_F_I_FM<0>, Requires<[IsGP64bit, HasStdEnc]>; + CMov_F_I_FM<0>, Requires<[HasStdEnc, IsGP64bit]>; def MOVT_S : MMRel, CMov_F_F_FT<"movt.s", FGR32Opnd, II_MOVT_S, MipsCMovFP_T>, CMov_F_F_FM<16, 1>; def MOVF_S : MMRel, CMov_F_F_FT<"movf.s", FGR32Opnd, II_MOVF_S, MipsCMovFP_F>, CMov_F_F_FM<16, 0>; -let Predicates = [NotFP64bit, HasStdEnc] in { +let Predicates = [HasStdEnc, NotFP64bit] in { def MOVT_D32 : MMRel, CMov_F_F_FT<"movt.d", AFGR64Opnd, II_MOVT_D, MipsCMovFP_T>, CMov_F_F_FM<17, 1>; def MOVF_D32 : MMRel, CMov_F_F_FT<"movf.d", AFGR64Opnd, II_MOVF_D, MipsCMovFP_F>, CMov_F_F_FM<17, 0>; } -let Predicates = [IsFP64bit, HasStdEnc], DecoderNamespace = "Mips64" in { +let Predicates = [HasStdEnc, IsFP64bit], DecoderNamespace = "Mips64" in { def MOVT_D64 : CMov_F_F_FT<"movt.d", FGR64Opnd, II_MOVT_D, MipsCMovFP_T>, CMov_F_F_FM<17, 1>; def MOVF_D64 : CMov_F_F_FT<"movf.d", FGR64Opnd, II_MOVF_D, MipsCMovFP_F>, @@ -198,7 +198,7 @@ let Predicates = [IsFP64bit, HasStdEnc], DecoderNamespace = "Mips64" in { defm : MovzPats0<GPR32, GPR32, MOVZ_I_I, SLT, SLTu, SLTi, SLTiu>; defm : MovzPats1<GPR32, GPR32, MOVZ_I_I, XOR>; defm : MovzPats2<GPR32, GPR32, MOVZ_I_I, XORi>; -let Predicates = [IsGP64bit, HasStdEnc] in { +let Predicates = [HasStdEnc, IsGP64bit] in { defm : MovzPats0<GPR32, GPR64, MOVZ_I_I64, SLT, SLTu, SLTi, SLTiu>; defm : MovzPats0<GPR64, GPR32, MOVZ_I_I, SLT64, SLTu64, SLTi64, SLTiu64>; @@ -213,7 +213,7 @@ let Predicates = [IsGP64bit, HasStdEnc] in { } defm : MovnPats<GPR32, GPR32, MOVN_I_I, XOR>; -let Predicates = [IsGP64bit, HasStdEnc] in { +let Predicates = [HasStdEnc, IsGP64bit] in { defm : MovnPats<GPR32, GPR64, MOVN_I_I64, XOR>; defm : MovnPats<GPR64, GPR32, MOVN_I64_I, XOR64>; defm : MovnPats<GPR64, GPR64, MOVN_I64_I64, XOR64>; @@ -222,19 +222,19 @@ let Predicates = [IsGP64bit, HasStdEnc] in { defm : MovzPats0<GPR32, FGR32, MOVZ_I_S, SLT, SLTu, SLTi, SLTiu>; defm : MovzPats1<GPR32, FGR32, MOVZ_I_S, XOR>; defm : MovnPats<GPR32, FGR32, MOVN_I_S, XOR>; -let Predicates = [IsGP64bit, HasStdEnc] in { +let Predicates = [HasStdEnc, IsGP64bit] in { defm : MovzPats0<GPR64, FGR32, MOVZ_I_S, SLT64, SLTu64, SLTi64, SLTiu64>; defm : MovzPats1<GPR64, FGR32, MOVZ_I64_S, XOR64>; defm : MovnPats<GPR64, FGR32, MOVN_I64_S, XOR64>; } -let Predicates = [NotFP64bit, HasStdEnc] in { +let Predicates = [HasStdEnc, NotFP64bit] in { defm : MovzPats0<GPR32, AFGR64, MOVZ_I_D32, SLT, SLTu, SLTi, SLTiu>; defm : MovzPats1<GPR32, AFGR64, MOVZ_I_D32, XOR>; defm : MovnPats<GPR32, AFGR64, MOVN_I_D32, XOR>; } -let Predicates = [IsFP64bit, HasStdEnc] in { +let Predicates = [HasStdEnc, IsFP64bit] in { defm : MovzPats0<GPR32, FGR64, MOVZ_I_D64, SLT, SLTu, SLTi, SLTiu>; defm : MovzPats0<GPR64, FGR64, MOVZ_I_D64, SLT64, SLTu64, SLTi64, SLTiu64>; |