Deleted Added
full compact
MipsInstrFPU.td (199481) MipsInstrFPU.td (203954)
1//===- MipsInstrFPU.td - Mips FPU Instruction Information -------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 99 unchanged lines hidden (view full) ---

108//===----------------------------------------------------------------------===//
109
110let ft = 0 in {
111 defm FLOOR_W : FFR1_1<0b001111, "floor.w">;
112 defm CEIL_W : FFR1_1<0b001110, "ceil.w">;
113 defm ROUND_W : FFR1_1<0b001100, "round.w">;
114 defm TRUNC_W : FFR1_1<0b001101, "trunc.w">;
115 defm CVTW : FFR1_1<0b100100, "cvt.w">;
1//===- MipsInstrFPU.td - Mips FPU Instruction Information -------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 99 unchanged lines hidden (view full) ---

108//===----------------------------------------------------------------------===//
109
110let ft = 0 in {
111 defm FLOOR_W : FFR1_1<0b001111, "floor.w">;
112 defm CEIL_W : FFR1_1<0b001110, "ceil.w">;
113 defm ROUND_W : FFR1_1<0b001100, "round.w">;
114 defm TRUNC_W : FFR1_1<0b001101, "trunc.w">;
115 defm CVTW : FFR1_1<0b100100, "cvt.w">;
116 defm FMOV : FFR1_1<0b000110, "mov">;
117
118 defm FABS : FFR1_2<0b000101, "abs", fabs>;
119 defm FNEG : FFR1_2<0b000111, "neg", fneg>;
120 defm FSQRT : FFR1_2<0b000100, "sqrt", fsqrt>;
121
122 /// Convert to Single Precison
123 def CVTS_W32 : FFR1_3<0b100000, 0x2, FGR32, FGR32, "cvt.s.w">;
124

--- 43 unchanged lines hidden (view full) ---

168
169 def MFC1 : FFR<0x11, 0x00, 0x00, (outs CPURegs:$rt), (ins FGR32:$fs),
170 "mfc1 $rt, $fs", []>;
171
172 def MTC1 : FFR<0x11, 0x00, 0x04, (outs FGR32:$fs), (ins CPURegs:$rt),
173 "mtc1 $rt, $fs", []>;
174}
175
116
117 defm FABS : FFR1_2<0b000101, "abs", fabs>;
118 defm FNEG : FFR1_2<0b000111, "neg", fneg>;
119 defm FSQRT : FFR1_2<0b000100, "sqrt", fsqrt>;
120
121 /// Convert to Single Precison
122 def CVTS_W32 : FFR1_3<0b100000, 0x2, FGR32, FGR32, "cvt.s.w">;
123

--- 43 unchanged lines hidden (view full) ---

167
168 def MFC1 : FFR<0x11, 0x00, 0x00, (outs CPURegs:$rt), (ins FGR32:$fs),
169 "mfc1 $rt, $fs", []>;
170
171 def MTC1 : FFR<0x11, 0x00, 0x04, (outs FGR32:$fs), (ins CPURegs:$rt),
172 "mtc1 $rt, $fs", []>;
173}
174
175def FMOV_S32 : FFR<0x11, 0b000110, 0x0, (outs FGR32:$fd), (ins FGR32:$fs),
176 "mov.s $fd, $fs", []>;
177def FMOV_D32 : FFR<0x11, 0b000110, 0x1, (outs AFGR64:$fd), (ins AFGR64:$fs),
178 "mov.d $fd, $fs", []>;
179
176/// Floating Point Memory Instructions
177let Predicates = [IsNotSingleFloat, IsNotMipsI] in {
178 def LDC1 : FFI<0b110101, (outs AFGR64:$ft), (ins mem:$addr),
179 "ldc1 $ft, $addr", [(set AFGR64:$ft, (load addr:$addr))]>;
180
181 def SDC1 : FFI<0b111101, (outs), (ins AFGR64:$ft, mem:$addr),
182 "sdc1 $ft, $addr", [(store AFGR64:$ft, addr:$addr)]>;
183}

--- 127 unchanged lines hidden ---
180/// Floating Point Memory Instructions
181let Predicates = [IsNotSingleFloat, IsNotMipsI] in {
182 def LDC1 : FFI<0b110101, (outs AFGR64:$ft), (ins mem:$addr),
183 "ldc1 $ft, $addr", [(set AFGR64:$ft, (load addr:$addr))]>;
184
185 def SDC1 : FFI<0b111101, (outs), (ins AFGR64:$ft, mem:$addr),
186 "sdc1 $ft, $addr", [(store AFGR64:$ft, addr:$addr)]>;
187}

--- 127 unchanged lines hidden ---