[all-commits] [llvm/llvm-project] 78ad22: Recommit ARM-NEON: make type modifiers orthogonal ...
Tim Northover via All-commits
all-commits at lists.llvm.org
Tue Nov 26 01:22:25 PST 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 78ad22e0cc6390fcd44b2b7b5132f1b960ff975d
https://github.com/llvm/llvm-project/commit/78ad22e0cc6390fcd44b2b7b5132f1b960ff975d
Author: Tim Northover <t.p.northover at gmail.com>
Date: 2019-11-26 (Tue, 26 Nov 2019)
Changed paths:
M clang/include/clang/Basic/arm_fp16.td
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_neon_incl.td
M clang/test/CodeGen/aarch64-neon-intrinsics.c
M clang/test/CodeGen/arm_neon_intrinsics.c
M clang/utils/TableGen/NeonEmitter.cpp
A clang/utils/convert_arm_neon.py
Log Message:
-----------
Recommit ARM-NEON: make type modifiers orthogonal and allow multiple modifiers.
The modifier system used to mutate types on NEON intrinsic definitions had a
separate letter for all kinds of transformations that might be needed, and we
were quite quickly running out of letters to use. This patch converts to a much
smaller set of orthogonal modifiers that can be applied together to achieve the
desired effect.
When merging with downstream it is likely to cause a conflict with any local
modifications to the .td files. There is a new script in
utils/convert_arm_neon.py that was used to convert all .td definitions and I
would suggest running it on the last downstream version of those files before
this commit rather than resolving conflicts manually.
The original version broke vcreate_* because it became a macro and didn't
apply the normal integer promotion rules before bitcasting to a vector.
This adds a temporary.
More information about the All-commits
mailing list