1; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s 2 3; CHECK: declare void @llvm.test.immarg.intrinsic.i32(i32 immarg) 4declare void @llvm.test.immarg.intrinsic.i32(i32 immarg) 5 6; CHECK: declare void @llvm.test.immarg.intrinsic.f32(float immarg) 7declare void @llvm.test.immarg.intrinsic.f32(float immarg) 8 9; CHECK-LABEL: @call_llvm.test.immarg.intrinsic.i32( 10define void @call_llvm.test.immarg.intrinsic.i32() { 11 ; CHECK: call void @llvm.test.immarg.intrinsic.i32(i32 0) 12 call void @llvm.test.immarg.intrinsic.i32(i32 0) 13 14 ; CHECK: call void @llvm.test.immarg.intrinsic.i32(i32 0) 15 call void @llvm.test.immarg.intrinsic.i32(i32 0) 16 17 ; CHECK: call void @llvm.test.immarg.intrinsic.i32(i32 1) 18 call void @llvm.test.immarg.intrinsic.i32(i32 1) 19 20 ; CHECK: call void @llvm.test.immarg.intrinsic.i32(i32 5) 21 call void @llvm.test.immarg.intrinsic.i32(i32 add (i32 2, i32 3)) 22 23 ; CHECK: call void @llvm.test.immarg.intrinsic.i32(i32 0) 24 call void @llvm.test.immarg.intrinsic.i32(i32 ptrtoint (i32* null to i32)) 25 ret void 26} 27 28; CHECK-LABEL: @call_llvm.test.immarg.intrinsic.f32( 29define void @call_llvm.test.immarg.intrinsic.f32() { 30 ; CHECK: call void @llvm.test.immarg.intrinsic.f32(float 1.000000e+00) 31 call void @llvm.test.immarg.intrinsic.f32(float 1.0) 32 ret void 33} 34 35define void @on_callsite_and_declaration() { 36 ; CHECK: call void @llvm.test.immarg.intrinsic.i32(i32 immarg 0) 37 call void @llvm.test.immarg.intrinsic.i32(i32 immarg 0) 38 ret void 39} 40