Encoding:

MSA

011110

0010

df

wt

ws

wd

3RF

011011

6

4

1

5

5

5

6

Format:

FMUL.df 

Vector Floating-Point Multiplication

FMUL.W wd,ws,wt

MSA

Vector Floating-Point Multiplication

FMUL.D wd,ws,wt

MSA

Vector Floating-Point Multiplication

Purpose:

Vector Floating-Point Multiplication

Vector floating-point multiplication.

Description:

wd[i] = ws[i] * wt[i]

The floating-point elements in vector wt are multiplied by the floating-point elements in vector ws. The result is written to vector wd.

The multiplication operation is defined by the IEEE Standard for Floating-Point Arithmetic 754TM-2008.

The operands and results are values in floating-point data format df.

Restrictions:

Data-dependent exceptions are poss ible as s pecified by the I EEE Standard for Floating-Point Arithmetic 754TM2008.

Operation:

FMUL.W
   for i in 0 .. WRLEN/32-1
      WR[wd]32i+31..32i = MultiplyFP(WR[ws]32i+31..32i, WR[wt]32i+31..32i, 32)
   endfor
FMUL.D
   for i in 0 .. WRLEN/64-1
      WR[wd]64i+63..64i = MultiplyFP(WR[ws]64i+63..64i, WR[wt]64i+63..64i, 64)
   endfor
function MultiplyFP(tt, ts, n)
   /* Implementation defined multiplication operation. */
endfunction MultiplyFP

Exceptions:

Reserved Instruction Exception, MSA Disabled Exception, MSA Floating Point Exception.