xref: /llvm-project/llvm/test/Bitcode/upgrade-inline-asm-elementtype.ll (revision e45cf479231fc144b4e1eb8b3e3bd2f578b6907d)
1eddd5be1SNikita Popov; RUN: llvm-dis < %s.bc | FileCheck %s
2eddd5be1SNikita Popov
3*e45cf479SNikita Popov; CHECK: call void asm "", "=*rm,r"(ptr elementtype(i32) %p1, ptr %p2)
4eddd5be1SNikita Popovdefine void @test_call(i32* %p1, i32* %p2) {
5eddd5be1SNikita Popov	call void asm "", "=*rm,r"(i32* %p1, i32* %p2)
6eddd5be1SNikita Popov  ret void
7eddd5be1SNikita Popov}
8eddd5be1SNikita Popov
9*e45cf479SNikita Popov; CHECK: invoke void asm "", "=*rm,r"(ptr elementtype(i32) %p1, ptr %p2)
10eddd5be1SNikita Popovdefine void @test_invoke(i32* %p1, i32* %p2) personality i8* null {
11eddd5be1SNikita Popov	invoke void asm "", "=*rm,r"(i32* %p1, i32* %p2)
12eddd5be1SNikita Popov      to label %cont unwind label %lpad
13eddd5be1SNikita Popov
14eddd5be1SNikita Popovlpad:
15eddd5be1SNikita Popov  %lp = landingpad i32
16eddd5be1SNikita Popov      cleanup
17eddd5be1SNikita Popov  ret void
18eddd5be1SNikita Popov
19eddd5be1SNikita Popovcont:
20eddd5be1SNikita Popov  ret void
21eddd5be1SNikita Popov}
22eddd5be1SNikita Popov
23*e45cf479SNikita Popov; CHECK: callbr void asm "", "=*rm,r"(ptr elementtype(i32) %p1, ptr %p2)
24eddd5be1SNikita Popovdefine void @test_callbr(i32* %p1, i32* %p2) {
25eddd5be1SNikita Popov	callbr void asm "", "=*rm,r"(i32* %p1, i32* %p2)
26eddd5be1SNikita Popov      to label %cont []
27eddd5be1SNikita Popov
28eddd5be1SNikita Popovcont:
29eddd5be1SNikita Popov  ret void
30eddd5be1SNikita Popov}
31