@@ -575,19 +575,21 @@ void TSpp_align16(SSpp_align16 s) { *s.a.x = 1; }
575
575
struct Sempty {
576
576
};
577
577
// CHECK-A64-LABEL: define dso_local void @_Z6Tempty6Sempty(
578
- // CHECK-A64-SAME: i8 [[S_COERCE:%.*]]) #[[ATTR0]] {
578
+ // CHECK-A64-SAME: i64 [[S_COERCE:%.*]]) #[[ATTR0]] {
579
579
// CHECK-A64-NEXT: [[ENTRY:.*:]]
580
580
// CHECK-A64-NEXT: [[S:%.*]] = alloca [[STRUCT_SEMPTY:%.*]], align 1
581
581
// CHECK-A64-NEXT: [[COERCE_DIVE:%.*]] = getelementptr inbounds nuw [[STRUCT_SEMPTY]], ptr [[S]], i32 0, i32 0
582
- // CHECK-A64-NEXT: store i8 [[S_COERCE]], ptr [[COERCE_DIVE]], align 1
582
+ // CHECK-A64-NEXT: [[COERCE_VAL_II:%.*]] = trunc i64 [[S_COERCE]] to i8
583
+ // CHECK-A64-NEXT: store i8 [[COERCE_VAL_II]], ptr [[COERCE_DIVE]], align 1
583
584
// CHECK-A64-NEXT: ret void
584
585
//
585
586
// CHECK-A64_32-LABEL: define void @_Z6Tempty6Sempty(
586
- // CHECK-A64_32-SAME: i8 [[S_COERCE:%.*]]) #[[ATTR0]] {
587
+ // CHECK-A64_32-SAME: i64 [[S_COERCE:%.*]]) #[[ATTR0]] {
587
588
// CHECK-A64_32-NEXT: [[ENTRY:.*:]]
588
589
// CHECK-A64_32-NEXT: [[S:%.*]] = alloca [[STRUCT_SEMPTY:%.*]], align 1
589
590
// CHECK-A64_32-NEXT: [[COERCE_DIVE:%.*]] = getelementptr inbounds nuw [[STRUCT_SEMPTY]], ptr [[S]], i32 0, i32 0
590
- // CHECK-A64_32-NEXT: store i8 [[S_COERCE]], ptr [[COERCE_DIVE]], align 1
591
+ // CHECK-A64_32-NEXT: [[COERCE_VAL_II:%.*]] = trunc i64 [[S_COERCE]] to i8
592
+ // CHECK-A64_32-NEXT: store i8 [[COERCE_VAL_II]], ptr [[COERCE_DIVE]], align 1
591
593
// CHECK-A64_32-NEXT: ret void
592
594
//
593
595
void Tempty (Sempty s) { }
0 commit comments