Commit 937e37cc by Jeffrey A Law Committed by Jeff Law

* regmove.c (optimize_reg_copy_3): Honor TRULY_NOOP_TRUNCATION.

From-SVN: r22977
parent 3aeab437
Sat Oct 10 17:01:42 1998 Jeffrey A Law (law@cygnus.com)
* regmove.c (optimize_reg_copy_3): Honor TRULY_NOOP_TRUNCATION.
Fri Oct 9 22:08:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> Fri Oct 9 22:08:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* fp-bit.c (SFtype): Don't implicitly use int in declaration. * fp-bit.c (SFtype): Don't implicitly use int in declaration.
......
...@@ -552,6 +552,14 @@ optimize_reg_copy_3 (insn, dest, src) ...@@ -552,6 +552,14 @@ optimize_reg_copy_3 (insn, dest, src)
|| GET_CODE (SET_SRC (set)) != MEM || GET_CODE (SET_SRC (set)) != MEM
|| SET_DEST (set) != src_reg) || SET_DEST (set) != src_reg)
return; return;
/* Do not use a SUBREG to truncate from one mode to another if truncation
is not a nop. */
if (GET_MODE_BITSIZE (GET_MODE (src_reg)) <= GET_MODE_BITSIZE (GET_MODE (src))
&& !TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (GET_MODE (src)),
GET_MODE_BITSIZE (GET_MODE (src_reg))))
return;
old_mode = GET_MODE (src_reg); old_mode = GET_MODE (src_reg);
PUT_MODE (src_reg, GET_MODE (src)); PUT_MODE (src_reg, GET_MODE (src));
XEXP (src, 0) = SET_SRC (set); XEXP (src, 0) = SET_SRC (set);
......
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