Commit 44606a0d by Jürg Billeter

absl/base: Fix build on AIX

The AIX assembler doesn't support numeric labels. Use a relative jump
instead to fix

    Assembler:
    /tmp/ccw16WCt.s: line 25: Error In Syntax
parent d23adc1c
...@@ -71,12 +71,11 @@ int64_t UnscaledCycleClock::Now() { ...@@ -71,12 +71,11 @@ int64_t UnscaledCycleClock::Now() {
#else #else
int32_t tbu, tbl, tmp; int32_t tbu, tbl, tmp;
asm volatile( asm volatile(
"0:\n"
"mftbu %[hi32]\n" "mftbu %[hi32]\n"
"mftb %[lo32]\n" "mftb %[lo32]\n"
"mftbu %[tmp]\n" "mftbu %[tmp]\n"
"cmpw %[tmp],%[hi32]\n" "cmpw %[tmp],%[hi32]\n"
"bne 0b\n" "bne $-16\n" // retry on failure
: [ hi32 ] "=r"(tbu), [ lo32 ] "=r"(tbl), [ tmp ] "=r"(tmp)); : [ hi32 ] "=r"(tbu), [ lo32 ] "=r"(tbl), [ tmp ] "=r"(tmp));
return (static_cast<int64_t>(tbu) << 32) | tbl; return (static_cast<int64_t>(tbu) << 32) | tbl;
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment