MSA 011110 |
0000 |
df/n |
ws |
wd |
ELM 011001 |
6 |
4 |
6 |
5 |
5 |
6 |
SLDI.df |
Immediate Columns Slide | |
SLDI.B wd,ws[n] |
MSA |
Immediate Columns Slide |
SLDI.H wd,ws[n] |
MSA |
Immediate Columns Slide |
SLDI.W wd,ws[n] |
MSA |
Immediate Columns Slide |
SLDI.D wd,ws[n] |
MSA |
Immediate Columns Slide |
Immediate Columns Slide
Immediate number of columns to slide left source array.
wd[i] = slide(wd, ws, n)
Vector registers wd and ws contain 2-dimensional byte arrays (rectangles) stored row-wise, with as many rows as bytes in integer data format df.
The slide instructions manipulate the content of vector registers wd and ws as byte elements, with data format df indicating the 2-dimensional byte array layout.
The two source rectangles wd and ws are concatenated horizontally in the order they appear in the syntax, i.e. first wd and then ws. Place a new destination rectangle over ws and then slide it to the left over the concatenation of wd and ws by n columns. The result is written to vector wd.
No data-dependent exceptions are possible.
SLDI.B v = WR[wd] || WR[ws] for i in 0 .. WRLEN/8-1 j = i + n WR[wd]8i+7..8i = v8j+7..8j endfor SLDI.H s = WRLEN/2 for k in 0, 1 t = s * k v = (WR[wd]t+s-1..t || WR[ws]t+s-1..t) for i in 0 .. s/8-1 j = i + n WR[wd]t+8i+7..t+8i = v8j+7..8j endfor endfor SLDI.W s = WRLEN/4 for k in 0, .., 3 t = s * k v = (WR[wd]t+s-1..t || WR[ws]t+s-1..t) for i in 0 .. s/8-1 j = i + n WR[wd]t+8i+7..t+8i = v8j+7..8j endfor endfor SLDI.D s = WRLEN/8 for k in 0, .., 7 t = s * k v = (WR[wd]t+s-1..t || WR[ws]t+s-1..t) for i in 0 .. s/8-1 j = i + n WR[wd]t+8i+7..t+8i = v8j+7..8j endfor endfor
Reserved Instruction Exception, MSA Disabled Exception.