Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:15-SP6
mvapich2.8348
mvapich2-arm-support.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File mvapich2-arm-support.patch of Package mvapich2.8348
diff --git src/mpid/ch3/channels/common/include/mv2_clock.h src/mpid/ch3/channels/common/include/mv2_clock.h index ac117c2..335d07f 100644 --- src/mpid/ch3/channels/common/include/mv2_clock.h +++ src/mpid/ch3/channels/common/include/mv2_clock.h @@ -81,7 +81,24 @@ static inline cycles_t get_cycles() asm volatile ("mov %0=ar.itc" : "=r" (ret)); return ret; } +#elif defined(__ARM_ARCH_7A__) || defined(__arm__) +typedef unsigned long long cycles_t; +static inline cycles_t get_cycles(void) +{ + cycles_t clk; + asm volatile("mrrc p15, 0, %Q0, %R0, c14" : "=r" (clk)); + return clk; +} +#elif defined(__aarch64__) +typedef unsigned long cycles_t; +static inline cycles_t get_cycles() +{ + cycles_t cval; + asm volatile("isb" : : : "memory"); + asm volatile("mrs %0, cntvct_el0" : "=r" (cval)); + return cval; +} #elif defined(__s390__) || defined(__s390x__) typedef unsigned long cycles_t; static inline cycles_t get_cycles()
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor