- Add missing mask_operand patch.
From-SVN: r49984
This commit is contained in:
parent
e72247f417
commit
57deb3a13b
2 changed files with 6 additions and 0 deletions
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue