summaryrefslogtreecommitdiff
path: root/src/cuda-sim/ptx.l
diff options
context:
space:
mode:
authorgpgpu-sim <[email protected]>2016-07-04 14:49:07 -0700
committerGitHub <[email protected]>2016-07-04 14:49:07 -0700
commitd90b6ad29a7cb24841841f7c54fcb4c2b1e929eb (patch)
treeaab816c03efb97100868528d4381472e5d82168c /src/cuda-sim/ptx.l
parentaf4eee53ad30bb58c3ee53da71845ac95aa517e0 (diff)
parentf7c57e76c086ce417626f37ffc91097c839c687d (diff)
Merge pull request #26 from sspenst/dev
Additional support for CUDA 7.5
Diffstat (limited to 'src/cuda-sim/ptx.l')
-rw-r--r--src/cuda-sim/ptx.l10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/cuda-sim/ptx.l b/src/cuda-sim/ptx.l
index dfed936..b8ce497 100644
--- a/src/cuda-sim/ptx.l
+++ b/src/cuda-sim/ptx.l
@@ -86,7 +86,7 @@ ldu TC; ptx_lval.int_value = LDU_OP; return OPCODE;
lg2 TC; ptx_lval.int_value = LG2_OP; return OPCODE;
mad24 TC; ptx_lval.int_value = MAD24_OP; return OPCODE;
mad TC; ptx_lval.int_value = MAD_OP; return OPCODE;
-madp TC; ptx_lval.int_value = MADP_OP; return OPCODE;
+madc TC; ptx_lval.int_value = MADC_OP; return OPCODE;
max TC; ptx_lval.int_value = MAX_OP; return OPCODE;
membar TC; ptx_lval.int_value = MEMBAR_OP; return OPCODE;
min TC; ptx_lval.int_value = MIN_OP; return OPCODE;
@@ -181,6 +181,7 @@ breakaddr TC; ptx_lval.int_value = BREAKADDR_OP; return OPCODE;
\.version TC; return VERSION_DIRECTIVE;
\.visible TC; return VISIBLE_DIRECTIVE;
\.address_size TC; return ADDRESS_SIZE_DIRECTIVE;
+\.weak TC; return WEAK_DIRECTIVE;
\.constptr TC; return CONSTPTR_DIRECTIVE; /* Ptx plus directive for pointer to constant memory */
\.ptr TC; return PTR_DIRECTIVE; /* Added for new OpenCL genrated code */
@@ -249,6 +250,7 @@ breakaddr TC; ptx_lval.int_value = BREAKADDR_OP; return OPCODE;
\.v4 TC; return V4_TYPE;
\.half TC; return HALF_OPTION; /* ptxplus */
+\.cc TC; return EXTP_OPTION; /* extended precision option */
\.equ TC; return EQU_OPTION;
\.neu TC; return NEU_OPTION;
@@ -324,6 +326,8 @@ breakaddr TC; ptx_lval.int_value = BREAKADDR_OP; return OPCODE;
\.wb TC; return WB_OPTION;
\.wt TC; return WT_OPTION;
+\.nc TC; return NC_OPTION;
+
\.popc TC; return ATOMIC_POPC;
\.and TC; return ATOMIC_AND;
\.or TC; return ATOMIC_OR;
@@ -386,7 +390,9 @@ breakaddr TC; ptx_lval.int_value = BREAKADDR_OP; return OPCODE;
}
<IN_COMMENT>{
"*/" BEGIN(INITIAL);
-[^*\n]+ // eat comment in chunks
+"CPTX_BEGIN" printf("BEGINNING CUSTOM PTX.\n"); BEGIN(INITIAL);
+[^C*\n]+ // eat comment in chunks
+"C"
"*" // eat the lone star
\n TC;
}