@@ -575,19 +575,21 @@ void TSpp_align16(SSpp_align16 s) { *s.a.x = 1; }
575575struct Sempty {
576576};
577577// CHECK-A64-LABEL: define dso_local void @_Z6Tempty6Sempty(
578- // CHECK-A64-SAME: i8 [[S_COERCE:%.*]]) #[[ATTR0]] {
578+ // CHECK-A64-SAME: i64 [[S_COERCE:%.*]]) #[[ATTR0]] {
579579// CHECK-A64-NEXT: [[ENTRY:.*:]]
580580// CHECK-A64-NEXT: [[S:%.*]] = alloca [[STRUCT_SEMPTY:%.*]], align 1
581581// 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
583584// CHECK-A64-NEXT: ret void
584585//
585586// 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]] {
587588// CHECK-A64_32-NEXT: [[ENTRY:.*:]]
588589// CHECK-A64_32-NEXT: [[S:%.*]] = alloca [[STRUCT_SEMPTY:%.*]], align 1
589590// 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
591593// CHECK-A64_32-NEXT: ret void
592594//
593595void Tempty (Sempty s) { }
0 commit comments