[all-commits] [llvm/llvm-project] 2dd416: [LoopVectorize][AArch64] Add limited support for s...

David Sherwood via All-commits all-commits at lists.llvm.org
Tue Jun 25 07:04:45 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2dd4167a09cfe1a1e09852e99b4984ddb3e89cf7
      https://github.com/llvm/llvm-project/commit/2dd4167a09cfe1a1e09852e99b4984ddb3e89cf7
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-06-25 (Tue, 25 Jun 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-gather.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-ldst.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-scatter.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-illegal-type.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/sve-invalid-costs.ll

  Log Message:
  -----------
  [LoopVectorize][AArch64] Add limited support for scalable vectorisation of i1 types (#95920)

Previously isElementTypeLegalForScalableVector returned false for i1
types, which also prevented vectorisation of loops with i1 reductions.
This is overkill - we only need to disable vectorisation for loads
and/or stores of i1 types. I've added i1 as a legal type, but changed
the cost model to return an invalid cost for loads and stores.



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