When constrained floating point is enabled the AArch64-specific builtins don't use constrained intrinsics in some cases. Fix that.
Neon is part of this patch, so ARM is affected as well.
Paths
| Differential D77074
[FPEnv][AArch64] Platform-specific builtin constrained FP enablement ClosedPublic Authored by kpn on Mar 30 2020, 10:16 AM.
Details Summary When constrained floating point is enabled the AArch64-specific builtins don't use constrained intrinsics in some cases. Fix that. Neon is part of this patch, so ARM is affected as well.
Diff Detail
Event TimelineComment Actions Note that the AArch64 backend isn't ready for some of these changes. That's why the test is marked XFAIL.
kpn added inline comments.
Comment Actions Update from review comments. The new emitCallMaybeConstrainedFPBuiltin() function does make the code much cleaner. This revision is now accepted and ready to land.Apr 9 2020, 4:18 PM Closed by commit rG7f38812d5b7e: [FPEnv][AArch64] Platform-specific builtin constrained FP enablement (authored by kpn). · Explain WhyApr 10 2020, 10:04 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 256599 clang/lib/CodeGen/CGBuiltin.cpp
clang/test/CodeGen/aarch64-neon-intrinsics-constrained.c
clang/test/CodeGen/aarch64-neon-misc-constrained.c
clang/test/CodeGen/aarch64-neon-scalar-x-indexed-elem-constrained.c
clang/test/CodeGen/aarch64-v8.2a-fp16-intrinsics-constrained.c
clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-constrained.c
clang/test/CodeGen/arm-neon-directed-rounding-constrained.c
clang/test/CodeGen/arm64-vrnd-constrained.c
llvm/include/llvm/IR/Function.h
llvm/lib/IR/Function.cpp
|
These exit() calls tie back into my test matrix. They'll be removed when I eventually push.