Changeset 21451 in vbox for trunk/src/VBox/Runtime/testcase
- Timestamp:
- Jul 9, 2009 5:06:40 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 49865
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/testcase/tstInlineAsm.cpp
r14831 r21451 552 552 CHECKVAL(s.u64Dummy1, 0x1122334455667788ULL, "%#llx"); 553 553 } 554 555 556 #ifdef RT_ARCH_AMD64557 static void tstASMAtomicXchgU128(void)558 {559 struct560 {561 RTUINT128U u128Dummy0;562 RTUINT128U u128;563 RTUINT128U u128Dummy1;564 } s;565 RTUINT128U u128Ret;566 RTUINT128U u128Arg;567 568 569 s.u128Dummy0.s.Lo = s.u128Dummy0.s.Hi = 0x1122334455667788;570 s.u128.s.Lo = 0;571 s.u128.s.Hi = 0;572 s.u128Dummy1 = s.u128Dummy0;573 574 u128Arg.s.Lo = 1;575 u128Arg.s.Hi = 0;576 u128Ret.u = ASMAtomicXchgU128(&s.u128.u, u128Arg.u);577 CHECKVAL(u128Ret.s.Lo, 0ULL, "%#llx");578 CHECKVAL(u128Ret.s.Hi, 0ULL, "%#llx");579 CHECKVAL(s.u128.s.Lo, 1ULL, "%#llx");580 CHECKVAL(s.u128.s.Hi, 0ULL, "%#llx");581 582 u128Arg.s.Lo = 0;583 u128Arg.s.Hi = 0;584 u128Ret.u = ASMAtomicXchgU128(&s.u128.u, u128Arg.u);585 CHECKVAL(u128Ret.s.Lo, 1ULL, "%#llx");586 CHECKVAL(u128Ret.s.Hi, 0ULL, "%#llx");587 CHECKVAL(s.u128.s.Lo, 0ULL, "%#llx");588 CHECKVAL(s.u128.s.Hi, 0ULL, "%#llx");589 590 u128Arg.s.Lo = ~0ULL;591 u128Arg.s.Hi = ~0ULL;592 u128Ret.u = ASMAtomicXchgU128(&s.u128.u, u128Arg.u);593 CHECKVAL(u128Ret.s.Lo, 0ULL, "%#llx");594 CHECKVAL(u128Ret.s.Hi, 0ULL, "%#llx");595 CHECKVAL(s.u128.s.Lo, ~0ULL, "%#llx");596 CHECKVAL(s.u128.s.Hi, ~0ULL, "%#llx");597 598 599 u128Arg.s.Lo = 0xfedcba0987654321ULL;600 u128Arg.s.Hi = 0x8897a6b5c4d3e2f1ULL;601 u128Ret.u = ASMAtomicXchgU128(&s.u128.u, u128Arg.u);602 CHECKVAL(u128Ret.s.Lo, ~0ULL, "%#llx");603 CHECKVAL(u128Ret.s.Hi, ~0ULL, "%#llx");604 CHECKVAL(s.u128.s.Lo, 0xfedcba0987654321ULL, "%#llx");605 CHECKVAL(s.u128.s.Hi, 0x8897a6b5c4d3e2f1ULL, "%#llx");606 607 CHECKVAL(s.u128Dummy0.s.Lo, 0x1122334455667788, "%#llx");608 CHECKVAL(s.u128Dummy0.s.Hi, 0x1122334455667788, "%#llx");609 CHECKVAL(s.u128Dummy1.s.Lo, 0x1122334455667788, "%#llx");610 CHECKVAL(s.u128Dummy1.s.Hi, 0x1122334455667788, "%#llx");611 }612 #endif613 554 614 555 … … 1240 1181 tstASMAtomicXchgU32(); 1241 1182 tstASMAtomicXchgU64(); 1242 #ifdef RT_ARCH_AMD641243 tstASMAtomicXchgU128();1244 #endif1245 1183 tstASMAtomicXchgPtr(); 1246 1184 tstASMAtomicCmpXchgU32();
Note:
See TracChangeset
for help on using the changeset viewer.