[all-commits] [llvm/llvm-project] e57e1e: [clang][AArch64][SVE] Avoid going through memory f...
Bradley Smith via All-commits
all-commits at lists.llvm.org
Wed Aug 4 09:11:01 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e57e1e4e00264b77b2b35ad2bf419a48aecdd6bc
https://github.com/llvm/llvm-project/commit/e57e1e4e00264b77b2b35ad2bf419a48aecdd6bc
Author: Bradley Smith <bradley.smith at arm.com>
Date: 2021-08-04 (Wed, 04 Aug 2021)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-call.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
Log Message:
-----------
[clang][AArch64][SVE] Avoid going through memory for fixed/scalable predicate casts
For fixed SVE types, predicates are represented using vectors of i8,
where as for scalable types they are represented using vectors of i1. We
can avoid going through memory for casts between these by bitcasting the
i1 scalable vectors to/from a scalable i8 vector of matching size, which
can then use the existing vector insert/extract logic.
Differential Revision: https://reviews.llvm.org/D106860
More information about the All-commits
mailing list