Encoding:

MSA

011110

010

df

wt

ws

wd

3R

010100

6

3

2

5

5

5

6

Format:

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

Purpose:

Vector Pack Even

Vector even elements copy.

Description:

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.

Restrictions:

No data-dependent exceptions are possible.

Operation:

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

Exceptions:

Reserved Instruction Exception, MSA Disabled Exception.