Definition
In the cited PATARA RISC-V extension work, a branch-limiting test is an instruction test affected by the limited destination target address range of conditional branch instructions, given as ±4 KiB. In these tests, only a limited number of instructions can be placed between the modification operation and the restoring operation.
The paper gives tests such as branch on equal as examples: the conditional branch appears in the modification operation, while the corresponding branch target lies in the restoring operation.
Handling in PATARA
PATARA treats branch-limiting tests as a special case during interleaving. After such a test is detected in the stack of interleaving instructions, the framework counts assembly lines for each following test case. If the branch limit is reached, PATARA splits the stack into two sub-stacks.
The first sub-stack is executed normally, meaning its modification and restoring operations are generated. Its result should therefore match the initial data. That result is then passed to the second sub-stack. PATARA repeats the same detection-and-splitting process for the second sub-stack until all instructions have been divided into sub-stacks.
Role in the framework
This mechanism was described as the second RISC-V-specific extension added in the PATARA framework. It allows PATARA to test long interleaved instruction sequences despite branch-distance constraints, and the overall length of the interleaving tests is configurable in the framework.