Mercurial > hg > CbC > CbC_llvm
comparison lib/Target/R600/R600Intrinsics.td @ 0:95c75e76d11b LLVM3.4
LLVM 3.4
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 12 Dec 2013 13:56:28 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:95c75e76d11b |
---|---|
1 //===-- R600Intrinsics.td - R600 Instrinsic defs -------*- tablegen -*-----===// | |
2 // | |
3 // The LLVM Compiler Infrastructure | |
4 // | |
5 // This file is distributed under the University of Illinois Open Source | |
6 // License. See LICENSE.TXT for details. | |
7 // | |
8 //===----------------------------------------------------------------------===// | |
9 // | |
10 // R600 Intrinsic Definitions | |
11 // | |
12 //===----------------------------------------------------------------------===// | |
13 | |
14 let TargetPrefix = "R600", isTarget = 1 in { | |
15 class TextureIntrinsicFloatInput : | |
16 Intrinsic<[llvm_v4f32_ty], [ | |
17 llvm_v4f32_ty, // Coord | |
18 llvm_i32_ty, // offset_x | |
19 llvm_i32_ty, // offset_y, | |
20 llvm_i32_ty, // offset_z, | |
21 llvm_i32_ty, // resource_id | |
22 llvm_i32_ty, // samplerid | |
23 llvm_i32_ty, // coord_type_x | |
24 llvm_i32_ty, // coord_type_y | |
25 llvm_i32_ty, // coord_type_z | |
26 llvm_i32_ty // coord_type_w | |
27 ], [IntrNoMem]>; | |
28 class TextureIntrinsicInt32Input : | |
29 Intrinsic<[llvm_v4i32_ty], [ | |
30 llvm_v4i32_ty, // Coord | |
31 llvm_i32_ty, // offset_x | |
32 llvm_i32_ty, // offset_y, | |
33 llvm_i32_ty, // offset_z, | |
34 llvm_i32_ty, // resource_id | |
35 llvm_i32_ty, // samplerid | |
36 llvm_i32_ty, // coord_type_x | |
37 llvm_i32_ty, // coord_type_y | |
38 llvm_i32_ty, // coord_type_z | |
39 llvm_i32_ty // coord_type_w | |
40 ], [IntrNoMem]>; | |
41 | |
42 def int_R600_load_input : | |
43 Intrinsic<[llvm_float_ty], [llvm_i32_ty], [IntrNoMem]>; | |
44 def int_R600_interp_input : | |
45 Intrinsic<[llvm_float_ty], [llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
46 def int_R600_interp_const : | |
47 Intrinsic<[llvm_v4f32_ty], [llvm_i32_ty], [IntrNoMem]>; | |
48 def int_R600_interp_xy : | |
49 Intrinsic<[llvm_v2f32_ty], [llvm_i32_ty, llvm_float_ty, llvm_float_ty], [IntrNoMem]>; | |
50 def int_R600_interp_zw : | |
51 Intrinsic<[llvm_v2f32_ty], [llvm_i32_ty, llvm_float_ty, llvm_float_ty], [IntrNoMem]>; | |
52 def int_R600_load_texbuf : | |
53 Intrinsic<[llvm_v4f32_ty], [llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>; | |
54 def int_R600_tex : TextureIntrinsicFloatInput; | |
55 def int_R600_texc : TextureIntrinsicFloatInput; | |
56 def int_R600_txl : TextureIntrinsicFloatInput; | |
57 def int_R600_txlc : TextureIntrinsicFloatInput; | |
58 def int_R600_txb : TextureIntrinsicFloatInput; | |
59 def int_R600_txbc : TextureIntrinsicFloatInput; | |
60 def int_R600_txf : TextureIntrinsicInt32Input; | |
61 def int_R600_ldptr : TextureIntrinsicInt32Input; | |
62 def int_R600_txq : TextureIntrinsicInt32Input; | |
63 def int_R600_ddx : TextureIntrinsicFloatInput; | |
64 def int_R600_ddy : TextureIntrinsicFloatInput; | |
65 def int_R600_store_swizzle : | |
66 Intrinsic<[], [llvm_v4f32_ty, llvm_i32_ty, llvm_i32_ty], []>; | |
67 def int_R600_store_stream_output : | |
68 Intrinsic<[], [llvm_v4f32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], []>; | |
69 def int_R600_store_pixel_depth : | |
70 Intrinsic<[], [llvm_float_ty], []>; | |
71 def int_R600_store_pixel_stencil : | |
72 Intrinsic<[], [llvm_float_ty], []>; | |
73 def int_R600_store_dummy : | |
74 Intrinsic<[], [llvm_i32_ty], []>; | |
75 } |