|
From: Nicholas N. <n.n...@gm...> - 2012-05-21 23:25:14
|
On Mon, May 21, 2012 at 7:22 AM, Julian Seward <js...@ac...> wrote: > > I recently added some AVX support to V, and as a result added a new type > of 32-byte values (Ity_V256) to IR. Loads and stores of such values > cause Cachegrind and Callgrind to assert, because the size (32 bytes) > is larger than MIN_LINE_SIZE, which is 16. > > As they currently are, both tools refuse to process memory accesses > bigger than 16, on the basis that the minimum possible line size is 16, > and so a 16 byte access could access 2 adjacent lines, which is a > situation they are prepared to handle. But not 3 lines, which is a > possible case for a 32 byte access w/ 16 byte lines (something for > which I'm sure no hardware actually exists). Can we model the 32-byte accesses correctly and just assert if the 3 line case occurs? (I wrote that simulation code so long ago that I don't have any additional insight compared to someone looking at it afresh...) Nick |