summaryrefslogtreecommitdiff
path: root/lib/Target/Mips/MipsInstrInfo.td
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/Mips/MipsInstrInfo.td')
-rw-r--r--lib/Target/Mips/MipsInstrInfo.td48
1 files changed, 24 insertions, 24 deletions
diff --git a/lib/Target/Mips/MipsInstrInfo.td b/lib/Target/Mips/MipsInstrInfo.td
index 2b71004e7b..747ffc33cb 100644
--- a/lib/Target/Mips/MipsInstrInfo.td
+++ b/lib/Target/Mips/MipsInstrInfo.td
@@ -1,21 +1,21 @@
-//===- MipsInstrInfo.td - Mips Register defs --------------*- tablegen -*-===//
+//===- MipsInstrInfo.td - Mips Register defs ---------------*- tablegen -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
// Instruction format superclass
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
include "MipsInstrFormats.td"
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
// Mips profiles and nodes
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
def SDT_MipsRet : SDTypeProfile<0, 1, [SDTCisInt<0>]>;
def SDT_MipsJmpLink : SDTypeProfile<0, 1, [SDTCisVT<0, iPTR>]>;
@@ -71,9 +71,9 @@ def MipsDivRem : SDNode<"MipsISD::DivRem", SDT_MipsDivRem,
def MipsDivRemU : SDNode<"MipsISD::DivRemU", SDT_MipsDivRem,
[SDNPOutGlue]>;
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
// Mips Instruction Predicate Definitions.
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
def HasSEInReg : Predicate<"Subtarget.hasSEInReg()">;
def HasBitCount : Predicate<"Subtarget.hasBitCount()">;
def HasSwap : Predicate<"Subtarget.hasSwap()">;
@@ -81,9 +81,9 @@ def HasCondMov : Predicate<"Subtarget.hasCondMov()">;
def IsMips32 : Predicate<"Subtarget.isMips32()">;
def IsMips32r2 : Predicate<"Subtarget.isMips32r2()">;
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
// Mips Operand, Complex Patterns and Transformations Definitions.
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
// Instruction operand types
def brtarget : Operand<OtherVT>;
@@ -136,9 +136,9 @@ def immZExt5 : PatLeaf<(imm), [{
// since load and store instructions from stack used it.
def addr : ComplexPattern<iPTR, 2, "SelectAddr", [frameindex], []>;
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
// Instructions specific format
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
// Arithmetic 3 register operands
let isCommutable = 1 in
@@ -338,9 +338,9 @@ class CondMov<bits<6> func, string instr_asm, PatLeaf MovCode>:
CPURegs:$cond), !strconcat(instr_asm, "\t$dst, $T, $cond"),
[], NoItinerary>;
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
// Pseudo instructions
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
// As stack alignment is always done with addiu, we need a 16-bit immediate
let Defs = [SP], Uses = [SP] in {
@@ -369,16 +369,15 @@ def ATMACRO : MipsPseudo<(outs), (ins), ".set\tat", []>;
// are used, we have the same behavior, but get also a bunch of warnings
// from the assembler.
def CPLOAD : MipsPseudo<(outs), (ins CPURegs:$picreg), ".cpload\t$picreg", []>;
-def CPRESTORE : MipsPseudo<(outs), (ins uimm16:$loc),
- ".cprestore\t$loc\n", []>;
+def CPRESTORE : MipsPseudo<(outs), (ins uimm16:$loc), ".cprestore\t$loc\n", []>;
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
// Instruction definition
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
// MipsI Instructions
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
/// Arithmetic Instructions (ALU Immediate)
def ADDiu : ArithI<0x09, "addiu", add, simm16, immSExt16>;
@@ -526,9 +525,9 @@ def MSUBU : MArithR<5, "msubu", MipsMSubu>;
// it is a real instruction.
def MUL : ArithR<0x1c, 0x02, "mul", mul, IIImul>, Requires<[IsMips32]>;
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
// Arbitrary patterns that map to one or more instructions
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
// Small immediates
def : Pat<(i32 immSExt16:$in),
@@ -677,8 +676,9 @@ def : Pat<(setge CPURegs:$lhs, immSExt16:$rhs),
def : Pat<(setuge CPURegs:$lhs, immSExt16:$rhs),
(XORi (SLTiu CPURegs:$lhs, immSExt16:$rhs), 1)>;
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
// Floating Point Support
-//===---------------------------------------------------------------------===//
+//===----------------------------------------------------------------------===//
include "MipsInstrFPU.td"
+