@@ -273,7 +273,7 @@ define i1 @load_i1_store_i8(ptr %a) {
273273
274274define i32 @load_after_memset_0 (ptr %a ) {
275275; CHECK-LABEL: @load_after_memset_0(
276- ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) [[A:%.*]], i8 0, i64 16, i1 false)
276+ ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) [[A:%.*]], i8 0, i64 16, i1 false)
277277; CHECK-NEXT: ret i32 0
278278;
279279 call void @llvm.memset.p0.i64 (ptr %a , i8 0 , i64 16 , i1 false )
@@ -283,7 +283,7 @@ define i32 @load_after_memset_0(ptr %a) {
283283
284284define float @load_after_memset_0_float (ptr %a ) {
285285; CHECK-LABEL: @load_after_memset_0_float(
286- ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) [[A:%.*]], i8 0, i64 16, i1 false)
286+ ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) [[A:%.*]], i8 0, i64 16, i1 false)
287287; CHECK-NEXT: ret float 0.000000e+00
288288;
289289 call void @llvm.memset.p0.i64 (ptr %a , i8 0 , i64 16 , i1 false )
@@ -293,7 +293,7 @@ define float @load_after_memset_0_float(ptr %a) {
293293
294294define i27 @load_after_memset_0_non_byte_sized (ptr %a ) {
295295; CHECK-LABEL: @load_after_memset_0_non_byte_sized(
296- ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) [[A:%.*]], i8 0, i64 16, i1 false)
296+ ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) [[A:%.*]], i8 0, i64 16, i1 false)
297297; CHECK-NEXT: ret i27 0
298298;
299299 call void @llvm.memset.p0.i64 (ptr %a , i8 0 , i64 16 , i1 false )
@@ -313,7 +313,7 @@ define i1 @load_after_memset_0_i1(ptr %a) {
313313
314314define <4 x i8 > @load_after_memset_0_vec (ptr %a ) {
315315; CHECK-LABEL: @load_after_memset_0_vec(
316- ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) [[A:%.*]], i8 0, i64 16, i1 false)
316+ ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) [[A:%.*]], i8 0, i64 16, i1 false)
317317; CHECK-NEXT: ret <4 x i8> zeroinitializer
318318;
319319 call void @llvm.memset.p0.i64 (ptr %a , i8 0 , i64 16 , i1 false )
@@ -323,7 +323,7 @@ define <4 x i8> @load_after_memset_0_vec(ptr %a) {
323323
324324define i32 @load_after_memset_1 (ptr %a ) {
325325; CHECK-LABEL: @load_after_memset_1(
326- ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) [[A:%.*]], i8 1, i64 16, i1 false)
326+ ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) [[A:%.*]], i8 1, i64 16, i1 false)
327327; CHECK-NEXT: ret i32 16843009
328328;
329329 call void @llvm.memset.p0.i64 (ptr %a , i8 1 , i64 16 , i1 false )
@@ -333,7 +333,7 @@ define i32 @load_after_memset_1(ptr %a) {
333333
334334define float @load_after_memset_1_float (ptr %a ) {
335335; CHECK-LABEL: @load_after_memset_1_float(
336- ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) [[A:%.*]], i8 1, i64 16, i1 false)
336+ ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) [[A:%.*]], i8 1, i64 16, i1 false)
337337; CHECK-NEXT: ret float 0x3820202020000000
338338;
339339 call void @llvm.memset.p0.i64 (ptr %a , i8 1 , i64 16 , i1 false )
@@ -343,7 +343,7 @@ define float @load_after_memset_1_float(ptr %a) {
343343
344344define i27 @load_after_memset_1_non_byte_sized (ptr %a ) {
345345; CHECK-LABEL: @load_after_memset_1_non_byte_sized(
346- ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) [[A:%.*]], i8 1, i64 16, i1 false)
346+ ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) [[A:%.*]], i8 1, i64 16, i1 false)
347347; CHECK-NEXT: ret i27 16843009
348348;
349349 call void @llvm.memset.p0.i64 (ptr %a , i8 1 , i64 16 , i1 false )
@@ -363,7 +363,7 @@ define i1 @load_after_memset_1_i1(ptr %a) {
363363
364364define <4 x i8 > @load_after_memset_1_vec (ptr %a ) {
365365; CHECK-LABEL: @load_after_memset_1_vec(
366- ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) [[A:%.*]], i8 1, i64 16, i1 false)
366+ ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) [[A:%.*]], i8 1, i64 16, i1 false)
367367; CHECK-NEXT: ret <4 x i8> splat (i8 1)
368368;
369369 call void @llvm.memset.p0.i64 (ptr %a , i8 1 , i64 16 , i1 false )
@@ -373,7 +373,7 @@ define <4 x i8> @load_after_memset_1_vec(ptr %a) {
373373
374374define i32 @load_after_memset_unknown (ptr %a , i8 %byte ) {
375375; CHECK-LABEL: @load_after_memset_unknown(
376- ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) [[A:%.*]], i8 [[BYTE:%.*]], i64 16, i1 false)
376+ ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) [[A:%.*]], i8 [[BYTE:%.*]], i64 16, i1 false)
377377; CHECK-NEXT: [[V:%.*]] = load i32, ptr [[A]], align 4
378378; CHECK-NEXT: ret i32 [[V]]
379379;
@@ -456,7 +456,7 @@ define i32 @load_after_memset_0_offset_negative(ptr %a) {
456456
457457define i32 @load_after_memset_0_clobber (ptr %a ) {
458458; CHECK-LABEL: @load_after_memset_0_clobber(
459- ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) [[A:%.*]], i8 0, i64 16, i1 false)
459+ ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) [[A:%.*]], i8 0, i64 16, i1 false)
460460; CHECK-NEXT: store i8 1, ptr [[A]], align 1
461461; CHECK-NEXT: [[V:%.*]] = load i32, ptr [[A]], align 4
462462; CHECK-NEXT: ret i32 [[V]]
@@ -469,7 +469,7 @@ define i32 @load_after_memset_0_clobber(ptr %a) {
469469
470470define i256 @load_after_memset_0_too_small (ptr %a ) {
471471; CHECK-LABEL: @load_after_memset_0_too_small(
472- ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) [[A:%.*]], i8 0, i64 16, i1 false)
472+ ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) [[A:%.*]], i8 0, i64 16, i1 false)
473473; CHECK-NEXT: [[V:%.*]] = load i256, ptr [[A]], align 4
474474; CHECK-NEXT: ret i256 [[V]]
475475;
@@ -480,7 +480,7 @@ define i256 @load_after_memset_0_too_small(ptr %a) {
480480
481481define i129 @load_after_memset_0_too_small_by_one_bit (ptr %a ) {
482482; CHECK-LABEL: @load_after_memset_0_too_small_by_one_bit(
483- ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) [[A:%.*]], i8 0, i64 16, i1 false)
483+ ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) [[A:%.*]], i8 0, i64 16, i1 false)
484484; CHECK-NEXT: [[V:%.*]] = load i129, ptr [[A]], align 4
485485; CHECK-NEXT: ret i129 [[V]]
486486;
@@ -491,7 +491,7 @@ define i129 @load_after_memset_0_too_small_by_one_bit(ptr %a) {
491491
492492define i32 @load_after_memset_0_unknown_length (ptr %a , i64 %len ) {
493493; CHECK-LABEL: @load_after_memset_0_unknown_length(
494- ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 1 [[A:%.*]], i8 0, i64 [[LEN:%.*]], i1 false)
494+ ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 4 [[A:%.*]], i8 0, i64 [[LEN:%.*]], i1 false)
495495; CHECK-NEXT: [[V:%.*]] = load i32, ptr [[A]], align 4
496496; CHECK-NEXT: ret i32 [[V]]
497497;
@@ -502,7 +502,7 @@ define i32 @load_after_memset_0_unknown_length(ptr %a, i64 %len) {
502502
503503define i32 @load_after_memset_0_atomic (ptr %a ) {
504504; CHECK-LABEL: @load_after_memset_0_atomic(
505- ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) [[A:%.*]], i8 0, i64 16, i1 false)
505+ ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) [[A:%.*]], i8 0, i64 16, i1 false)
506506; CHECK-NEXT: [[V:%.*]] = load atomic i32, ptr [[A]] seq_cst, align 4
507507; CHECK-NEXT: ret i32 [[V]]
508508;
@@ -513,7 +513,7 @@ define i32 @load_after_memset_0_atomic(ptr %a) {
513513
514514define <vscale x 1 x i32 > @load_after_memset_0_scalable (ptr %a ) {
515515; CHECK-LABEL: @load_after_memset_0_scalable(
516- ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(16) [[A:%.*]], i8 0, i64 16, i1 false)
516+ ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) [[A:%.*]], i8 0, i64 16, i1 false)
517517; CHECK-NEXT: [[V:%.*]] = load <vscale x 1 x i32>, ptr [[A]], align 4
518518; CHECK-NEXT: ret <vscale x 1 x i32> [[V]]
519519;
0 commit comments