+Tim, I've reverted this since it seems to have broken the vector initialization intrinsics.
(I would have replied to the llvm-commits email for the original change, but it seems it didn't reach the list?) On Mon, Nov 25, 2019 at 4:35 PM Hans Wennborg via cfe-commits <cfe-commits@lists.llvm.org> wrote: > > > Author: Hans Wennborg > Date: 2019-11-25T16:27:53+01:00 > New Revision: 21f26470e9747c472d3c18654e676cbea8393635 > > URL: > https://github.com/llvm/llvm-project/commit/21f26470e9747c472d3c18654e676cbea8393635 > DIFF: > https://github.com/llvm/llvm-project/commit/21f26470e9747c472d3c18654e676cbea8393635.diff > > LOG: Revert 3f91705ca54 "ARM-NEON: make type modifiers orthogonal and allow > multiple modifiers." > > This broke the vcreate_u64 intrinsic. Example: > > $ cat /tmp/a.cc > #include <arm_neon.h> > > void g() { > auto v = vcreate_u64(0); > } > $ bin/clang -c /tmp/a.cc --target=arm-linux-androideabi16 -march=armv7-a > /tmp/a.cc:4:12: error: C-style cast from scalar 'int' to vector > 'uint64x1_t' (vector of 1 'uint64_t' value) of different size > auto v = vcreate_u64(0); > ^~~~~~~~~~~~~~ > > /work/llvm.monorepo/build.release/lib/clang/10.0.0/include/arm_neon.h:4144:11: > note: expanded from macro 'vcreate_u64' > __ret = (uint64x1_t)(__p0); \ > ^~~~~~~~~~~~~~~~~~ > > Reverting until this can be investigated. > > > 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. > > Added: > > > Modified: > clang/include/clang/Basic/arm_fp16.td > clang/include/clang/Basic/arm_neon.td > clang/include/clang/Basic/arm_neon_incl.td > clang/test/CodeGen/aarch64-neon-intrinsics.c > clang/test/CodeGen/aarch64-neon-scalar-x-indexed-elem.c > clang/utils/TableGen/NeonEmitter.cpp > > Removed: > clang/utils/convert_arm_neon.py _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits