target-i386: fix helper_pmovmskb_mmx helper

(malc)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5728 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
aurel32 2008-11-16 19:15:15 +00:00
parent cd390083ad
commit 30913bae9a

View File

@ -980,23 +980,23 @@ uint32_t glue(helper_pmovmskb, SUFFIX)(Reg *s)
{
uint32_t val;
val = 0;
val |= (s->XMM_B(0) >> 7);
val |= (s->XMM_B(1) >> 6) & 0x02;
val |= (s->XMM_B(2) >> 5) & 0x04;
val |= (s->XMM_B(3) >> 4) & 0x08;
val |= (s->XMM_B(4) >> 3) & 0x10;
val |= (s->XMM_B(5) >> 2) & 0x20;
val |= (s->XMM_B(6) >> 1) & 0x40;
val |= (s->XMM_B(7)) & 0x80;
val |= (s->B(0) >> 7);
val |= (s->B(1) >> 6) & 0x02;
val |= (s->B(2) >> 5) & 0x04;
val |= (s->B(3) >> 4) & 0x08;
val |= (s->B(4) >> 3) & 0x10;
val |= (s->B(5) >> 2) & 0x20;
val |= (s->B(6) >> 1) & 0x40;
val |= (s->B(7)) & 0x80;
#if SHIFT == 1
val |= (s->XMM_B(8) << 1) & 0x0100;
val |= (s->XMM_B(9) << 2) & 0x0200;
val |= (s->XMM_B(10) << 3) & 0x0400;
val |= (s->XMM_B(11) << 4) & 0x0800;
val |= (s->XMM_B(12) << 5) & 0x1000;
val |= (s->XMM_B(13) << 6) & 0x2000;
val |= (s->XMM_B(14) << 7) & 0x4000;
val |= (s->XMM_B(15) << 8) & 0x8000;
val |= (s->B(8) << 1) & 0x0100;
val |= (s->B(9) << 2) & 0x0200;
val |= (s->B(10) << 3) & 0x0400;
val |= (s->B(11) << 4) & 0x0800;
val |= (s->B(12) << 5) & 0x1000;
val |= (s->B(13) << 6) & 0x2000;
val |= (s->B(14) << 7) & 0x4000;
val |= (s->B(15) << 8) & 0x8000;
#endif
return val;
}