[PATCH] D70133: [ARM, MVE] Add intrinsics for 'administrative' vector operations.
Dave Green via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Nov 13 03:57:03 PST 2019
dmgreen added a comment.
Smaller patches are easier to review, if for example this could have the vgetq_lane/vsetq_lane split out.
================
Comment at: clang/include/clang/Basic/arm_mve.td:384
+ let params = !foldl([]<Type>, T.All, tlist, srctype, !listconcat(tlist,
+ !if(!eq(!cast<string>(desttype),!cast<string>(srctype)),[],[srctype]))) in {
+ def "vreinterpretq_" # desttype: Intrinsic<
----------------
Indent this line by an extra 4 spaces.
I'm going to have to trust you that it's doing the right thing. The !eq has to be on two strings?
================
Comment at: clang/test/CodeGen/arm-mve-intrinsics/admin.c:1568
+// CHECK-NEXT: entry:
+// CHECK-NEXT: [[TMP0:%.*]] = zext i16 [[A:%.*]] to i32
+// CHECK-NEXT: [[TMP1:%.*]] = insertelement <8 x i16> [[B:%.*]], i16 [[A]], i32 6
----------------
What's this zext about? Is it just left over from code that was removed?
================
Comment at: clang/test/CodeGen/arm-mve-intrinsics/admin.c:1671
+//
+float16x8_t test_vuninitializedq_polymorphic_f16(float16x8_t (*funcptr)(void))
+{
----------------
I see. This is the "non-evaluating" part. It looks odd from a C perspective.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D70133/new/
https://reviews.llvm.org/D70133
More information about the cfe-commits
mailing list