Skip to content

Commit be9d344

Browse files
Merge pull request #76261 from aschwaighofer/test_case_pr_72617
Add a test for PR #72617
2 parents 74f54da + 8ac5793 commit be9d344

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

test/IRGen/loadable_by_address_reg2mem.sil

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,25 @@ struct X {
2424
var x16: Int
2525
}
2626

27+
struct X2 {
28+
var x1 : Int
29+
var x2 : Int
30+
var x3 : Int
31+
var x4: Int
32+
var x5: Int
33+
var x6: Int
34+
var x7: Int
35+
var x8: Int
36+
var x9: Int
37+
var x10: Int
38+
var x11: Int
39+
var x12: Int
40+
var x13: Int
41+
var x14: Int
42+
var x15: Int
43+
var x16: Int
44+
}
45+
2746
struct Y {
2847
var y1 : X
2948
var y2: X
@@ -314,3 +333,21 @@ bb0:
314333
%t = tuple ()
315334
return %t : $()
316335
}
336+
337+
// CHECK: sil @test13
338+
// CHECK: [[ADDR:%.*]] = unchecked_addr_cast %1 : $*X to $*Y
339+
// CHECK: copy_addr [take] [[ADDR]] to [init] %2 : $*Y
340+
// CHECK: } // end sil function 'test13'
341+
sil @test13 : $@convention(thin) (@in X) -> () {
342+
bb0(%0 : $*X):
343+
%1 = alloc_stack $Y
344+
%2 = alloc_stack $X
345+
copy_addr [take] %0 to [init] %2 : $*X
346+
%4 = load %2 : $*X
347+
%7 = unchecked_bitwise_cast %4 : $X to $Y
348+
store %7 to %1: $*Y
349+
%13 = tuple ()
350+
dealloc_stack %2 : $*X
351+
dealloc_stack %1 : $*Y
352+
return %13 : $()
353+
}

0 commit comments

Comments
 (0)