Message ID | 20231205022948.504790-1-hongyu.wang@intel.com |
---|---|
Headers | show |
Series | Support Intel APX NDD | expand |
On Tue, Dec 5, 2023 at 10:32 AM Hongyu Wang <hongyu.wang@intel.com> wrote: > > Hi, > > APX NDD patches have been posted at > https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636604.html > > Thanks to Hongtao's review, the V2 patch adds support of zext sematic with > memory input as NDD by default clear upper bits of dest for any operand size. > > Also we support TImode shift with new split helper functions, which allows NDD > form split but still restric the memory src usage as in post-reload splitter > the register number is restricted, and no new register can be used for > shld/shrd. > > Also fixed several typo/formatting/redundant code. Patches LGTM, Please wait a few more days before committing incase other folks have comments. > > Bootstrapped/regtested on x86_64-pc-linux-gnu{-m32,} and sde. > > OK for trunk? > > Hongyu Wang (8): > [APX NDD] Restrict TImode register usage when NDD enabled > [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 | 40 +- > gcc/config/i386/i386.md | 2323 +++++++++++------ > 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, 2149 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 >