summaryrefslogtreecommitdiff
path: root/absl/base/internal
diff options
context:
space:
mode:
authorGravatar Copybara-Service <copybara-worker@google.com>2023-06-07 08:00:48 -0700
committerGravatar Copybara-Service <copybara-worker@google.com>2023-06-07 08:00:48 -0700
commit181480b1d04e27d65c9615a14186d1f3f2cdcb17 (patch)
tree3e47d2e2b14ab618bb23f1bf1006e3d85d76cbff /absl/base/internal
parent86aaa72a33a9f6729d6cf3f7a8d551935cf5b5f8 (diff)
parent339c79d40535d5e2ea8e56dfbff76c283315f2d3 (diff)
Merge pull request #1458 from juergbi:aix
PiperOrigin-RevId: 538488164 Change-Id: I680dcbc2f27dca3beba416b3cd0a55943751cf4c
Diffstat (limited to 'absl/base/internal')
-rw-r--r--absl/base/internal/unscaledcycleclock.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
index b1c396c6..05e0e7ba 100644
--- a/absl/base/internal/unscaledcycleclock.cc
+++ b/absl/base/internal/unscaledcycleclock.cc
@@ -71,13 +71,12 @@ int64_t UnscaledCycleClock::Now() {
#else
int32_t tbu, tbl, tmp;
asm volatile(
- "0:\n"
"mftbu %[hi32]\n"
"mftb %[lo32]\n"
"mftbu %[tmp]\n"
"cmpw %[tmp],%[hi32]\n"
- "bne 0b\n"
- : [ hi32 ] "=r"(tbu), [ lo32 ] "=r"(tbl), [ tmp ] "=r"(tmp));
+ "bne $-16\n" // Retry on failure.
+ : [hi32] "=r"(tbu), [lo32] "=r"(tbl), [tmp] "=r"(tmp));
return (static_cast<int64_t>(tbu) << 32) | tbl;
#endif
#endif