Revision 278ed7c3
b/target-i386/op_helper.c | ||
---|---|---|
1837 | 1837 |
stq(a0, ((uint64_t)ECX << 32) | (uint32_t)EBX); |
1838 | 1838 |
eflags |= CC_Z; |
1839 | 1839 |
} else { |
1840 |
/* always do the store */ |
|
1841 |
stq(a0, d); |
|
1840 | 1842 |
EDX = (uint32_t)(d >> 32); |
1841 | 1843 |
EAX = (uint32_t)d; |
1842 | 1844 |
eflags &= ~CC_Z; |
... | ... | |
1850 | 1852 |
uint64_t d0, d1; |
1851 | 1853 |
int eflags; |
1852 | 1854 |
|
1855 |
if ((a0 & 0xf) != 0) |
|
1856 |
raise_exception(EXCP0D_GPF); |
|
1853 | 1857 |
eflags = cc_table[CC_OP].compute_all(); |
1854 | 1858 |
d0 = ldq(a0); |
1855 | 1859 |
d1 = ldq(a0 + 8); |
... | ... | |
1858 | 1862 |
stq(a0 + 8, ECX); |
1859 | 1863 |
eflags |= CC_Z; |
1860 | 1864 |
} else { |
1865 |
/* always do the store */ |
|
1866 |
stq(a0, d0); |
|
1867 |
stq(a0 + 8, d1); |
|
1861 | 1868 |
EDX = d1; |
1862 | 1869 |
EAX = d0; |
1863 | 1870 |
eflags &= ~CC_Z; |
Also available in: Unified diff