[all-commits] [llvm/llvm-project] abd314: [X86] Use GFNI for vXi8 shifts/rotates (#89115)

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Tue May 7 02:29:17 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: abd314938dda1b117f289be5e630e43e68533929
      https://github.com/llvm/llvm-project/commit/abd314938dda1b117f289be5e630e43e68533929
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-07 (Tue, 07 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/fshl-codesize.ll
    M llvm/test/Analysis/CostModel/X86/fshl-latency.ll
    M llvm/test/Analysis/CostModel/X86/fshl-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/fshl.ll
    M llvm/test/Analysis/CostModel/X86/fshr-codesize.ll
    M llvm/test/Analysis/CostModel/X86/fshr-latency.ll
    M llvm/test/Analysis/CostModel/X86/fshr-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/fshr.ll
    M llvm/test/Analysis/CostModel/X86/vshift-ashr-codesize.ll
    M llvm/test/Analysis/CostModel/X86/vshift-ashr-latency.ll
    M llvm/test/Analysis/CostModel/X86/vshift-ashr-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/vshift-lshr-codesize.ll
    M llvm/test/Analysis/CostModel/X86/vshift-lshr-latency.ll
    M llvm/test/Analysis/CostModel/X86/vshift-lshr-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/vshift-shl-codesize.ll
    M llvm/test/Analysis/CostModel/X86/vshift-shl-latency.ll
    M llvm/test/Analysis/CostModel/X86/vshift-shl-sizelatency.ll
    M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
    M llvm/test/CodeGen/X86/gfni-rotates.ll
    M llvm/test/CodeGen/X86/gfni-shifts.ll
    M llvm/test/CodeGen/X86/min-legal-vector-width.ll

  Log Message:
  -----------
  [X86] Use GFNI for vXi8 shifts/rotates (#89115)

As detailed here: https://github.com/InstLatx64/InstLatX64_Demo/blob/master/GFNI_Demo.h

We can use the gf2p8affine instruction to lower byte shifts/rotates as well as the existing bitreverse case.

Based off the original patch here: https://reviews.llvm.org/D137026



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list