[all-commits] [llvm/llvm-project] 204aaf: [AArch64][SVE] Always use overloaded methods inste...
sdesmalen-arm via All-commits
all-commits at lists.llvm.org
Tue Apr 13 13:13:36 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 204aaf879548616df407f662bc03d28b8d08d1fb
https://github.com/llvm/llvm-project/commit/204aaf879548616df407f662bc03d28b8d08d1fb
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2021-04-13 (Tue, 13 Apr 2021)
Changed paths:
M clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_prfw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/negative/acle_sve_qdecb.c
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
[AArch64][SVE] Always use overloaded methods instead of preprocessor macro.
This fixes a subtle issue where:
svprf(pg, ptr, SV_ALL /*is sv_pattern instead of sv_prfop*/)
would be quietly accepted. With this change, the function declaration
guards that the third parameter is a `enum sv_prfop`. Previously `svprf`
would map directly to `__builtin_sve_svprfb`, which accepts the enum
operand as a signed integer and only checks that the incoming range is
valid, meaning that SV_ALL would be discarded as being outside the valid
immediate range, but would have allowed SV_VL1 without issuing a warning
(C) or error (C++).
Reviewed By: c-rhodes
Differential Revision: https://reviews.llvm.org/D100297
More information about the All-commits
mailing list