[llvm] r292117 - [mips] Correct c.cond.fmt instruction definition.
Hans Wennborg via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 31 10:35:07 PST 2017
Merged to 4.0 in r293665.
On Mon, Jan 16, 2017 at 5:55 AM, Simon Dardis via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> Author: sdardis
> Date: Mon Jan 16 07:55:58 2017
> New Revision: 292117
>
> URL: http://llvm.org/viewvc/llvm-project?rev=292117&view=rev
> Log:
> [mips] Correct c.cond.fmt instruction definition.
>
> Permit explicit $fcc<X> operand in c.cond.fmt instruction.
>
> Add c.cond.fmt to the MIPS to microMIPS instruction mapping table.
>
> Check that $fcc1 - $fcc7 are unusable for MIPS-I to MIPS-III for
> c.cond.fmt, bc1t, bc1f.
>
> Reviewers: seanbruno, zoran.jovanovic, vkalintiris
>
> Differential Revision: https://reviews.llvm.org/D24510
>
>
> Removed:
> llvm/trunk/test/MC/Disassembler/Mips/mips4/valid-xfail-mips4.txt
> llvm/trunk/test/MC/Mips/mips3/invalid-mips4-wrong-error.s
> Modified:
> llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
> llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
> llvm/trunk/lib/Target/Mips/MicroMipsInstrFPU.td
> llvm/trunk/lib/Target/Mips/MicroMipsInstrFormats.td
> llvm/trunk/lib/Target/Mips/MipsFastISel.cpp
> llvm/trunk/lib/Target/Mips/MipsInstrFPU.td
> llvm/trunk/lib/Target/Mips/MipsInstrFormats.td
> llvm/trunk/test/MC/Mips/micromips/valid.s
> llvm/trunk/test/MC/Mips/mips1/invalid-mips4-wrong-error.s
> llvm/trunk/test/MC/Mips/mips1/invalid-mips4.s
> llvm/trunk/test/MC/Mips/mips1/invalid-mips5-wrong-error.s
> llvm/trunk/test/MC/Mips/mips1/invalid-mips5.s
> llvm/trunk/test/MC/Mips/mips2/invalid-mips32.s
> llvm/trunk/test/MC/Mips/mips2/invalid-mips32r2.s
> llvm/trunk/test/MC/Mips/mips2/invalid-mips4-wrong-error.s
> llvm/trunk/test/MC/Mips/mips2/invalid-mips4.s
> llvm/trunk/test/MC/Mips/mips2/invalid-mips5.s
> llvm/trunk/test/MC/Mips/mips3/invalid-mips4.s
> llvm/trunk/test/MC/Mips/mips3/invalid-mips5-wrong-error.s
> llvm/trunk/test/MC/Mips/mips3/invalid-mips5.s
> llvm/trunk/test/MC/Mips/mips32/valid-xfail.s
> llvm/trunk/test/MC/Mips/mips32/valid.s
> llvm/trunk/test/MC/Mips/mips32r2/valid-xfail.s
> llvm/trunk/test/MC/Mips/mips32r2/valid.s
> llvm/trunk/test/MC/Mips/mips32r3/valid-xfail.s
> llvm/trunk/test/MC/Mips/mips32r3/valid.s
> llvm/trunk/test/MC/Mips/mips32r5/valid-xfail.s
> llvm/trunk/test/MC/Mips/mips32r5/valid.s
> llvm/trunk/test/MC/Mips/mips4/valid-xfail.s
> llvm/trunk/test/MC/Mips/mips4/valid.s
> llvm/trunk/test/MC/Mips/mips5/valid-xfail.s
> llvm/trunk/test/MC/Mips/mips5/valid.s
> llvm/trunk/test/MC/Mips/mips64/valid-xfail.s
> llvm/trunk/test/MC/Mips/mips64/valid.s
> llvm/trunk/test/MC/Mips/mips64r2/valid-xfail.s
> llvm/trunk/test/MC/Mips/mips64r2/valid.s
> llvm/trunk/test/MC/Mips/mips64r3/valid-xfail.s
> llvm/trunk/test/MC/Mips/mips64r3/valid.s
> llvm/trunk/test/MC/Mips/mips64r5/valid-xfail.s
> llvm/trunk/test/MC/Mips/mips64r5/valid.s
>
> Modified: llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp (original)
> +++ llvm/trunk/lib/Target/Mips/AsmParser/MipsAsmParser.cpp Mon Jan 16 07:55:58 2017
> @@ -413,6 +413,7 @@ public:
> Match_RequiresDifferentOperands,
> Match_RequiresNoZeroRegister,
> Match_RequiresSameSrcAndDst,
> + Match_NoFCCRegisterForCurrentISA,
> Match_NonZeroOperandForSync,
> #define GET_OPERAND_DIAGNOSTIC_TYPES
> #include "MipsGenAsmMatcher.inc"
> @@ -1461,8 +1462,6 @@ public:
> bool isFCCAsmReg() const {
> if (!(isRegIdx() && RegIdx.Kind & RegKind_FCC))
> return false;
> - if (!AsmParser.hasEightFccRegisters())
> - return RegIdx.Index == 0;
> return RegIdx.Index <= 7;
> }
> bool isACCAsmReg() const {
> @@ -4053,6 +4052,7 @@ MipsAsmParser::checkEarlyTargetMatchPred
> return Match_RequiresSameSrcAndDst;
> }
> }
> +
> unsigned MipsAsmParser::checkTargetMatchPredicate(MCInst &Inst) {
> switch (Inst.getOpcode()) {
> // As described by the MIPSR6 spec, daui must not use the zero operand for
> @@ -4131,9 +4131,15 @@ unsigned MipsAsmParser::checkTargetMatch
> if (Inst.getOperand(0).getReg() == Inst.getOperand(1).getReg())
> return Match_RequiresDifferentOperands;
> return Match_Success;
> - default:
> - return Match_Success;
> }
> +
> + uint64_t TSFlags = getInstDesc(Inst.getOpcode()).TSFlags;
> + if ((TSFlags & MipsII::HasFCCRegOperand) &&
> + (Inst.getOperand(0).getReg() != Mips::FCC0) && !hasEightFccRegisters())
> + return Match_NoFCCRegisterForCurrentISA;
> +
> + return Match_Success;
> +
> }
>
> static SMLoc RefineErrorLoc(const SMLoc Loc, const OperandVector &Operands,
> @@ -4191,6 +4197,9 @@ bool MipsAsmParser::MatchAndEmitInstruct
> return Error(IDLoc, "invalid operand ($zero) for instruction");
> case Match_RequiresSameSrcAndDst:
> return Error(IDLoc, "source and destination must match");
> + case Match_NoFCCRegisterForCurrentISA:
> + return Error(RefineErrorLoc(IDLoc, Operands, ErrorInfo),
> + "non-zero fcc register doesn't exist in current ISA level");
> case Match_Immz:
> return Error(RefineErrorLoc(IDLoc, Operands, ErrorInfo), "expected '0'");
> case Match_UImm1_0:
>
> Modified: llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h (original)
> +++ llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h Mon Jan 16 07:55:58 2017
> @@ -123,7 +123,9 @@ namespace MipsII {
> HasForbiddenSlot = 1 << 5,
> /// IsPCRelativeLoad - A Load instruction with implicit source register
> /// ($pc) with explicit offset and destination register
> - IsPCRelativeLoad = 1 << 6
> + IsPCRelativeLoad = 1 << 6,
> + /// HasFCCRegOperand - Instruction uses an $fcc<x> register.
> + HasFCCRegOperand = 1 << 7
>
> };
> }
>
> Modified: llvm/trunk/lib/Target/Mips/MicroMipsInstrFPU.td
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MicroMipsInstrFPU.td?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Mips/MicroMipsInstrFPU.td (original)
> +++ llvm/trunk/lib/Target/Mips/MicroMipsInstrFPU.td Mon Jan 16 07:55:58 2017
> @@ -27,9 +27,20 @@ def SUXC1_MM : MMRel, SWXC1_FT<"suxc1",
> SWXC1_FM_MM<0x188>, INSN_MIPS5_32R2_NOT_32R6_64R6;
>
> def FCMP_S32_MM : MMRel, CEQS_FT<"s", FGR32, II_C_CC_S, MipsFPCmp>,
> - CEQS_FM_MM<0>;
> + CEQS_FM_MM<0> {
> + // FIXME: This is a required to work around the fact that these instructions
> + // only use $fcc0. Ideally, MipsFPCmp nodes could be removed and the
> + // fcc register set is used directly.
> + bits<3> fcc = 0;
> +}
> +
> def FCMP_D32_MM : MMRel, CEQS_FT<"d", AFGR64, II_C_CC_D, MipsFPCmp>,
> - CEQS_FM_MM<1>;
> + CEQS_FM_MM<1> {
> + // FIXME: This is a required to work around the fact that these instructions
> + // only use $fcc0. Ideally, MipsFPCmp nodes could be removed and the
> + // fcc register set is used directly.
> + bits<3> fcc = 0;
> +}
>
> def BC1F_MM : MMRel, BC1F_FT<"bc1f", brtarget_mm, II_BC1F, MIPS_BRANCH_F>,
> BC1F_FM_MM<0x1c>, ISA_MIPS1_NOT_32R6_64R6;
> @@ -164,6 +175,98 @@ let AdditionalPredicates = [InMicroMips]
> def SWC1_MM : MMRel, SW_FT<"swc1", FGR32Opnd, mem_mm_16, II_SWC1, store>,
> LW_FM_MM<0x26>;
> }
> +
> + multiclass C_COND_MM<string TypeStr, RegisterOperand RC, bits<2> fmt,
> + InstrItinClass itin> {
> + def C_F_#NAME#_MM : MMRel, C_COND_FT<"f", TypeStr, RC, itin>,
> + C_COND_FM_MM<fmt, 0> {
> + let BaseOpcode = "c.f."#NAME;
> + let isCommutable = 1;
> + }
> + def C_UN_#NAME#_MM : MMRel, C_COND_FT<"un", TypeStr, RC, itin>,
> + C_COND_FM_MM<fmt, 1> {
> + let BaseOpcode = "c.un."#NAME;
> + let isCommutable = 1;
> + }
> + def C_EQ_#NAME#_MM : MMRel, C_COND_FT<"eq", TypeStr, RC, itin>,
> + C_COND_FM_MM<fmt, 2> {
> + let BaseOpcode = "c.eq."#NAME;
> + let isCommutable = 1;
> + }
> + def C_UEQ_#NAME#_MM : MMRel, C_COND_FT<"ueq", TypeStr, RC, itin>,
> + C_COND_FM_MM<fmt, 3> {
> + let BaseOpcode = "c.ueq."#NAME;
> + let isCommutable = 1;
> + }
> + def C_OLT_#NAME#_MM : MMRel, C_COND_FT<"olt", TypeStr, RC, itin>,
> + C_COND_FM_MM<fmt, 4> {
> + let BaseOpcode = "c.olt."#NAME;
> + }
> + def C_ULT_#NAME#_MM : MMRel, C_COND_FT<"ult", TypeStr, RC, itin>,
> + C_COND_FM_MM<fmt, 5> {
> + let BaseOpcode = "c.ult."#NAME;
> + }
> + def C_OLE_#NAME#_MM : MMRel, C_COND_FT<"ole", TypeStr, RC, itin>,
> + C_COND_FM_MM<fmt, 6> {
> + let BaseOpcode = "c.ole."#NAME;
> + }
> + def C_ULE_#NAME#_MM : MMRel, C_COND_FT<"ule", TypeStr, RC, itin>,
> + C_COND_FM_MM<fmt, 7> {
> + let BaseOpcode = "c.ule."#NAME;
> + }
> + def C_SF_#NAME#_MM : MMRel, C_COND_FT<"sf", TypeStr, RC, itin>,
> + C_COND_FM_MM<fmt, 8> {
> + let BaseOpcode = "c.sf."#NAME;
> + let isCommutable = 1;
> + }
> + def C_NGLE_#NAME#_MM : MMRel, C_COND_FT<"ngle", TypeStr, RC, itin>,
> + C_COND_FM_MM<fmt, 9> {
> + let BaseOpcode = "c.ngle."#NAME;
> + }
> + def C_SEQ_#NAME#_MM : MMRel, C_COND_FT<"seq", TypeStr, RC, itin>,
> + C_COND_FM_MM<fmt, 10> {
> + let BaseOpcode = "c.seq."#NAME;
> + let isCommutable = 1;
> + }
> + def C_NGL_#NAME#_MM : MMRel, C_COND_FT<"ngl", TypeStr, RC, itin>,
> + C_COND_FM_MM<fmt, 11> {
> + let BaseOpcode = "c.ngl."#NAME;
> + }
> + def C_LT_#NAME#_MM : MMRel, C_COND_FT<"lt", TypeStr, RC, itin>,
> + C_COND_FM_MM<fmt, 12> {
> + let BaseOpcode = "c.lt."#NAME;
> + }
> + def C_NGE_#NAME#_MM : MMRel, C_COND_FT<"nge", TypeStr, RC, itin>,
> + C_COND_FM_MM<fmt, 13> {
> + let BaseOpcode = "c.nge."#NAME;
> + }
> + def C_LE_#NAME#_MM : MMRel, C_COND_FT<"le", TypeStr, RC, itin>,
> + C_COND_FM_MM<fmt, 14> {
> + let BaseOpcode = "c.le."#NAME;
> + }
> + def C_NGT_#NAME#_MM : MMRel, C_COND_FT<"ngt", TypeStr, RC, itin>,
> + C_COND_FM_MM<fmt, 15> {
> + let BaseOpcode = "c.ngt."#NAME;
> + }
> + }
> +
> + defm S : C_COND_MM<"s", FGR32Opnd, 0b00, II_C_CC_S>,
> + ISA_MIPS1_NOT_32R6_64R6;
> + defm D32 : C_COND_MM<"d", AFGR64Opnd, 0b01, II_C_CC_D>,
> + ISA_MIPS1_NOT_32R6_64R6, FGR_32;
> + let DecoderNamespace = "Mips64" in
> + defm D64 : C_COND_MM<"d", FGR64Opnd, 0b01, II_C_CC_D>,
> + ISA_MIPS1_NOT_32R6_64R6, FGR_64;
> +
> + defm S_MM : C_COND_ALIASES<"s", FGR32Opnd>, HARDFLOAT,
> + ISA_MIPS1_NOT_32R6_64R6;
> + defm D32_MM : C_COND_ALIASES<"d", AFGR64Opnd>, HARDFLOAT,
> + ISA_MIPS1_NOT_32R6_64R6, FGR_32;
> + defm D64_MM : C_COND_ALIASES<"d", FGR64Opnd>, HARDFLOAT,
> + ISA_MIPS1_NOT_32R6_64R6, FGR_64;
> +
> + defm : BC1_ALIASES<BC1T_MM, "bc1t", BC1F_MM, "bc1f">,
> + ISA_MIPS1_NOT_32R6_64R6, HARDFLOAT;
> }
>
> //===----------------------------------------------------------------------===//
>
> Modified: llvm/trunk/lib/Target/Mips/MicroMipsInstrFormats.td
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MicroMipsInstrFormats.td?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Mips/MicroMipsInstrFormats.td (original)
> +++ llvm/trunk/lib/Target/Mips/MicroMipsInstrFormats.td Mon Jan 16 07:55:58 2017
> @@ -766,6 +766,7 @@ class SWXC1_FM_MM<bits<9> funct> : MMArc
> class CEQS_FM_MM<bits<2> fmt> : MMArch {
> bits<5> fs;
> bits<5> ft;
> + bits<3> fcc;
> bits<4> cond;
>
> bits<32> Inst;
> @@ -773,13 +774,17 @@ class CEQS_FM_MM<bits<2> fmt> : MMArch {
> let Inst{31-26} = 0x15;
> let Inst{25-21} = ft;
> let Inst{20-16} = fs;
> - let Inst{15-13} = 0x0; // cc
> + let Inst{15-13} = fcc;
> let Inst{12} = 0;
> let Inst{11-10} = fmt;
> let Inst{9-6} = cond;
> let Inst{5-0} = 0x3c;
> }
>
> +class C_COND_FM_MM<bits <2> fmt, bits<4> c> : CEQS_FM_MM<fmt> {
> + let cond = c;
> +}
> +
> class BC1F_FM_MM<bits<5> tf> : MMArch {
> bits<16> offset;
>
>
> Modified: llvm/trunk/lib/Target/Mips/MipsFastISel.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsFastISel.cpp?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Mips/MipsFastISel.cpp (original)
> +++ llvm/trunk/lib/Target/Mips/MipsFastISel.cpp Mon Jan 16 07:55:58 2017
> @@ -698,8 +698,8 @@ bool MipsFastISel::emitCmp(unsigned Resu
> unsigned RegWithOne = createResultReg(&Mips::GPR32RegClass);
> emitInst(Mips::ADDiu, RegWithZero).addReg(Mips::ZERO).addImm(0);
> emitInst(Mips::ADDiu, RegWithOne).addReg(Mips::ZERO).addImm(1);
> - emitInst(Opc).addReg(LeftReg).addReg(RightReg).addReg(
> - Mips::FCC0, RegState::ImplicitDefine);
> + emitInst(Opc).addReg(Mips::FCC0, RegState::Define).addReg(LeftReg)
> + .addReg(RightReg);
> emitInst(CondMovOpc, ResultReg)
> .addReg(RegWithOne)
> .addReg(Mips::FCC0)
>
> Modified: llvm/trunk/lib/Target/Mips/MipsInstrFPU.td
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsInstrFPU.td?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Mips/MipsInstrFPU.td (original)
> +++ llvm/trunk/lib/Target/Mips/MipsInstrFPU.td Mon Jan 16 07:55:58 2017
> @@ -219,6 +219,7 @@ class BC1F_FT<string opstr, DAGOperand o
> let isTerminator = 1;
> let hasDelaySlot = DelaySlot;
> let Defs = [AT];
> + let hasFCCRegOperand = 1;
> }
>
> class CEQS_FT<string typestr, RegisterClass RC, InstrItinClass Itin,
> @@ -229,41 +230,106 @@ class CEQS_FT<string typestr, RegisterCl
> !strconcat("c.$cond.", typestr)>, HARDFLOAT {
> let Defs = [FCC0];
> let isCodeGenOnly = 1;
> + let hasFCCRegOperand = 1;
> }
>
> +
> +// Note: MIPS-IV introduced $fcc1-$fcc7 and renamed FCSR31[23] $fcc0. Rather
> +// duplicating the instruction definition for MIPS1 - MIPS3, we expand
> +// c.cond.ft if necessary, and reject it after constructing the
> +// instruction if the ISA doesn't support it.
> class C_COND_FT<string CondStr, string Typestr, RegisterOperand RC,
> InstrItinClass itin> :
> - InstSE<(outs), (ins RC:$fs, RC:$ft),
> - !strconcat("c.", CondStr, ".", Typestr, "\t$fs, $ft"), [], itin,
> - FrmFR>, HARDFLOAT;
> + InstSE<(outs FCCRegsOpnd:$fcc), (ins RC:$fs, RC:$ft),
> + !strconcat("c.", CondStr, ".", Typestr, "\t$fcc, $fs, $ft"), [], itin,
> + FrmFR>, HARDFLOAT {
> + let isCompare = 1;
> + let hasFCCRegOperand = 1;
> +}
> +
>
> multiclass C_COND_M<string TypeStr, RegisterOperand RC, bits<5> fmt,
> InstrItinClass itin> {
> - def C_F_#NAME : C_COND_FT<"f", TypeStr, RC, itin>, C_COND_FM<fmt, 0>;
> - def C_UN_#NAME : C_COND_FT<"un", TypeStr, RC, itin>, C_COND_FM<fmt, 1>;
> - def C_EQ_#NAME : C_COND_FT<"eq", TypeStr, RC, itin>, C_COND_FM<fmt, 2>;
> - def C_UEQ_#NAME : C_COND_FT<"ueq", TypeStr, RC, itin>, C_COND_FM<fmt, 3>;
> - def C_OLT_#NAME : C_COND_FT<"olt", TypeStr, RC, itin>, C_COND_FM<fmt, 4>;
> - def C_ULT_#NAME : C_COND_FT<"ult", TypeStr, RC, itin>, C_COND_FM<fmt, 5>;
> - def C_OLE_#NAME : C_COND_FT<"ole", TypeStr, RC, itin>, C_COND_FM<fmt, 6>;
> - def C_ULE_#NAME : C_COND_FT<"ule", TypeStr, RC, itin>, C_COND_FM<fmt, 7>;
> - def C_SF_#NAME : C_COND_FT<"sf", TypeStr, RC, itin>, C_COND_FM<fmt, 8>;
> - def C_NGLE_#NAME : C_COND_FT<"ngle", TypeStr, RC, itin>, C_COND_FM<fmt, 9>;
> - def C_SEQ_#NAME : C_COND_FT<"seq", TypeStr, RC, itin>, C_COND_FM<fmt, 10>;
> - def C_NGL_#NAME : C_COND_FT<"ngl", TypeStr, RC, itin>, C_COND_FM<fmt, 11>;
> - def C_LT_#NAME : C_COND_FT<"lt", TypeStr, RC, itin>, C_COND_FM<fmt, 12>;
> - def C_NGE_#NAME : C_COND_FT<"nge", TypeStr, RC, itin>, C_COND_FM<fmt, 13>;
> - def C_LE_#NAME : C_COND_FT<"le", TypeStr, RC, itin>, C_COND_FM<fmt, 14>;
> - def C_NGT_#NAME : C_COND_FT<"ngt", TypeStr, RC, itin>, C_COND_FM<fmt, 15>;
> + def C_F_#NAME : MMRel, C_COND_FT<"f", TypeStr, RC, itin>,
> + C_COND_FM<fmt, 0> {
> + let BaseOpcode = "c.f."#NAME;
> + let isCommutable = 1;
> + }
> + def C_UN_#NAME : MMRel, C_COND_FT<"un", TypeStr, RC, itin>,
> + C_COND_FM<fmt, 1> {
> + let BaseOpcode = "c.un."#NAME;
> + let isCommutable = 1;
> + }
> + def C_EQ_#NAME : MMRel, C_COND_FT<"eq", TypeStr, RC, itin>,
> + C_COND_FM<fmt, 2> {
> + let BaseOpcode = "c.eq."#NAME;
> + let isCommutable = 1;
> + }
> + def C_UEQ_#NAME : MMRel, C_COND_FT<"ueq", TypeStr, RC, itin>,
> + C_COND_FM<fmt, 3> {
> + let BaseOpcode = "c.ueq."#NAME;
> + let isCommutable = 1;
> + }
> + def C_OLT_#NAME : MMRel, C_COND_FT<"olt", TypeStr, RC, itin>,
> + C_COND_FM<fmt, 4> {
> + let BaseOpcode = "c.olt."#NAME;
> + }
> + def C_ULT_#NAME : MMRel, C_COND_FT<"ult", TypeStr, RC, itin>,
> + C_COND_FM<fmt, 5> {
> + let BaseOpcode = "c.ult."#NAME;
> + }
> + def C_OLE_#NAME : MMRel, C_COND_FT<"ole", TypeStr, RC, itin>,
> + C_COND_FM<fmt, 6> {
> + let BaseOpcode = "c.ole."#NAME;
> + }
> + def C_ULE_#NAME : MMRel, C_COND_FT<"ule", TypeStr, RC, itin>,
> + C_COND_FM<fmt, 7> {
> + let BaseOpcode = "c.ule."#NAME;
> + }
> + def C_SF_#NAME : MMRel, C_COND_FT<"sf", TypeStr, RC, itin>,
> + C_COND_FM<fmt, 8> {
> + let BaseOpcode = "c.sf."#NAME;
> + let isCommutable = 1;
> + }
> + def C_NGLE_#NAME : MMRel, C_COND_FT<"ngle", TypeStr, RC, itin>,
> + C_COND_FM<fmt, 9> {
> + let BaseOpcode = "c.ngle."#NAME;
> + }
> + def C_SEQ_#NAME : MMRel, C_COND_FT<"seq", TypeStr, RC, itin>,
> + C_COND_FM<fmt, 10> {
> + let BaseOpcode = "c.seq."#NAME;
> + let isCommutable = 1;
> + }
> + def C_NGL_#NAME : MMRel, C_COND_FT<"ngl", TypeStr, RC, itin>,
> + C_COND_FM<fmt, 11> {
> + let BaseOpcode = "c.ngl."#NAME;
> + }
> + def C_LT_#NAME : MMRel, C_COND_FT<"lt", TypeStr, RC, itin>,
> + C_COND_FM<fmt, 12> {
> + let BaseOpcode = "c.lt."#NAME;
> + }
> + def C_NGE_#NAME : MMRel, C_COND_FT<"nge", TypeStr, RC, itin>,
> + C_COND_FM<fmt, 13> {
> + let BaseOpcode = "c.nge."#NAME;
> + }
> + def C_LE_#NAME : MMRel, C_COND_FT<"le", TypeStr, RC, itin>,
> + C_COND_FM<fmt, 14> {
> + let BaseOpcode = "c.le."#NAME;
> + }
> + def C_NGT_#NAME : MMRel, C_COND_FT<"ngt", TypeStr, RC, itin>,
> + C_COND_FM<fmt, 15> {
> + let BaseOpcode = "c.ngt."#NAME;
> + }
> }
>
> +let AdditionalPredicates = [NotInMicroMips] in {
> defm S : C_COND_M<"s", FGR32Opnd, 16, II_C_CC_S>, ISA_MIPS1_NOT_32R6_64R6;
> defm D32 : C_COND_M<"d", AFGR64Opnd, 17, II_C_CC_D>, ISA_MIPS1_NOT_32R6_64R6,
> FGR_32;
> let DecoderNamespace = "Mips64" in
> defm D64 : C_COND_M<"d", FGR64Opnd, 17, II_C_CC_D>, ISA_MIPS1_NOT_32R6_64R6,
> FGR_64;
> -
> +}
> //===----------------------------------------------------------------------===//
> // Floating Point Instructions
> //===----------------------------------------------------------------------===//
> @@ -549,13 +615,29 @@ def BC1TL : MMRel, BC1F_FT<"bc1tl", brta
> /// Floating Point Compare
> let AdditionalPredicates = [NotInMicroMips] in {
> def FCMP_S32 : MMRel, CEQS_FT<"s", FGR32, II_C_CC_S, MipsFPCmp>, CEQS_FM<16>,
> - ISA_MIPS1_NOT_32R6_64R6;
> + ISA_MIPS1_NOT_32R6_64R6 {
> +
> + // FIXME: This is a required to work around the fact that these instructions
> + // only use $fcc0. Ideally, MipsFPCmp nodes could be removed and the
> + // fcc register set is used directly.
> + bits<3> fcc = 0;
> + }
> def FCMP_D32 : MMRel, CEQS_FT<"d", AFGR64, II_C_CC_D, MipsFPCmp>, CEQS_FM<17>,
> - ISA_MIPS1_NOT_32R6_64R6, FGR_32;
> + ISA_MIPS1_NOT_32R6_64R6, FGR_32 {
> + // FIXME: This is a required to work around the fact that these instructions
> + // only use $fcc0. Ideally, MipsFPCmp nodes could be removed and the
> + // fcc register set is used directly.
> + bits<3> fcc = 0;
> + }
> }
> let DecoderNamespace = "Mips64" in
> def FCMP_D64 : CEQS_FT<"d", FGR64, II_C_CC_D, MipsFPCmp>, CEQS_FM<17>,
> - ISA_MIPS1_NOT_32R6_64R6, FGR_64;
> + ISA_MIPS1_NOT_32R6_64R6, FGR_64 {
> + // FIXME: This is a required to work around the fact that thiese instructions
> + // only use $fcc0. Ideally, MipsFPCmp nodes could be removed and the
> + // fcc register set is used directly.
> + bits<3> fcc = 0;
> +}
>
> //===----------------------------------------------------------------------===//
> // Floating Point Pseudo-Instructions
> @@ -602,15 +684,6 @@ def PseudoTRUNC_W_D : MipsAsmPseudoInst<
> //===----------------------------------------------------------------------===//
> // InstAliases.
> //===----------------------------------------------------------------------===//
> -def : MipsInstAlias<"bc1t $offset", (BC1T FCC0, brtarget:$offset)>,
> - ISA_MIPS1_NOT_32R6_64R6, HARDFLOAT;
> -def : MipsInstAlias<"bc1tl $offset", (BC1TL FCC0, brtarget:$offset)>,
> - ISA_MIPS2_NOT_32R6_64R6, HARDFLOAT;
> -def : MipsInstAlias<"bc1f $offset", (BC1F FCC0, brtarget:$offset)>,
> - ISA_MIPS1_NOT_32R6_64R6, HARDFLOAT;
> -def : MipsInstAlias<"bc1fl $offset", (BC1FL FCC0, brtarget:$offset)>,
> - ISA_MIPS2_NOT_32R6_64R6, HARDFLOAT;
> -
> def : MipsInstAlias
> <"s.s $fd, $addr", (SWC1 FGR32Opnd:$fd, mem_simm16:$addr), 0>,
> ISA_MIPS2, HARDFLOAT;
> @@ -630,6 +703,80 @@ def : MipsInstAlias
> def : MipsInstAlias
> <"l.d $fd, $addr", (LDC164 FGR64Opnd:$fd, mem_simm16:$addr), 0>,
> FGR_64, ISA_MIPS2, HARDFLOAT;
> +
> +multiclass C_COND_ALIASES<string TypeStr, RegisterOperand RC> {
> + def : MipsInstAlias<!strconcat("c.f.", TypeStr, " $fs, $ft"),
> + (!cast<Instruction>("C_F_"#NAME) FCC0,
> + RC:$fs, RC:$ft), 1>;
> + def : MipsInstAlias<!strconcat("c.un.", TypeStr, " $fs, $ft"),
> + (!cast<Instruction>("C_UN_"#NAME) FCC0,
> + RC:$fs, RC:$ft), 1>;
> + def : MipsInstAlias<!strconcat("c.eq.", TypeStr, " $fs, $ft"),
> + (!cast<Instruction>("C_EQ_"#NAME) FCC0,
> + RC:$fs, RC:$ft), 1>;
> + def : MipsInstAlias<!strconcat("c.ueq.", TypeStr, " $fs, $ft"),
> + (!cast<Instruction>("C_UEQ_"#NAME) FCC0,
> + RC:$fs, RC:$ft), 1>;
> + def : MipsInstAlias<!strconcat("c.olt.", TypeStr, " $fs, $ft"),
> + (!cast<Instruction>("C_OLT_"#NAME) FCC0,
> + RC:$fs, RC:$ft), 1>;
> + def : MipsInstAlias<!strconcat("c.ult.", TypeStr, " $fs, $ft"),
> + (!cast<Instruction>("C_ULT_"#NAME) FCC0,
> + RC:$fs, RC:$ft), 1>;
> + def : MipsInstAlias<!strconcat("c.ole.", TypeStr, " $fs, $ft"),
> + (!cast<Instruction>("C_OLE_"#NAME) FCC0,
> + RC:$fs, RC:$ft), 1>;
> + def : MipsInstAlias<!strconcat("c.ule.", TypeStr, " $fs, $ft"),
> + (!cast<Instruction>("C_ULE_"#NAME) FCC0,
> + RC:$fs, RC:$ft), 1>;
> + def : MipsInstAlias<!strconcat("c.sf.", TypeStr, " $fs, $ft"),
> + (!cast<Instruction>("C_SF_"#NAME) FCC0,
> + RC:$fs, RC:$ft), 1>;
> + def : MipsInstAlias<!strconcat("c.ngle.", TypeStr, " $fs, $ft"),
> + (!cast<Instruction>("C_NGLE_"#NAME) FCC0,
> + RC:$fs, RC:$ft), 1>;
> + def : MipsInstAlias<!strconcat("c.seq.", TypeStr, " $fs, $ft"),
> + (!cast<Instruction>("C_SEQ_"#NAME) FCC0,
> + RC:$fs, RC:$ft), 1>;
> + def : MipsInstAlias<!strconcat("c.ngl.", TypeStr, " $fs, $ft"),
> + (!cast<Instruction>("C_NGL_"#NAME) FCC0,
> + RC:$fs, RC:$ft), 1>;
> + def : MipsInstAlias<!strconcat("c.lt.", TypeStr, " $fs, $ft"),
> + (!cast<Instruction>("C_LT_"#NAME) FCC0,
> + RC:$fs, RC:$ft), 1>;
> + def : MipsInstAlias<!strconcat("c.nge.", TypeStr, " $fs, $ft"),
> + (!cast<Instruction>("C_NGE_"#NAME) FCC0,
> + RC:$fs, RC:$ft), 1>;
> + def : MipsInstAlias<!strconcat("c.le.", TypeStr, " $fs, $ft"),
> + (!cast<Instruction>("C_LE_"#NAME) FCC0,
> + RC:$fs, RC:$ft), 1>;
> + def : MipsInstAlias<!strconcat("c.ngt.", TypeStr, " $fs, $ft"),
> + (!cast<Instruction>("C_NGT_"#NAME) FCC0,
> + RC:$fs, RC:$ft), 1>;
> +}
> +
> +multiclass BC1_ALIASES<Instruction BCTrue, string BCTrueString,
> + Instruction BCFalse, string BCFalseString> {
> + def : MipsInstAlias<!strconcat(BCTrueString, " $offset"),
> + (BCTrue FCC0, brtarget:$offset), 1>;
> +
> + def : MipsInstAlias<!strconcat(BCFalseString, " $offset"),
> + (BCFalse FCC0, brtarget:$offset), 1>;
> +}
> +
> +let AdditionalPredicates = [NotInMicroMips] in {
> + defm S : C_COND_ALIASES<"s", FGR32Opnd>, HARDFLOAT,
> + ISA_MIPS1_NOT_32R6_64R6;
> + defm D32 : C_COND_ALIASES<"d", AFGR64Opnd>, HARDFLOAT,
> + ISA_MIPS1_NOT_32R6_64R6, FGR_32;
> + defm D64 : C_COND_ALIASES<"d", FGR64Opnd>, HARDFLOAT,
> + ISA_MIPS1_NOT_32R6_64R6, FGR_64;
> +
> + defm : BC1_ALIASES<BC1T, "bc1t", BC1F, "bc1f">, ISA_MIPS1_NOT_32R6_64R6,
> + HARDFLOAT;
> + defm : BC1_ALIASES<BC1TL, "bc1tl", BC1FL, "bc1fl">, ISA_MIPS2_NOT_32R6_64R6,
> + HARDFLOAT;
> +}
> //===----------------------------------------------------------------------===//
> // Floating Point Patterns
> //===----------------------------------------------------------------------===//
>
> Modified: llvm/trunk/lib/Target/Mips/MipsInstrFormats.td
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsInstrFormats.td?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Mips/MipsInstrFormats.td (original)
> +++ llvm/trunk/lib/Target/Mips/MipsInstrFormats.td Mon Jan 16 07:55:58 2017
> @@ -101,12 +101,15 @@ class MipsInst<dag outs, dag ins, string
> bit IsPCRelativeLoad = 0; // Load instruction with implicit source register
> // ($pc) and with explicit offset and destination
> // register
> + bit hasFCCRegOperand = 0; // Instruction uses $fcc<X> register and is
> + // present in MIPS-I to MIPS-III.
>
> - // TSFlags layout should be kept in sync with MipsInstrInfo.h.
> + // TSFlags layout should be kept in sync with MCTargetDesc/MipsBaseInfo.h.
> let TSFlags{3-0} = FormBits;
> let TSFlags{4} = isCTI;
> let TSFlags{5} = hasForbiddenSlot;
> let TSFlags{6} = IsPCRelativeLoad;
> + let TSFlags{7} = hasFCCRegOperand;
>
> let DecoderNamespace = "Mips";
>
> @@ -829,6 +832,7 @@ class BC1F_FM<bit nd, bit tf> : StdArch
> class CEQS_FM<bits<5> fmt> : StdArch {
> bits<5> fs;
> bits<5> ft;
> + bits<3> fcc;
> bits<4> cond;
>
> bits<32> Inst;
> @@ -837,7 +841,7 @@ class CEQS_FM<bits<5> fmt> : StdArch {
> let Inst{25-21} = fmt;
> let Inst{20-16} = ft;
> let Inst{15-11} = fs;
> - let Inst{10-8} = 0; // cc
> + let Inst{10-8} = fcc;
> let Inst{7-4} = 0x3;
> let Inst{3-0} = cond;
> }
>
> Removed: llvm/trunk/test/MC/Disassembler/Mips/mips4/valid-xfail-mips4.txt
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/Mips/mips4/valid-xfail-mips4.txt?rev=292116&view=auto
> ==============================================================================
> --- llvm/trunk/test/MC/Disassembler/Mips/mips4/valid-xfail-mips4.txt (original)
> +++ llvm/trunk/test/MC/Disassembler/Mips/mips4/valid-xfail-mips4.txt (removed)
> @@ -1,38 +0,0 @@
> -# RUN: llvm-mc %s -triple=mips64-unknown-linux -disassemble -mcpu=mips4 | FileCheck %s
> -# XFAIL: *
> -0x46 0x2f 0x79 0x32 # CHECK: c.eq.d $fcc1, $f15, $f15
> -0x46 0x11 0xc5 0x32 # CHECK: c.eq.s $fcc5, $f24, $f17
> -0x46 0x35 0x5c 0x30 # CHECK: c.f.d $fcc4, $f11, $f21
> -0x46 0x07 0xf4 0x30 # CHECK: c.f.s $fcc4, $f30, $f7
> -0x46 0x21 0x94 0x3e # CHECK: c.le.d $fcc4, $f18, $f1
> -0x46 0x04 0xc6 0x3e # CHECK: c.le.s $fcc6, $f24, $f4
> -0x46 0x23 0x4b 0x3c # CHECK: c.lt.d $fcc3, $f9, $f3
> -0x46 0x0e 0x8a 0x3c # CHECK: c.lt.s $fcc2, $f17, $f14
> -0x46 0x30 0xad 0x3d # CHECK: c.nge.d $fcc5, $f21, $f16
> -0x46 0x08 0x5b 0x3d # CHECK: c.nge.s $fcc3, $f11, $f8
> -0x46 0x17 0xfa 0x3b # CHECK: c.ngl.s $fcc2, $f31, $f23
> -0x46 0x17 0x92 0x39 # CHECK: c.ngle.s $fcc2, $f18, $f23
> -0x46 0x27 0xc4 0x3f # CHECK: c.ngt.d $fcc4, $f24, $f7
> -0x46 0x0d 0x45 0x3f # CHECK: c.ngt.s $fcc5, $f8, $f13
> -0x46 0x3f 0x82 0x36 # CHECK: c.ole.d $fcc2, $f16, $f31
> -0x46 0x14 0x3b 0x36 # CHECK: c.ole.s $fcc3, $f7, $f20
> -0x46 0x3c 0x9c 0x34 # CHECK: c.olt.d $fcc4, $f19, $f28
> -0x46 0x07 0xa6 0x34 # CHECK: c.olt.s $fcc6, $f20, $f7
> -0x46 0x27 0xfc 0x3a # CHECK: c.seq.d $fcc4, $f31, $f7
> -0x46 0x19 0x0f 0x3a # CHECK: c.seq.s $fcc7, $f1, $f25
> -0x46 0x39 0x6c 0x33 # CHECK: c.ueq.d $fcc4, $f13, $f25
> -0x46 0x1e 0x1e 0x33 # CHECK: c.ueq.s $fcc6, $f3, $f30
> -0x46 0x32 0xcf 0x37 # CHECK: c.ule.d $fcc7, $f25, $f18
> -0x46 0x1e 0xaf 0x37 # CHECK: c.ule.s $fcc7, $f21, $f30
> -0x46 0x31 0x36 0x35 # CHECK: c.ult.d $fcc6, $f6, $f17
> -0x46 0x0a 0xc7 0x35 # CHECK: c.ult.s $fcc7, $f24, $f10
> -0x46 0x38 0xbe 0x31 # CHECK: c.un.d $fcc6, $f23, $f24
> -0x46 0x04 0xf1 0x31 # CHECK: c.un.s $fcc1, $f30, $f4
> -0x4e 0x74 0xd4 0xa1 # CHECK: madd.d $f18, $f19, $f26, $f20
> -0x4f 0xf9 0x98 0x60 # CHECK: madd.s $f1, $f31, $f19, $f25
> -0x4c 0x32 0xfa 0xa9 # CHECK: msub.d $f10, $f1, $f31, $f18
> -0x4e 0x70 0x53 0x28 # CHECK: msub.s $f12, $f19, $f10, $f16
> -0x4d 0x33 0x74 0xb1 # CHECK: nmadd.d $f18, $f9, $f14, $f19
> -0x4c 0xac 0xc8 0x30 # CHECK: nmadd.s $f0, $f5, $f25, $f12
> -0x4d 0x1e 0x87 0xb9 # CHECK: nmsub.d $f30, $f8, $f16, $f30
> -0x4f 0x04 0x98 0x78 # CHECK: nmsub.s $f1, $f24, $f19, $f4
>
> Modified: llvm/trunk/test/MC/Mips/micromips/valid.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/micromips/valid.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/micromips/valid.s (original)
> +++ llvm/trunk/test/MC/Mips/micromips/valid.s Mon Jan 16 07:55:58 2017
> @@ -210,6 +210,42 @@ recip.s $f2, $f4 # CHECK: rec
> recip.d $f2, $f4 # CHECK: recip.d $f2, $f4 # encoding: [0x54,0x44,0x52,0x3b]
> rsqrt.s $f3, $f5 # CHECK: rsqrt.s $f3, $f5 # encoding: [0x54,0x65,0x02,0x3b]
> rsqrt.d $f2, $f4 # CHECK: rsqrt.d $f2, $f4 # encoding: [0x54,0x44,0x42,0x3b]
> +c.eq.d $fcc1, $f14, $f14 # CHECK: c.eq.d $fcc1, $f14, $f14 # encoding: [0x55,0xce,0x24,0xbc]
> +c.eq.s $fcc5, $f24, $f17 # CHECK: c.eq.s $fcc5, $f24, $f17 # encoding: [0x56,0x38,0xa0,0xbc]
> +c.f.d $fcc4, $f10, $f20 # CHECK: c.f.d $fcc4, $f10, $f20 # encoding: [0x56,0x8a,0x84,0x3c]
> +c.f.s $fcc4, $f30, $f7 # CHECK: c.f.s $fcc4, $f30, $f7 # encoding: [0x54,0xfe,0x80,0x3c]
> +c.le.d $fcc4, $f18, $f0 # CHECK: c.le.d $fcc4, $f18, $f0 # encoding: [0x54,0x12,0x87,0xbc]
> +c.le.s $fcc6, $f24, $f4 # CHECK: c.le.s $fcc6, $f24, $f4 # encoding: [0x54,0x98,0xc3,0xbc]
> +c.lt.d $fcc3, $f8, $f2 # CHECK: c.lt.d $fcc3, $f8, $f2 # encoding: [0x54,0x48,0x67,0x3c]
> +c.lt.s $fcc2, $f17, $f14 # CHECK: c.lt.s $fcc2, $f17, $f14 # encoding: [0x55,0xd1,0x43,0x3c]
> +c.nge.d $fcc5, $f20, $f16 # CHECK: c.nge.d $fcc5, $f20, $f16 # encoding: [0x56,0x14,0xa7,0x7c]
> +c.nge.s $fcc3, $f11, $f8 # CHECK: c.nge.s $fcc3, $f11, $f8 # encoding: [0x55,0x0b,0x63,0x7c]
> +c.ngl.s $fcc2, $f31, $f23 # CHECK: c.ngl.s $fcc2, $f31, $f23 # encoding: [0x56,0xff,0x42,0xfc]
> +c.ngle.s $fcc2, $f18, $f23 # CHECK: c.ngle.s $fcc2, $f18, $f23 # encoding: [0x56,0xf2,0x42,0x7c]
> +c.ngl.d $f28, $f28 # CHECK: c.ngl.d $f28, $f28 # encoding: [0x57,0x9c,0x06,0xfc]
> +c.ngle.d $f0, $f16 # CHECK: c.ngle.d $f0, $f16 # encoding: [0x56,0x00,0x06,0x7c]
> +c.ngt.d $fcc4, $f24, $f6 # CHECK: c.ngt.d $fcc4, $f24, $f6 # encoding: [0x54,0xd8,0x87,0xfc]
> +c.ngt.s $fcc5, $f8, $f13 # CHECK: c.ngt.s $fcc5, $f8, $f13 # encoding: [0x55,0xa8,0xa3,0xfc]
> +c.ole.d $fcc2, $f16, $f30 # CHECK: c.ole.d $fcc2, $f16, $f30 # encoding: [0x57,0xd0,0x45,0xbc]
> +c.ole.s $fcc3, $f7, $f20 # CHECK: c.ole.s $fcc3, $f7, $f20 # encoding: [0x56,0x87,0x61,0xbc]
> +c.olt.d $fcc4, $f18, $f28 # CHECK: c.olt.d $fcc4, $f18, $f28 # encoding: [0x57,0x92,0x85,0x3c]
> +c.olt.s $fcc6, $f20, $f7 # CHECK: c.olt.s $fcc6, $f20, $f7 # encoding: [0x54,0xf4,0xc1,0x3c]
> +c.seq.d $fcc4, $f30, $f6 # CHECK: c.seq.d $fcc4, $f30, $f6 # encoding: [0x54,0xde,0x86,0xbc]
> +c.seq.s $fcc7, $f1, $f25 # CHECK: c.seq.s $fcc7, $f1, $f25 # encoding: [0x57,0x21,0xe2,0xbc]
> +c.sf.d $f30, $f0 # CHECK: c.sf.d $f30, $f0 # encoding: [0x54,0x1e,0x06,0x3c]
> +c.sf.s $f14, $f22 # CHECK: c.sf.s $f14, $f22 # encoding: [0x56,0xce,0x02,0x3c]
> +c.ueq.d $fcc4, $f12, $f24 # CHECK: c.ueq.d $fcc4, $f12, $f24 # encoding: [0x57,0x0c,0x84,0xfc]
> +c.ueq.s $fcc6, $f3, $f30 # CHECK: c.ueq.s $fcc6, $f3, $f30 # encoding: [0x57,0xc3,0xc0,0xfc]
> +c.ule.d $fcc7, $f24, $f18 # CHECK: c.ule.d $fcc7, $f24, $f18 # encoding: [0x56,0x58,0xe5,0xfc]
> +c.ule.s $fcc7, $f21, $f30 # CHECK: c.ule.s $fcc7, $f21, $f30 # encoding: [0x57,0xd5,0xe1,0xfc]
> +c.ult.d $fcc6, $f6, $f16 # CHECK: c.ult.d $fcc6, $f6, $f16 # encoding: [0x56,0x06,0xc5,0x7c]
> +c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x55,0x58,0xe1,0x7c]
> +c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x57,0x16,0xc4,0x7c]
> +c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x54,0x9e,0x20,0x7c]
> +bc1t 8 # CHECK: bc1t 8 # encoding: [0x43,0xa0,0x00,0x04]
> +bc1f 16 # CHECK: bc1f 16 # encoding: [0x43,0x80,0x00,0x08]
> +bc1t $fcc1, 4 # CHECK: bc1t $fcc1, 4 # encoding: [0x43,0xa0,0x00,0x02]
> +bc1f $fcc2, -20 # CHECK: bc1f $fcc2, -20 # encoding: [0x43,0x80,0xff,0xf6]
> sync # CHECK: sync # encoding: [0x00,0x00,0x6b,0x7c]
> sync 0 # CHECK: sync 0 # encoding: [0x00,0x00,0x6b,0x7c]
> sync 1 # CHECK: sync 1 # encoding: [0x00,0x01,0x6b,0x7c]
>
> Modified: llvm/trunk/test/MC/Mips/mips1/invalid-mips4-wrong-error.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips1/invalid-mips4-wrong-error.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips1/invalid-mips4-wrong-error.s (original)
> +++ llvm/trunk/test/MC/Mips/mips1/invalid-mips4-wrong-error.s Mon Jan 16 07:55:58 2017
> @@ -6,8 +6,8 @@
> # RUN: FileCheck %s < %t1
>
> .set noat
> - bc1fl $fcc7,27 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> - bc1tl $fcc7,27 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + bc1fl $fcc7,27 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> + bc1tl $fcc7,27 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> ldc2 $8,-21181($at) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 16-bit signed offset
> ldc2 $20,-1024($s2) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 16-bit signed offset
> ldl $24,-4167($24) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
>
> Modified: llvm/trunk/test/MC/Mips/mips1/invalid-mips4.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips1/invalid-mips4.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips1/invalid-mips4.s (original)
> +++ llvm/trunk/test/MC/Mips/mips1/invalid-mips4.s Mon Jan 16 07:55:58 2017
> @@ -5,8 +5,8 @@
> # RUN: FileCheck %s < %t1
>
> .set noat
> - bc1f $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> - bc1t $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + bc1f $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + bc1t $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> ceil.l.d $f1,$f3 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> ceil.l.s $f18,$f13 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> ceil.w.d $f11,$f25 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> @@ -53,19 +53,19 @@
> ldxc1 $f8,$s7($15) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> lwxc1 $f12,$s1($s8) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf $gp,$8,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf $gp,$8,$fcc7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf $gp,$8,$fcc7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf.d $f6,$f10,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf.d $f6,$f10,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf.d $f6,$f10,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf.s $f23,$f5,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf.s $f23,$f5,$fcc6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf.s $f23,$f5,$fcc6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn $v1,$s1,$s0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn.d $f26,$f20,$k0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn.s $f12,$f0,$s7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt $zero,$s4,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movt $zero,$s4,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movt $zero,$s4,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt.d $f0,$f2,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt.s $f30,$f2,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movt.s $f30,$f2,$fcc1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movt.s $f30,$f2,$fcc1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz $a1,$s6,$9 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz.d $f12,$f29,$9 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz.s $f25,$f7,$v1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
>
> Modified: llvm/trunk/test/MC/Mips/mips1/invalid-mips5-wrong-error.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips1/invalid-mips5-wrong-error.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips1/invalid-mips5-wrong-error.s (original)
> +++ llvm/trunk/test/MC/Mips/mips1/invalid-mips5-wrong-error.s Mon Jan 16 07:55:58 2017
> @@ -44,3 +44,35 @@
> pul.ps $f9,$f30,$f26 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: unknown instruction
> puu.ps $f24,$f9,$f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: unknown instruction
> sub.ps $f5,$f14,$f26 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: unknown instruction
> + c.eq.s $fcc1, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.f.s $fcc4, $f2, $f7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.le.s $fcc6, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.lt.s $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.nge.s $fcc3, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngl.s $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngle.s $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngt.s $fcc5, $f8, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ole.s $fcc3, $f7, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.olt.s $fcc6, $f2, $f7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.seq.s $fcc7, $f1, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.sf.s $fcc4, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ueq.s $fcc6, $f3, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ule.s $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ult.s $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.un.s $fcc1, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.eq.d $fcc1, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.f.d $fcc4, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.le.d $fcc6, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.lt.d $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.nge.d $fcc3, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngl.d $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngle.d $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngt.d $fcc5, $f8, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ole.d $fcc3, $f8, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.olt.d $fcc6, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.seq.d $fcc7, $f1, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.sf.d $fcc4, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ueq.d $fcc6, $f3, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ule.d $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ult.d $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.un.d $fcc1, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
>
> Modified: llvm/trunk/test/MC/Mips/mips1/invalid-mips5.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips1/invalid-mips5.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips1/invalid-mips5.s (original)
> +++ llvm/trunk/test/MC/Mips/mips1/invalid-mips5.s Mon Jan 16 07:55:58 2017
> @@ -5,8 +5,8 @@
> # RUN: FileCheck %s < %t1
>
> .set noat
> - bc1f $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> - bc1t $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + bc1f $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + bc1t $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> ceil.l.d $f1,$f3 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> ceil.l.s $f18,$f13 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> ceil.w.d $f11,$f25 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> @@ -52,19 +52,19 @@
> luxc1 $f19,$s6($s5) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> lwxc1 $f12,$s1($s8) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf $gp,$8,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf $gp,$8,$fcc7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf $gp,$8,$fcc7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf.d $f6,$f10,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf.d $f6,$f10,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf.d $f6,$f10,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf.s $f23,$f5,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf.s $f23,$f5,$fcc6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf.s $f23,$f5,$fcc6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn $v1,$s1,$s0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn.d $f27,$f21,$k0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn.s $f12,$f0,$s7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt $zero,$s4,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movt $zero,$s4,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movt $zero,$s4,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt.d $f0,$f2,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt.s $f30,$f2,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movt.s $f30,$f2,$fcc1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movt.s $f30,$f2,$fcc1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz $a1,$s6,$a3 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz.d $f12,$f29,$a3 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz.s $f25,$f7,$v1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
>
> Modified: llvm/trunk/test/MC/Mips/mips2/invalid-mips32.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips2/invalid-mips32.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips2/invalid-mips32.s (original)
> +++ llvm/trunk/test/MC/Mips/mips2/invalid-mips32.s Mon Jan 16 07:55:58 2017
> @@ -5,8 +5,8 @@
> # RUN: FileCheck %s < %t1
>
> .set noat
> - bc1f $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> - bc1t $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + bc1f $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + bc1t $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> clo $11,$a1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> clz $sp,$gp # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> deret # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> @@ -20,19 +20,19 @@
> maddu $24,$s2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> mfc0 $a2,$14,1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf $gp,$8,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf $gp,$8,$fcc7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf $gp,$8,$fcc7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf.d $f6,$f11,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf.d $f6,$f11,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf.d $f6,$f11,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf.s $f23,$f5,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf.s $f23,$f5,$fcc6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf.s $f23,$f5,$fcc6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn $v1,$s1,$s0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn.d $f27,$f21,$k0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn.s $f12,$f0,$s7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt $zero,$s4,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movt $zero,$s4,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movt $zero,$s4,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt.d $f0,$f2,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt.s $f30,$f2,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movt.s $f30,$f2,$fcc1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movt.s $f30,$f2,$fcc1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz $a1,$s6,$9 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz.d $f12,$f29,$9 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz.s $f25,$f7,$v1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> @@ -41,3 +41,35 @@
> mtc0 $9,$29,3 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> mul $s0,$s4,$at # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> sync 1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: s-type must be zero or unspecified for pre-MIPS32 ISAs
> + c.eq.s $fcc1, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.f.s $fcc4, $f2, $f7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.le.s $fcc6, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.lt.s $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.nge.s $fcc3, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngl.s $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngle.s $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngt.s $fcc5, $f8, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ole.s $fcc3, $f7, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.olt.s $fcc6, $f2, $f7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.seq.s $fcc7, $f1, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.sf.s $fcc4, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ueq.s $fcc6, $f3, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ule.s $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ult.s $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.un.s $fcc1, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.eq.d $fcc1, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.f.d $fcc4, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.le.d $fcc6, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.lt.d $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.nge.d $fcc3, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngl.d $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngle.d $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngt.d $fcc5, $f8, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ole.d $fcc3, $f8, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.olt.d $fcc6, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.seq.d $fcc7, $f1, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.sf.d $fcc4, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ueq.d $fcc6, $f3, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ule.d $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ult.d $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.un.d $fcc1, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
>
> Modified: llvm/trunk/test/MC/Mips/mips2/invalid-mips32r2.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips2/invalid-mips32r2.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips2/invalid-mips32r2.s (original)
> +++ llvm/trunk/test/MC/Mips/mips2/invalid-mips32r2.s Mon Jan 16 07:55:58 2017
> @@ -5,12 +5,44 @@
> # RUN: FileCheck %s < %t1
>
> .set noat
> - bc1f $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> - bc1t $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + bc1f $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + bc1t $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> clo $t3,$a1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> clz $sp,$gp # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> cvt.l.d $f24,$f15 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> cvt.l.s $f11,$f29 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> + c.eq.s $fcc1, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.f.s $fcc4, $f2, $f7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.le.s $fcc6, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.lt.s $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.nge.s $fcc3, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngl.s $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngle.s $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngt.s $fcc5, $f8, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ole.s $fcc3, $f7, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.olt.s $fcc6, $f2, $f7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.seq.s $fcc7, $f1, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.sf.s $fcc4, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ueq.s $fcc6, $f3, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ule.s $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ult.s $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.un.s $fcc1, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.eq.d $fcc1, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.f.d $fcc4, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.le.d $fcc6, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.lt.d $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.nge.d $fcc3, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngl.d $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngle.d $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngt.d $fcc5, $f8, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ole.d $fcc3, $f8, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.olt.d $fcc6, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.seq.d $fcc7, $f1, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.sf.d $fcc4, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ueq.d $fcc6, $f3, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ule.d $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ult.d $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.un.d $fcc1, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> deret # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> di $s8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> di # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> @@ -29,19 +61,19 @@
> mfc0 $a2,$14,1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> mfhc1 $s8,$f24 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf $gp,$8,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf $gp,$8,$fcc7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf $gp,$8,$fcc7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf.d $f6,$f11,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf.d $f6,$f11,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf.d $f6,$f11,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf.s $f23,$f5,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf.s $f23,$f5,$fcc6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf.s $f23,$f5,$fcc6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn $v1,$s1,$s0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn.d $f27,$f21,$k0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn.s $f12,$f0,$s7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt $zero,$s4,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movt $zero,$s4,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movt $zero,$s4,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt.d $f0,$f2,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt.s $f30,$f2,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movt.s $f30,$f2,$fcc1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movt.s $f30,$f2,$fcc1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz $a1,$s6,$t1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz.d $f12,$f29,$t1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz.s $f25,$f7,$v1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
>
> Modified: llvm/trunk/test/MC/Mips/mips2/invalid-mips4-wrong-error.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips2/invalid-mips4-wrong-error.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips2/invalid-mips4-wrong-error.s (original)
> +++ llvm/trunk/test/MC/Mips/mips2/invalid-mips4-wrong-error.s Mon Jan 16 07:55:58 2017
> @@ -6,8 +6,8 @@
> # RUN: FileCheck %s < %t1
>
> .set noat
> - bc1fl $fcc7,27 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> - bc1tl $fcc7,27 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + bc1fl $fcc7,27 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + bc1tl $fcc7,27 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> scd $15,-8243($sp) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 9-bit signed offset
> sdl $a3,-20961($s8) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> sdr $11,-20423($12) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
>
> Modified: llvm/trunk/test/MC/Mips/mips2/invalid-mips4.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips2/invalid-mips4.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips2/invalid-mips4.s (original)
> +++ llvm/trunk/test/MC/Mips/mips2/invalid-mips4.s Mon Jan 16 07:55:58 2017
> @@ -5,8 +5,8 @@
> # RUN: FileCheck %s < %t1
>
> .set noat
> - bc1f $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> - bc1t $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + bc1f $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + bc1t $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> ceil.l.d $f1,$f3 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> ceil.l.s $f18,$f13 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> cvt.d.l $f4,$f16 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> @@ -50,19 +50,19 @@
> lwxc1 $f12,$s1($s8) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> lwu $s3,-24086($v1) # CHECK: :[[@LINE]]:23: error: expected memory with 12-bit signed offset
> movf $gp,$8,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf $gp,$8,$fcc7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf $gp,$8,$fcc7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf.d $f6,$f11,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf.d $f6,$f11,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf.d $f6,$f11,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf.s $f23,$f5,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf.s $f23,$f5,$fcc6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf.s $f23,$f5,$fcc6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn $v1,$s1,$s0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn.d $f27,$f21,$k0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn.s $f12,$f0,$s7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt $zero,$s4,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movt $zero,$s4,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movt $zero,$s4,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt.d $f0,$f2,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt.s $f30,$f2,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movt.s $f30,$f2,$fcc1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movt.s $f30,$f2,$fcc1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz $a1,$s6,$9 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz.d $f12,$f29,$9 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz.s $f25,$f7,$v1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
>
> Modified: llvm/trunk/test/MC/Mips/mips2/invalid-mips5.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips2/invalid-mips5.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips2/invalid-mips5.s (original)
> +++ llvm/trunk/test/MC/Mips/mips2/invalid-mips5.s Mon Jan 16 07:55:58 2017
> @@ -5,8 +5,8 @@
> # RUN: FileCheck %s < %t1
>
> .set noat
> - bc1f $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> - bc1t $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + bc1f $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + bc1t $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> ceil.l.d $f1,$f3 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> ceil.l.s $f18,$f13 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> cvt.d.l $f4,$f16 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> @@ -48,19 +48,19 @@
> luxc1 $f19,$s6($s5) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> lwxc1 $f12,$s1($s8) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf $gp,$a0,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf $gp,$a0,$fcc7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf $gp,$a0,$fcc7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf.d $f6,$f11,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf.d $f6,$f11,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf.d $f6,$f11,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf.s $f23,$f5,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf.s $f23,$f5,$fcc6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf.s $f23,$f5,$fcc6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn $v1,$s1,$s0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn.d $f27,$f21,$k0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn.s $f12,$f0,$s7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt $zero,$s4,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movt $zero,$s4,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movt $zero,$s4,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt.d $f0,$f2,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt.s $f30,$f2,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movt.s $f30,$f2,$fcc1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movt.s $f30,$f2,$fcc1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz $a1,$s6,$a1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz.d $f12,$f29,$a1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz.s $f25,$f7,$v1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> @@ -71,3 +71,36 @@
> sdxc1 $f11,$a2($t2) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> suxc1 $f12,$k1($t1) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> swxc1 $f19,$t0($k0) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> + c.eq.s $fcc1, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.f.s $fcc4, $f2, $f7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.le.s $fcc6, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.lt.s $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.nge.s $fcc3, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngl.s $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngle.s $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngt.s $fcc5, $f8, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ole.s $fcc3, $f7, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.olt.s $fcc6, $f2, $f7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.seq.s $fcc7, $f1, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.sf.s $fcc4, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ueq.s $fcc6, $f3, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ule.s $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ult.s $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.un.s $fcc1, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.eq.d $fcc1, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.f.d $fcc4, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.le.d $fcc6, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.lt.d $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.nge.d $fcc3, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngl.d $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngle.d $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngt.d $fcc5, $f8, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ole.d $fcc3, $f8, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.olt.d $fcc6, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.seq.d $fcc7, $f1, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.sf.d $fcc4, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ueq.d $fcc6, $f3, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ule.d $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ult.d $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.un.d $fcc1, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> +
>
> Removed: llvm/trunk/test/MC/Mips/mips3/invalid-mips4-wrong-error.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips3/invalid-mips4-wrong-error.s?rev=292116&view=auto
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips3/invalid-mips4-wrong-error.s (original)
> +++ llvm/trunk/test/MC/Mips/mips3/invalid-mips4-wrong-error.s (removed)
> @@ -1,10 +0,0 @@
> -# Instructions that are invalid and are correctly rejected but use the wrong
> -# error message at the moment.
> -#
> -# RUN: not llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips3 \
> -# RUN: 2>%t1
> -# RUN: FileCheck %s < %t1
> -
> - .set noat
> - bc1fl $fcc7,27 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> - bc1tl $fcc7,27 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
>
> Modified: llvm/trunk/test/MC/Mips/mips3/invalid-mips4.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips3/invalid-mips4.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips3/invalid-mips4.s (original)
> +++ llvm/trunk/test/MC/Mips/mips3/invalid-mips4.s Mon Jan 16 07:55:58 2017
> @@ -5,26 +5,58 @@
> # RUN: FileCheck %s < %t1
>
> .set noat
> - bc1f $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> - bc1t $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + bc1f $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + bc1t $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> ldxc1 $f8,$s7($15) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> lwxc1 $f12,$s1($s8) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf $gp,$8,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf $gp,$8,$fcc7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf $gp,$8,$fcc7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf.d $f6,$f11,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf.d $f6,$f11,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf.d $f6,$f11,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf.s $f23,$f5,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf.s $f23,$f5,$fcc6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf.s $f23,$f5,$fcc6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn $v1,$s1,$s0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn.d $f27,$f21,$k0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn.s $f12,$f0,$s7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt $zero,$s4,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movt $zero,$s4,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movt $zero,$s4,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt.d $f0,$f2,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt.s $f30,$f2,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movt.s $f30,$f2,$fcc1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movt.s $f30,$f2,$fcc1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz $a1,$s6,$9 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz.d $f12,$f29,$9 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz.s $f25,$f7,$v1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> sdxc1 $f11,$10($14) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> swxc1 $f19,$12($k0) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> + c.eq.s $fcc1, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.f.s $fcc4, $f2, $f7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.le.s $fcc6, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.lt.s $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.nge.s $fcc3, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngl.s $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngle.s $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngt.s $fcc5, $f8, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ole.s $fcc3, $f7, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.olt.s $fcc6, $f2, $f7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.seq.s $fcc7, $f1, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.sf.s $fcc4, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ueq.s $fcc6, $f3, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ule.s $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ult.s $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.un.s $fcc1, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.eq.d $fcc1, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.f.d $fcc4, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.le.d $fcc6, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.lt.d $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.nge.d $fcc3, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngl.d $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngle.d $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngt.d $fcc5, $f8, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ole.d $fcc3, $f8, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.olt.d $fcc6, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.seq.d $fcc7, $f1, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.sf.d $fcc4, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ueq.d $fcc6, $f3, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ule.d $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ult.d $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.un.d $fcc1, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
>
> Modified: llvm/trunk/test/MC/Mips/mips3/invalid-mips5-wrong-error.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips3/invalid-mips5-wrong-error.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips3/invalid-mips5-wrong-error.s (original)
> +++ llvm/trunk/test/MC/Mips/mips3/invalid-mips5-wrong-error.s Mon Jan 16 07:55:58 2017
> @@ -44,3 +44,4 @@
> pul.ps $f9,$f30,$f26 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: unknown instruction
> puu.ps $f24,$f9,$f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: unknown instruction
> sub.ps $f5,$f14,$f26 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: unknown instruction
> +
>
> Modified: llvm/trunk/test/MC/Mips/mips3/invalid-mips5.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips3/invalid-mips5.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips3/invalid-mips5.s (original)
> +++ llvm/trunk/test/MC/Mips/mips3/invalid-mips5.s Mon Jan 16 07:55:58 2017
> @@ -5,28 +5,61 @@
> # RUN: FileCheck %s < %t1
>
> .set noat
> - bc1f $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> - bc1t $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + bc1f $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + bc1t $fcc1, 4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> ldxc1 $f8,$s7($t3) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> luxc1 $f19,$s6($s5) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> lwxc1 $f12,$s1($s8) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf $gp,$8,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf $gp,$8,$fcc7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf $gp,$8,$fcc7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf.d $f6,$f11,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf.d $f6,$f11,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf.d $f6,$f11,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movf.s $f23,$f5,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movf.s $f23,$f5,$fcc6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movf.s $f23,$f5,$fcc6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn $v1,$s1,$s0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn.d $f27,$f21,$k0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movn.s $f12,$f0,$s7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt $zero,$s4,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movt $zero,$s4,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movt $zero,$s4,$fcc5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt.d $f0,$f2,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movt.s $f30,$f2,$fcc0 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> - movt.s $f30,$f2,$fcc1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
> + movt.s $f30,$f2,$fcc1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz $a1,$s6,$a5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz.d $f12,$f29,$a5 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> movz.s $f25,$f7,$v1 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> sdxc1 $f11,$a6($t2) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> suxc1 $f12,$k1($t1) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> swxc1 $f19,$t0($k0) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
> + c.eq.s $fcc1, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.f.s $fcc4, $f2, $f7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.le.s $fcc6, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.lt.s $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.nge.s $fcc3, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngl.s $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngle.s $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngt.s $fcc5, $f8, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ole.s $fcc3, $f7, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.olt.s $fcc6, $f2, $f7 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.seq.s $fcc7, $f1, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.sf.s $fcc4, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ueq.s $fcc6, $f3, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ule.s $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ult.s $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.un.s $fcc1, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.eq.d $fcc1, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.f.d $fcc4, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.le.d $fcc6, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.lt.d $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.nge.d $fcc3, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngl.d $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngle.d $fcc2, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ngt.d $fcc5, $f8, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ole.d $fcc3, $f8, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.olt.d $fcc6, $f2, $f8 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.seq.d $fcc7, $f1, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.sf.d $fcc4, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ueq.d $fcc6, $f3, $f2 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ule.d $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.ult.d $fcc7, $f2, $f6 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> + c.un.d $fcc1, $f2, $f4 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: non-zero fcc register doesn't exist in current ISA level
> +
>
> Modified: llvm/trunk/test/MC/Mips/mips32/valid-xfail.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips32/valid-xfail.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips32/valid-xfail.s (original)
> +++ llvm/trunk/test/MC/Mips/mips32/valid-xfail.s Mon Jan 16 07:55:58 2017
> @@ -7,32 +7,20 @@
> # XFAIL: *
>
> .set noat
> - c.eq.d $fcc1,$f15,$f15
> - c.eq.s $fcc5,$f24,$f17
> - c.f.d $fcc4,$f11,$f21
> - c.f.s $fcc4,$f30,$f7
> - c.le.d $fcc4,$f18,$f1
> - c.le.s $fcc6,$f24,$f4
> - c.lt.d $fcc3,$f9,$f3
> - c.lt.s $fcc2,$f17,$f14
> - c.nge.d $fcc5,$f21,$f16
> - c.nge.s $fcc3,$f11,$f8
> - c.ngl.s $fcc2,$f31,$f23
> - c.ngle.s $fcc2,$f18,$f23
> - c.ngt.d $fcc4,$f24,$f7
> - c.ngt.s $fcc5,$f8,$f13
> - c.ole.d $fcc2,$f16,$f31
> - c.ole.s $fcc3,$f7,$f20
> - c.olt.d $fcc4,$f19,$f28
> - c.olt.s $fcc6,$f20,$f7
> - c.seq.d $fcc4,$f31,$f7
> - c.seq.s $fcc7,$f1,$f25
> - c.ueq.d $fcc4,$f13,$f25
> - c.ueq.s $fcc6,$f3,$f30
> - c.ule.d $fcc7,$f25,$f18
> - c.ule.s $fcc7,$f21,$f30
> - c.ult.d $fcc6,$f6,$f17
> - c.ult.s $fcc7,$f24,$f10
> - c.un.d $fcc6,$f23,$f24
> - c.un.s $fcc1,$f30,$f4
> + c.eq.ps $fcc5,$f0,$f9
> + c.f.ps $fcc6,$f11,$f11
> + c.le.ps $fcc1,$f7,$f20
> + c.lt.ps $f19,$f5
> + c.nge.ps $f1,$f26
> + c.ngl.ps $f21,$f30
> + c.ngle.ps $fcc7,$f12,$f20
> + c.ngt.ps $fcc5,$f30,$f6
> + c.ole.ps $fcc7,$f21,$f8
> + c.olt.ps $fcc3,$f7,$f16
> + c.seq.ps $fcc6,$f31,$f14
> + c.sf.ps $fcc6,$f4,$f6
> + c.ueq.ps $fcc1,$f5,$f29
> + c.ule.ps $fcc6,$f17,$f3
> + c.ult.ps $fcc7,$f14,$f0
> + c.un.ps $fcc4,$f2,$f26
> rorv $13,$a3,$s5
>
> Modified: llvm/trunk/test/MC/Mips/mips32/valid.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips32/valid.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips32/valid.s (original)
> +++ llvm/trunk/test/MC/Mips/mips32/valid.s Mon Jan 16 07:55:58 2017
> @@ -41,10 +41,38 @@ a:
> bltzl $s1,-9964 # CHECK: bltzl $17, -9964 # encoding: [0x06,0x22,0xf6,0x45]
> bnel $gp,$s4,5107 # CHECK: bnel $gp, $20, 5107 # encoding: [0x57,0x94,0x04,0xfc]
> cache 1, 8($5) # CHECK: cache 1, 8($5) # encoding: [0xbc,0xa1,0x00,0x08]
> - c.ngl.d $f29,$f29
> - c.ngle.d $f0,$f16
> - c.sf.d $f30,$f0
> - c.sf.s $f14,$f22
> + c.eq.d $fcc1, $f14, $f14 # CHECK: c.eq.d $fcc1, $f14, $f14 # encoding: [0x46,0x2e,0x71,0x32]
> + c.eq.s $fcc5, $f24, $f17 # CHECK: c.eq.s $fcc5, $f24, $f17 # encoding: [0x46,0x11,0xc5,0x32]
> + c.f.d $fcc4, $f10, $f20 # CHECK: c.f.d $fcc4, $f10, $f20 # encoding: [0x46,0x34,0x54,0x30]
> + c.f.s $fcc4, $f30, $f7 # CHECK: c.f.s $fcc4, $f30, $f7 # encoding: [0x46,0x07,0xf4,0x30]
> + c.le.d $fcc4, $f18, $f0 # CHECK: c.le.d $fcc4, $f18, $f0 # encoding: [0x46,0x20,0x94,0x3e]
> + c.le.s $fcc6, $f24, $f4 # CHECK: c.le.s $fcc6, $f24, $f4 # encoding: [0x46,0x04,0xc6,0x3e]
> + c.lt.d $fcc3, $f8, $f2 # CHECK: c.lt.d $fcc3, $f8, $f2 # encoding: [0x46,0x22,0x43,0x3c]
> + c.lt.s $fcc2, $f17, $f14 # CHECK: c.lt.s $fcc2, $f17, $f14 # encoding: [0x46,0x0e,0x8a,0x3c]
> + c.nge.d $fcc5, $f20, $f16 # CHECK: c.nge.d $fcc5, $f20, $f16 # encoding: [0x46,0x30,0xa5,0x3d]
> + c.nge.s $fcc3, $f11, $f8 # CHECK: c.nge.s $fcc3, $f11, $f8 # encoding: [0x46,0x08,0x5b,0x3d]
> + c.ngl.s $fcc2, $f31, $f23 # CHECK: c.ngl.s $fcc2, $f31, $f23 # encoding: [0x46,0x17,0xfa,0x3b]
> + c.ngle.s $fcc2, $f18, $f23 # CHECK: c.ngle.s $fcc2, $f18, $f23 # encoding: [0x46,0x17,0x92,0x39]
> + c.ngl.d $f28, $f28 # CHECK: c.ngl.d $f28, $f28 # encoding: [0x46,0x3c,0xe0,0x3b]
> + c.ngle.d $f0, $f16 # CHECK: c.ngle.d $f0, $f16 # encoding: [0x46,0x30,0x00,0x39]
> + c.ngt.d $fcc4, $f24, $f6 # CHECK: c.ngt.d $fcc4, $f24, $f6 # encoding: [0x46,0x26,0xc4,0x3f]
> + c.ngt.s $fcc5, $f8, $f13 # CHECK: c.ngt.s $fcc5, $f8, $f13 # encoding: [0x46,0x0d,0x45,0x3f]
> + c.ole.d $fcc2, $f16, $f30 # CHECK: c.ole.d $fcc2, $f16, $f30 # encoding: [0x46,0x3e,0x82,0x36]
> + c.ole.s $fcc3, $f7, $f20 # CHECK: c.ole.s $fcc3, $f7, $f20 # encoding: [0x46,0x14,0x3b,0x36]
> + c.olt.d $fcc4, $f18, $f28 # CHECK: c.olt.d $fcc4, $f18, $f28 # encoding: [0x46,0x3c,0x94,0x34]
> + c.olt.s $fcc6, $f20, $f7 # CHECK: c.olt.s $fcc6, $f20, $f7 # encoding: [0x46,0x07,0xa6,0x34]
> + c.seq.d $fcc4, $f30, $f6 # CHECK: c.seq.d $fcc4, $f30, $f6 # encoding: [0x46,0x26,0xf4,0x3a]
> + c.seq.s $fcc7, $f1, $f25 # CHECK: c.seq.s $fcc7, $f1, $f25 # encoding: [0x46,0x19,0x0f,0x3a]
> + c.sf.d $f30, $f0 # CHECK: c.sf.d $f30, $f0 # encoding: [0x46,0x20,0xf0,0x38]
> + c.sf.s $f14, $f22 # CHECK: c.sf.s $f14, $f22 # encoding: [0x46,0x16,0x70,0x38]
> + c.ueq.d $fcc4, $f12, $f24 # CHECK: c.ueq.d $fcc4, $f12, $f24 # encoding: [0x46,0x38,0x64,0x33]
> + c.ueq.s $fcc6, $f3, $f30 # CHECK: c.ueq.s $fcc6, $f3, $f30 # encoding: [0x46,0x1e,0x1e,0x33]
> + c.ule.d $fcc7, $f24, $f18 # CHECK: c.ule.d $fcc7, $f24, $f18 # encoding: [0x46,0x32,0xc7,0x37]
> + c.ule.s $fcc7, $f21, $f30 # CHECK: c.ule.s $fcc7, $f21, $f30 # encoding: [0x46,0x1e,0xaf,0x37]
> + c.ult.d $fcc6, $f6, $f16 # CHECK: c.ult.d $fcc6, $f6, $f16 # encoding: [0x46,0x30,0x36,0x35]
> + c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x46,0x0a,0xc7,0x35]
> + c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x46,0x38,0xb6,0x31]
> + c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
> ceil.w.d $f11,$f25
> ceil.w.s $f6,$f20
> cfc1 $s1,$21
>
> Modified: llvm/trunk/test/MC/Mips/mips32r2/valid-xfail.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips32r2/valid-xfail.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips32r2/valid-xfail.s (original)
> +++ llvm/trunk/test/MC/Mips/mips32r2/valid-xfail.s Mon Jan 16 07:55:58 2017
> @@ -12,50 +12,22 @@
> addqh.w $s7,$s7,$k1
> addqh_r.w $8,$v1,$zero
> alnv.ps $f12,$f18,$f30,$12
> - c.eq.d $fcc1,$f15,$f15
> c.eq.ps $fcc5,$f0,$f9
> - c.eq.s $fcc5,$f24,$f17
> - c.f.d $fcc4,$f11,$f21
> c.f.ps $fcc6,$f11,$f11
> - c.f.s $fcc4,$f30,$f7
> - c.le.d $fcc4,$f18,$f1
> c.le.ps $fcc1,$f7,$f20
> - c.le.s $fcc6,$f24,$f4
> - c.lt.d $fcc3,$f9,$f3
> c.lt.ps $f19,$f5
> - c.lt.s $fcc2,$f17,$f14
> - c.nge.d $fcc5,$f21,$f16
> c.nge.ps $f1,$f26
> - c.nge.s $fcc3,$f11,$f8
> c.ngl.ps $f21,$f30
> - c.ngl.s $fcc2,$f31,$f23
> c.ngle.ps $fcc7,$f12,$f20
> - c.ngle.s $fcc2,$f18,$f23
> - c.ngt.d $fcc4,$f24,$f7
> c.ngt.ps $fcc5,$f30,$f6
> - c.ngt.s $fcc5,$f8,$f13
> - c.ole.d $fcc2,$f16,$f31
> c.ole.ps $fcc7,$f21,$f8
> - c.ole.s $fcc3,$f7,$f20
> - c.olt.d $fcc4,$f19,$f28
> c.olt.ps $fcc3,$f7,$f16
> - c.olt.s $fcc6,$f20,$f7
> - c.seq.d $fcc4,$f31,$f7
> c.seq.ps $fcc6,$f31,$f14
> - c.seq.s $fcc7,$f1,$f25
> c.sf.ps $fcc6,$f4,$f6
> - c.ueq.d $fcc4,$f13,$f25
> c.ueq.ps $fcc1,$f5,$f29
> - c.ueq.s $fcc6,$f3,$f30
> - c.ule.d $fcc7,$f25,$f18
> c.ule.ps $fcc6,$f17,$f3
> - c.ule.s $fcc7,$f21,$f30
> - c.ult.d $fcc6,$f6,$f17
> c.ult.ps $fcc7,$f14,$f0
> - c.ult.s $fcc7,$f24,$f10
> - c.un.d $fcc6,$f23,$f24
> c.un.ps $fcc4,$f2,$f26
> - c.un.s $fcc1,$f30,$f4
> ceil.l.d $f1,$f3
> ceil.l.s $f18,$f13
> cfcmsa $s6,$19
>
> Modified: llvm/trunk/test/MC/Mips/mips32r2/valid.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips32r2/valid.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips32r2/valid.s (original)
> +++ llvm/trunk/test/MC/Mips/mips32r2/valid.s Mon Jan 16 07:55:58 2017
> @@ -41,10 +41,38 @@ a:
> bltzl $s1,-9964 # CHECK: bltzl $17, -9964 # encoding: [0x06,0x22,0xf6,0x45]
> bnel $gp,$s4,5107 # CHECK: bnel $gp, $20, 5107 # encoding: [0x57,0x94,0x04,0xfc]
> cache 1, 8($5) # CHECK: cache 1, 8($5) # encoding: [0xbc,0xa1,0x00,0x08]
> - c.ngl.d $f29,$f29
> - c.ngle.d $f0,$f16
> - c.sf.d $f30,$f0
> - c.sf.s $f14,$f22
> + c.eq.d $fcc1, $f14, $f14 # CHECK: c.eq.d $fcc1, $f14, $f14 # encoding: [0x46,0x2e,0x71,0x32]
> + c.eq.s $fcc5, $f24, $f17 # CHECK: c.eq.s $fcc5, $f24, $f17 # encoding: [0x46,0x11,0xc5,0x32]
> + c.f.d $fcc4, $f10, $f20 # CHECK: c.f.d $fcc4, $f10, $f20 # encoding: [0x46,0x34,0x54,0x30]
> + c.f.s $fcc4, $f30, $f7 # CHECK: c.f.s $fcc4, $f30, $f7 # encoding: [0x46,0x07,0xf4,0x30]
> + c.le.d $fcc4, $f18, $f0 # CHECK: c.le.d $fcc4, $f18, $f0 # encoding: [0x46,0x20,0x94,0x3e]
> + c.le.s $fcc6, $f24, $f4 # CHECK: c.le.s $fcc6, $f24, $f4 # encoding: [0x46,0x04,0xc6,0x3e]
> + c.lt.d $fcc3, $f8, $f2 # CHECK: c.lt.d $fcc3, $f8, $f2 # encoding: [0x46,0x22,0x43,0x3c]
> + c.lt.s $fcc2, $f17, $f14 # CHECK: c.lt.s $fcc2, $f17, $f14 # encoding: [0x46,0x0e,0x8a,0x3c]
> + c.nge.d $fcc5, $f20, $f16 # CHECK: c.nge.d $fcc5, $f20, $f16 # encoding: [0x46,0x30,0xa5,0x3d]
> + c.nge.s $fcc3, $f11, $f8 # CHECK: c.nge.s $fcc3, $f11, $f8 # encoding: [0x46,0x08,0x5b,0x3d]
> + c.ngl.s $fcc2, $f31, $f23 # CHECK: c.ngl.s $fcc2, $f31, $f23 # encoding: [0x46,0x17,0xfa,0x3b]
> + c.ngle.s $fcc2, $f18, $f23 # CHECK: c.ngle.s $fcc2, $f18, $f23 # encoding: [0x46,0x17,0x92,0x39]
> + c.ngl.d $f28, $f28 # CHECK: c.ngl.d $f28, $f28 # encoding: [0x46,0x3c,0xe0,0x3b]
> + c.ngle.d $f0, $f16 # CHECK: c.ngle.d $f0, $f16 # encoding: [0x46,0x30,0x00,0x39]
> + c.ngt.d $fcc4, $f24, $f6 # CHECK: c.ngt.d $fcc4, $f24, $f6 # encoding: [0x46,0x26,0xc4,0x3f]
> + c.ngt.s $fcc5, $f8, $f13 # CHECK: c.ngt.s $fcc5, $f8, $f13 # encoding: [0x46,0x0d,0x45,0x3f]
> + c.ole.d $fcc2, $f16, $f30 # CHECK: c.ole.d $fcc2, $f16, $f30 # encoding: [0x46,0x3e,0x82,0x36]
> + c.ole.s $fcc3, $f7, $f20 # CHECK: c.ole.s $fcc3, $f7, $f20 # encoding: [0x46,0x14,0x3b,0x36]
> + c.olt.d $fcc4, $f18, $f28 # CHECK: c.olt.d $fcc4, $f18, $f28 # encoding: [0x46,0x3c,0x94,0x34]
> + c.olt.s $fcc6, $f20, $f7 # CHECK: c.olt.s $fcc6, $f20, $f7 # encoding: [0x46,0x07,0xa6,0x34]
> + c.seq.d $fcc4, $f30, $f6 # CHECK: c.seq.d $fcc4, $f30, $f6 # encoding: [0x46,0x26,0xf4,0x3a]
> + c.seq.s $fcc7, $f1, $f25 # CHECK: c.seq.s $fcc7, $f1, $f25 # encoding: [0x46,0x19,0x0f,0x3a]
> + c.sf.d $f30, $f0 # CHECK: c.sf.d $f30, $f0 # encoding: [0x46,0x20,0xf0,0x38]
> + c.sf.s $f14, $f22 # CHECK: c.sf.s $f14, $f22 # encoding: [0x46,0x16,0x70,0x38]
> + c.ueq.d $fcc4, $f12, $f24 # CHECK: c.ueq.d $fcc4, $f12, $f24 # encoding: [0x46,0x38,0x64,0x33]
> + c.ueq.s $fcc6, $f3, $f30 # CHECK: c.ueq.s $fcc6, $f3, $f30 # encoding: [0x46,0x1e,0x1e,0x33]
> + c.ule.d $fcc7, $f24, $f18 # CHECK: c.ule.d $fcc7, $f24, $f18 # encoding: [0x46,0x32,0xc7,0x37]
> + c.ule.s $fcc7, $f21, $f30 # CHECK: c.ule.s $fcc7, $f21, $f30 # encoding: [0x46,0x1e,0xaf,0x37]
> + c.ult.d $fcc6, $f6, $f16 # CHECK: c.ult.d $fcc6, $f6, $f16 # encoding: [0x46,0x30,0x36,0x35]
> + c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x46,0x0a,0xc7,0x35]
> + c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x46,0x38,0xb6,0x31]
> + c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
> ceil.w.d $f11,$f25
> ceil.w.s $f6,$f20
> cfc1 $s1,$21
>
> Modified: llvm/trunk/test/MC/Mips/mips32r3/valid-xfail.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips32r3/valid-xfail.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips32r3/valid-xfail.s (original)
> +++ llvm/trunk/test/MC/Mips/mips32r3/valid-xfail.s Mon Jan 16 07:55:58 2017
> @@ -12,50 +12,22 @@
> addqh.w $s7,$s7,$k1
> addqh_r.w $8,$v1,$zero
> alnv.ps $f12,$f18,$f30,$12
> - c.eq.d $fcc1,$f15,$f15
> c.eq.ps $fcc5,$f0,$f9
> - c.eq.s $fcc5,$f24,$f17
> - c.f.d $fcc4,$f11,$f21
> c.f.ps $fcc6,$f11,$f11
> - c.f.s $fcc4,$f30,$f7
> - c.le.d $fcc4,$f18,$f1
> c.le.ps $fcc1,$f7,$f20
> - c.le.s $fcc6,$f24,$f4
> - c.lt.d $fcc3,$f9,$f3
> c.lt.ps $f19,$f5
> - c.lt.s $fcc2,$f17,$f14
> - c.nge.d $fcc5,$f21,$f16
> c.nge.ps $f1,$f26
> - c.nge.s $fcc3,$f11,$f8
> c.ngl.ps $f21,$f30
> - c.ngl.s $fcc2,$f31,$f23
> c.ngle.ps $fcc7,$f12,$f20
> - c.ngle.s $fcc2,$f18,$f23
> - c.ngt.d $fcc4,$f24,$f7
> c.ngt.ps $fcc5,$f30,$f6
> - c.ngt.s $fcc5,$f8,$f13
> - c.ole.d $fcc2,$f16,$f31
> c.ole.ps $fcc7,$f21,$f8
> - c.ole.s $fcc3,$f7,$f20
> - c.olt.d $fcc4,$f19,$f28
> c.olt.ps $fcc3,$f7,$f16
> - c.olt.s $fcc6,$f20,$f7
> - c.seq.d $fcc4,$f31,$f7
> c.seq.ps $fcc6,$f31,$f14
> - c.seq.s $fcc7,$f1,$f25
> c.sf.ps $fcc6,$f4,$f6
> - c.ueq.d $fcc4,$f13,$f25
> c.ueq.ps $fcc1,$f5,$f29
> - c.ueq.s $fcc6,$f3,$f30
> - c.ule.d $fcc7,$f25,$f18
> c.ule.ps $fcc6,$f17,$f3
> - c.ule.s $fcc7,$f21,$f30
> - c.ult.d $fcc6,$f6,$f17
> c.ult.ps $fcc7,$f14,$f0
> - c.ult.s $fcc7,$f24,$f10
> - c.un.d $fcc6,$f23,$f24
> c.un.ps $fcc4,$f2,$f26
> - c.un.s $fcc1,$f30,$f4
> ceil.l.d $f1,$f3
> ceil.l.s $f18,$f13
> cfcmsa $s6,$19
>
> Modified: llvm/trunk/test/MC/Mips/mips32r3/valid.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips32r3/valid.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips32r3/valid.s (original)
> +++ llvm/trunk/test/MC/Mips/mips32r3/valid.s Mon Jan 16 07:55:58 2017
> @@ -41,10 +41,38 @@ a:
> bltzl $s1,-9964 # CHECK: bltzl $17, -9964 # encoding: [0x06,0x22,0xf6,0x45]
> bnel $gp,$s4,5107 # CHECK: bnel $gp, $20, 5107 # encoding: [0x57,0x94,0x04,0xfc]
> cache 1, 8($5) # CHECK: cache 1, 8($5) # encoding: [0xbc,0xa1,0x00,0x08]
> - c.ngl.d $f29,$f29
> - c.ngle.d $f0,$f16
> - c.sf.d $f30,$f0
> - c.sf.s $f14,$f22
> + c.eq.d $fcc1, $f14, $f14 # CHECK: c.eq.d $fcc1, $f14, $f14 # encoding: [0x46,0x2e,0x71,0x32]
> + c.eq.s $fcc5, $f24, $f17 # CHECK: c.eq.s $fcc5, $f24, $f17 # encoding: [0x46,0x11,0xc5,0x32]
> + c.f.d $fcc4, $f10, $f20 # CHECK: c.f.d $fcc4, $f10, $f20 # encoding: [0x46,0x34,0x54,0x30]
> + c.f.s $fcc4, $f30, $f7 # CHECK: c.f.s $fcc4, $f30, $f7 # encoding: [0x46,0x07,0xf4,0x30]
> + c.le.d $fcc4, $f18, $f0 # CHECK: c.le.d $fcc4, $f18, $f0 # encoding: [0x46,0x20,0x94,0x3e]
> + c.le.s $fcc6, $f24, $f4 # CHECK: c.le.s $fcc6, $f24, $f4 # encoding: [0x46,0x04,0xc6,0x3e]
> + c.lt.d $fcc3, $f8, $f2 # CHECK: c.lt.d $fcc3, $f8, $f2 # encoding: [0x46,0x22,0x43,0x3c]
> + c.lt.s $fcc2, $f17, $f14 # CHECK: c.lt.s $fcc2, $f17, $f14 # encoding: [0x46,0x0e,0x8a,0x3c]
> + c.nge.d $fcc5, $f20, $f16 # CHECK: c.nge.d $fcc5, $f20, $f16 # encoding: [0x46,0x30,0xa5,0x3d]
> + c.nge.s $fcc3, $f11, $f8 # CHECK: c.nge.s $fcc3, $f11, $f8 # encoding: [0x46,0x08,0x5b,0x3d]
> + c.ngl.s $fcc2, $f31, $f23 # CHECK: c.ngl.s $fcc2, $f31, $f23 # encoding: [0x46,0x17,0xfa,0x3b]
> + c.ngle.s $fcc2, $f18, $f23 # CHECK: c.ngle.s $fcc2, $f18, $f23 # encoding: [0x46,0x17,0x92,0x39]
> + c.ngl.d $f28, $f28 # CHECK: c.ngl.d $f28, $f28 # encoding: [0x46,0x3c,0xe0,0x3b]
> + c.ngle.d $f0, $f16 # CHECK: c.ngle.d $f0, $f16 # encoding: [0x46,0x30,0x00,0x39]
> + c.ngt.d $fcc4, $f24, $f6 # CHECK: c.ngt.d $fcc4, $f24, $f6 # encoding: [0x46,0x26,0xc4,0x3f]
> + c.ngt.s $fcc5, $f8, $f13 # CHECK: c.ngt.s $fcc5, $f8, $f13 # encoding: [0x46,0x0d,0x45,0x3f]
> + c.ole.d $fcc2, $f16, $f30 # CHECK: c.ole.d $fcc2, $f16, $f30 # encoding: [0x46,0x3e,0x82,0x36]
> + c.ole.s $fcc3, $f7, $f20 # CHECK: c.ole.s $fcc3, $f7, $f20 # encoding: [0x46,0x14,0x3b,0x36]
> + c.olt.d $fcc4, $f18, $f28 # CHECK: c.olt.d $fcc4, $f18, $f28 # encoding: [0x46,0x3c,0x94,0x34]
> + c.olt.s $fcc6, $f20, $f7 # CHECK: c.olt.s $fcc6, $f20, $f7 # encoding: [0x46,0x07,0xa6,0x34]
> + c.seq.d $fcc4, $f30, $f6 # CHECK: c.seq.d $fcc4, $f30, $f6 # encoding: [0x46,0x26,0xf4,0x3a]
> + c.seq.s $fcc7, $f1, $f25 # CHECK: c.seq.s $fcc7, $f1, $f25 # encoding: [0x46,0x19,0x0f,0x3a]
> + c.sf.d $f30, $f0 # CHECK: c.sf.d $f30, $f0 # encoding: [0x46,0x20,0xf0,0x38]
> + c.sf.s $f14, $f22 # CHECK: c.sf.s $f14, $f22 # encoding: [0x46,0x16,0x70,0x38]
> + c.ueq.d $fcc4, $f12, $f24 # CHECK: c.ueq.d $fcc4, $f12, $f24 # encoding: [0x46,0x38,0x64,0x33]
> + c.ueq.s $fcc6, $f3, $f30 # CHECK: c.ueq.s $fcc6, $f3, $f30 # encoding: [0x46,0x1e,0x1e,0x33]
> + c.ule.d $fcc7, $f24, $f18 # CHECK: c.ule.d $fcc7, $f24, $f18 # encoding: [0x46,0x32,0xc7,0x37]
> + c.ule.s $fcc7, $f21, $f30 # CHECK: c.ule.s $fcc7, $f21, $f30 # encoding: [0x46,0x1e,0xaf,0x37]
> + c.ult.d $fcc6, $f6, $f16 # CHECK: c.ult.d $fcc6, $f6, $f16 # encoding: [0x46,0x30,0x36,0x35]
> + c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x46,0x0a,0xc7,0x35]
> + c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x46,0x38,0xb6,0x31]
> + c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
> ceil.w.d $f11,$f25
> ceil.w.s $f6,$f20
> cfc1 $s1,$21
>
> Modified: llvm/trunk/test/MC/Mips/mips32r5/valid-xfail.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips32r5/valid-xfail.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips32r5/valid-xfail.s (original)
> +++ llvm/trunk/test/MC/Mips/mips32r5/valid-xfail.s Mon Jan 16 07:55:58 2017
> @@ -12,50 +12,22 @@
> addqh.w $s7,$s7,$k1
> addqh_r.w $8,$v1,$zero
> alnv.ps $f12,$f18,$f30,$12
> - c.eq.d $fcc1,$f15,$f15
> c.eq.ps $fcc5,$f0,$f9
> - c.eq.s $fcc5,$f24,$f17
> - c.f.d $fcc4,$f11,$f21
> c.f.ps $fcc6,$f11,$f11
> - c.f.s $fcc4,$f30,$f7
> - c.le.d $fcc4,$f18,$f1
> c.le.ps $fcc1,$f7,$f20
> - c.le.s $fcc6,$f24,$f4
> - c.lt.d $fcc3,$f9,$f3
> c.lt.ps $f19,$f5
> - c.lt.s $fcc2,$f17,$f14
> - c.nge.d $fcc5,$f21,$f16
> c.nge.ps $f1,$f26
> - c.nge.s $fcc3,$f11,$f8
> c.ngl.ps $f21,$f30
> - c.ngl.s $fcc2,$f31,$f23
> c.ngle.ps $fcc7,$f12,$f20
> - c.ngle.s $fcc2,$f18,$f23
> - c.ngt.d $fcc4,$f24,$f7
> c.ngt.ps $fcc5,$f30,$f6
> - c.ngt.s $fcc5,$f8,$f13
> - c.ole.d $fcc2,$f16,$f31
> c.ole.ps $fcc7,$f21,$f8
> - c.ole.s $fcc3,$f7,$f20
> - c.olt.d $fcc4,$f19,$f28
> c.olt.ps $fcc3,$f7,$f16
> - c.olt.s $fcc6,$f20,$f7
> - c.seq.d $fcc4,$f31,$f7
> c.seq.ps $fcc6,$f31,$f14
> - c.seq.s $fcc7,$f1,$f25
> c.sf.ps $fcc6,$f4,$f6
> - c.ueq.d $fcc4,$f13,$f25
> c.ueq.ps $fcc1,$f5,$f29
> - c.ueq.s $fcc6,$f3,$f30
> - c.ule.d $fcc7,$f25,$f18
> c.ule.ps $fcc6,$f17,$f3
> - c.ule.s $fcc7,$f21,$f30
> - c.ult.d $fcc6,$f6,$f17
> c.ult.ps $fcc7,$f14,$f0
> - c.ult.s $fcc7,$f24,$f10
> - c.un.d $fcc6,$f23,$f24
> c.un.ps $fcc4,$f2,$f26
> - c.un.s $fcc1,$f30,$f4
> ceil.l.d $f1,$f3
> ceil.l.s $f18,$f13
> cfcmsa $s6,$19
>
> Modified: llvm/trunk/test/MC/Mips/mips32r5/valid.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips32r5/valid.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips32r5/valid.s (original)
> +++ llvm/trunk/test/MC/Mips/mips32r5/valid.s Mon Jan 16 07:55:58 2017
> @@ -41,10 +41,38 @@ a:
> bltzl $s1,-9964 # CHECK: bltzl $17, -9964 # encoding: [0x06,0x22,0xf6,0x45]
> bnel $gp,$s4,5107 # CHECK: bnel $gp, $20, 5107 # encoding: [0x57,0x94,0x04,0xfc]
> cache 1, 8($5) # CHECK: cache 1, 8($5) # encoding: [0xbc,0xa1,0x00,0x08]
> - c.ngl.d $f29,$f29
> - c.ngle.d $f0,$f16
> - c.sf.d $f30,$f0
> - c.sf.s $f14,$f22
> + c.eq.d $fcc1, $f14, $f14 # CHECK: c.eq.d $fcc1, $f14, $f14 # encoding: [0x46,0x2e,0x71,0x32]
> + c.eq.s $fcc5, $f24, $f17 # CHECK: c.eq.s $fcc5, $f24, $f17 # encoding: [0x46,0x11,0xc5,0x32]
> + c.f.d $fcc4, $f10, $f20 # CHECK: c.f.d $fcc4, $f10, $f20 # encoding: [0x46,0x34,0x54,0x30]
> + c.f.s $fcc4, $f30, $f7 # CHECK: c.f.s $fcc4, $f30, $f7 # encoding: [0x46,0x07,0xf4,0x30]
> + c.le.d $fcc4, $f18, $f0 # CHECK: c.le.d $fcc4, $f18, $f0 # encoding: [0x46,0x20,0x94,0x3e]
> + c.le.s $fcc6, $f24, $f4 # CHECK: c.le.s $fcc6, $f24, $f4 # encoding: [0x46,0x04,0xc6,0x3e]
> + c.lt.d $fcc3, $f8, $f2 # CHECK: c.lt.d $fcc3, $f8, $f2 # encoding: [0x46,0x22,0x43,0x3c]
> + c.lt.s $fcc2, $f17, $f14 # CHECK: c.lt.s $fcc2, $f17, $f14 # encoding: [0x46,0x0e,0x8a,0x3c]
> + c.nge.d $fcc5, $f20, $f16 # CHECK: c.nge.d $fcc5, $f20, $f16 # encoding: [0x46,0x30,0xa5,0x3d]
> + c.nge.s $fcc3, $f11, $f8 # CHECK: c.nge.s $fcc3, $f11, $f8 # encoding: [0x46,0x08,0x5b,0x3d]
> + c.ngl.s $fcc2, $f31, $f23 # CHECK: c.ngl.s $fcc2, $f31, $f23 # encoding: [0x46,0x17,0xfa,0x3b]
> + c.ngle.s $fcc2, $f18, $f23 # CHECK: c.ngle.s $fcc2, $f18, $f23 # encoding: [0x46,0x17,0x92,0x39]
> + c.ngl.d $f28, $f28 # CHECK: c.ngl.d $f28, $f28 # encoding: [0x46,0x3c,0xe0,0x3b]
> + c.ngle.d $f0, $f16 # CHECK: c.ngle.d $f0, $f16 # encoding: [0x46,0x30,0x00,0x39]
> + c.ngt.d $fcc4, $f24, $f6 # CHECK: c.ngt.d $fcc4, $f24, $f6 # encoding: [0x46,0x26,0xc4,0x3f]
> + c.ngt.s $fcc5, $f8, $f13 # CHECK: c.ngt.s $fcc5, $f8, $f13 # encoding: [0x46,0x0d,0x45,0x3f]
> + c.ole.d $fcc2, $f16, $f30 # CHECK: c.ole.d $fcc2, $f16, $f30 # encoding: [0x46,0x3e,0x82,0x36]
> + c.ole.s $fcc3, $f7, $f20 # CHECK: c.ole.s $fcc3, $f7, $f20 # encoding: [0x46,0x14,0x3b,0x36]
> + c.olt.d $fcc4, $f18, $f28 # CHECK: c.olt.d $fcc4, $f18, $f28 # encoding: [0x46,0x3c,0x94,0x34]
> + c.olt.s $fcc6, $f20, $f7 # CHECK: c.olt.s $fcc6, $f20, $f7 # encoding: [0x46,0x07,0xa6,0x34]
> + c.seq.d $fcc4, $f30, $f6 # CHECK: c.seq.d $fcc4, $f30, $f6 # encoding: [0x46,0x26,0xf4,0x3a]
> + c.seq.s $fcc7, $f1, $f25 # CHECK: c.seq.s $fcc7, $f1, $f25 # encoding: [0x46,0x19,0x0f,0x3a]
> + c.sf.d $f30, $f0 # CHECK: c.sf.d $f30, $f0 # encoding: [0x46,0x20,0xf0,0x38]
> + c.sf.s $f14, $f22 # CHECK: c.sf.s $f14, $f22 # encoding: [0x46,0x16,0x70,0x38]
> + c.ueq.d $fcc4, $f12, $f24 # CHECK: c.ueq.d $fcc4, $f12, $f24 # encoding: [0x46,0x38,0x64,0x33]
> + c.ueq.s $fcc6, $f3, $f30 # CHECK: c.ueq.s $fcc6, $f3, $f30 # encoding: [0x46,0x1e,0x1e,0x33]
> + c.ule.d $fcc7, $f24, $f18 # CHECK: c.ule.d $fcc7, $f24, $f18 # encoding: [0x46,0x32,0xc7,0x37]
> + c.ule.s $fcc7, $f21, $f30 # CHECK: c.ule.s $fcc7, $f21, $f30 # encoding: [0x46,0x1e,0xaf,0x37]
> + c.ult.d $fcc6, $f6, $f16 # CHECK: c.ult.d $fcc6, $f6, $f16 # encoding: [0x46,0x30,0x36,0x35]
> + c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x46,0x0a,0xc7,0x35]
> + c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x46,0x38,0xb6,0x31]
> + c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
> ceil.w.d $f11,$f25
> ceil.w.s $f6,$f20
> cfc1 $s1,$21
>
> Modified: llvm/trunk/test/MC/Mips/mips4/valid-xfail.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips4/valid-xfail.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips4/valid-xfail.s (original)
> +++ llvm/trunk/test/MC/Mips/mips4/valid-xfail.s Mon Jan 16 07:55:58 2017
> @@ -7,31 +7,19 @@
> # XFAIL: *
>
> .set noat
> - c.eq.d $fcc1,$f15,$f15
> - c.eq.s $fcc5,$f24,$f17
> - c.f.d $fcc4,$f11,$f21
> - c.f.s $fcc4,$f30,$f7
> - c.le.d $fcc4,$f18,$f1
> - c.le.s $fcc6,$f24,$f4
> - c.lt.d $fcc3,$f9,$f3
> - c.lt.s $fcc2,$f17,$f14
> - c.nge.d $fcc5,$f21,$f16
> - c.nge.s $fcc3,$f11,$f8
> - c.ngl.s $fcc2,$f31,$f23
> - c.ngle.s $fcc2,$f18,$f23
> - c.ngt.d $fcc4,$f24,$f7
> - c.ngt.s $fcc5,$f8,$f13
> - c.ole.d $fcc2,$f16,$f31
> - c.ole.s $fcc3,$f7,$f20
> - c.olt.d $fcc4,$f19,$f28
> - c.olt.s $fcc6,$f20,$f7
> - c.seq.d $fcc4,$f31,$f7
> - c.seq.s $fcc7,$f1,$f25
> - c.ueq.d $fcc4,$f13,$f25
> - c.ueq.s $fcc6,$f3,$f30
> - c.ule.d $fcc7,$f25,$f18
> - c.ule.s $fcc7,$f21,$f30
> - c.ult.d $fcc6,$f6,$f17
> - c.ult.s $fcc7,$f24,$f10
> - c.un.d $fcc6,$f23,$f24
> - c.un.s $fcc1,$f30,$f4
> + c.eq.ps $fcc5,$f0,$f9
> + c.f.ps $fcc6,$f11,$f11
> + c.le.ps $fcc1,$f7,$f20
> + c.lt.ps $f19,$f5
> + c.nge.ps $f1,$f26
> + c.ngl.ps $f21,$f30
> + c.ngle.ps $fcc7,$f12,$f20
> + c.ngt.ps $fcc5,$f30,$f6
> + c.ole.ps $fcc7,$f21,$f8
> + c.olt.ps $fcc3,$f7,$f16
> + c.seq.ps $fcc6,$f31,$f14
> + c.sf.ps $fcc6,$f4,$f6
> + c.ueq.ps $fcc1,$f5,$f29
> + c.ule.ps $fcc6,$f17,$f3
> + c.ult.ps $fcc7,$f14,$f0
> + c.un.ps $fcc4,$f2,$f26
>
> Modified: llvm/trunk/test/MC/Mips/mips4/valid.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips4/valid.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips4/valid.s (original)
> +++ llvm/trunk/test/MC/Mips/mips4/valid.s Mon Jan 16 07:55:58 2017
> @@ -41,10 +41,38 @@ a:
> bltzl $s1,-9964 # CHECK: bltzl $17, -9964 # encoding: [0x06,0x22,0xf6,0x45]
> bnel $gp,$s4,5107 # CHECK: bnel $gp, $20, 5107 # encoding: [0x57,0x94,0x04,0xfc]
> cache 1, 8($5) # CHECK: cache 1, 8($5) # encoding: [0xbc,0xa1,0x00,0x08]
> - c.ngl.d $f29,$f29
> - c.ngle.d $f0,$f16
> - c.sf.d $f30,$f0
> - c.sf.s $f14,$f22
> + c.eq.d $fcc1, $f14, $f14 # CHECK: c.eq.d $fcc1, $f14, $f14 # encoding: [0x46,0x2e,0x71,0x32]
> + c.eq.s $fcc5, $f24, $f17 # CHECK: c.eq.s $fcc5, $f24, $f17 # encoding: [0x46,0x11,0xc5,0x32]
> + c.f.d $fcc4, $f10, $f20 # CHECK: c.f.d $fcc4, $f10, $f20 # encoding: [0x46,0x34,0x54,0x30]
> + c.f.s $fcc4, $f30, $f7 # CHECK: c.f.s $fcc4, $f30, $f7 # encoding: [0x46,0x07,0xf4,0x30]
> + c.le.d $fcc4, $f18, $f0 # CHECK: c.le.d $fcc4, $f18, $f0 # encoding: [0x46,0x20,0x94,0x3e]
> + c.le.s $fcc6, $f24, $f4 # CHECK: c.le.s $fcc6, $f24, $f4 # encoding: [0x46,0x04,0xc6,0x3e]
> + c.lt.d $fcc3, $f8, $f2 # CHECK: c.lt.d $fcc3, $f8, $f2 # encoding: [0x46,0x22,0x43,0x3c]
> + c.lt.s $fcc2, $f17, $f14 # CHECK: c.lt.s $fcc2, $f17, $f14 # encoding: [0x46,0x0e,0x8a,0x3c]
> + c.nge.d $fcc5, $f20, $f16 # CHECK: c.nge.d $fcc5, $f20, $f16 # encoding: [0x46,0x30,0xa5,0x3d]
> + c.nge.s $fcc3, $f11, $f8 # CHECK: c.nge.s $fcc3, $f11, $f8 # encoding: [0x46,0x08,0x5b,0x3d]
> + c.ngl.s $fcc2, $f31, $f23 # CHECK: c.ngl.s $fcc2, $f31, $f23 # encoding: [0x46,0x17,0xfa,0x3b]
> + c.ngle.s $fcc2, $f18, $f23 # CHECK: c.ngle.s $fcc2, $f18, $f23 # encoding: [0x46,0x17,0x92,0x39]
> + c.ngl.d $f28, $f28 # CHECK: c.ngl.d $f28, $f28 # encoding: [0x46,0x3c,0xe0,0x3b]
> + c.ngle.d $f0, $f16 # CHECK: c.ngle.d $f0, $f16 # encoding: [0x46,0x30,0x00,0x39]
> + c.ngt.d $fcc4, $f24, $f6 # CHECK: c.ngt.d $fcc4, $f24, $f6 # encoding: [0x46,0x26,0xc4,0x3f]
> + c.ngt.s $fcc5, $f8, $f13 # CHECK: c.ngt.s $fcc5, $f8, $f13 # encoding: [0x46,0x0d,0x45,0x3f]
> + c.ole.d $fcc2, $f16, $f30 # CHECK: c.ole.d $fcc2, $f16, $f30 # encoding: [0x46,0x3e,0x82,0x36]
> + c.ole.s $fcc3, $f7, $f20 # CHECK: c.ole.s $fcc3, $f7, $f20 # encoding: [0x46,0x14,0x3b,0x36]
> + c.olt.d $fcc4, $f18, $f28 # CHECK: c.olt.d $fcc4, $f18, $f28 # encoding: [0x46,0x3c,0x94,0x34]
> + c.olt.s $fcc6, $f20, $f7 # CHECK: c.olt.s $fcc6, $f20, $f7 # encoding: [0x46,0x07,0xa6,0x34]
> + c.seq.d $fcc4, $f30, $f6 # CHECK: c.seq.d $fcc4, $f30, $f6 # encoding: [0x46,0x26,0xf4,0x3a]
> + c.seq.s $fcc7, $f1, $f25 # CHECK: c.seq.s $fcc7, $f1, $f25 # encoding: [0x46,0x19,0x0f,0x3a]
> + c.sf.d $f30, $f0 # CHECK: c.sf.d $f30, $f0 # encoding: [0x46,0x20,0xf0,0x38]
> + c.sf.s $f14, $f22 # CHECK: c.sf.s $f14, $f22 # encoding: [0x46,0x16,0x70,0x38]
> + c.ueq.d $fcc4, $f12, $f24 # CHECK: c.ueq.d $fcc4, $f12, $f24 # encoding: [0x46,0x38,0x64,0x33]
> + c.ueq.s $fcc6, $f3, $f30 # CHECK: c.ueq.s $fcc6, $f3, $f30 # encoding: [0x46,0x1e,0x1e,0x33]
> + c.ule.d $fcc7, $f24, $f18 # CHECK: c.ule.d $fcc7, $f24, $f18 # encoding: [0x46,0x32,0xc7,0x37]
> + c.ule.s $fcc7, $f21, $f30 # CHECK: c.ule.s $fcc7, $f21, $f30 # encoding: [0x46,0x1e,0xaf,0x37]
> + c.ult.d $fcc6, $f6, $f16 # CHECK: c.ult.d $fcc6, $f6, $f16 # encoding: [0x46,0x30,0x36,0x35]
> + c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x46,0x0a,0xc7,0x35]
> + c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x46,0x38,0xb6,0x31]
> + c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
> ceil.l.d $f1,$f3
> ceil.l.s $f18,$f13
> ceil.w.d $f11,$f25
>
> Modified: llvm/trunk/test/MC/Mips/mips5/valid-xfail.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips5/valid-xfail.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips5/valid-xfail.s (original)
> +++ llvm/trunk/test/MC/Mips/mips5/valid-xfail.s Mon Jan 16 07:55:58 2017
> @@ -10,50 +10,22 @@
> abs.ps $f22,$f8
> add.ps $f25,$f27,$f13
> alnv.ps $f12,$f18,$f30,$12
> - c.eq.d $fcc1,$f15,$f15
> c.eq.ps $fcc5,$f0,$f9
> - c.eq.s $fcc5,$f24,$f17
> - c.f.d $fcc4,$f11,$f21
> c.f.ps $fcc6,$f11,$f11
> - c.f.s $fcc4,$f30,$f7
> - c.le.d $fcc4,$f18,$f1
> c.le.ps $fcc1,$f7,$f20
> - c.le.s $fcc6,$f24,$f4
> - c.lt.d $fcc3,$f9,$f3
> c.lt.ps $f19,$f5
> - c.lt.s $fcc2,$f17,$f14
> - c.nge.d $fcc5,$f21,$f16
> c.nge.ps $f1,$f26
> - c.nge.s $fcc3,$f11,$f8
> c.ngl.ps $f21,$f30
> - c.ngl.s $fcc2,$f31,$f23
> c.ngle.ps $fcc7,$f12,$f20
> - c.ngle.s $fcc2,$f18,$f23
> - c.ngt.d $fcc4,$f24,$f7
> c.ngt.ps $fcc5,$f30,$f6
> - c.ngt.s $fcc5,$f8,$f13
> - c.ole.d $fcc2,$f16,$f31
> c.ole.ps $fcc7,$f21,$f8
> - c.ole.s $fcc3,$f7,$f20
> - c.olt.d $fcc4,$f19,$f28
> c.olt.ps $fcc3,$f7,$f16
> - c.olt.s $fcc6,$f20,$f7
> - c.seq.d $fcc4,$f31,$f7
> c.seq.ps $fcc6,$f31,$f14
> - c.seq.s $fcc7,$f1,$f25
> c.sf.ps $fcc6,$f4,$f6
> - c.ueq.d $fcc4,$f13,$f25
> c.ueq.ps $fcc1,$f5,$f29
> - c.ueq.s $fcc6,$f3,$f30
> - c.ule.d $fcc7,$f25,$f18
> c.ule.ps $fcc6,$f17,$f3
> - c.ule.s $fcc7,$f21,$f30
> - c.ult.d $fcc6,$f6,$f17
> c.ult.ps $fcc7,$f14,$f0
> - c.ult.s $fcc7,$f24,$f10
> - c.un.d $fcc6,$f23,$f24
> c.un.ps $fcc4,$f2,$f26
> - c.un.s $fcc1,$f30,$f4
> cvt.ps.s $f3,$f18,$f19
> cvt.s.pl $f30,$f1
> cvt.s.pu $f14,$f25
>
> Modified: llvm/trunk/test/MC/Mips/mips5/valid.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips5/valid.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips5/valid.s (original)
> +++ llvm/trunk/test/MC/Mips/mips5/valid.s Mon Jan 16 07:55:58 2017
> @@ -41,10 +41,38 @@ a:
> bltzl $s1,-9964 # CHECK: bltzl $17, -9964 # encoding: [0x06,0x22,0xf6,0x45]
> bnel $gp,$s4,5107 # CHECK: bnel $gp, $20, 5107 # encoding: [0x57,0x94,0x04,0xfc]
> cache 1, 8($5) # CHECK: cache 1, 8($5) # encoding: [0xbc,0xa1,0x00,0x08]
> - c.ngl.d $f29,$f29
> - c.ngle.d $f0,$f16
> - c.sf.d $f30,$f0
> - c.sf.s $f14,$f22
> + c.eq.d $fcc1, $f14, $f14 # CHECK: c.eq.d $fcc1, $f14, $f14 # encoding: [0x46,0x2e,0x71,0x32]
> + c.eq.s $fcc5, $f24, $f17 # CHECK: c.eq.s $fcc5, $f24, $f17 # encoding: [0x46,0x11,0xc5,0x32]
> + c.f.d $fcc4, $f10, $f20 # CHECK: c.f.d $fcc4, $f10, $f20 # encoding: [0x46,0x34,0x54,0x30]
> + c.f.s $fcc4, $f30, $f7 # CHECK: c.f.s $fcc4, $f30, $f7 # encoding: [0x46,0x07,0xf4,0x30]
> + c.le.d $fcc4, $f18, $f0 # CHECK: c.le.d $fcc4, $f18, $f0 # encoding: [0x46,0x20,0x94,0x3e]
> + c.le.s $fcc6, $f24, $f4 # CHECK: c.le.s $fcc6, $f24, $f4 # encoding: [0x46,0x04,0xc6,0x3e]
> + c.lt.d $fcc3, $f8, $f2 # CHECK: c.lt.d $fcc3, $f8, $f2 # encoding: [0x46,0x22,0x43,0x3c]
> + c.lt.s $fcc2, $f17, $f14 # CHECK: c.lt.s $fcc2, $f17, $f14 # encoding: [0x46,0x0e,0x8a,0x3c]
> + c.nge.d $fcc5, $f20, $f16 # CHECK: c.nge.d $fcc5, $f20, $f16 # encoding: [0x46,0x30,0xa5,0x3d]
> + c.nge.s $fcc3, $f11, $f8 # CHECK: c.nge.s $fcc3, $f11, $f8 # encoding: [0x46,0x08,0x5b,0x3d]
> + c.ngl.s $fcc2, $f31, $f23 # CHECK: c.ngl.s $fcc2, $f31, $f23 # encoding: [0x46,0x17,0xfa,0x3b]
> + c.ngle.s $fcc2, $f18, $f23 # CHECK: c.ngle.s $fcc2, $f18, $f23 # encoding: [0x46,0x17,0x92,0x39]
> + c.ngl.d $f28, $f28 # CHECK: c.ngl.d $f28, $f28 # encoding: [0x46,0x3c,0xe0,0x3b]
> + c.ngle.d $f0, $f16 # CHECK: c.ngle.d $f0, $f16 # encoding: [0x46,0x30,0x00,0x39]
> + c.ngt.d $fcc4, $f24, $f6 # CHECK: c.ngt.d $fcc4, $f24, $f6 # encoding: [0x46,0x26,0xc4,0x3f]
> + c.ngt.s $fcc5, $f8, $f13 # CHECK: c.ngt.s $fcc5, $f8, $f13 # encoding: [0x46,0x0d,0x45,0x3f]
> + c.ole.d $fcc2, $f16, $f30 # CHECK: c.ole.d $fcc2, $f16, $f30 # encoding: [0x46,0x3e,0x82,0x36]
> + c.ole.s $fcc3, $f7, $f20 # CHECK: c.ole.s $fcc3, $f7, $f20 # encoding: [0x46,0x14,0x3b,0x36]
> + c.olt.d $fcc4, $f18, $f28 # CHECK: c.olt.d $fcc4, $f18, $f28 # encoding: [0x46,0x3c,0x94,0x34]
> + c.olt.s $fcc6, $f20, $f7 # CHECK: c.olt.s $fcc6, $f20, $f7 # encoding: [0x46,0x07,0xa6,0x34]
> + c.seq.d $fcc4, $f30, $f6 # CHECK: c.seq.d $fcc4, $f30, $f6 # encoding: [0x46,0x26,0xf4,0x3a]
> + c.seq.s $fcc7, $f1, $f25 # CHECK: c.seq.s $fcc7, $f1, $f25 # encoding: [0x46,0x19,0x0f,0x3a]
> + c.sf.d $f30, $f0 # CHECK: c.sf.d $f30, $f0 # encoding: [0x46,0x20,0xf0,0x38]
> + c.sf.s $f14, $f22 # CHECK: c.sf.s $f14, $f22 # encoding: [0x46,0x16,0x70,0x38]
> + c.ueq.d $fcc4, $f12, $f24 # CHECK: c.ueq.d $fcc4, $f12, $f24 # encoding: [0x46,0x38,0x64,0x33]
> + c.ueq.s $fcc6, $f3, $f30 # CHECK: c.ueq.s $fcc6, $f3, $f30 # encoding: [0x46,0x1e,0x1e,0x33]
> + c.ule.d $fcc7, $f24, $f18 # CHECK: c.ule.d $fcc7, $f24, $f18 # encoding: [0x46,0x32,0xc7,0x37]
> + c.ule.s $fcc7, $f21, $f30 # CHECK: c.ule.s $fcc7, $f21, $f30 # encoding: [0x46,0x1e,0xaf,0x37]
> + c.ult.d $fcc6, $f6, $f16 # CHECK: c.ult.d $fcc6, $f6, $f16 # encoding: [0x46,0x30,0x36,0x35]
> + c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x46,0x0a,0xc7,0x35]
> + c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x46,0x38,0xb6,0x31]
> + c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
> ceil.l.d $f1,$f3
> ceil.l.s $f18,$f13
> ceil.w.d $f11,$f25
>
> Modified: llvm/trunk/test/MC/Mips/mips64/valid-xfail.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips64/valid-xfail.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips64/valid-xfail.s (original)
> +++ llvm/trunk/test/MC/Mips/mips64/valid-xfail.s Mon Jan 16 07:55:58 2017
> @@ -13,50 +13,22 @@
> alnv.ob $v31,$v23,$v30,$at
> alnv.ob $v8,$v17,$v30,$a1
> alnv.ps $f12,$f18,$f30,$12
> - c.eq.d $fcc1,$f15,$f15
> c.eq.ps $fcc5,$f0,$f9
> - c.eq.s $fcc5,$f24,$f17
> - c.f.d $fcc4,$f11,$f21
> c.f.ps $fcc6,$f11,$f11
> - c.f.s $fcc4,$f30,$f7
> - c.le.d $fcc4,$f18,$f1
> c.le.ps $fcc1,$f7,$f20
> - c.le.s $fcc6,$f24,$f4
> - c.lt.d $fcc3,$f9,$f3
> c.lt.ps $f19,$f5
> - c.lt.s $fcc2,$f17,$f14
> - c.nge.d $fcc5,$f21,$f16
> c.nge.ps $f1,$f26
> - c.nge.s $fcc3,$f11,$f8
> c.ngl.ps $f21,$f30
> - c.ngl.s $fcc2,$f31,$f23
> c.ngle.ps $fcc7,$f12,$f20
> - c.ngle.s $fcc2,$f18,$f23
> - c.ngt.d $fcc4,$f24,$f7
> c.ngt.ps $fcc5,$f30,$f6
> - c.ngt.s $fcc5,$f8,$f13
> - c.ole.d $fcc2,$f16,$f31
> c.ole.ps $fcc7,$f21,$f8
> - c.ole.s $fcc3,$f7,$f20
> - c.olt.d $fcc4,$f19,$f28
> c.olt.ps $fcc3,$f7,$f16
> - c.olt.s $fcc6,$f20,$f7
> - c.seq.d $fcc4,$f31,$f7
> c.seq.ps $fcc6,$f31,$f14
> - c.seq.s $fcc7,$f1,$f25
> c.sf.ps $fcc6,$f4,$f6
> - c.ueq.d $fcc4,$f13,$f25
> c.ueq.ps $fcc1,$f5,$f29
> - c.ueq.s $fcc6,$f3,$f30
> - c.ule.d $fcc7,$f25,$f18
> c.ule.ps $fcc6,$f17,$f3
> - c.ule.s $fcc7,$f21,$f30
> - c.ult.d $fcc6,$f6,$f17
> c.ult.ps $fcc7,$f14,$f0
> - c.ult.s $fcc7,$f24,$f10
> - c.un.d $fcc6,$f23,$f24
> c.un.ps $fcc4,$f2,$f26
> - c.un.s $fcc1,$f30,$f4
> cvt.ps.s $f3,$f18,$f19
> cvt.s.pl $f30,$f1
> cvt.s.pu $f14,$f25
>
> Modified: llvm/trunk/test/MC/Mips/mips64/valid.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips64/valid.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips64/valid.s (original)
> +++ llvm/trunk/test/MC/Mips/mips64/valid.s Mon Jan 16 07:55:58 2017
> @@ -41,10 +41,38 @@ a:
> bltzl $s1,-9964 # CHECK: bltzl $17, -9964 # encoding: [0x06,0x22,0xf6,0x45]
> bnel $gp,$s4,5107 # CHECK: bnel $gp, $20, 5107 # encoding: [0x57,0x94,0x04,0xfc]
> cache 1, 8($5) # CHECK: cache 1, 8($5) # encoding: [0xbc,0xa1,0x00,0x08]
> - c.ngl.d $f29,$f29
> - c.ngle.d $f0,$f16
> - c.sf.d $f30,$f0
> - c.sf.s $f14,$f22
> + c.eq.d $fcc1, $f14, $f14 # CHECK: c.eq.d $fcc1, $f14, $f14 # encoding: [0x46,0x2e,0x71,0x32]
> + c.eq.s $fcc5, $f24, $f17 # CHECK: c.eq.s $fcc5, $f24, $f17 # encoding: [0x46,0x11,0xc5,0x32]
> + c.f.d $fcc4, $f10, $f20 # CHECK: c.f.d $fcc4, $f10, $f20 # encoding: [0x46,0x34,0x54,0x30]
> + c.f.s $fcc4, $f30, $f7 # CHECK: c.f.s $fcc4, $f30, $f7 # encoding: [0x46,0x07,0xf4,0x30]
> + c.le.d $fcc4, $f18, $f0 # CHECK: c.le.d $fcc4, $f18, $f0 # encoding: [0x46,0x20,0x94,0x3e]
> + c.le.s $fcc6, $f24, $f4 # CHECK: c.le.s $fcc6, $f24, $f4 # encoding: [0x46,0x04,0xc6,0x3e]
> + c.lt.d $fcc3, $f8, $f2 # CHECK: c.lt.d $fcc3, $f8, $f2 # encoding: [0x46,0x22,0x43,0x3c]
> + c.lt.s $fcc2, $f17, $f14 # CHECK: c.lt.s $fcc2, $f17, $f14 # encoding: [0x46,0x0e,0x8a,0x3c]
> + c.nge.d $fcc5, $f20, $f16 # CHECK: c.nge.d $fcc5, $f20, $f16 # encoding: [0x46,0x30,0xa5,0x3d]
> + c.nge.s $fcc3, $f11, $f8 # CHECK: c.nge.s $fcc3, $f11, $f8 # encoding: [0x46,0x08,0x5b,0x3d]
> + c.ngl.s $fcc2, $f31, $f23 # CHECK: c.ngl.s $fcc2, $f31, $f23 # encoding: [0x46,0x17,0xfa,0x3b]
> + c.ngle.s $fcc2, $f18, $f23 # CHECK: c.ngle.s $fcc2, $f18, $f23 # encoding: [0x46,0x17,0x92,0x39]
> + c.ngl.d $f28, $f28 # CHECK: c.ngl.d $f28, $f28 # encoding: [0x46,0x3c,0xe0,0x3b]
> + c.ngle.d $f0, $f16 # CHECK: c.ngle.d $f0, $f16 # encoding: [0x46,0x30,0x00,0x39]
> + c.ngt.d $fcc4, $f24, $f6 # CHECK: c.ngt.d $fcc4, $f24, $f6 # encoding: [0x46,0x26,0xc4,0x3f]
> + c.ngt.s $fcc5, $f8, $f13 # CHECK: c.ngt.s $fcc5, $f8, $f13 # encoding: [0x46,0x0d,0x45,0x3f]
> + c.ole.d $fcc2, $f16, $f30 # CHECK: c.ole.d $fcc2, $f16, $f30 # encoding: [0x46,0x3e,0x82,0x36]
> + c.ole.s $fcc3, $f7, $f20 # CHECK: c.ole.s $fcc3, $f7, $f20 # encoding: [0x46,0x14,0x3b,0x36]
> + c.olt.d $fcc4, $f18, $f28 # CHECK: c.olt.d $fcc4, $f18, $f28 # encoding: [0x46,0x3c,0x94,0x34]
> + c.olt.s $fcc6, $f20, $f7 # CHECK: c.olt.s $fcc6, $f20, $f7 # encoding: [0x46,0x07,0xa6,0x34]
> + c.seq.d $fcc4, $f30, $f6 # CHECK: c.seq.d $fcc4, $f30, $f6 # encoding: [0x46,0x26,0xf4,0x3a]
> + c.seq.s $fcc7, $f1, $f25 # CHECK: c.seq.s $fcc7, $f1, $f25 # encoding: [0x46,0x19,0x0f,0x3a]
> + c.sf.d $f30, $f0 # CHECK: c.sf.d $f30, $f0 # encoding: [0x46,0x20,0xf0,0x38]
> + c.sf.s $f14, $f22 # CHECK: c.sf.s $f14, $f22 # encoding: [0x46,0x16,0x70,0x38]
> + c.ueq.d $fcc4, $f12, $f24 # CHECK: c.ueq.d $fcc4, $f12, $f24 # encoding: [0x46,0x38,0x64,0x33]
> + c.ueq.s $fcc6, $f3, $f30 # CHECK: c.ueq.s $fcc6, $f3, $f30 # encoding: [0x46,0x1e,0x1e,0x33]
> + c.ule.d $fcc7, $f24, $f18 # CHECK: c.ule.d $fcc7, $f24, $f18 # encoding: [0x46,0x32,0xc7,0x37]
> + c.ule.s $fcc7, $f21, $f30 # CHECK: c.ule.s $fcc7, $f21, $f30 # encoding: [0x46,0x1e,0xaf,0x37]
> + c.ult.d $fcc6, $f6, $f16 # CHECK: c.ult.d $fcc6, $f6, $f16 # encoding: [0x46,0x30,0x36,0x35]
> + c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x46,0x0a,0xc7,0x35]
> + c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x46,0x38,0xb6,0x31]
> + c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
> ceil.l.d $f1,$f3
> ceil.l.s $f18,$f13
> ceil.w.d $f11,$f25
>
> Modified: llvm/trunk/test/MC/Mips/mips64r2/valid-xfail.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips64r2/valid-xfail.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips64r2/valid-xfail.s (original)
> +++ llvm/trunk/test/MC/Mips/mips64r2/valid-xfail.s Mon Jan 16 07:55:58 2017
> @@ -12,50 +12,22 @@
> addqh.w $s7,$s7,$k1
> addqh_r.w $8,$v1,$zero
> alnv.ps $f12,$f18,$f30,$12
> - c.eq.d $fcc1,$f15,$f15
> c.eq.ps $fcc5,$f0,$f9
> - c.eq.s $fcc5,$f24,$f17
> - c.f.d $fcc4,$f11,$f21
> c.f.ps $fcc6,$f11,$f11
> - c.f.s $fcc4,$f30,$f7
> - c.le.d $fcc4,$f18,$f1
> c.le.ps $fcc1,$f7,$f20
> - c.le.s $fcc6,$f24,$f4
> - c.lt.d $fcc3,$f9,$f3
> c.lt.ps $f19,$f5
> - c.lt.s $fcc2,$f17,$f14
> - c.nge.d $fcc5,$f21,$f16
> c.nge.ps $f1,$f26
> - c.nge.s $fcc3,$f11,$f8
> c.ngl.ps $f21,$f30
> - c.ngl.s $fcc2,$f31,$f23
> c.ngle.ps $fcc7,$f12,$f20
> - c.ngle.s $fcc2,$f18,$f23
> - c.ngt.d $fcc4,$f24,$f7
> c.ngt.ps $fcc5,$f30,$f6
> - c.ngt.s $fcc5,$f8,$f13
> - c.ole.d $fcc2,$f16,$f31
> c.ole.ps $fcc7,$f21,$f8
> - c.ole.s $fcc3,$f7,$f20
> - c.olt.d $fcc4,$f19,$f28
> c.olt.ps $fcc3,$f7,$f16
> - c.olt.s $fcc6,$f20,$f7
> - c.seq.d $fcc4,$f31,$f7
> c.seq.ps $fcc6,$f31,$f14
> - c.seq.s $fcc7,$f1,$f25
> c.sf.ps $fcc6,$f4,$f6
> - c.ueq.d $fcc4,$f13,$f25
> c.ueq.ps $fcc1,$f5,$f29
> - c.ueq.s $fcc6,$f3,$f30
> - c.ule.d $fcc7,$f25,$f18
> c.ule.ps $fcc6,$f17,$f3
> - c.ule.s $fcc7,$f21,$f30
> - c.ult.d $fcc6,$f6,$f17
> c.ult.ps $fcc7,$f14,$f0
> - c.ult.s $fcc7,$f24,$f10
> - c.un.d $fcc6,$f23,$f24
> c.un.ps $fcc4,$f2,$f26
> - c.un.s $fcc1,$f30,$f4
> cvt.ps.s $f3,$f18,$f19
> cvt.s.pl $f30,$f1
> cvt.s.pu $f14,$f25
>
> Modified: llvm/trunk/test/MC/Mips/mips64r2/valid.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips64r2/valid.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips64r2/valid.s (original)
> +++ llvm/trunk/test/MC/Mips/mips64r2/valid.s Mon Jan 16 07:55:58 2017
> @@ -41,10 +41,38 @@ a:
> bltzl $s1,-9964 # CHECK: bltzl $17, -9964 # encoding: [0x06,0x22,0xf6,0x45]
> bnel $gp,$s4,5107 # CHECK: bnel $gp, $20, 5107 # encoding: [0x57,0x94,0x04,0xfc]
> cache 1, 8($5) # CHECK: cache 1, 8($5) # encoding: [0xbc,0xa1,0x00,0x08]
> - c.ngl.d $f29,$f29
> - c.ngle.d $f0,$f16
> - c.sf.d $f30,$f0
> - c.sf.s $f14,$f22
> + c.eq.d $fcc1, $f14, $f14 # CHECK: c.eq.d $fcc1, $f14, $f14 # encoding: [0x46,0x2e,0x71,0x32]
> + c.eq.s $fcc5, $f24, $f17 # CHECK: c.eq.s $fcc5, $f24, $f17 # encoding: [0x46,0x11,0xc5,0x32]
> + c.f.d $fcc4, $f10, $f20 # CHECK: c.f.d $fcc4, $f10, $f20 # encoding: [0x46,0x34,0x54,0x30]
> + c.f.s $fcc4, $f30, $f7 # CHECK: c.f.s $fcc4, $f30, $f7 # encoding: [0x46,0x07,0xf4,0x30]
> + c.le.d $fcc4, $f18, $f0 # CHECK: c.le.d $fcc4, $f18, $f0 # encoding: [0x46,0x20,0x94,0x3e]
> + c.le.s $fcc6, $f24, $f4 # CHECK: c.le.s $fcc6, $f24, $f4 # encoding: [0x46,0x04,0xc6,0x3e]
> + c.lt.d $fcc3, $f8, $f2 # CHECK: c.lt.d $fcc3, $f8, $f2 # encoding: [0x46,0x22,0x43,0x3c]
> + c.lt.s $fcc2, $f17, $f14 # CHECK: c.lt.s $fcc2, $f17, $f14 # encoding: [0x46,0x0e,0x8a,0x3c]
> + c.nge.d $fcc5, $f20, $f16 # CHECK: c.nge.d $fcc5, $f20, $f16 # encoding: [0x46,0x30,0xa5,0x3d]
> + c.nge.s $fcc3, $f11, $f8 # CHECK: c.nge.s $fcc3, $f11, $f8 # encoding: [0x46,0x08,0x5b,0x3d]
> + c.ngl.s $fcc2, $f31, $f23 # CHECK: c.ngl.s $fcc2, $f31, $f23 # encoding: [0x46,0x17,0xfa,0x3b]
> + c.ngle.s $fcc2, $f18, $f23 # CHECK: c.ngle.s $fcc2, $f18, $f23 # encoding: [0x46,0x17,0x92,0x39]
> + c.ngl.d $f28, $f28 # CHECK: c.ngl.d $f28, $f28 # encoding: [0x46,0x3c,0xe0,0x3b]
> + c.ngle.d $f0, $f16 # CHECK: c.ngle.d $f0, $f16 # encoding: [0x46,0x30,0x00,0x39]
> + c.ngt.d $fcc4, $f24, $f6 # CHECK: c.ngt.d $fcc4, $f24, $f6 # encoding: [0x46,0x26,0xc4,0x3f]
> + c.ngt.s $fcc5, $f8, $f13 # CHECK: c.ngt.s $fcc5, $f8, $f13 # encoding: [0x46,0x0d,0x45,0x3f]
> + c.ole.d $fcc2, $f16, $f30 # CHECK: c.ole.d $fcc2, $f16, $f30 # encoding: [0x46,0x3e,0x82,0x36]
> + c.ole.s $fcc3, $f7, $f20 # CHECK: c.ole.s $fcc3, $f7, $f20 # encoding: [0x46,0x14,0x3b,0x36]
> + c.olt.d $fcc4, $f18, $f28 # CHECK: c.olt.d $fcc4, $f18, $f28 # encoding: [0x46,0x3c,0x94,0x34]
> + c.olt.s $fcc6, $f20, $f7 # CHECK: c.olt.s $fcc6, $f20, $f7 # encoding: [0x46,0x07,0xa6,0x34]
> + c.seq.d $fcc4, $f30, $f6 # CHECK: c.seq.d $fcc4, $f30, $f6 # encoding: [0x46,0x26,0xf4,0x3a]
> + c.seq.s $fcc7, $f1, $f25 # CHECK: c.seq.s $fcc7, $f1, $f25 # encoding: [0x46,0x19,0x0f,0x3a]
> + c.sf.d $f30, $f0 # CHECK: c.sf.d $f30, $f0 # encoding: [0x46,0x20,0xf0,0x38]
> + c.sf.s $f14, $f22 # CHECK: c.sf.s $f14, $f22 # encoding: [0x46,0x16,0x70,0x38]
> + c.ueq.d $fcc4, $f12, $f24 # CHECK: c.ueq.d $fcc4, $f12, $f24 # encoding: [0x46,0x38,0x64,0x33]
> + c.ueq.s $fcc6, $f3, $f30 # CHECK: c.ueq.s $fcc6, $f3, $f30 # encoding: [0x46,0x1e,0x1e,0x33]
> + c.ule.d $fcc7, $f24, $f18 # CHECK: c.ule.d $fcc7, $f24, $f18 # encoding: [0x46,0x32,0xc7,0x37]
> + c.ule.s $fcc7, $f21, $f30 # CHECK: c.ule.s $fcc7, $f21, $f30 # encoding: [0x46,0x1e,0xaf,0x37]
> + c.ult.d $fcc6, $f6, $f16 # CHECK: c.ult.d $fcc6, $f6, $f16 # encoding: [0x46,0x30,0x36,0x35]
> + c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x46,0x0a,0xc7,0x35]
> + c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x46,0x38,0xb6,0x31]
> + c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
> ceil.l.d $f1,$f3
> ceil.l.s $f18,$f13
> ceil.w.d $f11,$f25
>
> Modified: llvm/trunk/test/MC/Mips/mips64r3/valid-xfail.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips64r3/valid-xfail.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips64r3/valid-xfail.s (original)
> +++ llvm/trunk/test/MC/Mips/mips64r3/valid-xfail.s Mon Jan 16 07:55:58 2017
> @@ -15,50 +15,22 @@
> alnv.ob $v31,$v23,$v30,$at
> alnv.ob $v8,$v17,$v30,$a1
> alnv.ps $f12,$f18,$f30,$12
> - c.eq.d $fcc1,$f15,$f15
> c.eq.ps $fcc5,$f0,$f9
> - c.eq.s $fcc5,$f24,$f17
> - c.f.d $fcc4,$f11,$f21
> c.f.ps $fcc6,$f11,$f11
> - c.f.s $fcc4,$f30,$f7
> - c.le.d $fcc4,$f18,$f1
> c.le.ps $fcc1,$f7,$f20
> - c.le.s $fcc6,$f24,$f4
> - c.lt.d $fcc3,$f9,$f3
> c.lt.ps $f19,$f5
> - c.lt.s $fcc2,$f17,$f14
> - c.nge.d $fcc5,$f21,$f16
> c.nge.ps $f1,$f26
> - c.nge.s $fcc3,$f11,$f8
> c.ngl.ps $f21,$f30
> - c.ngl.s $fcc2,$f31,$f23
> c.ngle.ps $fcc7,$f12,$f20
> - c.ngle.s $fcc2,$f18,$f23
> - c.ngt.d $fcc4,$f24,$f7
> c.ngt.ps $fcc5,$f30,$f6
> - c.ngt.s $fcc5,$f8,$f13
> - c.ole.d $fcc2,$f16,$f31
> c.ole.ps $fcc7,$f21,$f8
> - c.ole.s $fcc3,$f7,$f20
> - c.olt.d $fcc4,$f19,$f28
> c.olt.ps $fcc3,$f7,$f16
> - c.olt.s $fcc6,$f20,$f7
> - c.seq.d $fcc4,$f31,$f7
> c.seq.ps $fcc6,$f31,$f14
> - c.seq.s $fcc7,$f1,$f25
> c.sf.ps $fcc6,$f4,$f6
> - c.ueq.d $fcc4,$f13,$f25
> c.ueq.ps $fcc1,$f5,$f29
> - c.ueq.s $fcc6,$f3,$f30
> - c.ule.d $fcc7,$f25,$f18
> c.ule.ps $fcc6,$f17,$f3
> - c.ule.s $fcc7,$f21,$f30
> - c.ult.d $fcc6,$f6,$f17
> c.ult.ps $fcc7,$f14,$f0
> - c.ult.s $fcc7,$f24,$f10
> - c.un.d $fcc6,$f23,$f24
> c.un.ps $fcc4,$f2,$f26
> - c.un.s $fcc1,$f30,$f4
> cvt.ps.s $f3,$f18,$f19
> cvt.s.pl $f30,$f1
> cvt.s.pu $f14,$f25
>
> Modified: llvm/trunk/test/MC/Mips/mips64r3/valid.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips64r3/valid.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips64r3/valid.s (original)
> +++ llvm/trunk/test/MC/Mips/mips64r3/valid.s Mon Jan 16 07:55:58 2017
> @@ -41,10 +41,38 @@ a:
> bltzl $s1,-9964 # CHECK: bltzl $17, -9964 # encoding: [0x06,0x22,0xf6,0x45]
> bnel $gp,$s4,5107 # CHECK: bnel $gp, $20, 5107 # encoding: [0x57,0x94,0x04,0xfc]
> cache 1, 8($5) # CHECK: cache 1, 8($5) # encoding: [0xbc,0xa1,0x00,0x08]
> - c.ngl.d $f29,$f29
> - c.ngle.d $f0,$f16
> - c.sf.d $f30,$f0
> - c.sf.s $f14,$f22
> + c.eq.d $fcc1, $f14, $f14 # CHECK: c.eq.d $fcc1, $f14, $f14 # encoding: [0x46,0x2e,0x71,0x32]
> + c.eq.s $fcc5, $f24, $f17 # CHECK: c.eq.s $fcc5, $f24, $f17 # encoding: [0x46,0x11,0xc5,0x32]
> + c.f.d $fcc4, $f10, $f20 # CHECK: c.f.d $fcc4, $f10, $f20 # encoding: [0x46,0x34,0x54,0x30]
> + c.f.s $fcc4, $f30, $f7 # CHECK: c.f.s $fcc4, $f30, $f7 # encoding: [0x46,0x07,0xf4,0x30]
> + c.le.d $fcc4, $f18, $f0 # CHECK: c.le.d $fcc4, $f18, $f0 # encoding: [0x46,0x20,0x94,0x3e]
> + c.le.s $fcc6, $f24, $f4 # CHECK: c.le.s $fcc6, $f24, $f4 # encoding: [0x46,0x04,0xc6,0x3e]
> + c.lt.d $fcc3, $f8, $f2 # CHECK: c.lt.d $fcc3, $f8, $f2 # encoding: [0x46,0x22,0x43,0x3c]
> + c.lt.s $fcc2, $f17, $f14 # CHECK: c.lt.s $fcc2, $f17, $f14 # encoding: [0x46,0x0e,0x8a,0x3c]
> + c.nge.d $fcc5, $f20, $f16 # CHECK: c.nge.d $fcc5, $f20, $f16 # encoding: [0x46,0x30,0xa5,0x3d]
> + c.nge.s $fcc3, $f11, $f8 # CHECK: c.nge.s $fcc3, $f11, $f8 # encoding: [0x46,0x08,0x5b,0x3d]
> + c.ngl.s $fcc2, $f31, $f23 # CHECK: c.ngl.s $fcc2, $f31, $f23 # encoding: [0x46,0x17,0xfa,0x3b]
> + c.ngle.s $fcc2, $f18, $f23 # CHECK: c.ngle.s $fcc2, $f18, $f23 # encoding: [0x46,0x17,0x92,0x39]
> + c.ngl.d $f28, $f28 # CHECK: c.ngl.d $f28, $f28 # encoding: [0x46,0x3c,0xe0,0x3b]
> + c.ngle.d $f0, $f16 # CHECK: c.ngle.d $f0, $f16 # encoding: [0x46,0x30,0x00,0x39]
> + c.ngt.d $fcc4, $f24, $f6 # CHECK: c.ngt.d $fcc4, $f24, $f6 # encoding: [0x46,0x26,0xc4,0x3f]
> + c.ngt.s $fcc5, $f8, $f13 # CHECK: c.ngt.s $fcc5, $f8, $f13 # encoding: [0x46,0x0d,0x45,0x3f]
> + c.ole.d $fcc2, $f16, $f30 # CHECK: c.ole.d $fcc2, $f16, $f30 # encoding: [0x46,0x3e,0x82,0x36]
> + c.ole.s $fcc3, $f7, $f20 # CHECK: c.ole.s $fcc3, $f7, $f20 # encoding: [0x46,0x14,0x3b,0x36]
> + c.olt.d $fcc4, $f18, $f28 # CHECK: c.olt.d $fcc4, $f18, $f28 # encoding: [0x46,0x3c,0x94,0x34]
> + c.olt.s $fcc6, $f20, $f7 # CHECK: c.olt.s $fcc6, $f20, $f7 # encoding: [0x46,0x07,0xa6,0x34]
> + c.seq.d $fcc4, $f30, $f6 # CHECK: c.seq.d $fcc4, $f30, $f6 # encoding: [0x46,0x26,0xf4,0x3a]
> + c.seq.s $fcc7, $f1, $f25 # CHECK: c.seq.s $fcc7, $f1, $f25 # encoding: [0x46,0x19,0x0f,0x3a]
> + c.sf.d $f30, $f0 # CHECK: c.sf.d $f30, $f0 # encoding: [0x46,0x20,0xf0,0x38]
> + c.sf.s $f14, $f22 # CHECK: c.sf.s $f14, $f22 # encoding: [0x46,0x16,0x70,0x38]
> + c.ueq.d $fcc4, $f12, $f24 # CHECK: c.ueq.d $fcc4, $f12, $f24 # encoding: [0x46,0x38,0x64,0x33]
> + c.ueq.s $fcc6, $f3, $f30 # CHECK: c.ueq.s $fcc6, $f3, $f30 # encoding: [0x46,0x1e,0x1e,0x33]
> + c.ule.d $fcc7, $f24, $f18 # CHECK: c.ule.d $fcc7, $f24, $f18 # encoding: [0x46,0x32,0xc7,0x37]
> + c.ule.s $fcc7, $f21, $f30 # CHECK: c.ule.s $fcc7, $f21, $f30 # encoding: [0x46,0x1e,0xaf,0x37]
> + c.ult.d $fcc6, $f6, $f16 # CHECK: c.ult.d $fcc6, $f6, $f16 # encoding: [0x46,0x30,0x36,0x35]
> + c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x46,0x0a,0xc7,0x35]
> + c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x46,0x38,0xb6,0x31]
> + c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
> ceil.l.d $f1,$f3
> ceil.l.s $f18,$f13
> ceil.w.d $f11,$f25
>
> Modified: llvm/trunk/test/MC/Mips/mips64r5/valid-xfail.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips64r5/valid-xfail.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips64r5/valid-xfail.s (original)
> +++ llvm/trunk/test/MC/Mips/mips64r5/valid-xfail.s Mon Jan 16 07:55:58 2017
> @@ -15,50 +15,22 @@
> alnv.ob $v31,$v23,$v30,$at
> alnv.ob $v8,$v17,$v30,$a1
> alnv.ps $f12,$f18,$f30,$12
> - c.eq.d $fcc1,$f15,$f15
> c.eq.ps $fcc5,$f0,$f9
> - c.eq.s $fcc5,$f24,$f17
> - c.f.d $fcc4,$f11,$f21
> c.f.ps $fcc6,$f11,$f11
> - c.f.s $fcc4,$f30,$f7
> - c.le.d $fcc4,$f18,$f1
> c.le.ps $fcc1,$f7,$f20
> - c.le.s $fcc6,$f24,$f4
> - c.lt.d $fcc3,$f9,$f3
> c.lt.ps $f19,$f5
> - c.lt.s $fcc2,$f17,$f14
> - c.nge.d $fcc5,$f21,$f16
> c.nge.ps $f1,$f26
> - c.nge.s $fcc3,$f11,$f8
> c.ngl.ps $f21,$f30
> - c.ngl.s $fcc2,$f31,$f23
> c.ngle.ps $fcc7,$f12,$f20
> - c.ngle.s $fcc2,$f18,$f23
> - c.ngt.d $fcc4,$f24,$f7
> c.ngt.ps $fcc5,$f30,$f6
> - c.ngt.s $fcc5,$f8,$f13
> - c.ole.d $fcc2,$f16,$f31
> c.ole.ps $fcc7,$f21,$f8
> - c.ole.s $fcc3,$f7,$f20
> - c.olt.d $fcc4,$f19,$f28
> c.olt.ps $fcc3,$f7,$f16
> - c.olt.s $fcc6,$f20,$f7
> - c.seq.d $fcc4,$f31,$f7
> c.seq.ps $fcc6,$f31,$f14
> - c.seq.s $fcc7,$f1,$f25
> c.sf.ps $fcc6,$f4,$f6
> - c.ueq.d $fcc4,$f13,$f25
> c.ueq.ps $fcc1,$f5,$f29
> - c.ueq.s $fcc6,$f3,$f30
> - c.ule.d $fcc7,$f25,$f18
> c.ule.ps $fcc6,$f17,$f3
> - c.ule.s $fcc7,$f21,$f30
> - c.ult.d $fcc6,$f6,$f17
> c.ult.ps $fcc7,$f14,$f0
> - c.ult.s $fcc7,$f24,$f10
> - c.un.d $fcc6,$f23,$f24
> c.un.ps $fcc4,$f2,$f26
> - c.un.s $fcc1,$f30,$f4
> cvt.ps.s $f3,$f18,$f19
> cvt.s.pl $f30,$f1
> cvt.s.pu $f14,$f25
>
> Modified: llvm/trunk/test/MC/Mips/mips64r5/valid.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Mips/mips64r5/valid.s?rev=292117&r1=292116&r2=292117&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Mips/mips64r5/valid.s (original)
> +++ llvm/trunk/test/MC/Mips/mips64r5/valid.s Mon Jan 16 07:55:58 2017
> @@ -41,10 +41,38 @@ a:
> bltzl $s1,-9964 # CHECK: bltzl $17, -9964 # encoding: [0x06,0x22,0xf6,0x45]
> bnel $gp,$s4,5107 # CHECK: bnel $gp, $20, 5107 # encoding: [0x57,0x94,0x04,0xfc]
> cache 1, 8($5) # CHECK: cache 1, 8($5) # encoding: [0xbc,0xa1,0x00,0x08]
> - c.ngl.d $f29,$f29
> - c.ngle.d $f0,$f16
> - c.sf.d $f30,$f0
> - c.sf.s $f14,$f22
> + c.eq.d $fcc1, $f14, $f14 # CHECK: c.eq.d $fcc1, $f14, $f14 # encoding: [0x46,0x2e,0x71,0x32]
> + c.eq.s $fcc5, $f24, $f17 # CHECK: c.eq.s $fcc5, $f24, $f17 # encoding: [0x46,0x11,0xc5,0x32]
> + c.f.d $fcc4, $f10, $f20 # CHECK: c.f.d $fcc4, $f10, $f20 # encoding: [0x46,0x34,0x54,0x30]
> + c.f.s $fcc4, $f30, $f7 # CHECK: c.f.s $fcc4, $f30, $f7 # encoding: [0x46,0x07,0xf4,0x30]
> + c.le.d $fcc4, $f18, $f0 # CHECK: c.le.d $fcc4, $f18, $f0 # encoding: [0x46,0x20,0x94,0x3e]
> + c.le.s $fcc6, $f24, $f4 # CHECK: c.le.s $fcc6, $f24, $f4 # encoding: [0x46,0x04,0xc6,0x3e]
> + c.lt.d $fcc3, $f8, $f2 # CHECK: c.lt.d $fcc3, $f8, $f2 # encoding: [0x46,0x22,0x43,0x3c]
> + c.lt.s $fcc2, $f17, $f14 # CHECK: c.lt.s $fcc2, $f17, $f14 # encoding: [0x46,0x0e,0x8a,0x3c]
> + c.nge.d $fcc5, $f20, $f16 # CHECK: c.nge.d $fcc5, $f20, $f16 # encoding: [0x46,0x30,0xa5,0x3d]
> + c.nge.s $fcc3, $f11, $f8 # CHECK: c.nge.s $fcc3, $f11, $f8 # encoding: [0x46,0x08,0x5b,0x3d]
> + c.ngl.s $fcc2, $f31, $f23 # CHECK: c.ngl.s $fcc2, $f31, $f23 # encoding: [0x46,0x17,0xfa,0x3b]
> + c.ngle.s $fcc2, $f18, $f23 # CHECK: c.ngle.s $fcc2, $f18, $f23 # encoding: [0x46,0x17,0x92,0x39]
> + c.ngl.d $f28, $f28 # CHECK: c.ngl.d $f28, $f28 # encoding: [0x46,0x3c,0xe0,0x3b]
> + c.ngle.d $f0, $f16 # CHECK: c.ngle.d $f0, $f16 # encoding: [0x46,0x30,0x00,0x39]
> + c.ngt.d $fcc4, $f24, $f6 # CHECK: c.ngt.d $fcc4, $f24, $f6 # encoding: [0x46,0x26,0xc4,0x3f]
> + c.ngt.s $fcc5, $f8, $f13 # CHECK: c.ngt.s $fcc5, $f8, $f13 # encoding: [0x46,0x0d,0x45,0x3f]
> + c.ole.d $fcc2, $f16, $f30 # CHECK: c.ole.d $fcc2, $f16, $f30 # encoding: [0x46,0x3e,0x82,0x36]
> + c.ole.s $fcc3, $f7, $f20 # CHECK: c.ole.s $fcc3, $f7, $f20 # encoding: [0x46,0x14,0x3b,0x36]
> + c.olt.d $fcc4, $f18, $f28 # CHECK: c.olt.d $fcc4, $f18, $f28 # encoding: [0x46,0x3c,0x94,0x34]
> + c.olt.s $fcc6, $f20, $f7 # CHECK: c.olt.s $fcc6, $f20, $f7 # encoding: [0x46,0x07,0xa6,0x34]
> + c.seq.d $fcc4, $f30, $f6 # CHECK: c.seq.d $fcc4, $f30, $f6 # encoding: [0x46,0x26,0xf4,0x3a]
> + c.seq.s $fcc7, $f1, $f25 # CHECK: c.seq.s $fcc7, $f1, $f25 # encoding: [0x46,0x19,0x0f,0x3a]
> + c.sf.d $f30, $f0 # CHECK: c.sf.d $f30, $f0 # encoding: [0x46,0x20,0xf0,0x38]
> + c.sf.s $f14, $f22 # CHECK: c.sf.s $f14, $f22 # encoding: [0x46,0x16,0x70,0x38]
> + c.ueq.d $fcc4, $f12, $f24 # CHECK: c.ueq.d $fcc4, $f12, $f24 # encoding: [0x46,0x38,0x64,0x33]
> + c.ueq.s $fcc6, $f3, $f30 # CHECK: c.ueq.s $fcc6, $f3, $f30 # encoding: [0x46,0x1e,0x1e,0x33]
> + c.ule.d $fcc7, $f24, $f18 # CHECK: c.ule.d $fcc7, $f24, $f18 # encoding: [0x46,0x32,0xc7,0x37]
> + c.ule.s $fcc7, $f21, $f30 # CHECK: c.ule.s $fcc7, $f21, $f30 # encoding: [0x46,0x1e,0xaf,0x37]
> + c.ult.d $fcc6, $f6, $f16 # CHECK: c.ult.d $fcc6, $f6, $f16 # encoding: [0x46,0x30,0x36,0x35]
> + c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x46,0x0a,0xc7,0x35]
> + c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x46,0x38,0xb6,0x31]
> + c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
> ceil.l.d $f1,$f3
> ceil.l.s $f18,$f13
> ceil.w.d $f11,$f25
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list