diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 510f1bcb1e2..675448ff36f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-03-13 John David Anglin + + * pa.md (vdepi_ior): Don't allow zero length deposit. Likewise for + two unamed patterns. + 2007-03-13 Uros Bizjak * config/i386/i386.opt (mcx16, msahf): New options. diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md index 32276f17f2d..5ea229916f4 100644 --- a/gcc/config/pa/pa.md +++ b/gcc/config/pa/pa.md @@ -6974,7 +6974,7 @@ (match_operand:SI 2 "register_operand" "q"))) (match_operand:SI 3 "register_operand" "0")))] ; accept ...0001...1, can this be generalized? - "exact_log2 (INTVAL (operands[1]) + 1) >= 0" + "exact_log2 (INTVAL (operands[1]) + 1) > 0" "* { int x = INTVAL (operands[1]); @@ -7073,7 +7073,7 @@ (match_operand:DI 2 "register_operand" "q"))) (match_operand:DI 3 "register_operand" "0")))] ; accept ...0001...1, can this be generalized? - "TARGET_64BIT && exact_log2 (INTVAL (operands[1]) + 1) >= 0" + "TARGET_64BIT && exact_log2 (INTVAL (operands[1]) + 1) > 0" "* { int x = INTVAL (operands[1]); @@ -7269,7 +7269,7 @@ (and:SI (ashift:SI (match_operand:SI 1 "register_operand" "r") (match_operand:SI 2 "const_int_operand" "")) (match_operand:SI 3 "const_int_operand" "")))] - "exact_log2 (1 + (INTVAL (operands[3]) >> (INTVAL (operands[2]) & 31))) >= 0" + "exact_log2 (1 + (INTVAL (operands[3]) >> (INTVAL (operands[2]) & 31))) > 0" "* { int cnt = INTVAL (operands[2]) & 31;