1
0
Fork 0
mirror of https://github.com/hermitcore/libhermit.git synced 2025-03-09 00:00:03 +01:00

remove memory in the clobber list because rdtsp is a serializing instr.

This commit is contained in:
Stefan Lankes 2016-05-03 17:40:41 +02:00
parent 692920ff93
commit c3e3a5ee8d

View file

@ -401,7 +401,7 @@ inline static uint64_t rdtsc(void)
{
uint32_t lo, hi;
asm volatile ("rdtsc" : "=a"(lo), "=d"(hi) );
asm volatile ("rdtsc" : "=a"(lo), "=d"(hi) :: "memory");
return ((uint64_t)hi << 32ULL | (uint64_t)lo);
}
@ -418,7 +418,7 @@ inline static uint64_t rdtscp(uint32_t* cpu_id)
uint32_t lo, hi;
uint32_t id;
asm volatile ("rdtscp" : "=a"(lo), "=c"(id), "=d"(hi) :: "memory");
asm volatile ("rdtscp" : "=a"(lo), "=c"(id), "=d"(hi));
if (cpu_id)
*cpu_id = id;