On Wed, Dec 6, 2023 at 9:08 AM Hongyu Wang <hongyu.w...@intel.com> wrote: > > Hi, > > Following up the discussion of V2 patches in > https://gcc.gnu.org/pipermail/gcc-patches/2023-December/639368.html, > this patch series add early clobber for all TImode NDD alternatives > to avoid any potential overlapping between dest register and src > register/memory. Also use get_attr_isa (insn) == ISA_APX_NDD instead of > checking alternative at asm output stage. > > Bootstrapped & regtested on x86_64-pc-linux-gnu{-m32,} and sde. > > Ok for master?
LGTM, but Hongtao should have the final approval here. Thanks, Uros. > > Hongyu Wang (7): > [APX NDD] Disable seg_prefixed memory usage for NDD add > [APX NDD] Support APX NDD for left shift insns > [APX NDD] Support APX NDD for right shift insns > [APX NDD] Support APX NDD for rotate insns > [APX NDD] Support APX NDD for shld/shrd insns > [APX NDD] Support APX NDD for cmove insns > [APX NDD] Support TImode shift for NDD > > Kong Lingling (9): > [APX NDD] Support Intel APX NDD for legacy add insn > [APX NDD] Support APX NDD for optimization patterns of add > [APX NDD] Support APX NDD for adc insns > [APX NDD] Support APX NDD for sub insns > [APX NDD] Support APX NDD for sbb insn > [APX NDD] Support APX NDD for neg insn > [APX NDD] Support APX NDD for not insn > [APX NDD] Support APX NDD for and insn > [APX NDD] Support APX NDD for or/xor insn > > gcc/config/i386/constraints.md | 5 + > gcc/config/i386/i386-expand.cc | 164 +- > gcc/config/i386/i386-options.cc | 2 + > gcc/config/i386/i386-protos.h | 16 +- > gcc/config/i386/i386.cc | 30 +- > gcc/config/i386/i386.md | 2325 +++++++++++------ > gcc/testsuite/gcc.target/i386/apx-ndd-adc.c | 15 + > gcc/testsuite/gcc.target/i386/apx-ndd-cmov.c | 16 + > gcc/testsuite/gcc.target/i386/apx-ndd-sbb.c | 6 + > .../gcc.target/i386/apx-ndd-shld-shrd.c | 24 + > .../gcc.target/i386/apx-ndd-ti-shift.c | 91 + > gcc/testsuite/gcc.target/i386/apx-ndd.c | 202 ++ > 12 files changed, 2141 insertions(+), 755 deletions(-) > create mode 100644 gcc/testsuite/gcc.target/i386/apx-ndd-adc.c > create mode 100644 gcc/testsuite/gcc.target/i386/apx-ndd-cmov.c > create mode 100644 gcc/testsuite/gcc.target/i386/apx-ndd-sbb.c > create mode 100644 gcc/testsuite/gcc.target/i386/apx-ndd-shld-shrd.c > create mode 100644 gcc/testsuite/gcc.target/i386/apx-ndd-ti-shift.c > create mode 100644 gcc/testsuite/gcc.target/i386/apx-ndd.c > > -- > 2.31.1 >