Encoding:

MSA

011110

001

df

rt

ws

wd

3R

010100

6

3

2

5

5

5

6

Format:

SPLAT.df 

GPR Element Splat

SPLAT.B wd,ws[rt]

MSA

GPR Element Splat

SPLAT.H wd,ws[rt]

MSA

GPR Element Splat

SPLAT.W wd,ws[rt]

MSA

GPR Element Splat

SPLAT.D wd,ws[rt]

MSA

GPR Element Splat

Purpose:

GPR Element Splat

GPR selected element replicated in all destination elements.

Description:

wd[i] = ws[rt]

Replicate vector ws element with index given by GPR rt to all elements in vector wd.

GPR rt value is interpreted modulo the number of data format df elements in the destination vector.

The operands and results are values in data format df.

Restrictions:

No data-dependent exceptions are possible.

Operation:

SPLAT.B
   n = GPR[rt] % (WRLEN/8)
   for i in 0 .. WRLEN/8-1
      WR[wd]8i+7..8i = WR[ws]8n+7..8n
   endfor
SPLAT.H
   n = GPR[rt] % (WRLEN/16)
   for i in 0 .. WRLEN/16-1
      WR[wd]16i+15..16i = WR[ws]16n+15..16n
   endfor
SPLAT.W
   n = GPR[rt] % (WRLEN/32)
   for i in 0 .. WRLEN/32-1
      WR[wd]32i+31..32i = WR[ws]32n+31..32n
   endfor
SPLAT.D
   n = GPR[rt] % (WRLEN/64)
   for i in 0 .. WRLEN/64-1
      WR[wd]64i+63..64i = WR[ws]64n+63..64n
   endfor

Exceptions:

Reserved Instruction Exception, MSA Disabled Exception.