From 1f5e4e12ca6167ff7ff7da5cfb192387f06ce86b Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Wed, 16 Jun 2021 13:14:48 +0100 Subject: [PATCH] use fnmsubs instead of fmadds followed by fsubs --- .../mp3/mp3_0_apply_window_float_basicsv.s | 21 +++++-------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/media/audio/mp3/mp3_0_apply_window_float_basicsv.s b/media/audio/mp3/mp3_0_apply_window_float_basicsv.s index 2a9bdaf4..2f4902b7 100644 --- a/media/audio/mp3/mp3_0_apply_window_float_basicsv.s +++ b/media/audio/mp3/mp3_0_apply_window_float_basicsv.s @@ -27,8 +27,6 @@ # floats .set sum, 0 .set sum2, 1 -.set tmpsum, 2 -.set tmpsum2, 3 .machine power9 .abiversion 2 @@ -62,14 +60,12 @@ ff_mpadsp_apply_window_float_sv: # sv.lfs/els fv1.v, 256(p) # sv.fmadds/mr sum, fv0.v, fv1.v, sum - lfiwax tmpsum, 0, 9 # zero it addi p, buf, 192 addi win, win, 128 # SUM8(MLSS, sum, w + 32, p) # sv.lfs/els fv0.v, 256(win) # sv.lfs/els fv1.v, 256(p) - # sv.fmadds/mr tmpsum, fv0.v, fv1.v, tmpsum - fsubs sum, sum, tmpsum + # sv.fnmsubs/mr sum, fv0.v, fv1.v, sum subi win, win, 128 stfs sum, 0(out) @@ -91,13 +87,10 @@ ff_mpadsp_apply_window_float_sv: # sv.lfs/els fv1.v, 256(win) # sv.lfs/els fv2.v, 256(win2) # sv.fmadds/mr sum, fv0.v, fv1.v, sum - # sv.fmadds/mr sum2, fv0.v, fv2.v, sum2 - fneg sum2, sum2 + # sv.fnmsubs/mr sum2, fv0.v, fv2.v, sum2 addi p, buf, 192 subf p, i, p - lfiwax tmpsum, 0, 9 # zero it - lfiwax tmpsum2, 0, 9 # zero it addi win, win, 128 # sv.addi win2, win2, 128 @@ -105,10 +98,8 @@ ff_mpadsp_apply_window_float_sv: # sv.lfs/els fv0.v, 256(p) # sv.lfs/els fv1.v, 256(win) # sv.lfs/els fv2.v, 256(win2) - # sv.fmadds/mr tmpsum, fv0.v, fv1.v, tmpsum - # sv.fmadds/mr tmpsum2, fv0.v, fv2.v, tmpsum2 - fsubs sum, sum, tmpsum - fsubs sum2, sum2, tmpsum2 + # sv.fnmsubs/mr sum, fv0.v, fv1.v, sum + # sv.fnmsubs/mr sum2, fv0.v, fv2.v, sum2 subi win, win, 128 # sv.addi win2, win2, -128 @@ -125,13 +116,11 @@ ff_mpadsp_apply_window_float_sv: addi p, buf, 128 addi win, win, 128 - lfiwax tmpsum, 0, 9 # zero it lfiwax sum, 0, 9 # zero it # SUM8(MLSS, sum, w + 32, p) # sv.lfs/els fv0.v, 256(win) # sv.lfs/els fv1.v, 256(p) - # sv.fmadds/mr tmpsum, fv0.v, fv1.v, tmpsum - fsubs sum, sum, tmpsum + # sv.fnmsubs/mr sum, fv0.v, fv1.v, sum stfs sum, 0(out) -- 2.30.2