aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-03-15 21:41:07 +0000
committerRichard Stallman <rms@gnu.org>1992-03-15 21:41:07 +0000
commitc1472fcdf05fdd38c413ae58c8af394608d3d704 (patch)
treec183c0fed3ead29c7087a01c9955b126674f2131
parent2b5044e0e664411ce98e5bca4c310885304893f8 (diff)
downloadgcc-c1472fcdf05fdd38c413ae58c8af394608d3d704.zip
gcc-c1472fcdf05fdd38c413ae58c8af394608d3d704.tar.gz
gcc-c1472fcdf05fdd38c413ae58c8af394608d3d704.tar.bz2
*** empty log message ***
From-SVN: r494
-rw-r--r--gcc/config/sparc/sparc.md29
1 files changed, 16 insertions, 13 deletions
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index 20cfca8..c43cdb2 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -975,9 +975,12 @@
""
"
{
- if (GET_CODE (operands[2]) == CONST_INT
- && GET_CODE (operands[3]) == CONST_INT
- && INTVAL (operands[2]) / INTVAL (operands[3]) > 32)
+ /* If the size isn't known, don't emit inline code. output_block_move
+ would output code that's much slower than the library function.
+ Also don't output code for large blocks. */
+ if (GET_CODE (operands[2]) != CONST_INT
+ || GET_CODE (operands[3]) != CONST_INT
+ || INTVAL (operands[2]) / INTVAL (operands[3]) > 16)
FAIL;
operands[0] = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
@@ -1414,8 +1417,8 @@
{
rtx op2 = operands[2];
- /* If constant is positive, upper bits zeroed, otherwise unchanged
- * give the assembler a chance to pick the move instruction. */
+ /* If constant is positive, upper bits zeroed, otherwise unchanged.
+ Give the assembler a chance to pick the move instruction. */
if (GET_CODE (op2) == CONST_INT)
{
int sign = INTVAL (op2);
@@ -1472,8 +1475,8 @@
{
rtx op2 = operands[2];
- /* If constant is positive, upper bits zeroed, otherwise unchanged
- /* If constant is positive, upper bits zeroed, otherwise unchanged
+ /* If constant is positive, upper bits zeroed, otherwise unchanged.
+ Give the assembler a chance to pick the move instruction. */
if (GET_CODE (op2) == CONST_INT)
{
int sign = INTVAL (op2);
@@ -1540,8 +1543,8 @@
{
rtx op2 = operands[2];
- /* If constant is positive, upper bits zeroed, otherwise unchanged
- * give the assembler a chance to pick the move instruction. */
+ /* If constant is positive, upper bits zeroed, otherwise unchanged.
+ Give the assembler a chance to pick the move instruction. */
if (GET_CODE (op2) == CONST_INT)
{
int sign = INTVAL (op2);
@@ -1600,8 +1603,8 @@
{
rtx op2 = operands[2];
- /* If constant is positive, upper bits zeroed, otherwise unchanged
- * give the assembler a chance to pick the move instruction. */
+ /* If constant is positive, upper bits zeroed, otherwise unchanged.
+ Give the assembler a chance to pick the move instruction. */
if (GET_CODE (op2) == CONST_INT)
{
int sign = INTVAL (op2);
@@ -1660,8 +1663,8 @@
{
rtx op2 = operands[2];
- /* If constant is postive, upper bits zeroed, otherwise unchanged
- * give the assembler a chance to pick the move instruction. */
+ /* If constant is postive, upper bits zeroed, otherwise unchanged.
+ Give the assembler a chance to pick the move instruction. */
if (GET_CODE (op2) == CONST_INT)
{
int sign = INTVAL (op2);