[all-commits] [llvm/llvm-project] 599b2f: [AArch64][SVE] Handle svbool_t VLST <-> VLAT/GNUT ...

junparser via All-commits all-commits at lists.llvm.org
Wed Jul 21 22:55:37 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 599b2f00370ee79e812d2776f2af57fae36d02e9
      https://github.com/llvm/llvm-project/commit/599b2f00370ee79e812d2776f2af57fae36d02e9
  Author: Jun Ma <JunMa at linux.alibaba.com>
  Date:   2021-07-22 (Thu, 22 Jul 2021)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
    M clang/test/SemaCXX/aarch64-sve-explicit-casts-fixed-size.cpp
    M clang/test/SemaCXX/aarch64-sve-lax-vector-conversions.cpp
    M clang/test/SemaCXX/attr-arm-sve-vector-bits.cpp

  Log Message:
  -----------
  [AArch64][SVE] Handle svbool_t VLST <-> VLAT/GNUT conversion

According to https://godbolt.org/z/q5rME1naY and acle, we found that
there are different SVE conversion behaviours between clang and gcc. It turns
out that llvm does not handle SVE predicates width properly.

This patch 1) checks SVE predicates width rightly with svbool_t type.
2) removes warning on svbool_t VLST <-> VLAT/GNUT conversion.
3) disables VLST <-> VLAT/GNUT conversion between SVE vectors and predicates
due to different width.

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




More information about the All-commits mailing list