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.