Revision 5fafdf24 target-i386/ops_template_mem.h

b/target-i386/ops_template_mem.h
1 1
/*
2 2
 *  i386 micro operations (included several times to generate
3 3
 *  different operand sizes)
4
 * 
4
 *
5 5
 *  Copyright (c) 2003 Fabrice Bellard
6 6
 *
7 7
 * This library is free software; you can redistribute it and/or
......
84 84
        /* gcc 3.2 workaround. This is really a bug in gcc. */
85 85
        asm volatile("" : : "r" (T0));
86 86
#endif
87
        CC_SRC = (cc_table[CC_OP].compute_all() & ~(CC_O | CC_C)) | 
88
            (lshift(src ^ T0, 11 - (DATA_BITS - 1)) & CC_O) | 
87
        CC_SRC = (cc_table[CC_OP].compute_all() & ~(CC_O | CC_C)) |
88
            (lshift(src ^ T0, 11 - (DATA_BITS - 1)) & CC_O) |
89 89
            (T0 & CC_C);
90 90
        CC_OP = CC_OP_EFLAGS;
91 91
    }
......
109 109
        asm volatile("" : : "r" (T0));
110 110
#endif
111 111
        CC_SRC = (cc_table[CC_OP].compute_all() & ~(CC_O | CC_C)) |
112
            (lshift(src ^ T0, 11 - (DATA_BITS - 1)) & CC_O) | 
112
            (lshift(src ^ T0, 11 - (DATA_BITS - 1)) & CC_O) |
113 113
            ((T0 >> (DATA_BITS - 1)) & CC_C);
114 114
        CC_OP = CC_OP_EFLAGS;
115 115
    }
......
168 168
        glue(st, MEM_SUFFIX)(A0, T0);
169 169
#endif
170 170
        CC_SRC = (eflags & ~(CC_C | CC_O)) |
171
            (lshift(src ^ T0, 11 - (DATA_BITS - 1)) & CC_O) | 
171
            (lshift(src ^ T0, 11 - (DATA_BITS - 1)) & CC_O) |
172 172
            ((src >> (DATA_BITS - count)) & CC_C);
173 173
        CC_OP = CC_OP_EFLAGS;
174 174
    }
......
199 199
        glue(st, MEM_SUFFIX)(A0, T0);
200 200
#endif
201 201
        CC_SRC = (eflags & ~(CC_C | CC_O)) |
202
            (lshift(src ^ T0, 11 - (DATA_BITS - 1)) & CC_O) | 
202
            (lshift(src ^ T0, 11 - (DATA_BITS - 1)) & CC_O) |
203 203
            ((src >> (count - 1)) & CC_C);
204 204
        CC_OP = CC_OP_EFLAGS;
205 205
    }

Also available in: Unified diff