On Wed, Jul 07, 2021 at 03:55:44PM -0400, Michael Meissner wrote: > This patch adds support for the VDIVSQ, VDIVUQ, VMODSQ, and VMODUQ > instructions to do 128-bit arithmetic.
> gcc/ > PR target/100809 > * config/rs6000/rs6000.md (udivti3): New insn. > (divti3): New insn. > (umodti3): New insn. > (modti3): New insn. > > gcc/testsuite/ > PR target/100809 > * gcc.target/powerpc/p10-vdivq-vmodq.c: New test. > 2 files changed, 61 insertions(+) > create mode 100644 gcc/testsuite/gcc.target/powerpc/p10-vdivq-vmodq.c > > diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md > index e84d0311cc2..4e53cf28dde 100644 > --- a/gcc/config/rs6000/rs6000.md > +++ b/gcc/config/rs6000/rs6000.md > @@ -3234,6 +3234,14 @@ (define_insn "udiv<mode>3" > [(set_attr "type" "div") > (set_attr "size" "<bits>")]) > > +(define_insn "udivti3" > + [(set (match_operand:TI 0 "altivec_register_operand" "=v") > + (udiv:TI (match_operand:TI 1 "altivec_register_operand" "v") (every eight leading spaces should be tabs -- multiple times here) > --- /dev/null > +++ b/gcc/testsuite/gcc.target/powerpc/p10-vdivq-vmodq.c > @@ -0,0 +1,27 @@ > +/* { dg-require-effective-target lp64 } */ int128, instead. There is nothing here that needs lp64. If there was, that should be commented here, too. Okay for trunk with those fixes. Also okay for all backports. Please make sure it tested on all usual platforms before backporting. Thanks! Segher