llvm-project/llvm/lib/Target/Mips/MCTargetDesc
Daniel Sanders 6a803f6162 [mips][mips64r6] ll, sc, lld, and scd are re-encoded on MIPS32r6/MIPS64r6.
Summary:
The linked-load, store-conditional operations have been re-encoded such
that have a 9-bit offset instead of the 16-bit offset they have prior to
MIPS32r6/MIPS64r6.

While implementing this, I noticed that the atomic load/store pseudos always
emit a sign extension using sll and sra. I have improved this to use seb/seh
when they are available (MIPS32r2/MIPS64r2 and above).

Depends on D4118

Reviewers: jkolek, zoran.jovanovic, vmedic

Reviewed By: vmedic

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

llvm-svn: 211018
2014-06-16 13:13:03 +00:00
..
CMakeLists.txt [mips] Implement custom MCELFStreamer. 2014-03-27 11:39:03 +00:00
LLVMBuild.txt
Makefile Test commit 2012-06-09 00:27:55 +00:00
MipsAsmBackend.cpp [mips][mips64r6] Relocation R_MIPS_PC18_S3 2014-06-13 14:26:47 +00:00
MipsAsmBackend.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsBaseInfo.h Completely rewrite ELFObjectWriter::RecordRelocation. 2014-03-29 06:26:49 +00:00
MipsELFObjectWriter.cpp [mips][mips64r6] Relocation R_MIPS_PC18_S3 2014-06-13 14:26:47 +00:00
MipsELFStreamer.cpp [mips] Implement custom MCELFStreamer. 2014-03-27 11:39:03 +00:00
MipsELFStreamer.h [mips] Remove unused private field. 2014-03-27 12:02:48 +00:00
MipsFixupKinds.h [mips][mips64r6] Relocation R_MIPS_PC18_S3 2014-06-13 14:26:47 +00:00
MipsMCAsmInfo.cpp Add a MCAsmInfoELF class and factor some code into it. 2013-10-16 01:34:32 +00:00
MipsMCAsmInfo.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsMCCodeEmitter.cpp [mips][mips64r6] Relocation R_MIPS_PC18_S3 2014-06-13 14:26:47 +00:00
MipsMCCodeEmitter.h [mips][mips64r6] Add LDPC instruction 2014-06-09 09:49:51 +00:00
MipsMCExpr.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:41:26 +00:00
MipsMCExpr.h [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Mips edition 2014-04-29 07:58:02 +00:00
MipsMCNaCl.h [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
MipsMCTargetDesc.cpp Remove the UseCFI option from createAsmStreamer. 2014-05-07 13:00:43 +00:00
MipsMCTargetDesc.h [mips] 80-column. 2014-03-19 16:29:06 +00:00
MipsNaClELFStreamer.cpp [mips][mips64r6] ll, sc, lld, and scd are re-encoded on MIPS32r6/MIPS64r6. 2014-06-16 13:13:03 +00:00
MipsTargetStreamer.cpp [mips] Move expansion of .cpsetup to target streamer. 2014-05-01 10:24:46 +00:00