Chromium Code Reviews| Index: src/arm/assembler-arm.h |
| =================================================================== |
| --- src/arm/assembler-arm.h (revision 14076) |
| +++ src/arm/assembler-arm.h (working copy) |
| @@ -440,7 +440,21 @@ |
| p15 = 15 |
| }; |
| +enum NeonElementIndex { |
| + element_0 = 0, |
| + element_1 = 1, |
| + element_2 = 2, |
| + element_3 = 3, |
| + element_4 = 4, |
| + element_5 = 5, |
| + element_6 = 6, |
| + element_7 = 7 |
| +}; |
| +enum NeonWritebackType { |
| + Writeback = 0, |
| + NoWriteback = 1 |
| +}; |
|
danno
2013/03/27 08:40:07
nit: add a empty line after this enum
Nike
2013/03/29 08:48:52
Done.
|
| // ----------------------------------------------------------------------------- |
| // Machine instruction Operands |
| @@ -895,6 +909,9 @@ |
| void ldm(BlockAddrMode am, Register base, RegList dst, Condition cond = al); |
| void stm(BlockAddrMode am, Register base, RegList src, Condition cond = al); |
| + // Prefetch instructions. |
| + void pld(Register base, int offset = 0, int write = 0); |
| + |
| // Exception-generating instructions and debugging support |
| void stop(const char* msg, |
| Condition cond = al, |
| @@ -1098,6 +1115,56 @@ |
| const DwVfpRegister src, |
| const Condition cond = al); |
| + // NEON instructions |
| + void vld1(int size, |
| + const Register base, |
| + const DwVfpRegister first, |
| + const DwVfpRegister last, |
| + NeonWritebackType writeback = NoWriteback, |
| + int align_bytes = 1); |
| + void vld1(int size, |
| + const Register base, |
| + const DwVfpRegister first, |
| + NeonElementIndex element_index, |
| + NeonWritebackType writeback = NoWriteback, |
| + int align_bytes = 1); |
| + void vld4(int size, |
| + const Register src, |
| + const DwVfpRegister first, |
| + const DwVfpRegister last, |
| + NeonWritebackType writeback = NoWriteback, |
| + int align_bytes = 1); |
| + void vld4(int size, |
| + const Register src, |
| + const DwVfpRegister first, |
| + NeonElementIndex element_index, |
| + NeonWritebackType writeback = NoWriteback, |
| + int align_bytes = 1); |
| + void vst1(int size, |
| + const Register base, |
|
danno
2013/03/27 08:40:07
nit: parameter indentation here and below, please
Nike
2013/03/29 08:48:52
Done.
|
| + const DwVfpRegister first, |
| + const DwVfpRegister last, |
| + NeonWritebackType writeback = NoWriteback, |
| + int align_bytes = 1); |
| + void vst1(int size, |
| + const Register base, |
| + const DwVfpRegister first, |
| + NeonElementIndex element_index, |
| + NeonWritebackType writeback = NoWriteback, |
| + int align_bytes = 1); |
| + void vst4(int size, |
| + const Register src, |
| + const DwVfpRegister first, |
| + const DwVfpRegister last, |
| + NeonWritebackType writeback = NoWriteback, |
| + int align_bytes = 1); |
| + void vst4(int size, |
| + const Register src, |
| + const DwVfpRegister first, |
| + NeonElementIndex element_index, |
| + NeonWritebackType writeback = NoWriteback, |
| + int align_bytes = 1); |
| + |
| // Pseudo instructions |
| // Different nop operations are used by the code generator to detect certain |