OLD | NEW |
1 //===- subzero/src/IceAssemblerARM32.h - Assembler for ARM32 ----*- C++ -*-===// | 1 //===- subzero/src/IceAssemblerARM32.h - Assembler for ARM32 ----*- C++ -*-===// |
2 // | 2 // |
3 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 3 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
4 // for details. All rights reserved. Use of this source code is governed by a | 4 // for details. All rights reserved. Use of this source code is governed by a |
5 // BSD-style license that can be found in the LICENSE file. | 5 // BSD-style license that can be found in the LICENSE file. |
6 // | 6 // |
7 // Modified by the Subzero authors. | 7 // Modified by the Subzero authors. |
8 // | 8 // |
9 //===----------------------------------------------------------------------===// | 9 //===----------------------------------------------------------------------===// |
10 // | 10 // |
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
338 void vaddqi(Type ElmtTy, const Operand *OpQd, const Operand *OpQm, | 338 void vaddqi(Type ElmtTy, const Operand *OpQd, const Operand *OpQm, |
339 const Operand *OpQn); | 339 const Operand *OpQn); |
340 | 340 |
341 // Float vector add. | 341 // Float vector add. |
342 void vaddqf(const Operand *OpQd, const Operand *OpQm, const Operand *OpQn); | 342 void vaddqf(const Operand *OpQd, const Operand *OpQm, const Operand *OpQn); |
343 | 343 |
344 void vandq(const Operand *OpQd, const Operand *OpQm, const Operand *OpQn); | 344 void vandq(const Operand *OpQd, const Operand *OpQm, const Operand *OpQn); |
345 | 345 |
346 void vbslq(const Operand *OpQd, const Operand *OpQm, const Operand *OpQn); | 346 void vbslq(const Operand *OpQd, const Operand *OpQm, const Operand *OpQn); |
347 | 347 |
| 348 void vceqqi(const Type ElmtTy, const Operand *OpQd, const Operand *OpQm, |
| 349 const Operand *OpQn); |
| 350 |
| 351 void vceqqs(const Operand *OpQd, const Operand *OpQm, const Operand *OpQn); |
| 352 |
| 353 void vcgeqi(const Type ElmtTy, const Operand *OpQd, const Operand *OpQm, |
| 354 const Operand *OpQn); |
| 355 |
| 356 void vcugeqi(const Type ElmtTy, const Operand *OpQd, const Operand *OpQm, |
| 357 const Operand *OpQn); |
| 358 |
| 359 void vcgeqs(const Operand *OpQd, const Operand *OpQm, const Operand *OpQn); |
| 360 |
| 361 void vcgtqi(const Type ElmtTy, const Operand *OpQd, const Operand *OpQm, |
| 362 const Operand *OpQn); |
| 363 |
| 364 void vcugtqi(const Type ElmtTy, const Operand *OpQd, const Operand *OpQm, |
| 365 const Operand *OpQn); |
| 366 |
| 367 void vcgtqs(const Operand *OpQd, const Operand *OpQm, const Operand *OpQn); |
| 368 |
348 void vcmpd(const Operand *OpDd, const Operand *OpDm, CondARM32::Cond cond); | 369 void vcmpd(const Operand *OpDd, const Operand *OpDm, CondARM32::Cond cond); |
349 | 370 |
350 // Second argument of compare is zero (+0.0). | 371 // Second argument of compare is zero (+0.0). |
351 void vcmpdz(const Operand *OpDd, CondARM32::Cond cond); | 372 void vcmpdz(const Operand *OpDd, CondARM32::Cond cond); |
352 | 373 |
353 void vcmps(const Operand *OpSd, const Operand *OpSm, CondARM32::Cond cond); | 374 void vcmps(const Operand *OpSd, const Operand *OpSm, CondARM32::Cond cond); |
354 | 375 |
355 // Second argument of compare is zero (+0.0). | 376 // Second argument of compare is zero (+0.0). |
356 void vcmpsz(const Operand *OpSd, CondARM32::Cond cond); | 377 void vcmpsz(const Operand *OpSd, CondARM32::Cond cond); |
357 | 378 |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
498 // Integer vector multiply. | 519 // Integer vector multiply. |
499 void vmulqi(Type ElmtTy, const Operand *OpQd, const Operand *OpQn, | 520 void vmulqi(Type ElmtTy, const Operand *OpQd, const Operand *OpQn, |
500 const Operand *OpQm); | 521 const Operand *OpQm); |
501 | 522 |
502 // Float vector multiply. | 523 // Float vector multiply. |
503 void vmulqf(const Operand *OpQd, const Operand *OpQn, const Operand *OpQm); | 524 void vmulqf(const Operand *OpQd, const Operand *OpQn, const Operand *OpQm); |
504 | 525 |
505 void vmuls(const Operand *OpSd, const Operand *OpSn, const Operand *OpSm, | 526 void vmuls(const Operand *OpSd, const Operand *OpSn, const Operand *OpSm, |
506 CondARM32::Cond Cond); | 527 CondARM32::Cond Cond); |
507 | 528 |
| 529 void vmvnq(const Operand *OpQd, const Operand *OpQm); |
| 530 |
| 531 void vnegqs(const Operand *OpQd, const Operand *OpQm); |
| 532 |
508 void vnegqs(Type ElmtTy, const Operand *OpQd, const Operand *OpQm); | 533 void vnegqs(Type ElmtTy, const Operand *OpQd, const Operand *OpQm); |
509 | 534 |
510 void vorrq(const Operand *OpQd, const Operand *OpQm, const Operand *OpQn); | 535 void vorrq(const Operand *OpQd, const Operand *OpQm, const Operand *OpQn); |
511 | 536 |
512 void vpop(const Variable *OpBaseReg, SizeT NumConsecRegs, | 537 void vpop(const Variable *OpBaseReg, SizeT NumConsecRegs, |
513 CondARM32::Cond Cond); | 538 CondARM32::Cond Cond); |
514 | 539 |
515 void vpush(const Variable *OpBaseReg, SizeT NumConsecRegs, | 540 void vpush(const Variable *OpBaseReg, SizeT NumConsecRegs, |
516 CondARM32::Cond Cond); | 541 CondARM32::Cond Cond); |
517 | 542 |
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
803 | 828 |
804 void emitVFPsss(CondARM32::Cond Cond, IValueT Opcode, const Operand *OpSd, | 829 void emitVFPsss(CondARM32::Cond Cond, IValueT Opcode, const Operand *OpSd, |
805 const Operand *OpSn, const Operand *OpSm, | 830 const Operand *OpSn, const Operand *OpSm, |
806 const char *InstName); | 831 const char *InstName); |
807 }; | 832 }; |
808 | 833 |
809 } // end of namespace ARM32 | 834 } // end of namespace ARM32 |
810 } // end of namespace Ice | 835 } // end of namespace Ice |
811 | 836 |
812 #endif // SUBZERO_SRC_ICEASSEMBLERARM32_H | 837 #endif // SUBZERO_SRC_ICEASSEMBLERARM32_H |
OLD | NEW |