From 44f0cea6ca8914f52c834d53ae5f0c59fd9e2436 Mon Sep 17 00:00:00 2001 From: David Given Date: Mon, 31 Oct 2016 19:55:16 +0100 Subject: [PATCH] Also use fmadd for single-precision floats. --- mach/powerpc/mcg/table | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/mach/powerpc/mcg/table b/mach/powerpc/mcg/table index 159d0332b..6a581e3df 100644 --- a/mach/powerpc/mcg/table +++ b/mach/powerpc/mcg/table @@ -719,6 +719,14 @@ PATTERNS emit "fmadd %out, %m1, %m2, %m3" 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) emit "fneg %out, %left" cost 4;