summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTor Aamodt <[email protected]>2010-07-16 21:31:41 -0800
committerTor Aamodt <[email protected]>2010-07-16 21:31:41 -0800
commit6941e2dc7c6fb5e9d365e4e96ae4bc8cece2bdac (patch)
tree5d9ba2c229423108638e299e7ac9986e3907e96b /src
parent2a41477bc27387f23ec7c3d6fc3b8e0efdebc9d0 (diff)
adding parsing for opaque specifiers
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 6851]
Diffstat (limited to 'src')
-rw-r--r--src/cuda-sim/ptx.l6
-rw-r--r--src/cuda-sim/ptx.y6
2 files changed, 11 insertions, 1 deletions
diff --git a/src/cuda-sim/ptx.l b/src/cuda-sim/ptx.l
index b7dd56f..0ab7522 100644
--- a/src/cuda-sim/ptx.l
+++ b/src/cuda-sim/ptx.l
@@ -190,7 +190,7 @@ xor TC; ptx_lval.int_value = XOR_OP; return OPCODE;
\.section TC; return SECTION_DIRECTIVE;
\.shared TC; return SHARED_DIRECTIVE;
\.sreg TC; return SREG_DIRECTIVE;
-\.struct TC; return STRUCT_DIRECTIVE; /* not in PTX 2.1 */
+\.struct TC; return STRUCT_DIRECTIVE;
\.surf TC; return SURF_DIRECTIVE; /* not in PTX 2.1 */
\.target TC; return TARGET_DIRECTIVE;
\.tex TC; BEGIN(NOT_OPCODE); return TEX_DIRECTIVE;
@@ -250,6 +250,10 @@ xor TC; ptx_lval.int_value = XOR_OP; return OPCODE;
\.b64 TC; return B64_TYPE;
\.pred TC; return PRED_TYPE;
+\.texref TC; return TEXREF_TYPE;
+\.samplerref TC; return SAMPLERREF_TYPE;
+\.surfref TC; return SURFREF_TYPE;
+
\.v2 TC; return V2_TYPE;
\.v3 TC; return V3_TYPE;
\.v4 TC; return V4_TYPE;
diff --git a/src/cuda-sim/ptx.y b/src/cuda-sim/ptx.y
index bb10ae1..dd69fe5 100644
--- a/src/cuda-sim/ptx.y
+++ b/src/cuda-sim/ptx.y
@@ -122,6 +122,9 @@
%token B32_TYPE
%token B64_TYPE
%token PRED_TYPE
+%token TEXREF_TYPE
+%token SAMPLERREF_TYPE
+%token SURFREF_TYPE
%token V2_TYPE
%token V3_TYPE
%token V4_TYPE
@@ -331,6 +334,9 @@ scalar_type: S8_TYPE { add_scalar_type_spec( S8_TYPE ); }
| B32_TYPE { add_scalar_type_spec( B32_TYPE ); }
| B64_TYPE { add_scalar_type_spec( B64_TYPE ); }
| PRED_TYPE { add_scalar_type_spec( PRED_TYPE ); }
+ | TEXREF_TYPE { add_scalar_type_spec( TEXREF_TYPE ); }
+ | SAMPLERREF_TYPE { add_scalar_type_spec( SAMPLERREF_TYPE ); }
+ | SURFREF_TYPE { add_scalar_type_spec( SURFREF_TYPE ); }
;
initializer_list: LEFT_BRACE literal_list RIGHT_BRACE { add_array_initializer(); }