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 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 V(MipsI16x8MinU) \ | 199 V(MipsI16x8MinU) \ |
200 V(MipsI16x8GtU) \ | 200 V(MipsI16x8GtU) \ |
201 V(MipsI16x8GeU) \ | 201 V(MipsI16x8GeU) \ |
202 V(MipsI8x16Splat) \ | 202 V(MipsI8x16Splat) \ |
203 V(MipsI8x16ExtractLane) \ | 203 V(MipsI8x16ExtractLane) \ |
204 V(MipsI8x16ReplaceLane) \ | 204 V(MipsI8x16ReplaceLane) \ |
205 V(MipsI8x16Neg) \ | 205 V(MipsI8x16Neg) \ |
206 V(MipsI8x16Shl) \ | 206 V(MipsI8x16Shl) \ |
207 V(MipsI8x16ShrS) \ | 207 V(MipsI8x16ShrS) \ |
208 V(MipsS16x8Select) \ | 208 V(MipsS16x8Select) \ |
209 V(MipsS8x16Select) | 209 V(MipsS8x16Select) \ |
| 210 V(MipsI8x16Add) \ |
| 211 V(MipsI8x16AddSaturateS) \ |
| 212 V(MipsI8x16Sub) \ |
| 213 V(MipsI8x16SubSaturateS) \ |
| 214 V(MipsI8x16Mul) \ |
| 215 V(MipsI8x16MaxS) \ |
| 216 V(MipsI8x16MinS) \ |
| 217 V(MipsI8x16Eq) \ |
| 218 V(MipsI8x16Ne) \ |
| 219 V(MipsI8x16GtS) \ |
| 220 V(MipsI8x16GeS) \ |
| 221 V(MipsI8x16ShrU) \ |
| 222 V(MipsI8x16AddSaturateU) \ |
| 223 V(MipsI8x16SubSaturateU) \ |
| 224 V(MipsI8x16MaxU) \ |
| 225 V(MipsI8x16MinU) \ |
| 226 V(MipsI8x16GtU) \ |
| 227 V(MipsI8x16GeU) \ |
| 228 V(MipsS128And) \ |
| 229 V(MipsS128Or) \ |
| 230 V(MipsS128Xor) \ |
| 231 V(MipsS128Not) |
210 | 232 |
211 // Addressing modes represent the "shape" of inputs to an instruction. | 233 // Addressing modes represent the "shape" of inputs to an instruction. |
212 // Many instructions support multiple addressing modes. Addressing modes | 234 // Many instructions support multiple addressing modes. Addressing modes |
213 // are encoded into the InstructionCode of the instruction and tell the | 235 // are encoded into the InstructionCode of the instruction and tell the |
214 // code generator after register allocation which assembler method to call. | 236 // code generator after register allocation which assembler method to call. |
215 // | 237 // |
216 // We use the following local notation for addressing modes: | 238 // We use the following local notation for addressing modes: |
217 // | 239 // |
218 // R = register | 240 // R = register |
219 // O = register or stack slot | 241 // O = register or stack slot |
220 // D = double register | 242 // D = double register |
221 // I = immediate (handle, external, int32) | 243 // I = immediate (handle, external, int32) |
222 // MRI = [register + immediate] | 244 // MRI = [register + immediate] |
223 // MRR = [register + register] | 245 // MRR = [register + register] |
224 // TODO(plind): Add the new r6 address modes. | 246 // TODO(plind): Add the new r6 address modes. |
225 #define TARGET_ADDRESSING_MODE_LIST(V) \ | 247 #define TARGET_ADDRESSING_MODE_LIST(V) \ |
226 V(MRI) /* [%r0 + K] */ \ | 248 V(MRI) /* [%r0 + K] */ \ |
227 V(MRR) /* [%r0 + %r1] */ | 249 V(MRR) /* [%r0 + %r1] */ |
228 | 250 |
229 | 251 |
230 } // namespace compiler | 252 } // namespace compiler |
231 } // namespace internal | 253 } // namespace internal |
232 } // namespace v8 | 254 } // namespace v8 |
233 | 255 |
234 #endif // V8_COMPILER_MIPS_INSTRUCTION_CODES_MIPS_H_ | 256 #endif // V8_COMPILER_MIPS_INSTRUCTION_CODES_MIPS_H_ |
OLD | NEW |