|
|
|
@ -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; |
|
|
|
} |
|
|
|
|