5 #ifndef HAVE__BUILTIN___CLEAR_CACHE
14 alloc r2=ar.pfs,2,0,0,0
15 add r8=31,in1 // round up to 32 byte-boundary
17 shr.u r8=r8,5 // we flush 32 bytes per iteration
21 mov r3=ar.lc // save ar.lc
27 .loop: fc in0 // issuable on M0 only
29 br.cloop.sptk.few .loop
35 mov ar.lc=r3 // restore ar.lc
39 #elif defined(__i386__) || defined (__x86_64__)
45 #elif defined(__hppa__)
55 #elif defined(__powerpc64__)
56 # warning IMPLEMENT ME FOR PPC64!!
65 #elif defined(__powerpc__)
66 # warning IMPLEMENT ME FOR PPC32!!
75 #elif defined(__arm__)
82 # error Need flush_cache code for this architecture.
85 #if defined ( __linux__) && !defined (__arm__)
86 /* We do not need executable stack. */
87 .section .note.GNU-stack,"",@progbits