1. A computer program product for executing a machine instruction in a central processing unit, the computer program product comprising: a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: obtaining, by a processor, a machine instruction for execution, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising: at least one opcode field to provide an opcode, the opcode identifying a load to block boundary operation; a register field to be used to designate a register, the register comprising a first operand; at least one field for locating a second operand in main memory; and a block boundary type indicator to indicate a specified type of block boundary of the second operand; and executing the machine instruction, the execution comprising: loading from a memory block of the second operand a variable amount of data into the first operand while ensuring only data within the memory block of the second operand is being loaded into the first operand, the memory block being of a fixed, predefined size, wherein the loading from the memory block of the second operand starts at a starting address in the memory block of the second operand, the starting address provided by the machine instruction, and wherein the loading ends at or before a determined block boundary of the memory block of the second operand, the determined block boundary being fixed and predefined based on the fixed, predefined size of the memory block and being dynamically determined based on the specified type of block boundary and one or more characteristics of the processor, wherein an address of the second operand is the starting address in memory from which data is to be loaded in the first operand; and determining an ending address at which loading is to stop, wherein the loading stops at the ending address, and wherein the determining the ending address comprises computing the ending address as follows: ending address=miniumum of (starting address+(boundary size−(starting address AND NOT boundary mask)), starting address+register size), wherein the boundary size is the block boundary, boundary mask is equal to 0−boundary size, and register size is a specified length of the register.