Paul Edwards wrote: > 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?
Well, there isn't really anything special about const0_rtx. *Any* CONST_INT that shows up as second operand to the movdi pattern must be emitted into an 8 byte literal at this point. You can do that inline; but the more usual way would be to define an operand print format that encodes the fact that a 64-bit operand is requested. In fact, looking at the i370.h PRINT_OPERAND, there already seems to be such a format: 'W'. (Maybe not quite; since 'W' sign-extends a 32-bit operand to 64-bit. But since 'W' doesn't seem to be used anyway, maybe this can be changed.) Bye, Ulrich -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE ulrich.weig...@de.ibm.com