An apparatus comprising: one or more bounded pointer storage elements, each to store a pointer having associated range information indicative of an allowable range of addresses for said pointer; a cache comprising a plurality of entries each to store data associated with a corresponding address; and processing circuitry to: in response to a first type of instruction identifying a given bounded pointer storage element, perform a predetermined operation on data, stored in the cache, corresponding to each address within a target range comprising a plurality of addresses determined at least in part on the basis of the range information associated with the pointer stored in the given bounded pointer storage element, characterized by: said first type of instruction comprises a cache maintenance instruction for which the predetermined operation comprises performing a cache maintenance operation on selected entries for which the corresponding address is within the target range of addresses; and in response to a second type of instruction, different from the first type of instruction, identifying a specified bounded pointer storage element: perform an operation on the pointer stored in said specified bounded pointer storage element, the operation being one of an instruction for setting the pointer stored in said specified bounded pointer storage element and an instruction for accessing a data value from the address determined using the pointer stored in said specified bounded pointer storage element; and trigger an error condition when an address determined using the pointer stored in said specified bounded pointer storage element is outside the allowable range of addresses indicated by the range information for the specified bounded pointer storage element. one or more bounded pointer storage elements, each to store a pointer having associated range information indicative of an allowable range of addresses for said pointer; a cache comprising a plurality of entries each to store data associated with a corresponding address; and processing circuitry to: in response to a first type of instruction identifying a given bounded pointer storage element, perform a predetermined operation on data, stored in the cache, corresponding to each address within a target range comprising a plurality of addresses determined at least in part on the basis of the range information associated with the pointer stored in the given bounded pointer storage element, characterized by: said first type of instruction comprises a cache maintenance instruction for which the predetermined operation comprises performing a cache maintenance operation on selected entries for which the corresponding address is within the target range of addresses; and in response to a second type of instruction, different from the first type of instruction, identifying a specified bounded pointer storage element: perform an operation on the pointer stored in said specified bounded pointer storage element, the operation being one of an instruction for setting the pointer stored in said specified bounded pointer storage element and an instruction for accessing a data value from the address determined using the pointer stored in said specified bounded pointer storage element; and trigger an error condition when an address determined using the pointer stored in said specified bounded pointer storage element is outside the allowable range of addresses indicated by the range information for the specified bounded pointer storage element. said first type of instruction comprises a cache maintenance instruction for which the predetermined operation comprises performing a cache maintenance operation on selected entries for which the corresponding address is within the target range of addresses; and in response to a second type of instruction, different from the first type of instruction, identifying a specified bounded pointer storage element: perform an operation on the pointer stored in said specified bounded pointer storage element, the operation being one of an instruction for setting the pointer stored in said specified bounded pointer storage element and an instruction for accessing a data value from the address determined using the pointer stored in said specified bounded pointer storage element; and trigger an error condition when an address determined using the pointer stored in said specified bounded pointer storage element is outside the allowable range of addresses indicated by the range information for the specified bounded pointer storage element. perform an operation on the pointer stored in said specified bounded pointer storage element, the operation being one of an instruction for setting the pointer stored in said specified bounded pointer storage element and an instruction for accessing a data value from the address determined using the pointer stored in said specified bounded pointer storage element; and trigger an error condition when an address determined using the pointer stored in said specified bounded pointer storage element is outside the allowable range of addresses indicated by the range information for the specified bounded pointer storage element.