| CPC G06F 12/1458 (2013.01) [G06F 9/30036 (2013.01); G06F 9/30038 (2023.08)] | 15 Claims |

|
1. An integrated circuit for executing instructions comprising:
a processor core including a pipeline configured to execute instructions, including gather-scatter memory instructions;
a memory protection circuit configured to check for memory protection violations with a protection granule; and
an index range circuit configured to:
memoize a maximum value of a tuple of indices stored in a vector register of the processor core as the tuple of indices is written to the vector register;
memoize a minimum value of the tuple of indices as the tuple of indices is written to the vector register;
determine a range of addresses for a gather-scatter memory instruction that takes the vector register as a set of indices based on a base address of a vector in memory, the memoized minimum value, and the memoized maximum value; and
check, using the memory protection circuit during a single clock cycle, whether accessing elements of the vector within the range of addresses will cause a memory protection violation.
|