Also use fmadd for single-precision floats.

This commit is contained in:
David Given 2016-10-31 19:55:16 +01:00
parent 064d1a5d5d
commit 44f0cea6ca

View file

@ -719,6 +719,14 @@ PATTERNS
emit "fmadd %out, %m1, %m2, %m3" emit "fmadd %out, %m1, %m2, %m3"
cost 4; cost 4;
out:(float)reg = ADDF.F(MULF.D(m1:(float)reg, m2:(float)reg), m3:(float)reg)
emit "fmadds %out, %m1, %m2, %m3"
cost 4;
out:(float)reg = ADDF.F(m3:(float)reg, MULF.D(m1:(float)reg, m2:(float)reg))
emit "fmadds %out, %m1, %m2, %m3"
cost 4;
out:(float)reg = NEGF.F(left:(float)reg) out:(float)reg = NEGF.F(left:(float)reg)
emit "fneg %out, %left" emit "fneg %out, %left"
cost 4; cost 4;