From 12baeae36dad3c50bdd28bdc3eceb9726948df2e Mon Sep 17 00:00:00 2001 From: Segher Boessenkool Date: Tue, 5 Nov 2019 18:34:23 +0100 Subject: [PATCH] backport "rs6000: Implement [u]avg3_ceil" * config/rs6000/altivec.md (altivec_vavgu): Rename to... (uavg3_ceil): ... This. (altivec_vavgs): Rename to... (avg3_ceil): ... This. * config/rs6000/rs6000-builtin.def (VAVGUB, VAVGSB, VAVGUH, VAVGSH, VAVGUW, VAVGSW): Adjust. From-SVN: r277857 --- gcc/ChangeLog | 12 ++++++++++++ gcc/config/rs6000/altivec.md | 4 ++-- gcc/config/rs6000/rs6000-builtin.def | 12 ++++++------ 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 47d9b3e66270..4a24d37df06e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,15 @@ +2019-11-05 Segher Boessenkool + + Backport from trunk + 2019-10-24 Segher Boessenkool + + * config/rs6000/altivec.md (altivec_vavgu): Rename to... + (uavg3_ceil): ... This. + (altivec_vavgs): Rename to... + (avg3_ceil): ... This. + * config/rs6000/rs6000-builtin.def (VAVGUB, VAVGSB, VAVGUH, VAVGSH, + VAVGUW, VAVGSW): Adjust. + 2019-11-05 Segher Boessenkool Backport from trunk diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md index 8d535acd4282..654d756647c5 100644 --- a/gcc/config/rs6000/altivec.md +++ b/gcc/config/rs6000/altivec.md @@ -560,7 +560,7 @@ [(set_attr "type" "vecsimple")]) ;; -(define_insn "altivec_vavgu" +(define_insn "uavg3_ceil" [(set (match_operand:VI 0 "register_operand" "=v") (unspec:VI [(match_operand:VI 1 "register_operand" "v") (match_operand:VI 2 "register_operand" "v")] @@ -569,7 +569,7 @@ "vavgu %0,%1,%2" [(set_attr "type" "vecsimple")]) -(define_insn "altivec_vavgs" +(define_insn "avg3_ceil" [(set (match_operand:VI 0 "register_operand" "=v") (unspec:VI [(match_operand:VI 1 "register_operand" "v") (match_operand:VI 2 "register_operand" "v")] diff --git a/gcc/config/rs6000/rs6000-builtin.def b/gcc/config/rs6000/rs6000-builtin.def index 4d4f3b3e7462..0feee7cafca7 100644 --- a/gcc/config/rs6000/rs6000-builtin.def +++ b/gcc/config/rs6000/rs6000-builtin.def @@ -1002,12 +1002,12 @@ BU_ALTIVEC_2 (VADDUWS, "vadduws", CONST, altivec_vadduws) BU_ALTIVEC_2 (VADDSWS, "vaddsws", CONST, altivec_vaddsws) BU_ALTIVEC_2 (VAND, "vand", CONST, andv4si3) BU_ALTIVEC_2 (VANDC, "vandc", CONST, andcv4si3) -BU_ALTIVEC_2 (VAVGUB, "vavgub", CONST, altivec_vavgub) -BU_ALTIVEC_2 (VAVGSB, "vavgsb", CONST, altivec_vavgsb) -BU_ALTIVEC_2 (VAVGUH, "vavguh", CONST, altivec_vavguh) -BU_ALTIVEC_2 (VAVGSH, "vavgsh", CONST, altivec_vavgsh) -BU_ALTIVEC_2 (VAVGUW, "vavguw", CONST, altivec_vavguw) -BU_ALTIVEC_2 (VAVGSW, "vavgsw", CONST, altivec_vavgsw) +BU_ALTIVEC_2 (VAVGUB, "vavgub", CONST, uavgv16qi3_ceil) +BU_ALTIVEC_2 (VAVGSB, "vavgsb", CONST, avgv16qi3_ceil) +BU_ALTIVEC_2 (VAVGUH, "vavguh", CONST, uavgv8hi3_ceil) +BU_ALTIVEC_2 (VAVGSH, "vavgsh", CONST, avgv8hi3_ceil) +BU_ALTIVEC_2 (VAVGUW, "vavguw", CONST, uavgv4si3_ceil) +BU_ALTIVEC_2 (VAVGSW, "vavgsw", CONST, avgv4si3_ceil) BU_ALTIVEC_2 (VCFUX, "vcfux", CONST, altivec_vcfux) BU_ALTIVEC_2 (VCFSX, "vcfsx", CONST, altivec_vcfsx) BU_ALTIVEC_2 (VCMPBFP, "vcmpbfp", CONST, altivec_vcmpbfp) -- 2.47.2