MSA 011110 |
010 |
df |
wt |
ws |
wd |
3R 010100 |
6 |
3 |
2 |
5 |
5 |
5 |
6 |
PCKEV.df |
Vector Pack Even | |
PCKEV.B wd,ws,wt |
MSA |
Vector Pack Even |
PCKEV.H wd,ws,wt |
MSA |
Vector Pack Even |
PCKEV.W wd,ws,wt |
MSA |
Vector Pack Even |
PCKEV.D wd,ws,wt |
MSA |
Vector Pack Even |
Vector Pack Even
Vector even elements copy.
left_half(wd)[i] = ws[2i]; right_half(wd)[i] = wt[2i]
Even elements in vector ws are copied to the left half of vector wd and even elements in vector wt are copied to the right half of vector wd.
The operands and results are values in integer data format df.
No data-dependent exceptions are possible.
PCKEV.B for i in 0 .. WRLEN/16-1 j = 2 * i WR[wd]8i+7+WRLEN/2..8i+WRLEN/2 = WR[ws]8j+7..8j WR[wd]8i+7..8i = WR[wt]8j+7..8j endfor PCKEV.H for i in 0 .. WRLEN/32-1 j = 2 * i WR[wd]16i+15+WRLEN/2..16j+WRLEN/2 = WR[ws]16j+15..16j WR[wd]16i+15..16i = WR[wt]16j+15..16j endfor PCKEV.W for i in 0 .. WRLEN/64-1 j = 2 * i WR[wd]32i+31+WRLEN/2..32j+WRLEN/2 = WR[ws]32j+31..32j WR[wd]32i+31..32i = WR[wt]32j+31..32j endfor PCKEV.D for i in 0 .. WRLEN/128-1 j = 2 * i WR[wd]64i+63+WRLEN/2..64j+WRLEN/2 = WR[ws]64j+63..64j WR[wd]64i+63..64i = WR[wt]64j+63..64j endfor
Reserved Instruction Exception, MSA Disabled Exception.