xref: /llvm-project/llvm/test/Bitcode/intrinsics-struct-upgrade.ll (revision e45cf479231fc144b4e1eb8b3e3bd2f578b6907d)
18a72391fSNikita Popov; RUN: llvm-dis < %s.bc | FileCheck %s
28a72391fSNikita Popov
38a72391fSNikita Popov%struct.__neon_int8x8x2_t = type { <8 x i8>, <8 x i8> }
48a72391fSNikita Popov
58a72391fSNikita Popovdeclare %struct.__neon_int8x8x2_t @llvm.aarch64.neon.ld2.v8i8.p0i8(i8*)
68a72391fSNikita Popov
7*e45cf479SNikita Popov; CHECK-LABEL: define %struct.__neon_int8x8x2_t @test_named_struct_return(ptr %A) {
8*e45cf479SNikita Popov; CHECK:  %1 = call { <8 x i8>, <8 x i8> } @llvm.aarch64.neon.ld2.v8i8.p0(ptr %A)
98a72391fSNikita Popov; CHECK:  %2 = extractvalue { <8 x i8>, <8 x i8> } %1, 0
108a72391fSNikita Popov; CHECK:  %3 = insertvalue %struct.__neon_int8x8x2_t poison, <8 x i8> %2, 0
118a72391fSNikita Popov; CHECK:  %4 = extractvalue { <8 x i8>, <8 x i8> } %1, 1
128a72391fSNikita Popov; CHECK:  %5 = insertvalue %struct.__neon_int8x8x2_t %3, <8 x i8> %4, 1
138a72391fSNikita Popov; CHECK:  ret %struct.__neon_int8x8x2_t %5
148a72391fSNikita Popov
158a72391fSNikita Popovdefine %struct.__neon_int8x8x2_t @test_named_struct_return(i8* %A) {
168a72391fSNikita Popov  %val = call %struct.__neon_int8x8x2_t @llvm.aarch64.neon.ld2.v8i8.p0i8(i8* %A)
178a72391fSNikita Popov  ret %struct.__neon_int8x8x2_t %val
188a72391fSNikita Popov}
19