44;.
55; CHECK: @G = global i32 5
66; CHECK: @.memset_pattern = private unnamed_addr constant [2 x ptr] [ptr @G, ptr @G], align 16
7- ; CHECK: @.memset_pattern.1 = private unnamed_addr constant [2 x ptr] [ptr @G, ptr @G], align 16
8- ; CHECK: @.memset_pattern.2 = private unnamed_addr constant [2 x i64] [i64 -6148895925951734307, i64 -6148895925951734307], align 16
9- ; CHECK: @.memset_pattern.3 = private unnamed_addr constant [2 x i64] [i64 -6148895925951734307, i64 -6148895925951734307], align 16
10- ; CHECK: @.memset_pattern.4 = private unnamed_addr constant [2 x i64] [i64 -6148895925951734307, i64 -6148895925951734307], align 16
11- ; CHECK: @.memset_pattern.5 = private unnamed_addr constant [2 x i64] [i64 4614256656552045848, i64 4614256656552045848], align 16
12- ; CHECK: @.memset_pattern.6 = private unnamed_addr constant [8 x i16] [i16 -21555, i16 -21555, i16 -21555, i16 -21555, i16 -21555, i16 -21555, i16 -21555, i16 -21555], align 16
13- ; CHECK: @.memset_pattern.7 = private unnamed_addr constant i128 -113427455635030943652277463699152839203, align 16
14- ; CHECK: @.memset_pattern.8 = private unnamed_addr constant i128 -113427455635030943652277463699152839203, align 16
15- ; CHECK: @.memset_pattern.9 = private unnamed_addr constant i128 -113427455635030943652277463699152839203, align 16
16- ; CHECK: @.memset_pattern.10 = private unnamed_addr constant i128 -113427455635030943652277463699152839203, align 16
7+ ; CHECK: @.memset_pattern.1 = private unnamed_addr constant [2 x i64] [i64 -6148895925951734307, i64 -6148895925951734307], align 16
8+ ; CHECK: @.memset_pattern.2 = private unnamed_addr constant [2 x i64] [i64 4614256656552045848, i64 4614256656552045848], align 16
9+ ; CHECK: @.memset_pattern.3 = private unnamed_addr constant [8 x i16] [i16 -21555, i16 -21555, i16 -21555, i16 -21555, i16 -21555, i16 -21555, i16 -21555, i16 -21555], align 16
10+ ; CHECK: @.memset_pattern.4 = private unnamed_addr constant i128 -113427455635030943652277463699152839203, align 16
1711;.
1812define void @memset_pattern_i128_1_dynvalue (ptr %a , i128 %value ) nounwind {
1913; CHECK-LABEL: define void @memset_pattern_i128_1_dynvalue(
@@ -36,7 +30,7 @@ define void @memset_pattern_i128_1_dynvalue(ptr %a, i128 %value) nounwind {
3630define void @memset_pattern_i128_1 (ptr %a , i128 %value ) nounwind {
3731; CHECK-LABEL: define void @memset_pattern_i128_1(
3832; CHECK-SAME: ptr [[A:%.*]], i128 [[VALUE:%.*]]) #[[ATTR0]] {
39- ; CHECK-NEXT: call void @memset_pattern16(ptr [[A]], ptr @.memset_pattern.7 , i64 16)
33+ ; CHECK-NEXT: call void @memset_pattern16(ptr [[A]], ptr @.memset_pattern.4 , i64 16)
4034; CHECK-NEXT: ret void
4135;
4236 tail call void @llvm.experimental.memset.pattern (ptr %a , i128 u0xaaaaaaaabbbbbbbbccccccccdddddddd, i64 1 , i1 false )
@@ -64,7 +58,7 @@ define void @memset_pattern_i128_1_nz_as(ptr addrspace(1) %a, i128 %value) nounw
6458define void @memset_pattern_i128_1_align_attr (ptr align (16 ) %a , i128 %value ) nounwind {
6559; CHECK-LABEL: define void @memset_pattern_i128_1_align_attr(
6660; CHECK-SAME: ptr align 16 [[A:%.*]], i128 [[VALUE:%.*]]) #[[ATTR0]] {
67- ; CHECK-NEXT: call void @memset_pattern16(ptr align 16 [[A]], ptr @.memset_pattern.8 , i64 16)
61+ ; CHECK-NEXT: call void @memset_pattern16(ptr align 16 [[A]], ptr @.memset_pattern.4 , i64 16)
6862; CHECK-NEXT: ret void
6963;
7064 tail call void @llvm.experimental.memset.pattern (ptr align (16 ) %a , i128 u0xaaaaaaaabbbbbbbbccccccccdddddddd, i64 1 , i1 false )
@@ -74,7 +68,7 @@ define void @memset_pattern_i128_1_align_attr(ptr align(16) %a, i128 %value) nou
7468define void @memset_pattern_i128_16 (ptr %a ) nounwind {
7569; CHECK-LABEL: define void @memset_pattern_i128_16(
7670; CHECK-SAME: ptr [[A:%.*]]) #[[ATTR0]] {
77- ; CHECK-NEXT: call void @memset_pattern16(ptr [[A]], ptr @.memset_pattern.9 , i64 256)
71+ ; CHECK-NEXT: call void @memset_pattern16(ptr [[A]], ptr @.memset_pattern.4 , i64 256)
7872; CHECK-NEXT: ret void
7973;
8074 tail call void @llvm.experimental.memset.pattern (ptr %a , i128 u0xaaaaaaaabbbbbbbbccccccccdddddddd, i64 16 , i1 false )
@@ -85,7 +79,7 @@ define void @memset_pattern_i128_x(ptr %a, i64 %x) nounwind {
8579; CHECK-LABEL: define void @memset_pattern_i128_x(
8680; CHECK-SAME: ptr [[A:%.*]], i64 [[X:%.*]]) #[[ATTR0]] {
8781; CHECK-NEXT: [[TMP1:%.*]] = mul i64 16, [[X]]
88- ; CHECK-NEXT: call void @memset_pattern16(ptr [[A]], ptr @.memset_pattern.10 , i64 [[TMP1]])
82+ ; CHECK-NEXT: call void @memset_pattern16(ptr [[A]], ptr @.memset_pattern.4 , i64 [[TMP1]])
8983; CHECK-NEXT: ret void
9084;
9185 tail call void @llvm.experimental.memset.pattern (ptr %a , i128 u0xaaaaaaaabbbbbbbbccccccccdddddddd, i64 %x , i1 false )
@@ -115,7 +109,7 @@ define void @memset_pattern_i16_x(ptr %a, i64 %x) nounwind {
115109; CHECK-LABEL: define void @memset_pattern_i16_x(
116110; CHECK-SAME: ptr [[A:%.*]], i64 [[X:%.*]]) #[[ATTR0]] {
117111; CHECK-NEXT: [[TMP1:%.*]] = mul i64 2, [[X]]
118- ; CHECK-NEXT: call void @memset_pattern16(ptr [[A]], ptr @.memset_pattern.6 , i64 [[TMP1]])
112+ ; CHECK-NEXT: call void @memset_pattern16(ptr [[A]], ptr @.memset_pattern.3 , i64 [[TMP1]])
119113; CHECK-NEXT: ret void
120114;
121115 tail call void @llvm.experimental.memset.pattern (ptr %a , i16 u0xabcd, i64 %x , i1 false )
@@ -126,7 +120,7 @@ define void @memset_pattern_i64_x(ptr %a, i64 %x) nounwind {
126120; CHECK-LABEL: define void @memset_pattern_i64_x(
127121; CHECK-SAME: ptr [[A:%.*]], i64 [[X:%.*]]) #[[ATTR0]] {
128122; CHECK-NEXT: [[TMP1:%.*]] = mul i64 8, [[X]]
129- ; CHECK-NEXT: call void @memset_pattern16(ptr [[A]], ptr @.memset_pattern.4 , i64 [[TMP1]])
123+ ; CHECK-NEXT: call void @memset_pattern16(ptr [[A]], ptr @.memset_pattern.1 , i64 [[TMP1]])
130124; CHECK-NEXT: ret void
131125;
132126 tail call void @llvm.experimental.memset.pattern (ptr %a , i64 u0xaaaabbbbccccdddd, i64 %x , i1 false )
@@ -137,7 +131,7 @@ define void @memset_pattern_i64_x(ptr %a, i64 %x) nounwind {
137131define void @memset_pattern_i64_128_tbaa (ptr %a ) nounwind {
138132; CHECK-LABEL: define void @memset_pattern_i64_128_tbaa(
139133; CHECK-SAME: ptr [[A:%.*]]) #[[ATTR0]] {
140- ; CHECK-NEXT: call void @memset_pattern16(ptr [[A]], ptr @.memset_pattern.5 , i64 1024), !tbaa [[TBAA0:![0-9]+]]
134+ ; CHECK-NEXT: call void @memset_pattern16(ptr [[A]], ptr @.memset_pattern.2 , i64 1024), !tbaa [[TBAA0:![0-9]+]]
141135; CHECK-NEXT: ret void
142136;
143137 tail call void @llvm.experimental.memset.pattern (ptr %a , i64 u0x400921fb54442d18, i64 128 , i1 false ), !tbaa !5
@@ -154,7 +148,7 @@ define void @memset_pattern_i64_narrow_idx(ptr %a, i32 %x) nounwind {
154148; CHECK-SAME: ptr [[A:%.*]], i32 [[X:%.*]]) #[[ATTR0]] {
155149; CHECK-NEXT: [[TMP1:%.*]] = zext i32 [[X]] to i64
156150; CHECK-NEXT: [[TMP2:%.*]] = mul i64 8, [[TMP1]]
157- ; CHECK-NEXT: call void @memset_pattern16(ptr [[A]], ptr @.memset_pattern.3 , i64 [[TMP2]])
151+ ; CHECK-NEXT: call void @memset_pattern16(ptr [[A]], ptr @.memset_pattern.1 , i64 [[TMP2]])
158152; CHECK-NEXT: ret void
159153;
160154 tail call void @llvm.experimental.memset.pattern (ptr %a , i64 u0xaaaabbbbccccdddd, i32 %x , i1 false )
@@ -166,7 +160,7 @@ define void @memset_pattern_i64_wide_idx(ptr %a, i128 %x) nounwind {
166160; CHECK-SAME: ptr [[A:%.*]], i128 [[X:%.*]]) #[[ATTR0]] {
167161; CHECK-NEXT: [[TMP1:%.*]] = trunc i128 [[X]] to i64
168162; CHECK-NEXT: [[TMP2:%.*]] = mul i64 8, [[TMP1]]
169- ; CHECK-NEXT: call void @memset_pattern16(ptr [[A]], ptr @.memset_pattern.2 , i64 [[TMP2]])
163+ ; CHECK-NEXT: call void @memset_pattern16(ptr [[A]], ptr @.memset_pattern.1 , i64 [[TMP2]])
170164; CHECK-NEXT: ret void
171165;
172166 tail call void @llvm.experimental.memset.pattern (ptr %a , i64 u0xaaaabbbbccccdddd, i128 %x , i1 false )
@@ -189,7 +183,7 @@ define void @memset_pattern_i64_x_fromptr(ptr %a, i64 %x) nounwind {
189183; CHECK-LABEL: define void @memset_pattern_i64_x_fromptr(
190184; CHECK-SAME: ptr [[A:%.*]], i64 [[X:%.*]]) #[[ATTR0]] {
191185; CHECK-NEXT: [[TMP2:%.*]] = mul i64 8, [[X]]
192- ; CHECK-NEXT: call void @memset_pattern16(ptr [[A]], ptr @.memset_pattern.1 , i64 [[TMP2]])
186+ ; CHECK-NEXT: call void @memset_pattern16(ptr [[A]], ptr @.memset_pattern, i64 [[TMP2]])
193187; CHECK-NEXT: ret void
194188;
195189 tail call void @llvm.experimental.memset.pattern (ptr %a , ptr @G , i64 %x , i1 false )
0 commit comments