Commit cb76e138d361131379dbb10bd86d5aa853bf0415
1 parent
009a4356
Fixe ARM NEON vrshl.
Signed-off-by: Paul Brook <paul@codesourcery.com>
Showing
1 changed file
with
2 additions
and
2 deletions
target-arm/neon_helper.c
@@ -456,11 +456,11 @@ uint64_t HELPER(neon_shl_s64)(uint64_t valop, uint64_t shiftop) | @@ -456,11 +456,11 @@ uint64_t HELPER(neon_shl_s64)(uint64_t valop, uint64_t shiftop) | ||
456 | if (tmp >= sizeof(src1) * 8) { \ | 456 | if (tmp >= sizeof(src1) * 8) { \ |
457 | dest = 0; \ | 457 | dest = 0; \ |
458 | } else if (tmp < -sizeof(src1) * 8) { \ | 458 | } else if (tmp < -sizeof(src1) * 8) { \ |
459 | - dest >>= sizeof(src1) * 8 - 1; \ | 459 | + dest = src1 >> (sizeof(src1) * 8 - 1); \ |
460 | } else if (tmp == -sizeof(src1) * 8) { \ | 460 | } else if (tmp == -sizeof(src1) * 8) { \ |
461 | dest = src1 >> (tmp - 1); \ | 461 | dest = src1 >> (tmp - 1); \ |
462 | dest++; \ | 462 | dest++; \ |
463 | - src2 >>= 1; \ | 463 | + dest >>= 1; \ |
464 | } else if (tmp < 0) { \ | 464 | } else if (tmp < 0) { \ |
465 | dest = (src1 + (1 << (-1 - tmp))) >> -tmp; \ | 465 | dest = (src1 + (1 << (-1 - tmp))) >> -tmp; \ |
466 | } else { \ | 466 | } else { \ |