// #target: macos-x64
module test;

struct Foo
{
	int x, y;
}

fn void test()
{
	Foo $z = { 1, 2 };
	Foo $y;
	Foo y = $z;
	Foo z = $y;
}

/* #expect: test.ll

define void @test.test() #0 {
entry:
  %y = alloca %Foo, align 4
  %z = alloca %Foo, align 4
  call void @llvm.memcpy.p0.p0.i32(ptr align 4 %y, ptr align 4 @.__const, i32 8, i1 false)
  store i32 0, ptr %z, align 4
  %ptradd = getelementptr inbounds i8, ptr %z, i64 4
  store i32 0, ptr %ptradd, align 4
  ret void
}