SetLoadDataBoundary
Supported Products
Product |
Supported (√/x) |
|---|---|
√ |
|
√ |
|
x |
|
√ |
|
x |
|
x |
Function Usage
Sets A1/B1 boundary value when Load3D is called.
If the address of the source operand on A1/B1 exceeds the configured boundary when Load3D is processing the source operand, data is read from the start address of A1/B1.
Prototype
1 | __aicore__ inline void SetLoadDataBoundary(uint32_t boundaryValue) |
Parameters
Parameter |
Input/Output |
Meaning |
|---|---|---|
boundaryValue |
Input |
Boundary value. Load3Dv1: The unit is 32 bytes. Load3Dv2: The unit is byte. |
Constraints
- When Load3Dv1 is used, the minimum value of boundaryValue is 16 (unit: 32 bytes). When Load3Dv2 is used, the minimum value of boundaryValue is 1024 (unit: byte).
- If the boundary value is set by using SetLoadDataBoundary and Load3D is used together, the A1/B1 initial address of Load3D must be within the configured boundary.
- If boundaryValue is set to 0, there is no boundary and the entire A1/B1 can be used.
- For details about the operand address alignment requirements, see General Address Alignment Restrictions.
Example
See Example.
Parent topic: Data Movement