mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-19 16:30:04 +08:00
recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
* recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'. (constrain_operands): Likewise. * regclass.c (record_reg_classes): Likewise. * reload.c (find_reloads): Likewise. * doc/md.texi: Likewise. From-SVN: r55689
This commit is contained in:
parent
13fd931e49
commit
bf7cd75401
@ -1,4 +1,10 @@
|
||||
Tue Jul 23 21:02:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
|
||||
Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
|
||||
|
||||
* recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
|
||||
(constrain_operands): Likewise.
|
||||
* regclass.c (record_reg_classes): Likewise.
|
||||
* reload.c (find_reloads): Likewise.
|
||||
* doc/md.texi: Likewise.
|
||||
|
||||
* reload.c (find_reloads_toplev): Use simplify_gen_subreg.
|
||||
* simplify-rtx.c (simplify_subreg): When converting to a non-int
|
||||
|
@ -845,8 +845,8 @@ that of the host machine (on which the compiler is running).
|
||||
|
||||
@cindex @samp{F} in constraint
|
||||
@item @samp{F}
|
||||
An immediate floating operand (expression code @code{const_double}) is
|
||||
allowed.
|
||||
An immediate floating operand (expression code @code{const_double} or
|
||||
@code{const_vector}) is allowed.
|
||||
|
||||
@cindex @samp{G} in constraint
|
||||
@cindex @samp{H} in constraint
|
||||
|
@ -1745,7 +1745,9 @@ asm_operand_ok (op, constraint)
|
||||
|
||||
case 'E':
|
||||
case 'F':
|
||||
if (GET_CODE (op) == CONST_DOUBLE)
|
||||
if (GET_CODE (op) == CONST_DOUBLE
|
||||
|| (GET_CODE (op) == CONST_VECTOR
|
||||
&& GET_MODE_CLASS (GET_MODE (op)) == MODE_VECTOR_FLOAT))
|
||||
return 1;
|
||||
break;
|
||||
|
||||
@ -2513,7 +2515,9 @@ constrain_operands (strict)
|
||||
|
||||
case 'E':
|
||||
case 'F':
|
||||
if (GET_CODE (op) == CONST_DOUBLE)
|
||||
if (GET_CODE (op) == CONST_DOUBLE
|
||||
|| (GET_CODE (op) == CONST_VECTOR
|
||||
&& GET_MODE_CLASS (GET_MODE (op)) == MODE_VECTOR_FLOAT))
|
||||
win = 1;
|
||||
break;
|
||||
|
||||
|
@ -1635,7 +1635,10 @@ record_reg_classes (n_alts, n_ops, ops, modes,
|
||||
|
||||
case 'E':
|
||||
case 'F':
|
||||
if (GET_CODE (op) == CONST_DOUBLE)
|
||||
if (GET_CODE (op) == CONST_DOUBLE
|
||||
|| (GET_CODE (op) == CONST_VECTOR
|
||||
&& (GET_MODE_CLASS (GET_MODE (op))
|
||||
== MODE_VECTOR_FLOAT)))
|
||||
win = 1;
|
||||
break;
|
||||
|
||||
|
@ -3142,7 +3142,10 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
|
||||
|
||||
case 'E':
|
||||
case 'F':
|
||||
if (GET_CODE (operand) == CONST_DOUBLE)
|
||||
if (GET_CODE (operand) == CONST_DOUBLE
|
||||
|| (GET_CODE (operand) == CONST_VECTOR
|
||||
&& (GET_MODE_CLASS (GET_MODE (operand))
|
||||
== MODE_VECTOR_FLOAT)))
|
||||
win = 1;
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user