| 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 |