OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_COMPILER_MIPS_INSTRUCTION_CODES_MIPS_H_ | 5 #ifndef V8_COMPILER_MIPS_INSTRUCTION_CODES_MIPS_H_ |
6 #define V8_COMPILER_MIPS_INSTRUCTION_CODES_MIPS_H_ | 6 #define V8_COMPILER_MIPS_INSTRUCTION_CODES_MIPS_H_ |
7 | 7 |
8 namespace v8 { | 8 namespace v8 { |
9 namespace internal { | 9 namespace internal { |
10 namespace compiler { | 10 namespace compiler { |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 V(Mips64I16x8Splat) \ | 212 V(Mips64I16x8Splat) \ |
213 V(Mips64I16x8ExtractLane) \ | 213 V(Mips64I16x8ExtractLane) \ |
214 V(Mips64I16x8ReplaceLane) \ | 214 V(Mips64I16x8ReplaceLane) \ |
215 V(Mips64I16x8Neg) \ | 215 V(Mips64I16x8Neg) \ |
216 V(Mips64I16x8Shl) \ | 216 V(Mips64I16x8Shl) \ |
217 V(Mips64I16x8ShrS) \ | 217 V(Mips64I16x8ShrS) \ |
218 V(Mips64I16x8ShrU) \ | 218 V(Mips64I16x8ShrU) \ |
219 V(Mips64I16x8Add) \ | 219 V(Mips64I16x8Add) \ |
220 V(Mips64I16x8AddSaturateS) \ | 220 V(Mips64I16x8AddSaturateS) \ |
221 V(Mips64I16x8Sub) \ | 221 V(Mips64I16x8Sub) \ |
222 V(Mips64I16x8SubSaturateS) | 222 V(Mips64I16x8SubSaturateS) \ |
| 223 V(Mips64I16x8Mul) \ |
| 224 V(Mips64I16x8MaxS) \ |
| 225 V(Mips64I16x8MinS) \ |
| 226 V(Mips64I16x8Eq) \ |
| 227 V(Mips64I16x8Ne) \ |
| 228 V(Mips64I16x8LtS) \ |
| 229 V(Mips64I16x8LeS) \ |
| 230 V(Mips64I16x8AddSaturateU) \ |
| 231 V(Mips64I16x8SubSaturateU) \ |
| 232 V(Mips64I16x8MaxU) \ |
| 233 V(Mips64I16x8MinU) \ |
| 234 V(Mips64I16x8LtU) \ |
| 235 V(Mips64I16x8LeU) \ |
| 236 V(Mips64I8x16Splat) \ |
| 237 V(Mips64I8x16ExtractLane) \ |
| 238 V(Mips64I8x16ReplaceLane) \ |
| 239 V(Mips64I8x16Neg) \ |
| 240 V(Mips64I8x16Shl) \ |
| 241 V(Mips64I8x16ShrS) \ |
| 242 V(Mips64S16x8Select) \ |
| 243 V(Mips64S8x16Select) |
223 | 244 |
224 // Addressing modes represent the "shape" of inputs to an instruction. | 245 // Addressing modes represent the "shape" of inputs to an instruction. |
225 // Many instructions support multiple addressing modes. Addressing modes | 246 // Many instructions support multiple addressing modes. Addressing modes |
226 // are encoded into the InstructionCode of the instruction and tell the | 247 // are encoded into the InstructionCode of the instruction and tell the |
227 // code generator after register allocation which assembler method to call. | 248 // code generator after register allocation which assembler method to call. |
228 // | 249 // |
229 // We use the following local notation for addressing modes: | 250 // We use the following local notation for addressing modes: |
230 // | 251 // |
231 // R = register | 252 // R = register |
232 // O = register or stack slot | 253 // O = register or stack slot |
233 // D = double register | 254 // D = double register |
234 // I = immediate (handle, external, int32) | 255 // I = immediate (handle, external, int32) |
235 // MRI = [register + immediate] | 256 // MRI = [register + immediate] |
236 // MRR = [register + register] | 257 // MRR = [register + register] |
237 // TODO(plind): Add the new r6 address modes. | 258 // TODO(plind): Add the new r6 address modes. |
238 #define TARGET_ADDRESSING_MODE_LIST(V) \ | 259 #define TARGET_ADDRESSING_MODE_LIST(V) \ |
239 V(MRI) /* [%r0 + K] */ \ | 260 V(MRI) /* [%r0 + K] */ \ |
240 V(MRR) /* [%r0 + %r1] */ | 261 V(MRR) /* [%r0 + %r1] */ |
241 | 262 |
242 | 263 |
243 } // namespace compiler | 264 } // namespace compiler |
244 } // namespace internal | 265 } // namespace internal |
245 } // namespace v8 | 266 } // namespace v8 |
246 | 267 |
247 #endif // V8_COMPILER_MIPS_INSTRUCTION_CODES_MIPS_H_ | 268 #endif // V8_COMPILER_MIPS_INSTRUCTION_CODES_MIPS_H_ |
OLD | NEW |