| ; RUN: not llvm-as -disable-output %s 2>&1 | FileCheck %s |
| |
| ; CHECK: 'nofpclass(nan)' applied to incompatible type! |
| ; CHECK-NEXT: ptr @nofpclass_int_return |
| define nofpclass(nan) i32 @nofpclass_int_return(i32 %arg) { |
| ret i32 %arg |
| } |
| |
| ; CHECK: 'nofpclass(nan)' applied to incompatible type! |
| ; CHECK-NEXT: ptr @nofpclass_int_param |
| define i32 @nofpclass_int_param(i32 nofpclass(nan) %arg) { |
| ret i32 %arg |
| } |
| |
| ; CHECK: 'nofpclass(zero)' applied to incompatible type! |
| ; CHECK-NEXT: ptr @nofpclass_int_ret_decl |
| declare nofpclass(zero) i32 @nofpclass_int_ret_decl() |
| |
| ; CHECK: 'nofpclass(inf)' applied to incompatible type! |
| ; CHECK-NEXT: ptr @nofpclass_int_arg_decl |
| declare i32 @nofpclass_int_arg_decl(i32 nofpclass(inf)) |
| |
| |
| ; CHECK: 'nofpclass(nan)' applied to incompatible type! |
| ; CHECK-NEXT: ptr @nofpclass_vector_int |
| ; CHECK-NEXT: 'nofpclass(zero)' applied to incompatible type! |
| ; CHECK-NEXT: ptr @nofpclass_vector_int |
| define nofpclass(nan) <4 x i32> @nofpclass_vector_int(<4 x i32> nofpclass(zero) %arg) { |
| ret <4 x i32> %arg |
| } |
| |
| ; CHECK: 'nofpclass(nan)' applied to incompatible type! |
| ; CHECK-NEXT: ptr @nofpclass_array_int |
| ; CHECK-NEXT: 'nofpclass(zero)' applied to incompatible type! |
| ; CHECK-NEXT: ptr @nofpclass_array_int |
| define nofpclass(nan) [4 x i32] @nofpclass_array_int([4 x i32] nofpclass(zero) %arg) { |
| ret [4 x i32] %arg |
| } |
| |
| ; CHECK: 'nofpclass(nan)' applied to incompatible type! |
| ; CHECK-NEXT: ptr @nofpclass_vector_array_int |
| ; CHECK-NEXT: 'nofpclass(zero)' applied to incompatible type! |
| ; CHECK-NEXT: ptr @nofpclass_vector_array_int |
| define nofpclass(nan) [4 x <8 x i32>] @nofpclass_vector_array_int([4 x <8 x i32>] nofpclass(zero) %arg) { |
| ret [4 x <8 x i32>] %arg |
| } |
| |
| %opaque = type opaque |
| |
| ; CHECK: 'nofpclass(nan)' applied to incompatible type! |
| ; CHECK-NEXT: ptr @nofpclass_opaque_type |
| ; CHECK-NEXT: 'nofpclass(zero)' applied to incompatible type! |
| ; CHECK-NEXT: ptr @nofpclass_opaque_type |
| define nofpclass(nan) %opaque @nofpclass_opaque_type(%opaque nofpclass(zero) %arg) { |
| ret %opaque %arg |
| } |
| |
| %struct = type { i32, float } |
| |
| ; CHECK: 'nofpclass(nan)' applied to incompatible type! |
| ; CHECK-NEXT: ptr @nofpclass_struct |
| ; CHECK-NEXT: 'nofpclass(zero)' applied to incompatible type! |
| ; CHECK-NEXT: ptr @nofpclass_struct |
| define nofpclass(nan) %struct @nofpclass_struct(%struct nofpclass(zero) %arg) { |
| ret %struct %arg |
| } |