1 //! Check that types of up to 128 bits are passed and returned by-value instead of via pointer.
3 // compile-flags: -C no-prepopulate-passes -O
14 // CHECK: define i128 @modify(i128{{( %0)?}})
16 pub fn modify(s: S) -> S {
17 S { a: s.a + s.a, b: s.b + s.b, c: s.c + s.c }
28 // CHECK: define void @m_big(%TooBig* [[ATTRS:.*sret.*]], %TooBig* [[ATTRS2:.*]] %s)
30 pub fn m_big(s: TooBig) -> TooBig {
31 TooBig { a: s.a + s.a, b: s.b + s.b, c: s.c + s.c, d: s.d + s.d }