llvm/lib/Target/Mips
Simon Atanasyan 5a3c3d4774 [mips] Fix lowering a signed immediate for *.d MSA instructions
The `lowerMSASplatImm` function zero-extends `i32` immediates while
building constant. If target type is `i64`, negative immediate loses
the sign. As a result, for example `__builtin_msa_ldi_d(-1)` lowered
to series of instruction loads incorrect value 0xffffffff to the `$w0`
register instead of single `ldi.d $w0, -1` instruction.

The fix zero-extends unsigned immediates and signed-extend signed
immediates.

Differential Revision: http://reviews.llvm.org/D59884

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@357264 91177308-0d34-0410-b5e6-96231b3b80d8
2019-03-29 15:15:22 +00:00
..
AsmParser [mips] Fix crash on recursive using of .set 2019-03-19 15:15:35 +00:00
Disassembler Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
InstPrinter Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MCTargetDesc [mips] Emit .module softfloat directive 2019-02-26 14:45:17 +00:00
TargetInfo Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CMakeLists.txt [MIPS GlobalISel] Add pre legalizer combiner pass 2019-01-14 10:27:05 +00:00
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MicroMips32r6InstrFormats.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MicroMips32r6InstrInfo.td [mips] Fix encoding of the mov.d command for microMIPS R6 2019-03-13 14:23:12 +00:00
MicroMipsDSPInstrFormats.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MicroMipsDSPInstrInfo.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MicroMipsInstrFormats.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MicroMipsInstrFPU.td [mips] Fix encoding of the mov.d command for microMIPS R6 2019-03-13 14:23:12 +00:00
MicroMipsInstrInfo.td [mips] Join some adjacent let DecoderNamespace blocks. NFC 2019-03-13 16:00:42 +00:00
MicroMipsSizeReduction.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips16FrameLowering.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips16FrameLowering.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips16HardFloat.cpp [opaque pointer types] Add a FunctionCallee wrapper type, and use it. 2019-02-01 02:28:03 +00:00
Mips16HardFloatInfo.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips16HardFloatInfo.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips16InstrFormats.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips16InstrInfo.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips16InstrInfo.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips16InstrInfo.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips16ISelDAGToDAG.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips16ISelDAGToDAG.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips16ISelLowering.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips16ISelLowering.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips16RegisterInfo.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips16RegisterInfo.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips32r6InstrFormats.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips32r6InstrInfo.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips64InstrInfo.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips64r6InstrInfo.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Mips.td [mips] Support for +abs2008 attribute 2019-01-28 14:59:30 +00:00
MipsAnalyzeImmediate.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsAnalyzeImmediate.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsAsmPrinter.cpp [mips] Emit .module softfloat directive 2019-02-26 14:45:17 +00:00
MipsAsmPrinter.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsBranchExpansion.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsCallingConv.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsCallLowering.cpp [MIPS GlobalISel] Lower float and double arguments in registers 2019-03-25 11:23:41 +00:00
MipsCallLowering.h [MIPS GlobalISel] Lower float and double arguments in registers 2019-03-25 11:23:41 +00:00
MipsCCState.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsCCState.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsCondMov.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsConstantIslandPass.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsDelaySlotFiller.cpp [mips][micromips] fix filling delay slots for PseudoIndirectBranch_MM 2019-02-22 14:53:58 +00:00
MipsDSPInstrFormats.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsDSPInstrInfo.td [MIPS][microMIPS] Fix PseudoMTLOHI_MM matching and expansion 2019-03-13 11:04:38 +00:00
MipsEVAInstrFormats.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsEVAInstrInfo.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsExpandPseudo.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsFastISel.cpp [Mips] Fix missing masking in fast-isel of br (PR40325) 2019-02-25 18:54:17 +00:00
MipsFrameLowering.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsFrameLowering.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsInstrFormats.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsInstrFPU.td [mips] Fix encoding of the mov.d command for microMIPS R6 2019-03-13 14:23:12 +00:00
MipsInstrInfo.cpp Implementation of asm-goto support in LLVM 2019-02-08 20:48:56 +00:00
MipsInstrInfo.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsInstrInfo.td [mips] Map SW instruction to its microMIPS R6 variant 2019-03-13 13:09:30 +00:00
MipsInstructionSelector.cpp [MIPS GlobalISel] Select float constants 2019-03-28 16:58:12 +00:00
MipsISelDAGToDAG.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsISelDAGToDAG.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsISelLowering.cpp Mips: Fix typo in assert message 2019-03-21 20:56:06 +00:00
MipsISelLowering.h [TargetLowering] Add code size information on isFPImmLegal. NFC 2019-03-18 18:40:07 +00:00
MipsLegalizerInfo.cpp [MIPS GlobalISel] Select float constants 2019-03-28 16:58:12 +00:00
MipsLegalizerInfo.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsMachineFunction.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsMachineFunction.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsMCInstLower.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsMCInstLower.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsModuleISelDAGToDAG.cpp CodeGen: Remove pipeline dependencies on StackProtector; NFC 2018-07-13 00:08:38 +00:00
MipsMSAInstrFormats.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsMSAInstrInfo.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsMTInstrFormats.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsMTInstrInfo.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsOptimizePICCall.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsOptionRecord.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsOs16.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsPreLegalizerCombiner.cpp [MIPS GlobalISel] Combine extending loads 2019-01-24 10:09:52 +00:00
MipsRegisterBankInfo.cpp [MIPS GlobalISel] Select float constants 2019-03-28 16:58:12 +00:00
MipsRegisterBankInfo.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsRegisterBanks.td [MIPS GlobalISel] Add floating point register bank 2019-03-25 11:30:46 +00:00
MipsRegisterInfo.cpp [MIPS][microMIPS] Enable dynamic stack realignment 2019-03-19 17:01:24 +00:00
MipsRegisterInfo.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsRegisterInfo.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsSchedule.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsScheduleGeneric.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsScheduleP5600.td Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsSEFrameLowering.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsSEFrameLowering.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsSEInstrInfo.cpp [MIPS][microMIPS] Fix PseudoMTLOHI_MM matching and expansion 2019-03-13 11:04:38 +00:00
MipsSEInstrInfo.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsSEISelDAGToDAG.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsSEISelDAGToDAG.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsSEISelLowering.cpp [mips] Fix lowering a signed immediate for *.d MSA instructions 2019-03-29 15:15:22 +00:00
MipsSEISelLowering.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsSERegisterInfo.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsSERegisterInfo.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsSubtarget.cpp [mips] Support for +abs2008 attribute 2019-01-28 14:59:30 +00:00
MipsSubtarget.h [mips] Support for +abs2008 attribute 2019-01-28 14:59:30 +00:00
MipsTargetMachine.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsTargetMachine.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsTargetObjectFile.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsTargetObjectFile.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MipsTargetStreamer.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MSA.txt
Relocation.txt [mips] Removal of microMIPS64R6 2017-12-11 11:21:40 +00:00