Commit 24092242 by Richard Kenner

(const_method): Do not synthesize long constants with byte or word

operations with TARGET_5200.

From-SVN: r12181
parent 106bee4b
......@@ -1066,6 +1066,11 @@ const_method (constant)
i = INTVAL (constant);
if (USE_MOVQ (i))
return MOVQ;
/* The Coldfire doesn't have byte or word operations. */
/* FIXME: This may not be useful for the m68060 either */
if (!TARGET_5200)
{
/* if -256 < N < 256 but N is not in range for a moveq
N^ff will be, so use moveq #N^ff, dreg; not.b dreg. */
if (USE_MOVQ (i ^ 0xff))
......@@ -1080,6 +1085,7 @@ const_method (constant)
u = i;
if (USE_MOVQ ((u >> 16) | (u << 16)))
return SWAP;
}
/* Otherwise, use move.l */
return MOVL;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment