This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] for PR 27907


Hello,

force_operand ICEs on FLOAT_EXTEND (and probably also FLOAT_TRUNCATE),
since it uses expand_simple_unop for them, but there is no optab for
them.  This patch makes force_operand use convert_move for them,
similarly to the other conversions.

Bootstrapped & regtested on ppc-linux.  I could only verify that the ICE
is fixed from the crosscompiler to alpha.

Zdenek

	PR rtl-optimization/27907
	* expr.c (force_operand): Use convert_move to handle FLOAT_EXTEND and
	FLOAT_TRUNCATE.

Index: expr.c
===================================================================
*** expr.c	(revision 115691)
--- expr.c	(working copy)
*************** force_operand (rtx value, rtx target)
*** 6024,6029 ****
--- 6024,6031 ----
  	case ZERO_EXTEND:
  	case SIGN_EXTEND:
  	case TRUNCATE:
+ 	case FLOAT_EXTEND:
+ 	case FLOAT_TRUNCATE:
  	  convert_move (target, op1, code == ZERO_EXTEND);
  	  return target;
  


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]