Commit 894efddb50a4531cbeaf2e2b0a1832133d1ef34d

Authored by aurel32
1 parent f9320410

PPC: fix efstst* instructions

(Tristan Gingold)


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4362 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 6 additions and 6 deletions
target-ppc/op_helper.h
... ... @@ -332,21 +332,21 @@ static always_inline int _do_efststlt (uint32_t op1, uint32_t op2)
332 332 CPU_FloatU u1, u2;
333 333 u1.l = op1;
334 334 u2.l = op2;
335   - return float32_lt(u1.f, u2.f, &env->spe_status) ? 1 : 0;
  335 + return float32_lt(u1.f, u2.f, &env->spe_status) ? 4 : 0;
336 336 }
337 337 static always_inline int _do_efststgt (uint32_t op1, uint32_t op2)
338 338 {
339 339 CPU_FloatU u1, u2;
340 340 u1.l = op1;
341 341 u2.l = op2;
342   - return float32_le(u1.f, u2.f, &env->spe_status) ? 0 : 1;
  342 + return float32_le(u1.f, u2.f, &env->spe_status) ? 0 : 4;
343 343 }
344 344 static always_inline int _do_efststeq (uint32_t op1, uint32_t op2)
345 345 {
346 346 CPU_FloatU u1, u2;
347 347 u1.l = op1;
348 348 u2.l = op2;
349   - return float32_eq(u1.f, u2.f, &env->spe_status) ? 1 : 0;
  349 + return float32_eq(u1.f, u2.f, &env->spe_status) ? 4 : 0;
350 350 }
351 351 /* Double precision floating-point helpers */
352 352 static always_inline int _do_efdtstlt (uint64_t op1, uint64_t op2)
... ... @@ -354,20 +354,20 @@ static always_inline int _do_efdtstlt (uint64_t op1, uint64_t op2)
354 354 CPU_DoubleU u1, u2;
355 355 u1.ll = op1;
356 356 u2.ll = op2;
357   - return float64_lt(u1.d, u2.d, &env->spe_status) ? 1 : 0;
  357 + return float64_lt(u1.d, u2.d, &env->spe_status) ? 4 : 0;
358 358 }
359 359 static always_inline int _do_efdtstgt (uint64_t op1, uint64_t op2)
360 360 {
361 361 CPU_DoubleU u1, u2;
362 362 u1.ll = op1;
363 363 u2.ll = op2;
364   - return float64_le(u1.d, u2.d, &env->spe_status) ? 0 : 1;
  364 + return float64_le(u1.d, u2.d, &env->spe_status) ? 0 : 4;
365 365 }
366 366 static always_inline int _do_efdtsteq (uint64_t op1, uint64_t op2)
367 367 {
368 368 CPU_DoubleU u1, u2;
369 369 u1.ll = op1;
370 370 u2.ll = op2;
371   - return float64_eq(u1.d, u2.d, &env->spe_status) ? 1 : 0;
  371 + return float64_eq(u1.d, u2.d, &env->spe_status) ? 4 : 0;
372 372 }
373 373 #endif
... ...