llvm-6502/lib/Target/Mips
Jack Carter e035f65b16 Doubleword Shift Left Logical Plus 32
Mips shift instructions DSLL, DSRL and DSRA are transformed into
DSLL32, DSRL32 and DSRA32 respectively if the shift amount is between
32 and 63

Here is a description of DSLL:

Purpose: Doubleword Shift Left Logical Plus 32
To execute a left-shift of a doubleword by a fixed amount--32 to 63 bits

Description: GPR[rd] <- GPR[rt] << (sa+32)

The 64-bit doubleword contents of GPR rt are shifted left, inserting
 zeros into the emptied bits; the result is placed in
GPR rd. The bit-shift amount in the range 0 to 31 is specified by sa.

This patch implements the direct object output of these instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160277 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-16 15:14:51 +00:00
..
AsmParser Mips/AsmParser/CMakeLists.txt: Fix dependency. 2012-06-16 15:33:52 +00:00
Disassembler Reapply r158846. 2012-07-09 18:46:47 +00:00
InstPrinter Enclose instruction rdhwr with directives, which are needed when target is 2012-07-05 19:26:38 +00:00
MCTargetDesc The Mips specific relocation R_MIPS_GOT_DISP 2012-07-13 19:15:47 +00:00
TargetInfo remove Emacs-tag form .cpp files in Mips Backend, and fix some typo. 2012-02-17 08:55:11 +00:00
CMakeLists.txt llvm/lib: [CMake] Add explicit dependency to intrinsics_gen. 2012-06-24 13:32:01 +00:00
LLVMBuild.txt Add disassembler to MIPS. 2012-04-17 18:03:21 +00:00
Makefile Add disassembler to MIPS. 2012-04-17 18:03:21 +00:00
Mips16InstrFormats.td Clean up trailing blanks in Mips16InstrFormats.td 2012-06-13 02:42:47 +00:00
Mips16InstrInfo.td Remove variable_ops from call instructions in most targets. 2012-07-13 20:44:29 +00:00
Mips64InstrInfo.td Doubleword Shift Left Logical Plus 32 2012-07-16 15:14:51 +00:00
Mips.h Add long branch expansion pass for MIPS. 2012-06-14 01:19:35 +00:00
Mips.td This patch adds the register class for MIPS16 as well as the ability for 2012-05-16 22:19:56 +00:00
MipsAnalyzeImmediate.cpp Fix undefined behavior in the Mips backend. 2012-03-09 06:36:45 +00:00
MipsAnalyzeImmediate.h Fix undefined behavior in the Mips backend. 2012-03-09 06:36:45 +00:00
MipsAsmPrinter.cpp Doubleword Shift Left Logical Plus 32 2012-07-16 15:14:51 +00:00
MipsAsmPrinter.h Emit all directives except for ".cprestore" during asm printing rather than emit 2012-03-28 00:22:50 +00:00
MipsCallingConv.td Implement fastcc calling convention for MIPS. 2012-06-13 18:06:00 +00:00
MipsCodeEmitter.cpp Use MachineBasicBlock::instr_iterator instead of MachineBasicBlock::iterator in 2012-06-19 03:39:45 +00:00
MipsCondMov.td 1. introduce MipsPat in place of Pat in order to exclude those from 2012-06-14 21:03:23 +00:00
MipsDelaySlotFiller.cpp Fix coding style violations. Remove white spaces and tabs. 2012-06-14 21:10:56 +00:00
MipsFrameLowering.cpp Lower RETURNADDR node in Mips backend. 2012-07-11 00:53:32 +00:00
MipsFrameLowering.h Make register Mips::RA allocatable if not in mips16 mode. 2012-07-10 00:19:06 +00:00
MipsInstrFormats.td This patch adds a predicate to existing mips32 and mips64 so that those 2012-05-22 03:10:09 +00:00
MipsInstrFPU.td 1. introduce MipsPat in place of Pat in order to exclude those from 2012-06-14 21:03:23 +00:00
MipsInstrInfo.cpp Make register Mips::RA allocatable if not in mips16 mode. 2012-07-10 00:19:06 +00:00
MipsInstrInfo.h Make register Mips::RA allocatable if not in mips16 mode. 2012-07-10 00:19:06 +00:00
MipsInstrInfo.td Remove variable_ops from call instructions in most targets. 2012-07-13 20:44:29 +00:00
MipsISelDAGToDAG.cpp Silence uninitialized variable warning in MipsISelDAGToDAG.cpp. 2012-06-27 00:49:46 +00:00
MipsISelLowering.cpp Implement MipsTargetLowering::LowerSELECT_CC to custom lower SELECT_CC. 2012-07-11 19:32:27 +00:00
MipsISelLowering.h Implement MipsTargetLowering::LowerSELECT_CC to custom lower SELECT_CC. 2012-07-11 19:32:27 +00:00
MipsJITInfo.cpp Fix coding style violations. Remove white spaces and tabs. 2012-06-14 21:10:56 +00:00
MipsJITInfo.h Fix coding style violations. Remove white spaces and tabs. 2012-06-14 21:10:56 +00:00
MipsLongBranch.cpp Make MipsLongBranch::runOnMachineFunction return true. 2012-06-19 03:45:29 +00:00
MipsMachineFunction.cpp Delete all functions that are no longer needed in MipsFunctionInfo, including 2012-05-12 03:22:13 +00:00
MipsMachineFunction.h Add methods to MipsFunctionInfo for initializing and accessing the stack frame 2012-06-14 01:15:36 +00:00
MipsMCInstLower.cpp Doubleword Shift Left Logical Plus 32 2012-07-16 15:14:51 +00:00
MipsMCInstLower.h Doubleword Shift Left Logical Plus 32 2012-07-16 15:14:51 +00:00
MipsRegisterInfo.cpp Make register Mips::RA allocatable if not in mips16 mode. 2012-07-10 00:19:06 +00:00
MipsRegisterInfo.h Fix coding style violations. Remove white spaces and tabs. 2012-06-14 21:10:56 +00:00
MipsRegisterInfo.td In register classes in MipsRegisterInfo.td, list the registers in ascending 2012-07-11 20:51:50 +00:00
MipsRelocations.h remove blanks, and some code format 2012-02-28 07:46:26 +00:00
MipsSchedule.td remove blanks, and some code format 2012-02-28 07:46:26 +00:00
MipsSelectionDAGInfo.cpp remove Emacs-tag form .cpp files in Mips Backend, and fix some typo. 2012-02-17 08:55:11 +00:00
MipsSelectionDAGInfo.h Reverse unnecessary changes made in r129606 and r129608. There is no change in functionality. 2011-04-15 21:51:11 +00:00
MipsSubtarget.cpp Fix coding style violations. Remove white spaces and tabs. 2012-06-14 21:10:56 +00:00
MipsSubtarget.h This patch adds a predicate to existing mips32 and mips64 so that those 2012-05-22 03:10:09 +00:00
MipsTargetMachine.cpp Add all codegen passes to the PassManager via TargetPassConfig. 2012-07-02 19:48:31 +00:00
MipsTargetMachine.h Fix coding style violations. Remove white spaces and tabs. 2012-06-14 21:10:56 +00:00
MipsTargetObjectFile.cpp remove Emacs-tag form .cpp files in Mips Backend, and fix some typo. 2012-02-17 08:55:11 +00:00
MipsTargetObjectFile.h Reverse unnecessary changes made in r129606 and r129608. There is no change in functionality. 2011-04-15 21:51:11 +00:00