llvm-project/llvm/lib/Target/Mips
Simon Atanasyan 3785e84cf2 [mips] Fix `mtc1` and `mfc1` definitions for microMIPS R6
The `mtc1` and `mfc1` definitions in the MipsInstrFPU.td have MMRel,
but do not have StdMMR6Rel tags. When these instructions are emitted
for microMIPS R6 targets, `Mips::MipsR62MicroMipsR6` nor
`Mips::Std2MicroMipsR6` cannot find correct op-codes and as a result the
backend uses mips32 variant of the instructions encoding.

The patch fixes this problem by adding the StdMMR6Rel tag and check
instructions encoding in the test case.

Differential revision: https://reviews.llvm.org/D51482

llvm-svn: 341221
2018-08-31 15:57:17 +00:00
..
AsmParser Remove trailing space 2018-07-30 19:41:25 +00:00
Disassembler [mips] Fix the definitions of lwp, swp 2018-05-25 16:15:48 +00:00
InstPrinter [mips] Remove dead code. NFC 2018-07-11 09:41:28 +00:00
MCTargetDesc Remove trailing space 2018-07-30 19:41:25 +00:00
TargetInfo Add backend name to Target to enable runtime info to be fed back into TableGen 2017-11-15 23:55:44 +00:00
CMakeLists.txt [mips] Fix atomic operations at O0, v3 2018-07-05 09:27:05 +00:00
LLVMBuild.txt [MIPS GlobalISel] Adding GlobalISel 2018-02-23 11:06:40 +00:00
MSA.txt
MicroMips32r6InstrFormats.td [mips] Sink PredicateControl further down the class hierarchy. 2018-05-30 12:40:53 +00:00
MicroMips32r6InstrInfo.td [mips] Fix `mtc1` and `mfc1` definitions for microMIPS R6 2018-08-31 15:57:17 +00:00
MicroMipsDSPInstrFormats.td [mips] Fix the predicates of some DSP instructions from AdditionalPredicates to ASEPredicate 2018-06-20 13:29:57 +00:00
MicroMipsDSPInstrInfo.td [mips] Fix the predicates of some DSP instructions from AdditionalPredicates to ASEPredicate 2018-06-20 13:29:57 +00:00
MicroMipsInstrFPU.td [mips] Eliminate the usage of hasStdEnc in MipsPat. 2018-07-16 13:52:41 +00:00
MicroMipsInstrFormats.td [mips] Add licensing information of the microMIPS tablegen files. (NFC) 2018-06-15 13:29:35 +00:00
MicroMipsInstrInfo.td [mips] Fix local dynamic TLS with Sym64 2018-07-24 13:47:52 +00:00
MicroMipsSizeReduction.cpp [mips][microMIPS] Extending size reduction pass with LWP and SWP 2018-06-13 12:51:37 +00:00
Mips.h [mips] Fix atomic operations at O0, v3 2018-07-05 09:27:05 +00:00
Mips.td [mips] Add support for Global INValidate ASE 2018-05-17 16:30:32 +00:00
Mips16FrameLowering.cpp [mips] Support shrink-wrapping 2018-06-29 16:37:16 +00:00
Mips16FrameLowering.h
Mips16HardFloat.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
Mips16HardFloatInfo.cpp
Mips16HardFloatInfo.h
Mips16ISelDAGToDAG.cpp [Mips] Remove uneeded variants of ADDC/ADDE lowering 2018-06-05 22:13:56 +00:00
Mips16ISelDAGToDAG.h
Mips16ISelLowering.cpp
Mips16ISelLowering.h
Mips16InstrFormats.td
Mips16InstrInfo.cpp Make TargetInstrInfo::isCopyInstr return true for regular COPY-instructions 2018-08-30 14:32:47 +00:00
Mips16InstrInfo.h Make TargetInstrInfo::isCopyInstr return true for regular COPY-instructions 2018-08-30 14:32:47 +00:00
Mips16InstrInfo.td [mips] Fix local dynamic TLS with Sym64 2018-07-24 13:47:52 +00:00
Mips16RegisterInfo.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
Mips16RegisterInfo.h
Mips32r6InstrFormats.td [mips] Sink PredicateControl further down the class hierarchy. 2018-05-30 12:40:53 +00:00
Mips32r6InstrInfo.td [mips] Correct the predicates of the cache and pref instructions 2018-05-22 10:55:05 +00:00
Mips64InstrInfo.td [mips] Sign extend i32 return values on MIPS64 2018-07-26 10:59:35 +00:00
Mips64r6InstrInfo.td [mips] Sign extend i32 return values on MIPS64 2018-07-26 10:59:35 +00:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h
MipsAsmPrinter.cpp Remove trailing space 2018-07-30 19:41:25 +00:00
MipsAsmPrinter.h [X86][Mips] Remove unused method declaration from the X86 and Mips AsmPrinters. 2017-12-08 23:30:03 +00:00
MipsBranchExpansion.cpp [mips] Handle branch expansion corner cases 2018-08-07 10:45:45 +00:00
MipsCCState.cpp MachineFunction: Return reference from getFunction(); NFC 2017-12-15 22:22:58 +00:00
MipsCCState.h
MipsCallLowering.cpp [MIPS GlobalISel] Lower i8 and i16 arguments 2018-08-23 20:41:09 +00:00
MipsCallLowering.h [MIPS GlobalISel] Lower i8 and i16 arguments 2018-08-23 20:41:09 +00:00
MipsCallingConv.td
MipsCondMov.td [mips] Mark select instructions correctly 2018-05-15 16:05:04 +00:00
MipsConstantIslandPass.cpp Remove trailing space 2018-07-30 19:41:25 +00:00
MipsDSPInstrFormats.td [mips] Sink PredicateControl further down the class hierarchy. 2018-05-30 12:40:53 +00:00
MipsDSPInstrInfo.td [mips] Fix the predicates of some DSP instructions from AdditionalPredicates to ASEPredicate 2018-06-20 13:29:57 +00:00
MipsDelaySlotFiller.cpp [mips][microMIPS] Extending size reduction pass with LWP and SWP 2018-06-13 12:51:37 +00:00
MipsEVAInstrFormats.td [mips] Sink PredicateControl further down the class hierarchy. 2018-05-30 12:40:53 +00:00
MipsEVAInstrInfo.td [mips] Correct the definitions of the unaligned word memory operation instructions 2018-04-19 13:33:51 +00:00
MipsExpandPseudo.cpp [mips] Fix atomic operations at O0, v3 2018-07-05 09:27:05 +00:00
MipsFastISel.cpp DAG: Add calling convention argument to calling convention funcs 2018-07-28 13:25:19 +00:00
MipsFrameLowering.cpp
MipsFrameLowering.h [mips] Support shrink-wrapping 2018-06-29 16:37:16 +00:00
MipsISelDAGToDAG.cpp CodeGen: Remove pipeline dependencies on StackProtector; NFC 2018-07-13 00:08:38 +00:00
MipsISelDAGToDAG.h CodeGen: Remove pipeline dependencies on StackProtector; NFC 2018-07-13 00:08:38 +00:00
MipsISelLowering.cpp DAG: Add calling convention argument to calling convention funcs 2018-07-28 13:25:19 +00:00
MipsISelLowering.h DAG: Add calling convention argument to calling convention funcs 2018-07-28 13:25:19 +00:00
MipsInstrFPU.td [mips] Fix `mtc1` and `mfc1` definitions for microMIPS R6 2018-08-31 15:57:17 +00:00
MipsInstrFormats.td [mips] Mark standard encoded instructions as not being in MIPS16e 2018-07-12 08:50:11 +00:00
MipsInstrInfo.cpp [MI] Change the array of `MachineMemOperand` pointers to be 2018-08-16 21:30:05 +00:00
MipsInstrInfo.h [mips] Add support for isBranchOffsetInRange and use it for MipsLongBranch 2018-05-16 10:03:05 +00:00
MipsInstrInfo.td [mips] Fix local dynamic TLS with Sym64 2018-07-24 13:47:52 +00:00
MipsInstructionSelector.cpp [MIPS GlobalISel] Select global address 2018-08-01 09:03:23 +00:00
MipsLegalizerInfo.cpp [MIPS GlobalISel] Legalize i8 and i16 add 2018-08-26 07:25:33 +00:00
MipsLegalizerInfo.h [MIPS GlobalISel] Adding GlobalISel 2018-02-23 11:06:40 +00:00
MipsMCInstLower.cpp [mips] Extend LONG_BRANCH_LUi/ADDiu with extra parameter 2018-06-12 10:23:49 +00:00
MipsMCInstLower.h [mips] Extend LONG_BRANCH_LUi/ADDiu with extra parameter 2018-06-12 10:23:49 +00:00
MipsMSAInstrFormats.td [mips] Correct predicates for MSA pseudo instructions 2018-06-14 13:03:53 +00:00
MipsMSAInstrInfo.td [mips] Handle missing CondCodes 2018-08-22 09:34:44 +00:00
MipsMTInstrFormats.td [mips] Sink PredicateControl further down the class hierarchy. 2018-05-30 12:40:53 +00:00
MipsMTInstrInfo.td
MipsMachineFunction.cpp [mips] Factor out register class selection for global base register. NFC 2018-07-21 16:16:08 +00:00
MipsMachineFunction.h
MipsModuleISelDAGToDAG.cpp CodeGen: Remove pipeline dependencies on StackProtector; NFC 2018-07-13 00:08:38 +00:00
MipsOptimizePICCall.cpp Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MipsOptionRecord.h
MipsOs16.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
MipsRegisterBankInfo.cpp [MIPS GlobalISel] Select bitwise instructions 2018-08-21 08:15:56 +00:00
MipsRegisterBankInfo.h [MIPS GlobalISel] Select add i32, i32 2018-04-11 15:12:32 +00:00
MipsRegisterBanks.td [MIPS GlobalISel] Select add i32, i32 2018-04-11 15:12:32 +00:00
MipsRegisterInfo.cpp Rename DEBUG macro to LLVM_DEBUG. 2018-05-14 12:53:11 +00:00
MipsRegisterInfo.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MipsRegisterInfo.td Trivial commit to force LLVM to run TableGen for Mips target after 2017-12-20 12:45:40 +00:00
MipsSEFrameLowering.cpp [mips] Prevent shrink-wrap for BuildPairF64, ExtractElementF64 when they use $sp 2018-08-29 14:07:14 +00:00
MipsSEFrameLowering.h [Mips] Remove dead code 2018-03-29 09:21:20 +00:00
MipsSEISelDAGToDAG.cpp [mips] Prevent shrink-wrap for BuildPairF64, ExtractElementF64 when they use $sp 2018-08-29 14:07:14 +00:00
MipsSEISelDAGToDAG.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MipsSEISelLowering.cpp [Mips] Remove uneeded variants of ADDC/ADDE lowering 2018-06-05 22:13:56 +00:00
MipsSEISelLowering.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MipsSEInstrInfo.cpp Make TargetInstrInfo::isCopyInstr return true for regular COPY-instructions 2018-08-30 14:32:47 +00:00
MipsSEInstrInfo.h Make TargetInstrInfo::isCopyInstr return true for regular COPY-instructions 2018-08-30 14:32:47 +00:00
MipsSERegisterInfo.cpp [mips] Add microMIPSR6 ll/sc instructions. 2018-05-20 17:21:00 +00:00
MipsSERegisterInfo.h
MipsSchedule.td [mips] Add support for Global INValidate ASE 2018-05-17 16:30:32 +00:00
MipsScheduleGeneric.td [MIPS] Fix DIV/DIVU scheduling classes. 2018-05-02 13:37:28 +00:00
MipsScheduleP5600.td [mips] Update the P5600 scheduler model not to use instruction itineraries. 2018-07-11 13:21:10 +00:00
MipsSubtarget.cpp [mips] Warn when crc, ginv, virt flags are used with too old revision 2018-07-04 19:26:31 +00:00
MipsSubtarget.h Remove trailing space 2018-07-30 19:41:25 +00:00
MipsTargetMachine.cpp [mips] Remove dead code from MipsPassConfig 2018-08-16 08:43:17 +00:00
MipsTargetMachine.h Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
MipsTargetObjectFile.cpp [MIPS] Don't crash on unsized extern types with -mgpopt 2018-01-26 15:56:14 +00:00
MipsTargetObjectFile.h
MipsTargetStreamer.h [mips] Add support for Global INValidate ASE 2018-05-17 16:30:32 +00:00
Relocation.txt [mips] Removal of microMIPS64R6 2017-12-11 11:21:40 +00:00