Fix latent problem found by Mostafa Hagog.

* config/i386/i386.md (doloop_end_internal): Use nonimmediate_operand
	for operand2.  Add condition that requires register_operand operand2
	before reload.

From-SVN: r78140
This commit is contained in:
James E Wilson 2004-02-20 01:20:33 +00:00 committed by Jim Wilson
parent 325b439bbc
commit e0c34369b8
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2004-02-19 James E Wilson <wilson@specifixinc.com>
* config/i386/i386.md (doloop_end_internal): Use nonimmediate_operand
for operand2. Add condition that requires register_operand operand2
before reload.
2004-02-19 Richard Sandiford <rsandifo@redhat.com>
Maciej W. Rozycki <macro@ds2.pg.gda.pl>

View File

@ -13468,12 +13468,14 @@
(const_int 1))
(label_ref (match_operand 0 "" ""))
(pc)))
(set (match_operand:SI 2 "register_operand" "=1,1,*m*r")
(set (match_operand:SI 2 "nonimmediate_operand" "=1,1,*m*r")
(plus:SI (match_dup 1)
(const_int -1)))
(clobber (match_scratch:SI 3 "=X,X,r"))
(clobber (reg:CC 17))]
"!TARGET_64BIT && TARGET_USE_LOOP"
"!TARGET_64BIT && TARGET_USE_LOOP
&& (reload_in_progress || reload_completed
|| register_operand (operands[2], VOIDmode))"
{
if (which_alternative != 0)
return "#";