[all-commits] [llvm/llvm-project] 98c372: [AArch64][SVE][InstCombine] Canonicalize aarch64_s...

Usman Nadeem via All-commits all-commits at lists.llvm.org
Fri Sep 10 12:53:17 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 98c37247d81dfc967ecc49eee7a15612b6510f67
      https://github.com/llvm/llvm-project/commit/98c37247d81dfc967ecc49eee7a15612b6510f67
  Author: Usman Nadeem <mnadeem at quicinc.com>
  Date:   2021-09-10 (Fri, 10 Sep 2021)

  Changed paths:
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abd.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acge.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acgt.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acle.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_aclt.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_add.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_and.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_asr.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfdot.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalb.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalt.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bic.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpeq.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpge.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpgt.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmple.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmplt.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpne.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpuo.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_div.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_divr.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dot.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_eor.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsl.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsr.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mad.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_max.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxnm.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_min.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minnm.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mla.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mls.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_msb.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mul.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulh.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulx.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmad.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmla.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmls.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmsb.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orr.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qadd.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qsub.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_scale.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sub.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_subr.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sudot.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_usdot.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aba.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlbt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bcax.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bdep.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bext.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bgrp.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl1n.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl2n.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eor3.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eorbt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eortb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hadd.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsub.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsubr.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nbsl.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmul.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb_128.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt_128.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qadd.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalbt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslbt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmulh.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlah.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlsh.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmulh.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshl.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshl.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsub.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsubr.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rhadd.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshl.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sqadd.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublbt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subltb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwb.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwt.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_uqadd.c
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul-idempotency.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul-idempotency.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-dup.ll

  Log Message:
  -----------
  [AArch64][SVE][InstCombine] Canonicalize aarch64_sve_dup_x intrinsic to IR splat operation

Differential Revision: https://reviews.llvm.org/D109118

Change-Id: I47adc1984a54bea02bf5a0a767b765afe7e16aa3




More information about the All-commits mailing list