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:
parent
cd390083ad
commit
30913bae9a
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user