Skip to content

Commit d381e47

Browse files
committed
[AIEX][NFC] all intrinsics have DefaultAttrsIntrinsic
1 parent 7815d29 commit d381e47

File tree

7 files changed

+395
-396
lines changed

7 files changed

+395
-396
lines changed

clang/test/CodeGen/aie/aie-srs-intrinsics.cpp

Lines changed: 49 additions & 50 deletions
Large diffs are not rendered by default.

clang/test/CodeGen/aie/aie2/aie2-upd-ext-intrinsic.cpp

Lines changed: 68 additions & 70 deletions
Large diffs are not rendered by default.

clang/test/CodeGen/aie/aie2/aiev2-srs-intrinsics.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
// See https://llvm.org/LICENSE.txt for license information.
66
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
77
//
8-
// (c) Copyright 2023-2024 Advanced Micro Devices, Inc. or its affiliates
8+
// (c) Copyright 2023-2025 Advanced Micro Devices, Inc. or its affiliates
99
//
1010
//===----------------------------------------------------------------------===//
1111
// RUN: %clang -O2 %s --target=aie2 -nostdlibinc -S -emit-llvm -o - | FileCheck %s
@@ -26,7 +26,7 @@ v16int32 test_srs_to_int32(v16acc64 acc, int shft, int sign) {
2626
// CHECK-NEXT: [[TMP1:%.*]] = tail call noundef i32 @llvm.aie2.get.ctrl.reg(i32 6)
2727
// CHECK-NEXT: tail call void @llvm.aie2.set.ctrl.reg(i32 9, i32 [[SAT:%.*]])
2828
// CHECK-NEXT: tail call void @llvm.aie2.set.ctrl.reg(i32 6, i32 [[RND:%.*]])
29-
// CHECK-NEXT: [[TMP2:%.*]] = tail call <16 x i32> @llvm.aie2.I512.v16.acc64.srs(<16 x i64> [[ACC:%.*]], i32 [[SHFT:%.*]], i32 [[SIGN:%.*]])
29+
// CHECK-NEXT: [[TMP2:%.*]] = tail call noundef <16 x i32> @llvm.aie2.I512.v16.acc64.srs(<16 x i64> [[ACC:%.*]], i32 [[SHFT:%.*]], i32 [[SIGN:%.*]])
3030
// CHECK-NEXT: tail call void @llvm.aie2.set.ctrl.reg(i32 9, i32 [[TMP0]])
3131
// CHECK-NEXT: tail call void @llvm.aie2.set.ctrl.reg(i32 6, i32 [[TMP1]])
3232
// CHECK-NEXT: ret <16 x i32> [[TMP2]]
@@ -50,7 +50,7 @@ v16uint32 test_srs_to_uint32(v16acc64 acc, int shft, int sign) {
5050
// CHECK-NEXT: [[TMP1:%.*]] = tail call noundef i32 @llvm.aie2.get.ctrl.reg(i32 6)
5151
// CHECK-NEXT: tail call void @llvm.aie2.set.ctrl.reg(i32 9, i32 [[SAT:%.*]])
5252
// CHECK-NEXT: tail call void @llvm.aie2.set.ctrl.reg(i32 6, i32 [[RND:%.*]])
53-
// CHECK-NEXT: [[TMP2:%.*]] = tail call <16 x i32> @llvm.aie2.I512.v16.acc64.srs(<16 x i64> [[ACC:%.*]], i32 [[SHFT:%.*]], i32 [[SIGN:%.*]])
53+
// CHECK-NEXT: [[TMP2:%.*]] = tail call noundef <16 x i32> @llvm.aie2.I512.v16.acc64.srs(<16 x i64> [[ACC:%.*]], i32 [[SHFT:%.*]], i32 [[SIGN:%.*]])
5454
// CHECK-NEXT: tail call void @llvm.aie2.set.ctrl.reg(i32 9, i32 [[TMP0]])
5555
// CHECK-NEXT: tail call void @llvm.aie2.set.ctrl.reg(i32 6, i32 [[TMP1]])
5656
// CHECK-NEXT: ret <16 x i32> [[TMP2]]

clang/test/CodeGen/aie/aie2p/aie2p-bank-annotation.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ void test_intrinsic_annotated_pointer(v64bfp16ebs8_unaligned __aie_dm_resource_a
3535
}
3636

3737
// CHECK-LABEL: define dso_local noundef <64 x i8> @_Z43test_intrinsic_annotated_pointer_fillx_popxPU3AS522v64bfp16ebs8_unalignedPU3AS6Dv64_DB8_R12fifo_state_t(
38-
// CHECK-SAME: ptr addrspace(5) [[P_UNALIGNED:%.*]], ptr addrspace(6) [[P:%.*]], ptr nocapture nonnull align 64 dereferenceable(256) [[S:%.*]]) local_unnamed_addr #[[ATTR1:[0-9]+]] {
38+
// CHECK-SAME: ptr addrspace(5) [[P_UNALIGNED:%.*]], ptr addrspace(6) [[P:%.*]], ptr nocapture nonnull align 64 dereferenceable(256) [[S:%.*]]) local_unnamed_addr #[[ATTR0]] {
3939
// CHECK-NEXT: entry:
4040
// CHECK-NEXT: [[POS1_I_I:%.*]] = getelementptr inbounds nuw i8, ptr [[S]], i20 128
4141
// CHECK-NEXT: [[EXTRA3_I_I:%.*]] = getelementptr inbounds nuw i8, ptr [[S]], i20 192
@@ -65,7 +65,7 @@ v128uint4 test_intrinsic_annotated_pointer_fillx_popx(v64bfp16ebs8_unaligned __a
6565
}
6666

6767
// CHECK-LABEL: define dso_local noundef <64 x i8> @_Z41test_intrinsic_annotated_pointer_fill_popPU3AS522v64bfp16ebs8_unalignedPU3AS6Dv64_DB8_R12fifo_state_t(
68-
// CHECK-SAME: ptr addrspace(5) [[P_UNALIGNED:%.*]], ptr addrspace(6) [[P:%.*]], ptr nocapture nonnull align 64 dereferenceable(256) [[S:%.*]]) local_unnamed_addr #[[ATTR1]] {
68+
// CHECK-SAME: ptr addrspace(5) [[P_UNALIGNED:%.*]], ptr addrspace(6) [[P:%.*]], ptr nocapture nonnull align 64 dereferenceable(256) [[S:%.*]]) local_unnamed_addr #[[ATTR0]] {
6969
// CHECK-NEXT: entry:
7070
// CHECK-NEXT: [[POS1_I:%.*]] = getelementptr inbounds nuw i8, ptr [[S]], i20 128
7171
// CHECK-NEXT: [[TMP0:%.*]] = load <32 x i32>, ptr [[S]], align 64, !tbaa [[TBAA2]]
@@ -89,7 +89,7 @@ v128uint4 test_intrinsic_annotated_pointer_fill_pop(v64bfp16ebs8_unaligned __aie
8989
}
9090

9191
// CHECK-LABEL: define dso_local void @_Z42test_intrinsic_annotated_pointer_referenceRPU3AS522v64bfp16ebs8_unaligned12v64bfp16ebs8R12fifo_state_t(
92-
// CHECK-SAME: ptr nocapture nonnull align 4 dereferenceable(4) [[P:%.*]], [[STRUCT_V64BFP16EBS8:%.*]] [[V_COERCE:%.*]], ptr nocapture nonnull align 64 dereferenceable(256) [[S:%.*]]) local_unnamed_addr #[[ATTR2:[0-9]+]] {
92+
// CHECK-SAME: ptr nocapture nonnull align 4 dereferenceable(4) [[P:%.*]], [[STRUCT_V64BFP16EBS8:%.*]] [[V_COERCE:%.*]], ptr nocapture nonnull align 64 dereferenceable(256) [[S:%.*]]) local_unnamed_addr #[[ATTR1:[0-9]+]] {
9393
// CHECK-NEXT: entry:
9494
// CHECK-NEXT: [[TMP0:%.*]] = extractvalue [[STRUCT_V64BFP16EBS8]] [[V_COERCE]], 0
9595
// CHECK-NEXT: [[TMP1:%.*]] = extractvalue [[STRUCT_V64BFP16EBS8]] [[V_COERCE]], 1
@@ -114,7 +114,7 @@ void test_intrinsic_annotated_pointer_reference(v64bfp16ebs8_unaligned __aie_dm_
114114

115115

116116
// CHECK-LABEL: define dso_local noundef <64 x i8> @_Z53test_intrinsic_annotated_pointer_reference_fillx_popxRPU3AS522v64bfp16ebs8_unalignedRPU3AS6Dv64_DB8_R12fifo_state_t(
117-
// CHECK-SAME: ptr nocapture nonnull align 4 dereferenceable(4) [[P_UNALIGNED:%.*]], ptr nocapture nonnull align 4 dereferenceable(4) [[P:%.*]], ptr nocapture nonnull align 64 dereferenceable(256) [[S:%.*]]) local_unnamed_addr #[[ATTR3:[0-9]+]] {
117+
// CHECK-SAME: ptr nocapture nonnull align 4 dereferenceable(4) [[P_UNALIGNED:%.*]], ptr nocapture nonnull align 4 dereferenceable(4) [[P:%.*]], ptr nocapture nonnull align 64 dereferenceable(256) [[S:%.*]]) local_unnamed_addr #[[ATTR2:[0-9]+]] {
118118
// CHECK-NEXT: entry:
119119
// CHECK-NEXT: [[POS1_I_I:%.*]] = getelementptr inbounds nuw i8, ptr [[S]], i20 128
120120
// CHECK-NEXT: [[EXTRA3_I_I:%.*]] = getelementptr inbounds nuw i8, ptr [[S]], i20 192
@@ -153,7 +153,7 @@ v128uint4 test_intrinsic_annotated_pointer_reference_fillx_popx(v64bfp16ebs8_una
153153
}
154154

155155
// CHECK-LABEL: define dso_local noundef <64 x i8> @_Z51test_intrinsic_annotated_pointer_reference_fill_popRPU3AS522v64bfp16ebs8_unalignedRPU3AS6Dv64_DB8_R12fifo_state_t(
156-
// CHECK-SAME: ptr nocapture nonnull align 4 dereferenceable(4) [[P_UNALIGNED:%.*]], ptr nocapture nonnull align 4 dereferenceable(4) [[P:%.*]], ptr nocapture nonnull align 64 dereferenceable(256) [[S:%.*]]) local_unnamed_addr #[[ATTR3]] {
156+
// CHECK-SAME: ptr nocapture nonnull align 4 dereferenceable(4) [[P_UNALIGNED:%.*]], ptr nocapture nonnull align 4 dereferenceable(4) [[P:%.*]], ptr nocapture nonnull align 64 dereferenceable(256) [[S:%.*]]) local_unnamed_addr #[[ATTR2]] {
157157
// CHECK-NEXT: entry:
158158
// CHECK-NEXT: [[POS1_I:%.*]] = getelementptr inbounds nuw i8, ptr [[S]], i20 128
159159
// CHECK-NEXT: [[TMP0:%.*]] = load ptr addrspace(5), ptr [[P_UNALIGNED]], align 4, !tbaa [[TBAA7]]
@@ -185,7 +185,7 @@ v128uint4 test_intrinsic_annotated_pointer_reference_fill_pop(v64bfp16ebs8_unali
185185
}
186186

187187
// CHECK-LABEL: define dso_local void @_Z47test_intrinsic_annotated_pointer_reference_loopRPU3AS522v64bfp16ebs8_unaligned12v64bfp16ebs8i(
188-
// CHECK-SAME: ptr nocapture nonnull align 4 dereferenceable(4) [[P:%.*]], [[STRUCT_V64BFP16EBS8:%.*]] [[V_COERCE:%.*]], i32 noundef [[NUM:%.*]]) local_unnamed_addr #[[ATTR2]] {
188+
// CHECK-SAME: ptr nocapture nonnull align 4 dereferenceable(4) [[P:%.*]], [[STRUCT_V64BFP16EBS8:%.*]] [[V_COERCE:%.*]], i32 noundef [[NUM:%.*]]) local_unnamed_addr #[[ATTR3:[0-9]+]] {
189189
// CHECK-NEXT: entry:
190190
// CHECK-NEXT: [[CMP6:%.*]] = icmp sgt i32 [[NUM]], 0
191191
// CHECK-NEXT: br i1 [[CMP6]], label [[FOR_BODY_LR_PH:%.*]], label [[FOR_COND_CLEANUP:%.*]]
@@ -212,7 +212,7 @@ v128uint4 test_intrinsic_annotated_pointer_reference_fill_pop(v64bfp16ebs8_unali
212212
// CHECK-NEXT: store ptr addrspace(5) [[TMP8]], ptr [[P]], align 4
213213
// CHECK-NEXT: [[INC]] = add nuw nsw i32 [[I_09]], 1
214214
// CHECK-NEXT: [[EXITCOND_NOT:%.*]] = icmp eq i32 [[INC]], [[NUM]]
215-
// CHECK-NEXT: br i1 [[EXITCOND_NOT]], label [[FOR_COND_CLEANUP]], label [[FOR_BODY]], !llvm.loop [[LOOP9:![0-9]+]]
215+
// CHECK-NEXT: br i1 [[EXITCOND_NOT]], label [[FOR_COND_CLEANUP]], label [[FOR_BODY]], !llvm.loop [[LOOP10:![0-9]+]]
216216
//
217217
void test_intrinsic_annotated_pointer_reference_loop(
218218
v64bfp16ebs8_unaligned __aie_dm_resource_a *&p, v64bfp16ebs8 v, int num) {
@@ -225,7 +225,7 @@ void test_intrinsic_annotated_pointer_reference_loop(
225225
}
226226

227227
// CHECK-LABEL: define dso_local void @_Z45test_intrinsic_default_pointer_reference_loopRP22v64bfp16ebs8_unaligned12v64bfp16ebs8i(
228-
// CHECK-SAME: ptr nocapture nonnull align 4 dereferenceable(4) [[P:%.*]], [[STRUCT_V64BFP16EBS8:%.*]] [[V_COERCE:%.*]], i32 noundef [[NUM:%.*]]) local_unnamed_addr #[[ATTR2]] {
228+
// CHECK-SAME: ptr nocapture nonnull align 4 dereferenceable(4) [[P:%.*]], [[STRUCT_V64BFP16EBS8:%.*]] [[V_COERCE:%.*]], i32 noundef [[NUM:%.*]]) local_unnamed_addr #[[ATTR3]] {
229229
// CHECK-NEXT: entry:
230230
// CHECK-NEXT: [[CMP6:%.*]] = icmp sgt i32 [[NUM]], 0
231231
// CHECK-NEXT: br i1 [[CMP6]], label [[FOR_BODY_LR_PH:%.*]], label [[FOR_COND_CLEANUP:%.*]]
@@ -252,7 +252,7 @@ void test_intrinsic_annotated_pointer_reference_loop(
252252
// CHECK-NEXT: store ptr [[TMP8]], ptr [[P]], align 4
253253
// CHECK-NEXT: [[INC]] = add nuw nsw i32 [[I_09]], 1
254254
// CHECK-NEXT: [[EXITCOND_NOT:%.*]] = icmp eq i32 [[INC]], [[NUM]]
255-
// CHECK-NEXT: br i1 [[EXITCOND_NOT]], label [[FOR_COND_CLEANUP]], label [[FOR_BODY]], !llvm.loop [[LOOP12:![0-9]+]]
255+
// CHECK-NEXT: br i1 [[EXITCOND_NOT]], label [[FOR_COND_CLEANUP]], label [[FOR_BODY]], !llvm.loop [[LOOP13:![0-9]+]]
256256
//
257257
void test_intrinsic_default_pointer_reference_loop(
258258
v64bfp16ebs8_unaligned *&p, v64bfp16ebs8 v, int num) {
@@ -272,8 +272,8 @@ void test_intrinsic_default_pointer_reference_loop(
272272
// CHECK: [[TBAA7]] = !{[[META8:![0-9]+]], [[META8]], i64 0}
273273
// CHECK: [[META8]] = !{!"p1 void", [[META9:![0-9]+]], i64 0}
274274
// CHECK: [[META9]] = !{!"any pointer", [[META3]], i64 0}
275-
// CHECK: [[LOOP9]] = distinct !{[[LOOP9]], [[META10:![0-9]+]], [[META11:![0-9]+]]}
276-
// CHECK: [[META10]] = !{!"llvm.loop.mustprogress"}
277-
// CHECK: [[META11]] = !{!"llvm.loop.unroll.disable"}
278-
// CHECK: [[LOOP12]] = distinct !{[[LOOP12]], [[META10]], [[META11]]}
275+
// CHECK: [[LOOP10]] = distinct !{[[LOOP10]], [[META11:![0-9]+]], [[META12:![0-9]+]]}
276+
// CHECK: [[META11]] = !{!"llvm.loop.mustprogress"}
277+
// CHECK: [[META12]] = !{!"llvm.loop.unroll.disable"}
278+
// CHECK: [[LOOP13]] = distinct !{[[LOOP13]], [[META11]], [[META12]]}
279279
//.

0 commit comments

Comments
 (0)