The problem is not referencing data with the instruction cache line, it is modifying data. A line (256 bytes) can be in both the I-cache and D-cache as long as it is not modified.
There can be a savings in the total number of cache lines used if the code area is aligned on a 256-byte boundary and the literals and constants are similarly aligned. But any performance improvement from that effort would only be seen in a heavily loaded system and it would be impossible to measure with everything else going on. David Bond On Tue, 5 Apr 2011 15:37:47 +0100, Mike Kerford-Byrnes wrote: >Just a thought, impossible to prove or disprove without sight of the code. > >If the Assembler references (and modifies) data from within 256 bytes of the >instruction on the latest IBM z-Gizmos, does it not take a cache line hit or >some such? And does that not cripple the instruction execution performance? > > >Of late, I have been instinctively inserting a 256-byte "filler" between the >last instruction and the LTORG. In my test environment it makes not a jot >of difference, but on the big boxes.. Well it does no harm.