Changeset 6644 in vbox for trunk/src/VBox/Runtime/testcase
- Timestamp:
- Jan 31, 2008 9:40:28 AM (17 years ago)
- svn:sync-xref-src-repo-rev:
- 27709
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/testcase/tstInlineAsm.cpp
r5999 r6644 658 658 CHECKOP(ASMAtomicCmpXchgU64(&u64, 0x80040008008efdULL, 0), true, "%d", bool); 659 659 CHECKVAL(u64, 0x80040008008efdULL, "%x"); 660 } 661 662 663 static void tstASMAtomicCmpXchgExU32(void) 664 { 665 uint32_t u32 = 0xffffffff; 666 uint32_t u32Old = 0x80005111; 667 668 CHECKOP(ASMAtomicCmpXchgExU32(&u32, 0, 0, &u32Old), false, "%d", bool); 669 CHECKVAL(u32, 0xffffffff, "%x"); 670 CHECKVAL(u32Old, 0xffffffff, "%x"); 671 672 CHECKOP(ASMAtomicCmpXchgExU32(&u32, 0, 0xffffffff, &u32Old), true, "%d", bool); 673 CHECKVAL(u32, 0, "%x"); 674 CHECKVAL(u32Old, 0xffffffff, "%x"); 675 676 CHECKOP(ASMAtomicCmpXchgExU32(&u32, 0x8008efd, 0xffffffff, &u32Old), false, "%d", bool); 677 CHECKVAL(u32, 0, "%x"); 678 CHECKVAL(u32Old, 0, "%x"); 679 680 CHECKOP(ASMAtomicCmpXchgExU32(&u32, 0x8008efd, 0, &u32Old), true, "%d", bool); 681 CHECKVAL(u32, 0x8008efd, "%x"); 682 CHECKVAL(u32Old, 0, "%x"); 683 684 CHECKOP(ASMAtomicCmpXchgExU32(&u32, 0, 0x8008efd, &u32Old), true, "%d", bool); 685 CHECKVAL(u32, 0, "%x"); 686 CHECKVAL(u32Old, 0x8008efd, "%x"); 687 } 688 689 690 static void tstASMAtomicCmpXchgExU64(void) 691 { 692 uint64_t u64 = 0xffffffffffffffffULL; 693 uint64_t u64Old = 0x8000000051111111ULL; 694 695 CHECKOP(ASMAtomicCmpXchgExU64(&u64, 0, 0, &u64Old), false, "%d", bool); 696 CHECKVAL(u64, 0xffffffffffffffffULL, "%llx"); 697 CHECKVAL(u64Old, 0xffffffffffffffffULL, "%llx"); 698 699 CHECKOP(ASMAtomicCmpXchgExU64(&u64, 0, 0xffffffffffffffffULL, &u64Old), true, "%d", bool); 700 CHECKVAL(u64, 0ULL, "%llx"); 701 CHECKVAL(u64Old, 0xffffffffffffffffULL, "%llx"); 702 703 CHECKOP(ASMAtomicCmpXchgExU64(&u64, 0x80040008008efdULL, 0xffffffff, &u64Old), false, "%d", bool); 704 CHECKVAL(u64, 0ULL, "%llx"); 705 CHECKVAL(u64Old, 0ULL, "%llx"); 706 707 CHECKOP(ASMAtomicCmpXchgExU64(&u64, 0x80040008008efdULL, 0xffffffff00000000ULL, &u64Old), false, "%d", bool); 708 CHECKVAL(u64, 0ULL, "%llx"); 709 CHECKVAL(u64Old, 0ULL, "%llx"); 710 711 CHECKOP(ASMAtomicCmpXchgExU64(&u64, 0x80040008008efdULL, 0, &u64Old), true, "%d", bool); 712 CHECKVAL(u64, 0x80040008008efdULL, "%llx"); 713 CHECKVAL(u64Old, 0ULL, "%llx"); 714 715 CHECKOP(ASMAtomicCmpXchgExU64(&u64, 0, 0x80040008008efdULL, &u64Old), true, "%d", bool); 716 CHECKVAL(u64, 0ULL, "%llx"); 717 CHECKVAL(u64Old, 0x80040008008efdULL, "%llx"); 660 718 } 661 719 … … 885 943 tstASMAtomicCmpXchgU32(); 886 944 tstASMAtomicCmpXchgU64(); 945 tstASMAtomicCmpXchgExU32(); 946 tstASMAtomicCmpXchgExU64(); 887 947 tstASMAtomicReadU64(); 888 948 tstASMAtomicDecIncS32();
Note:
See TracChangeset
for help on using the changeset viewer.