From e2498d014bb9c213c01da0138cc313e5a1acfdf9 Mon Sep 17 00:00:00 2001 From: Akira Hatanaka Date: Tue, 3 Apr 2012 02:20:58 +0000 Subject: MIPS disassembler support. Patch by Vladimir Medic. llvm-svn: 153924 --- llvm/lib/Target/Mips/MipsCondMov.td | 48 ++++++++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 14 deletions(-) (limited to 'llvm/lib/Target/Mips/MipsCondMov.td') diff --git a/llvm/lib/Target/Mips/MipsCondMov.td b/llvm/lib/Target/Mips/MipsCondMov.td index 075a3e807b1..da336804e51 100644 --- a/llvm/lib/Target/Mips/MipsCondMov.td +++ b/llvm/lib/Target/Mips/MipsCondMov.td @@ -95,45 +95,65 @@ multiclass MovnPats; -let Predicates = [HasMips64] in { +let Predicates = [HasMips64],DecoderNamespace = "Mips64" in { def MOVZ_I_I64 : CondMovIntInt; - def MOVZ_I64_I : CondMovIntInt; - def MOVZ_I64_I64 : CondMovIntInt; + def MOVZ_I64_I : CondMovIntInt { + let isCodeGenOnly = 1; + } + def MOVZ_I64_I64 : CondMovIntInt { + let isCodeGenOnly = 1; + } } def MOVN_I_I : CondMovIntInt; -let Predicates = [HasMips64] in { +let Predicates = [HasMips64],DecoderNamespace = "Mips64" in { def MOVN_I_I64 : CondMovIntInt; - def MOVN_I64_I : CondMovIntInt; - def MOVN_I64_I64 : CondMovIntInt; + def MOVN_I64_I : CondMovIntInt { + let isCodeGenOnly = 1; + } + def MOVN_I64_I64 : CondMovIntInt { + let isCodeGenOnly = 1; + } } def MOVZ_I_S : CondMovIntFP; def MOVZ_I64_S : CondMovIntFP, - Requires<[HasMips64]>; + Requires<[HasMips64]> { + let DecoderNamespace = "Mips64"; +} def MOVN_I_S : CondMovIntFP; def MOVN_I64_S : CondMovIntFP, - Requires<[HasMips64]>; + Requires<[HasMips64]> { + let DecoderNamespace = "Mips64"; +} let Predicates = [NotFP64bit] in { def MOVZ_I_D32 : CondMovIntFP; def MOVN_I_D32 : CondMovIntFP; } -let Predicates = [IsFP64bit] in { +let Predicates = [IsFP64bit],DecoderNamespace = "Mips64" in { def MOVZ_I_D64 : CondMovIntFP; - def MOVZ_I64_D64 : CondMovIntFP; + def MOVZ_I64_D64 : CondMovIntFP { + let isCodeGenOnly = 1; + } def MOVN_I_D64 : CondMovIntFP; - def MOVN_I64_D64 : CondMovIntFP; + def MOVN_I64_D64 : CondMovIntFP { + let isCodeGenOnly = 1; + } } def MOVT_I : CondMovFPInt; def MOVT_I64 : CondMovFPInt, - Requires<[HasMips64]>; + Requires<[HasMips64]> { + let DecoderNamespace = "Mips64"; +} def MOVF_I : CondMovFPInt; def MOVF_I64 : CondMovFPInt, - Requires<[HasMips64]>; + Requires<[HasMips64]> { + let DecoderNamespace = "Mips64"; +} def MOVT_S : CondMovFPFP; def MOVF_S : CondMovFPFP; @@ -142,7 +162,7 @@ let Predicates = [NotFP64bit] in { def MOVT_D32 : CondMovFPFP; def MOVF_D32 : CondMovFPFP; } -let Predicates = [IsFP64bit] in { +let Predicates = [IsFP64bit], DecoderNamespace = "Mips64" in { def MOVT_D64 : CondMovFPFP; def MOVF_D64 : CondMovFPFP; } -- cgit v1.2.3