struct f1 return_f1(void) { while (1); }
-// CHECK: define void @return_f1(%struct.f1* noalias sret %agg.result)
+// CHECK: define i32 @return_f1()
void receive_f1(struct f1 a0) { }
struct f2 return_f2(void) { while (1); }
-// CHECK: define void @return_f2(%struct.f2* noalias sret %agg.result)
+// CHECK: define i64 @return_f2()
void receive_f2(struct f2 a0) { }
// CHECK: define void @receive_f2(%struct.f2* byval align 4 %a0)
+struct f4 {
+ float f;
+ float g;
+ float h;
+ float i;
+};
+
+struct f4 return_f4(void) { while (1); }
+
+// CHECK: define void @return_f4(%struct.f4* noalias sret %agg.result)
+
+void receive_f4(struct f4 a0) { }
+
+// CHECK: define void @receive_f4(%struct.f4* byval align 4 %a0)
+