[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