Updated data prefetch in TRSM, ASUM, DOT functions

Signed-off-by: kaustubh <kaustubh.raste@imgtec.com>
This commit is contained in:
kaustubh
2016-12-13 11:41:17 +05:30
parent db3efb2e14
commit 3eaff85191
17 changed files with 934 additions and 647 deletions
+17
View File
@@ -32,6 +32,23 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define ENABLE_PREFETCH
#ifdef ENABLE_PREFETCH
inline static void prefetch_load_lf(unsigned char *src)
{
__asm__ __volatile__("pref 0, 0(%[src]) \n\t" : : [src] "r" (src));
}
#define PREFETCH(PTR) prefetch_load_lf((unsigned char *)(PTR));
#define STRNG(X) #X
#define PREF_OFFSET(src_ptr, offset) \
__asm__ __volatile__("pref 0, " STRNG(offset) "(%[src]) \n\t" : : [src] "r" (src_ptr));
#else
#define PREFETCH(PTR)
#define PREF_OFFSET(src_ptr, offset)
#endif
#define LD_W(RTYPE, psrc) *((RTYPE *)(psrc))
#define LD_SP(...) LD_W(v4f32, __VA_ARGS__)