357 |
357 |
358 inline void Assembler::fmadd(FloatRegisterImpl::Width w, FloatRegister s1, FloatRegister s2, FloatRegister s3, FloatRegister d) { |
358 inline void Assembler::fmadd(FloatRegisterImpl::Width w, FloatRegister s1, FloatRegister s2, FloatRegister s3, FloatRegister d) { |
359 fmaf_only(); |
359 fmaf_only(); |
360 emit_int32(op(arith_op) | fd(d, w) | op3(stpartialf_op3) | fs1(s1, w) | fs3(s3, w) | op5(w) | fs2(s2, w)); |
360 emit_int32(op(arith_op) | fd(d, w) | op3(stpartialf_op3) | fs1(s1, w) | fs3(s3, w) | op5(w) | fs2(s2, w)); |
361 } |
361 } |
|
362 inline void Assembler::fmsub(FloatRegisterImpl::Width w, FloatRegister s1, FloatRegister s2, FloatRegister s3, FloatRegister d) { |
|
363 fmaf_only(); |
|
364 emit_int32(op(arith_op) | fd(d, w) | op3(stpartialf_op3) | fs1(s1, w) | fs3(s3, w) | op5(0x4 + w) | fs2(s2, w)); |
|
365 } |
|
366 |
|
367 inline void Assembler::fnmadd(FloatRegisterImpl::Width w, FloatRegister s1, FloatRegister s2, FloatRegister s3, FloatRegister d) { |
|
368 fmaf_only(); |
|
369 emit_int32(op(arith_op) | fd(d, w) | op3(stpartialf_op3) | fs1(s1, w) | fs3(s3, w) | op5(0xc + w) | fs2(s2, w)); |
|
370 } |
|
371 inline void Assembler::fnmsub(FloatRegisterImpl::Width w, FloatRegister s1, FloatRegister s2, FloatRegister s3, FloatRegister d) { |
|
372 fmaf_only(); |
|
373 emit_int32(op(arith_op) | fd(d, w) | op3(stpartialf_op3) | fs1(s1, w) | fs3(s3, w) | op5(0x8 + w) | fs2(s2, w)); |
|
374 } |
362 |
375 |
363 inline void Assembler::flush(Register s1, Register s2) { |
376 inline void Assembler::flush(Register s1, Register s2) { |
364 emit_int32(op(arith_op) | op3(flush_op3) | rs1(s1) | rs2(s2)); |
377 emit_int32(op(arith_op) | op3(flush_op3) | rs1(s1) | rs2(s2)); |
365 } |
378 } |
366 inline void Assembler::flush(Register s1, int simm13a) { |
379 inline void Assembler::flush(Register s1, int simm13a) { |