Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Unified Diff: src/arm/assembler-arm.h

Issue 12920009: Use generated Neon version of MemCopy() on ARM, if platform supports it. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/arm/assembler-arm.cc » ('j') | src/arm/assembler-arm.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « no previous file | src/arm/assembler-arm.cc » ('j') | src/arm/assembler-arm.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698