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 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 V(MipsI8x16ShrU) \ | 221 V(MipsI8x16ShrU) \ |
222 V(MipsI8x16AddSaturateU) \ | 222 V(MipsI8x16AddSaturateU) \ |
223 V(MipsI8x16SubSaturateU) \ | 223 V(MipsI8x16SubSaturateU) \ |
224 V(MipsI8x16MaxU) \ | 224 V(MipsI8x16MaxU) \ |
225 V(MipsI8x16MinU) \ | 225 V(MipsI8x16MinU) \ |
226 V(MipsI8x16GtU) \ | 226 V(MipsI8x16GtU) \ |
227 V(MipsI8x16GeU) \ | 227 V(MipsI8x16GeU) \ |
228 V(MipsS128And) \ | 228 V(MipsS128And) \ |
229 V(MipsS128Or) \ | 229 V(MipsS128Or) \ |
230 V(MipsS128Xor) \ | 230 V(MipsS128Xor) \ |
231 V(MipsS128Not) | 231 V(MipsS128Not) \ |
| 232 V(MipsS1x4AnyTrue) \ |
| 233 V(MipsS1x4AllTrue) \ |
| 234 V(MipsS1x8AnyTrue) \ |
| 235 V(MipsS1x8AllTrue) \ |
| 236 V(MipsS1x16AnyTrue) \ |
| 237 V(MipsS1x16AllTrue) \ |
| 238 V(MipsMsaLd) \ |
| 239 V(MipsMsaSt) |
232 | 240 |
233 // Addressing modes represent the "shape" of inputs to an instruction. | 241 // Addressing modes represent the "shape" of inputs to an instruction. |
234 // Many instructions support multiple addressing modes. Addressing modes | 242 // Many instructions support multiple addressing modes. Addressing modes |
235 // are encoded into the InstructionCode of the instruction and tell the | 243 // are encoded into the InstructionCode of the instruction and tell the |
236 // code generator after register allocation which assembler method to call. | 244 // code generator after register allocation which assembler method to call. |
237 // | 245 // |
238 // We use the following local notation for addressing modes: | 246 // We use the following local notation for addressing modes: |
239 // | 247 // |
240 // R = register | 248 // R = register |
241 // O = register or stack slot | 249 // O = register or stack slot |
242 // D = double register | 250 // D = double register |
243 // I = immediate (handle, external, int32) | 251 // I = immediate (handle, external, int32) |
244 // MRI = [register + immediate] | 252 // MRI = [register + immediate] |
245 // MRR = [register + register] | 253 // MRR = [register + register] |
246 // TODO(plind): Add the new r6 address modes. | 254 // TODO(plind): Add the new r6 address modes. |
247 #define TARGET_ADDRESSING_MODE_LIST(V) \ | 255 #define TARGET_ADDRESSING_MODE_LIST(V) \ |
248 V(MRI) /* [%r0 + K] */ \ | 256 V(MRI) /* [%r0 + K] */ \ |
249 V(MRR) /* [%r0 + %r1] */ | 257 V(MRR) /* [%r0 + %r1] */ |
250 | 258 |
251 | 259 |
252 } // namespace compiler | 260 } // namespace compiler |
253 } // namespace internal | 261 } // namespace internal |
254 } // namespace v8 | 262 } // namespace v8 |
255 | 263 |
256 #endif // V8_COMPILER_MIPS_INSTRUCTION_CODES_MIPS_H_ | 264 #endif // V8_COMPILER_MIPS_INSTRUCTION_CODES_MIPS_H_ |
OLD | NEW |