Adding this code:
C:\devel\gcc\gcc\config\i370>cvs diff i370.md
Index: i370.md
===================================================================
RCS file: c:\cvsroot/gcc/gcc/config/i370/i370.md,v
retrieving revision 1.21
diff -r1.21 i370.md
845a846,851
if (operands[1] == const0_rtx)
{
CC_STATUS_INIT;
mvs_check_page (0, 6, 8);
return \"MVC %O0(8,%R0),=XL8'00'\";
}
to the i370.md definition:
;
; movdi instruction pattern(s).
;
(define_insn ""
[(set (match_operand:DI 0 "nonimmediate_operand" "=d,m,S")
(match_operand:DI 1 "general_operand" "g,d,SF"))]
;; [(set (match_operand:DI 0 "r_or_s_operand" "=dS,m")
;; (match_operand:DI 1 "r_or_s_operand" "diS*fF,d*fF"))]
"TARGET_CHAR_INSTRUCTIONS"
"*
{
check_label_emit ();
if (REG_P (operands[0]))
{
if (FP_REG_P (operands[1]))
{
mvs_check_page (0, 8, 0);
return \"STD %1,\" CONVLO \"(,13)\;LM %0,%N0,\" CONVLO \"(13)\";
}
if (REG_P (operands[1]))
{
mvs_check_page (0, 4, 0);
return \"LR %0,%1\;LR %N0,%N1\";
}
if (operands[1] == const0_rtx)
{
CC_STATUS_INIT;
mvs_check_page (0, 4, 0);
return \"SLR %0,%0\;SLR %N0,%N0\";
}
if (GET_CODE (operands[1]) == CONST_INT
&& (unsigned) INTVAL (operands[1]) < 4096)
{
CC_STATUS_INIT;
mvs_check_page (0, 6, 0);
return \"SLR %0,%0\;LA %N0,%c1(0,0)\";
}
if (GET_CODE (operands[1]) == CONST_INT)
{
CC_STATUS_SET (operands[0], operands[1]);
mvs_check_page (0, 8, 0);
return \"L %0,%1\;SRDA %0,32\";
}
if (GET_CODE (operands[1]) == CONST_DOUBLE)
{
mvs_check_page (0, 6, 8);
return \"LM %0,%N0,%1\";
}
mvs_check_page (0, 4, 0);
/*return \"LM %0,%N0,%1\";*/
return \"L %0,%1\;L %N0,4+%1\";
}
else if (FP_REG_P (operands[1]))
{
mvs_check_page (0, 4, 0);
return \"STD %1,%0\";
}
else if (REG_P (operands[1]))
{
mvs_check_page (0, 4, 0);
/*return \"STM %1,%N1,%0\"; */
return \"ST %1,%0\;ST %N1,4+%0\";
}
if (operands[1] == const0_rtx)
{
CC_STATUS_INIT;
mvs_check_page (0, 6, 8);
return \"MVC %O0(8,%R0),=XL8'00'\";
}
mvs_check_page (0, 6, 8);
return \"MVC %O0(8,%R0),%1\";
}"
[(set_attr "length" "8")]
)
forces it to use XL8'00' instead of the default F'0' and that
seems to work. Does that seem like a proper solution to
you?
Unfortunately there's still another problem I've noticed.
I'll put that in another message after I've investigated it.
BFN. Paul.