- Add missing mask_operand patch.

From-SVN: r49984
This commit is contained in:
Alan Modra 2002-02-23 02:11:07 +00:00 committed by David Edelsohn
parent e72247f417
commit 57deb3a13b
2 changed files with 6 additions and 0 deletions

View file

@ -9,6 +9,7 @@
Simplify comparison of `low'.
(add_operand): Fix formatting.
(non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
(mask_operand): Disallow mask to wrap in 64-bit mode.
(rs6000_stack_info): Remove redundant test setting push_p.
(output_toc): Fix formatting.
* config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use

View file

@ -1399,6 +1399,11 @@ mask_operand (op, mode)
c = INTVAL (op);
/* Fail in 64-bit mode if the mask wraps around because the upper
32-bits of the mask will all be 1s, contrary to GCC's internal view. */
if (TARGET_POWERPC64 && (c & 0x80000001) == 0x80000001)
return 0;
/* We don't change the number of transitions by inverting,
so make sure we start with the LS bit zero. */
if (c & 1)