PCem

view src/x86_ops_mmx_logic.h @ 170:a0642e86daea

Fixed MMX PANDN instruction.
author TomW
date Wed Oct 08 20:43:36 2014 +0100
parents cdce787defd5
children
line source
1 int opPAND_a16(uint32_t fetchdat)
2 {
3 MMX_REG src;
4 MMX_ENTER();
6 fetch_ea_16(fetchdat);
7 MMX_GETSRC();
9 MM[reg].q &= src.q;
10 return 0;
11 }
12 int opPAND_a32(uint32_t fetchdat)
13 {
14 MMX_REG src;
15 MMX_ENTER();
17 fetch_ea_32(fetchdat);
18 MMX_GETSRC();
20 MM[reg].q &= src.q;
21 return 0;
22 }
24 int opPANDN_a16(uint32_t fetchdat)
25 {
26 MMX_REG src;
27 MMX_ENTER();
29 fetch_ea_16(fetchdat);
30 MMX_GETSRC();
32 MM[reg].q = ~MM[reg].q & src.q;
33 return 0;
34 }
35 int opPANDN_a32(uint32_t fetchdat)
36 {
37 MMX_REG src;
38 MMX_ENTER();
40 fetch_ea_32(fetchdat);
41 MMX_GETSRC();
43 MM[reg].q = ~MM[reg].q & src.q;
44 return 0;
45 }
47 int opPOR_a16(uint32_t fetchdat)
48 {
49 MMX_REG src;
50 MMX_ENTER();
52 fetch_ea_16(fetchdat);
53 MMX_GETSRC();
55 MM[reg].q |= src.q;
56 return 0;
57 }
58 int opPOR_a32(uint32_t fetchdat)
59 {
60 MMX_REG src;
61 MMX_ENTER();
63 fetch_ea_32(fetchdat);
64 MMX_GETSRC();
66 MM[reg].q |= src.q;
67 return 0;
68 }
70 int opPXOR_a16(uint32_t fetchdat)
71 {
72 MMX_REG src;
73 MMX_ENTER();
75 fetch_ea_16(fetchdat);
76 MMX_GETSRC();
78 MM[reg].q ^= src.q;
79 return 0;
80 }
81 int opPXOR_a32(uint32_t fetchdat)
82 {
83 MMX_REG src;
84 MMX_ENTER();
86 fetch_ea_32(fetchdat);
87 MMX_GETSRC();
89 MM[reg].q ^= src.q;
90 return 0;
91 }