pa.md (vdepi_ior): Don't allow zero length deposit.

* pa.md (vdepi_ior): Don't allow zero length deposit.  Likewise for
	two unamed patterns.

From-SVN: r122885
This commit is contained in:
John David Anglin 2007-03-13 23:09:08 +00:00 committed by John David Anglin
parent 5be6cb59b3
commit de94a581a9
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2007-03-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa.md (vdepi_ior): Don't allow zero length deposit. Likewise for
two unamed patterns.
2007-03-13 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.opt (mcx16, msahf): New options.

View File

@ -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;