1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 21:13:02 +02:00
llvm-mirror/lib/Target/Mips
Toma Tabacu 8e2e22ba28 [mips] Tolerate the use of the %z inline asm operand modifier with non-immediates.
Summary:
Currently, we give an error if %z is used with non-immediates, instead of continuing as if the %z isn't there.

For example, you use the %z operand modifier along with the "Jr" constraints ("r" makes the operand a register, and "J" makes it an immediate, but only if its value is 0). 
In this case, you want the compiler to print "$0" if the inline asm input operand turns out to be an immediate zero and you want it to print the register containing the operand, if it's not.

We give an error in the latter case, and we shouldn't (GCC also doesn't).

Reviewers: dsanders

Reviewed By: dsanders

Subscribers: llvm-commits

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

llvm-svn: 221453
2014-11-06 14:25:42 +00:00
..
AsmParser [mips] Improve error/warning messages and testing for the .cpload assembler directive. 2014-11-06 10:02:45 +00:00
Disassembler [mips][microMIPS] Implement microMIPS 16-bit instructions registers 2014-10-21 08:23:11 +00:00
InstPrinter Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MCTargetDesc [mips][microMIPS] Implement ANDI16 instruction 2014-11-05 17:31:00 +00:00
TargetInfo Prune redundant dependencies in LLVMBuild.txt. 2013-12-11 00:30:57 +00:00
CMakeLists.txt Re-commit r221056 and others with fix, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC." 2014-11-02 16:09:29 +00:00
LLVMBuild.txt Prune redundant libdeps. 2014-07-24 11:45:27 +00:00
Makefile Reinstate "Nuke the old JIT." 2014-09-02 22:28:02 +00:00
MicroMipsInstrFormats.td [mips][microMIPS] Implement ANDI16 instruction 2014-11-05 17:31:00 +00:00
MicroMipsInstrFPU.td [mips][mips64r6] bc1[tf] are not available on MIPS32r6/MIPS64r6 2014-06-12 15:00:17 +00:00
MicroMipsInstrInfo.td ps][microMIPS] Implement CodeGen support for ANDI16 instruction 2014-11-05 17:43:00 +00:00
Mips16FrameLowering.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
Mips16FrameLowering.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Mips16HardFloat.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
Mips16HardFloat.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Mips16HardFloatInfo.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
Mips16HardFloatInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Mips16InstrFormats.td Fix a whole bunch of binary literals which were the wrong size. All were being silently zero extended to the correct width. 2014-08-07 05:46:54 +00:00
Mips16InstrInfo.cpp Make InstrInfo depend only upon the Subtarget getting passed in 2014-07-18 23:25:00 +00:00
Mips16InstrInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Mips16InstrInfo.td Fix typos in comments, NFC 2014-08-29 21:53:01 +00:00
Mips16ISelDAGToDAG.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
Mips16ISelDAGToDAG.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Mips16ISelLowering.cpp Re-commit r221056 and others with fix, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC." 2014-11-02 16:09:29 +00:00
Mips16ISelLowering.h Re-commit r221056 and others with fix, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC." 2014-11-02 16:09:29 +00:00
Mips16RegisterInfo.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
Mips16RegisterInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Mips32r6InstrFormats.td Fix bit initializer which was one bit too long, but worked so long as we silently dropped the leading 0 2014-07-31 01:43:54 +00:00
Mips32r6InstrInfo.td [mips] Fix two patterns that select i32's (for MIPS32r6) / i64's (for MIPS64r6) 2014-07-22 13:36:02 +00:00
Mips64InstrInfo.td [mips] Move 32-bit ADDiu instruction alias from Mips64InstrInfo.td to MipsInstrInfo.td. 2014-09-16 10:19:03 +00:00
Mips64r6InstrInfo.td [mips] Fix two patterns that select i32's (for MIPS32r6) / i64's (for MIPS64r6) 2014-07-22 13:36:02 +00:00
Mips.h Reinstate "Nuke the old JIT." 2014-09-02 22:28:02 +00:00
Mips.td [mips] Replace MipsABIEnum with a MipsABIInfo class. 2014-10-24 16:15:27 +00:00
MipsABIInfo.cpp Re-commit r221056 and others with fix, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC." 2014-11-02 16:09:29 +00:00
MipsABIInfo.h Re-commit r221056 and others with fix, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC." 2014-11-02 16:09:29 +00:00
MipsAnalyzeImmediate.cpp Remove unnecessary copying or replace it with moves in a bunch of places. 2014-10-04 16:55:56 +00:00
MipsAnalyzeImmediate.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsAsmPrinter.cpp [mips] Tolerate the use of the %z inline asm operand modifier with non-immediates. 2014-11-06 14:25:42 +00:00
MipsAsmPrinter.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsCallingConv.td Re-commit r221056 and others with fix, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC." 2014-11-02 16:09:29 +00:00
MipsCondMov.td [mips][mips64r6] c.cond.fmt, mov[fntz], and mov[fntz].[ds] are not available on MIPS32r6/MIPS64r6 2014-06-12 13:39:06 +00:00
MipsConstantIslandPass.cpp [mips] Replace MipsABIEnum with a MipsABIInfo class. 2014-10-24 16:15:27 +00:00
MipsDelaySlotFiller.cpp Remove the TargetMachine forwards for TargetSubtargetInfo based 2014-08-04 21:25:23 +00:00
MipsDSPInstrFormats.td Make it possible for the Subtarget to change between function 2014-07-10 17:26:51 +00:00
MipsDSPInstrInfo.td
MipsFastISel.cpp Finish getting Mips fast-isel to match up with AArch64 fast-isel 2014-10-14 18:27:58 +00:00
MipsFrameLowering.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
MipsFrameLowering.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsInstrFormats.td Revert: r215698 - Current implementation of c.cond.fmt instructions only accept default cc0 register... 2014-08-17 19:47:47 +00:00
MipsInstrFPU.td [mips] Move COP2 & COP3 load/store instructions from MipsInstrFPU.td to MipsInstrInfo.td. NFC. 2014-11-04 21:45:16 +00:00
MipsInstrInfo.cpp Make InstrInfo depend only upon the Subtarget getting passed in 2014-07-18 23:25:00 +00:00
MipsInstrInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsInstrInfo.td ps][microMIPS] Implement CodeGen support for ANDI16 instruction 2014-11-05 17:43:00 +00:00
MipsISelDAGToDAG.cpp Make it possible for the Subtarget to change between function 2014-07-10 17:26:51 +00:00
MipsISelDAGToDAG.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsISelLowering.cpp [mips] Add the following MIPS options that control gp-relative addressing of 2014-11-06 13:20:12 +00:00
MipsISelLowering.h [mips] Add the following MIPS options that control gp-relative addressing of 2014-11-06 13:20:12 +00:00
MipsLongBranch.cpp [mips] Replace MipsABIEnum with a MipsABIInfo class. 2014-10-24 16:15:27 +00:00
MipsMachineFunction.cpp Fix some cases where StringRef was being passed by const reference. Remove const from some other StringRefs since its implicitly const already. 2014-08-30 16:48:02 +00:00
MipsMachineFunction.h Fix some cases where StringRef was being passed by const reference. Remove const from some other StringRefs since its implicitly const already. 2014-08-30 16:48:02 +00:00
MipsMCInstLower.cpp [mips] Optimize long branch for MIPS64 by removing %higher and %highest. 2014-05-27 18:53:06 +00:00
MipsMCInstLower.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsModuleISelDAGToDAG.cpp Fundamentally change the MipsSubtarget replacement machinery: 2014-07-18 23:41:32 +00:00
MipsModuleISelDAGToDAG.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsMSAInstrFormats.td Make it possible for the Subtarget to change between function 2014-07-10 17:26:51 +00:00
MipsMSAInstrInfo.td [mips] Rename MipsAsmParser functions to conform to the LLVM Coding Standards. No functional changes. 2014-09-04 13:23:44 +00:00
MipsOptimizePICCall.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
MipsOptionRecord.h Make some helpers static or move into the llvm namespace. 2014-09-03 21:04:12 +00:00
MipsOs16.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:41:26 +00:00
MipsOs16.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsRegisterInfo.cpp [mips] Initial implementation of -mabicalls/-mno-abicalls. 2014-08-08 10:01:29 +00:00
MipsRegisterInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsRegisterInfo.td Revert "[mips] Add names and tests for the hardware registers" 2014-11-04 22:15:05 +00:00
MipsSchedule.td [mips] Implement shorthand add / sub forms for MIPS. 2014-03-24 14:05:39 +00:00
MipsSEFrameLowering.cpp [mips] Account for endianess when expanding BuildPairF64/ExtractElementF64 nodes. 2014-10-16 15:41:51 +00:00
MipsSEFrameLowering.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsSEInstrInfo.cpp Remove the TargetMachine forwards for TargetSubtargetInfo based 2014-08-04 21:25:23 +00:00
MipsSEInstrInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsSEISelDAGToDAG.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
MipsSEISelDAGToDAG.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsSEISelLowering.cpp Re-commit r221056 and others with fix, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC." 2014-11-02 16:09:29 +00:00
MipsSEISelLowering.h Re-commit r221056 and others with fix, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC." 2014-11-02 16:09:29 +00:00
MipsSelectionDAGInfo.cpp Have MipsSelectionDAGInfo constructor take a DataLayout rather 2014-06-27 04:38:30 +00:00
MipsSelectionDAGInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsSERegisterInfo.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
MipsSERegisterInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsSubtarget.cpp [mips] Add the following MIPS options that control gp-relative addressing of 2014-11-06 13:20:12 +00:00
MipsSubtarget.h [mips] Replace MipsABIEnum with a MipsABIInfo class. 2014-10-24 16:15:27 +00:00
MipsTargetMachine.cpp Erase fence insertion from SelectionDAGBuilder.cpp (NFC) 2014-10-16 20:34:57 +00:00
MipsTargetMachine.h Add the first backend support for on demand subtarget creation 2014-09-26 01:44:08 +00:00
MipsTargetObjectFile.cpp [mips] Add the following MIPS options that control gp-relative addressing of 2014-11-06 13:20:12 +00:00
MipsTargetObjectFile.h [mips] Add the following MIPS options that control gp-relative addressing of 2014-11-06 13:20:12 +00:00
MipsTargetStreamer.h [mips] Rename emit and parse functions for the .cpload assembler directive. NFC. 2014-10-01 14:53:19 +00:00
MSA.txt Revert r221048 - Test commit 2014-11-01 16:08:03 +00:00