| @@ -174,11 +174,18 @@ int TranslateStackToReg[NoCallArgsPassedOnStack]; · 173 unmodified lines |
| 174 | int ParamLocOnStack[NoCallArgsPassedOnStack]; | 174 | int ParamLocOnStack[NoCallArgsPassedOnStack]; |
| 175 | int TotalBytesPushedOnStack; | 175 | int TotalBytesPushedOnStack; |
| 176 | | 176 | |
| | 177 | #ifndef FALSE |
| | 178 | # define FALSE 0 |
| | 179 | # define TRUE 1 |
| | 180 | #endif |
| | 181 | |
| | 182 | #undef BOOL |
| | 183 | #define BOOL int |
| | 184 | |
| 177 | /******************************************************/ | 185 | /******************************************************/ |
| 178 | static unsigned long func_sub_sp_offset; | 186 | static unsigned long func_sub_sp_offset; |
| 179 | static int func_ret_sub; | 187 | static int func_ret_sub; |
| 180 | | 188 | |
| 181 | | | |
| 182 | static BOOL C67_invert_test; | 189 | static BOOL C67_invert_test; |
| 183 | static int C67_compare_reg; | 190 | static int C67_compare_reg; |
| 184 | | 191 | |
| @@ -186,7 +193,6 @@ static int C67_compare_reg; · 1 unmodified line |
| 186 | FILE *f = NULL; | 193 | FILE *f = NULL; |
| 187 | #endif | 194 | #endif |
| 188 | | 195 | |
| 189 | | | |
| 190 | void C67_g(int c) | 196 | void C67_g(int c) |
| 191 | { | 197 | { |
| 192 | int ind1; | 198 | int ind1; |
| @@ -1556,7 +1562,7 @@ void C67_SHR(int r, int v) · 1363 unmodified lines |
| 1556 | void load(int r, SValue * sv) | 1562 | void load(int r, SValue * sv) |
| 1557 | { | 1563 | { |
| 1558 | int v, t, ft, fc, fr, size = 0, element; | 1564 | int v, t, ft, fc, fr, size = 0, element; |
| 1559 | BOOL Unsigned = false; | 1565 | BOOL Unsigned = FALSE; |
| 1560 | SValue v1; | 1566 | SValue v1; |
| 1561 | | 1567 | |
| 1562 | fr = sv->r; | 1568 | fr = sv->r; |
| @@ -2182,34 +2188,34 @@ void gen_opi(int op) · 619 unmodified lines |
| 2182 | | 2188 | |
| 2183 | if (op == TOK_LT) { | 2189 | if (op == TOK_LT) { |
| 2184 | C67_CMPLT(r, fr, C67_B2); | 2190 | C67_CMPLT(r, fr, C67_B2); |
| 2185 | C67_invert_test = false; | 2191 | C67_invert_test = FALSE; |
| 2186 | } else if (op == TOK_GE) { | 2192 | } else if (op == TOK_GE) { |
| 2187 | C67_CMPLT(r, fr, C67_B2); | 2193 | C67_CMPLT(r, fr, C67_B2); |
| 2188 | C67_invert_test = true; | 2194 | C67_invert_test = TRUE; |
| 2189 | } else if (op == TOK_GT) { | 2195 | } else if (op == TOK_GT) { |
| 2190 | C67_CMPGT(r, fr, C67_B2); | 2196 | C67_CMPGT(r, fr, C67_B2); |
| 2191 | C67_invert_test = false; | 2197 | C67_invert_test = FALSE; |
| 2192 | } else if (op == TOK_LE) { | 2198 | } else if (op == TOK_LE) { |
| 2193 | C67_CMPGT(r, fr, C67_B2); | 2199 | C67_CMPGT(r, fr, C67_B2); |
| 2194 | C67_invert_test = true; | 2200 | C67_invert_test = TRUE; |
| 2195 | } else if (op == TOK_EQ) { | 2201 | } else if (op == TOK_EQ) { |
| 2196 | C67_CMPEQ(r, fr, C67_B2); | 2202 | C67_CMPEQ(r, fr, C67_B2); |
| 2197 | C67_invert_test = false; | 2203 | C67_invert_test = FALSE; |
| 2198 | } else if (op == TOK_NE) { | 2204 | } else if (op == TOK_NE) { |
| 2199 | C67_CMPEQ(r, fr, C67_B2); | 2205 | C67_CMPEQ(r, fr, C67_B2); |
| 2200 | C67_invert_test = true; | 2206 | C67_invert_test = TRUE; |
| 2201 | } else if (op == TOK_ULT) { | 2207 | } else if (op == TOK_ULT) { |
| 2202 | C67_CMPLTU(r, fr, C67_B2); | 2208 | C67_CMPLTU(r, fr, C67_B2); |
| 2203 | C67_invert_test = false; | 2209 | C67_invert_test = FALSE; |
| 2204 | } else if (op == TOK_UGE) { | 2210 | } else if (op == TOK_UGE) { |
| 2205 | C67_CMPLTU(r, fr, C67_B2); | 2211 | C67_CMPLTU(r, fr, C67_B2); |
| 2206 | C67_invert_test = true; | 2212 | C67_invert_test = TRUE; |
| 2207 | } else if (op == TOK_UGT) { | 2213 | } else if (op == TOK_UGT) { |
| 2208 | C67_CMPGTU(r, fr, C67_B2); | 2214 | C67_CMPGTU(r, fr, C67_B2); |
| 2209 | C67_invert_test = false; | 2215 | C67_invert_test = FALSE; |
| 2210 | } else if (op == TOK_ULE) { | 2216 | } else if (op == TOK_ULE) { |
| 2211 | C67_CMPGTU(r, fr, C67_B2); | 2217 | C67_CMPGTU(r, fr, C67_B2); |
| 2212 | C67_invert_test = true; | 2218 | C67_invert_test = TRUE; |
| 2213 | } else if (op == '+') | 2219 | } else if (op == '+') |
| 2214 | C67_ADD(fr, r); // ADD r,fr,r | 2220 | C67_ADD(fr, r); // ADD r,fr,r |
| 2215 | else if (op == '-') | 2221 | else if (op == '-') |
| @@ -2344,42 +2350,42 @@ void gen_opf(int op) · 128 unmodified lines |
| 2344 | else | 2350 | else |
| 2345 | C67_CMPLTSP(r, fr, C67_B2); | 2351 | C67_CMPLTSP(r, fr, C67_B2); |
| 2346 | | 2352 | |
| 2347 | C67_invert_test = false; | 2353 | C67_invert_test = FALSE; |
| 2348 | } else if (op == TOK_GE) { | 2354 | } else if (op == TOK_GE) { |
| 2349 | if ((ft & VT_BTYPE) == VT_DOUBLE) | 2355 | if ((ft & VT_BTYPE) == VT_DOUBLE) |
| 2350 | C67_CMPLTDP(r, fr, C67_B2); | 2356 | C67_CMPLTDP(r, fr, C67_B2); |
| 2351 | else | 2357 | else |
| 2352 | C67_CMPLTSP(r, fr, C67_B2); | 2358 | C67_CMPLTSP(r, fr, C67_B2); |
| 2353 | | 2359 | |
| 2354 | C67_invert_test = true; | 2360 | C67_invert_test = TRUE; |
| 2355 | } else if (op == TOK_GT) { | 2361 | } else if (op == TOK_GT) { |
| 2356 | if ((ft & VT_BTYPE) == VT_DOUBLE) | 2362 | if ((ft & VT_BTYPE) == VT_DOUBLE) |
| 2357 | C67_CMPGTDP(r, fr, C67_B2); | 2363 | C67_CMPGTDP(r, fr, C67_B2); |
| 2358 | else | 2364 | else |
| 2359 | C67_CMPGTSP(r, fr, C67_B2); | 2365 | C67_CMPGTSP(r, fr, C67_B2); |
| 2360 | | 2366 | |
| 2361 | C67_invert_test = false; | 2367 | C67_invert_test = FALSE; |
| 2362 | } else if (op == TOK_LE) { | 2368 | } else if (op == TOK_LE) { |
| 2363 | if ((ft & VT_BTYPE) == VT_DOUBLE) | 2369 | if ((ft & VT_BTYPE) == VT_DOUBLE) |
| 2364 | C67_CMPGTDP(r, fr, C67_B2); | 2370 | C67_CMPGTDP(r, fr, C67_B2); |
| 2365 | else | 2371 | else |
| 2366 | C67_CMPGTSP(r, fr, C67_B2); | 2372 | C67_CMPGTSP(r, fr, C67_B2); |
| 2367 | | 2373 | |
| 2368 | C67_invert_test = true; | 2374 | C67_invert_test = TRUE; |
| 2369 | } else if (op == TOK_EQ) { | 2375 | } else if (op == TOK_EQ) { |
| 2370 | if ((ft & VT_BTYPE) == VT_DOUBLE) | 2376 | if ((ft & VT_BTYPE) == VT_DOUBLE) |
| 2371 | C67_CMPEQDP(r, fr, C67_B2); | 2377 | C67_CMPEQDP(r, fr, C67_B2); |
| 2372 | else | 2378 | else |
| 2373 | C67_CMPEQSP(r, fr, C67_B2); | 2379 | C67_CMPEQSP(r, fr, C67_B2); |
| 2374 | | 2380 | |
| 2375 | C67_invert_test = false; | 2381 | C67_invert_test = FALSE; |
| 2376 | } else if (op == TOK_NE) { | 2382 | } else if (op == TOK_NE) { |
| 2377 | if ((ft & VT_BTYPE) == VT_DOUBLE) | 2383 | if ((ft & VT_BTYPE) == VT_DOUBLE) |
| 2378 | C67_CMPEQDP(r, fr, C67_B2); | 2384 | C67_CMPEQDP(r, fr, C67_B2); |
| 2379 | else | 2385 | else |
| 2380 | C67_CMPEQSP(r, fr, C67_B2); | 2386 | C67_CMPEQSP(r, fr, C67_B2); |
| 2381 | | 2387 | |
| 2382 | C67_invert_test = true; | 2388 | C67_invert_test = TRUE; |
| 2383 | } else { | 2389 | } else { |
| 2384 | ALWAYS_ASSERT(FALSE); | 2390 | ALWAYS_ASSERT(FALSE); |
| 2385 | } | 2391 | } |