Index: /trunk/src/VBox/Runtime/testcase/tstInlineAsm.cpp
===================================================================
--- /trunk/src/VBox/Runtime/testcase/tstInlineAsm.cpp	(revision 25667)
+++ /trunk/src/VBox/Runtime/testcase/tstInlineAsm.cpp	(revision 25668)
@@ -586,4 +586,5 @@
 }
 
+
 static void tstASMAtomicCmpXchgU32(void)
 {
@@ -696,4 +697,21 @@
     u64 = 0xfedcba0987654321ULL;
     CHECKOP(ASMAtomicReadU64(&u64), 0xfedcba0987654321ULL, "%#llx", uint64_t);
+    CHECKVAL(u64, 0xfedcba0987654321ULL, "%#llx");
+}
+
+
+static void tstASMAtomicUoReadU64(void)
+{
+    uint64_t u64 = 0;
+
+    CHECKOP(ASMAtomicUoReadU64(&u64), 0ULL, "%#llx", uint64_t);
+    CHECKVAL(u64, 0ULL, "%#llx");
+
+    u64 = ~0ULL;
+    CHECKOP(ASMAtomicUoReadU64(&u64), ~0ULL, "%#llx", uint64_t);
+    CHECKVAL(u64, ~0ULL, "%#llx");
+
+    u64 = 0xfedcba0987654321ULL;
+    CHECKOP(ASMAtomicUoReadU64(&u64), 0xfedcba0987654321ULL, "%#llx", uint64_t);
     CHECKVAL(u64, 0xfedcba0987654321ULL, "%#llx");
 }
@@ -1173,4 +1191,8 @@
 
     BENCH(s_u32 = 0,                            "s_u32 = 0:");
+    BENCH(ASMAtomicUoReadU64(&s_u64),           "ASMAtomicUoReadU64:");
+    BENCH(ASMAtomicUoReadS64(&s_i64),           "ASMAtomicUoReadS64:");
+    BENCH(ASMAtomicReadU64(&s_u64),             "ASMAtomicReadU64:");
+    BENCH(ASMAtomicReadS64(&s_i64),             "ASMAtomicReadS64:");
     BENCH(ASMAtomicUoWriteU8(&s_u8, 0),         "ASMAtomicUoWriteU8:");
     BENCH(ASMAtomicUoWriteS8(&s_i8, 0),         "ASMAtomicUoWriteS8:");
@@ -1243,4 +1265,5 @@
     tstASMAtomicCmpXchgExU64();
     tstASMAtomicReadU64();
+    tstASMAtomicUoReadU64();
     tstASMAtomicAddS32();
     tstASMAtomicDecIncS32();
