The mips 64bit instructions DSLL, DSRA, DSRL, DEXT and DINS get transformed by the...
authorJack Carter <jcarter@mips.com>
Tue, 2 Oct 2012 23:09:40 +0000 (23:09 +0000)
committerJack Carter <jcarter@mips.com>
Tue, 2 Oct 2012 23:09:40 +0000 (23:09 +0000)
commit8e71e617c9b1e42737ffd00984a5025ec90c734c
tree09cfd105bdd0824cfbfac125790f81973bc153a4
parent5c5b3cf5b8af06b8e9347f3f45e8c67438ffd446
The mips 64bit instructions DSLL, DSRA, DSRL, DEXT and DINS get transformed by the assembler or through codegen direct object output to other variants based on the value of the immediate values of the operands.

If the code is generated as assembler, this transformation does not occur assuming that it will occur later in the assembler.

This code was originally called from  MipsAsmPrinter.cpp and we needed to check for OutStreamer.hasRawTextSupport(). This was not a good place for it and has been moved to MCTargetDesc/MipsMCCodeEmitter.cpp where both direct object and the assembler use it it automagically.

The test cases have been checked in for a number of weeks now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165067 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/CMakeLists.txt
lib/Target/Mips/MCTargetDesc/CMakeLists.txt
lib/Target/Mips/MCTargetDesc/MipsDirectObjLower.cpp [new file with mode: 0644]
lib/Target/Mips/MCTargetDesc/MipsDirectObjLower.h [new file with mode: 0644]
lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
lib/Target/Mips/MipsAsmPrinter.cpp
lib/Target/Mips/MipsDirectObjLower.cpp [deleted file]
lib/Target/Mips/MipsDirectObjLower.h [deleted file]