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_S390_MACRO_ASSEMBLER_S390_H_ | 5 #ifndef V8_S390_MACRO_ASSEMBLER_S390_H_ |
6 #define V8_S390_MACRO_ASSEMBLER_S390_H_ | 6 #define V8_S390_MACRO_ASSEMBLER_S390_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
10 #include "src/frames.h" | 10 #include "src/frames.h" |
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
238 Condition cond = al); | 238 Condition cond = al); |
239 | 239 |
240 //-------------------------------------------------------------------------- | 240 //-------------------------------------------------------------------------- |
241 // S390 Macro Assemblers for Instructions | 241 // S390 Macro Assemblers for Instructions |
242 //-------------------------------------------------------------------------- | 242 //-------------------------------------------------------------------------- |
243 | 243 |
244 // Arithmetic Operations | 244 // Arithmetic Operations |
245 | 245 |
246 // Add (Register - Immediate) | 246 // Add (Register - Immediate) |
247 void Add32(Register dst, const Operand& imm); | 247 void Add32(Register dst, const Operand& imm); |
| 248 void Add32_RI(Register dst, const Operand& imm); |
248 void AddP(Register dst, const Operand& imm); | 249 void AddP(Register dst, const Operand& imm); |
249 void Add32(Register dst, Register src, const Operand& imm); | 250 void Add32(Register dst, Register src, const Operand& imm); |
| 251 void Add32_RRI(Register dst, Register src, const Operand& imm); |
250 void AddP(Register dst, Register src, const Operand& imm); | 252 void AddP(Register dst, Register src, const Operand& imm); |
251 | 253 |
252 // Add (Register - Register) | 254 // Add (Register - Register) |
253 void Add32(Register dst, Register src); | 255 void Add32(Register dst, Register src); |
254 void AddP(Register dst, Register src); | 256 void AddP(Register dst, Register src); |
255 void AddP_ExtendSrc(Register dst, Register src); | 257 void AddP_ExtendSrc(Register dst, Register src); |
256 void Add32(Register dst, Register src1, Register src2); | 258 void Add32(Register dst, Register src1, Register src2); |
257 void AddP(Register dst, Register src1, Register src2); | 259 void AddP(Register dst, Register src1, Register src2); |
258 void AddP_ExtendSrc(Register dst, Register src1, Register src2); | 260 void AddP_ExtendSrc(Register dst, Register src1, Register src2); |
259 | 261 |
(...skipping 15 matching lines...) Expand all Loading... |
275 // Add Logical (Register - Immediate) | 277 // Add Logical (Register - Immediate) |
276 void AddLogical(Register dst, const Operand& imm); | 278 void AddLogical(Register dst, const Operand& imm); |
277 void AddLogicalP(Register dst, const Operand& imm); | 279 void AddLogicalP(Register dst, const Operand& imm); |
278 | 280 |
279 // Add Logical (Register - Mem) | 281 // Add Logical (Register - Mem) |
280 void AddLogical(Register dst, const MemOperand& opnd); | 282 void AddLogical(Register dst, const MemOperand& opnd); |
281 void AddLogicalP(Register dst, const MemOperand& opnd); | 283 void AddLogicalP(Register dst, const MemOperand& opnd); |
282 | 284 |
283 // Subtract (Register - Immediate) | 285 // Subtract (Register - Immediate) |
284 void Sub32(Register dst, const Operand& imm); | 286 void Sub32(Register dst, const Operand& imm); |
| 287 void Sub32_RI(Register dst, const Operand& imm) { Sub32(dst, imm); } |
285 void SubP(Register dst, const Operand& imm); | 288 void SubP(Register dst, const Operand& imm); |
286 void Sub32(Register dst, Register src, const Operand& imm); | 289 void Sub32(Register dst, Register src, const Operand& imm); |
| 290 void Sub32_RRI(Register dst, Register src, const Operand& imm) { |
| 291 Sub32(dst, src, imm); |
| 292 } |
287 void SubP(Register dst, Register src, const Operand& imm); | 293 void SubP(Register dst, Register src, const Operand& imm); |
288 | 294 |
289 // Subtract (Register - Register) | 295 // Subtract (Register - Register) |
290 void Sub32(Register dst, Register src); | 296 void Sub32(Register dst, Register src); |
291 void SubP(Register dst, Register src); | 297 void SubP(Register dst, Register src); |
292 void SubP_ExtendSrc(Register dst, Register src); | 298 void SubP_ExtendSrc(Register dst, Register src); |
293 void Sub32(Register dst, Register src1, Register src2); | 299 void Sub32(Register dst, Register src1, Register src2); |
294 void SubP(Register dst, Register src1, Register src2); | 300 void SubP(Register dst, Register src1, Register src2); |
295 void SubP_ExtendSrc(Register dst, Register src1, Register src2); | 301 void SubP_ExtendSrc(Register dst, Register src1, Register src2); |
296 | 302 |
(...skipping 12 matching lines...) Expand all Loading... |
309 void SubLogicalWithBorrow32(Register dst, Register src1, Register src2); | 315 void SubLogicalWithBorrow32(Register dst, Register src1, Register src2); |
310 | 316 |
311 // Multiply | 317 // Multiply |
312 void MulP(Register dst, const Operand& opnd); | 318 void MulP(Register dst, const Operand& opnd); |
313 void MulP(Register dst, Register src); | 319 void MulP(Register dst, Register src); |
314 void MulP(Register dst, const MemOperand& opnd); | 320 void MulP(Register dst, const MemOperand& opnd); |
315 void Mul(Register dst, Register src1, Register src2); | 321 void Mul(Register dst, Register src1, Register src2); |
316 void Mul32(Register dst, const MemOperand& src1); | 322 void Mul32(Register dst, const MemOperand& src1); |
317 void Mul32(Register dst, Register src1); | 323 void Mul32(Register dst, Register src1); |
318 void Mul32(Register dst, const Operand& src1); | 324 void Mul32(Register dst, const Operand& src1); |
| 325 void MulHigh32(Register dst, Register src1, const MemOperand& src2); |
| 326 void MulHigh32(Register dst, Register src1, Register src2); |
| 327 void MulHigh32(Register dst, Register src1, const Operand& src2); |
| 328 void Mul32WithOverflowIfCCUnequal(Register dst, Register src1, |
| 329 const MemOperand& src2); |
| 330 void Mul32WithOverflowIfCCUnequal(Register dst, Register src1, Register src2); |
| 331 void Mul32WithOverflowIfCCUnequal(Register dst, Register src1, |
| 332 const Operand& src2); |
319 void Mul64(Register dst, const MemOperand& src1); | 333 void Mul64(Register dst, const MemOperand& src1); |
320 void Mul64(Register dst, Register src1); | 334 void Mul64(Register dst, Register src1); |
321 void Mul64(Register dst, const Operand& src1); | 335 void Mul64(Register dst, const Operand& src1); |
322 | 336 |
323 // Divide | 337 // Divide |
324 void DivP(Register dividend, Register divider); | 338 void DivP(Register dividend, Register divider); |
325 | 339 |
326 // Square root | 340 // Square root |
327 void Sqrt(DoubleRegister result, DoubleRegister input); | 341 void Sqrt(DoubleRegister result, DoubleRegister input); |
328 void Sqrt(DoubleRegister result, const MemOperand& input); | 342 void Sqrt(DoubleRegister result, const MemOperand& input); |
(...skipping 1491 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1820 inline MemOperand NativeContextMemOperand() { | 1834 inline MemOperand NativeContextMemOperand() { |
1821 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); | 1835 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); |
1822 } | 1836 } |
1823 | 1837 |
1824 #define ACCESS_MASM(masm) masm-> | 1838 #define ACCESS_MASM(masm) masm-> |
1825 | 1839 |
1826 } // namespace internal | 1840 } // namespace internal |
1827 } // namespace v8 | 1841 } // namespace v8 |
1828 | 1842 |
1829 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_ | 1843 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_ |
OLD | NEW |