summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsspenst <[email protected]>2016-06-07 16:22:45 -0700
committersspenst <[email protected]>2016-06-07 16:22:45 -0700
commit587853a81f6fa6088b7f3d93fc8862a8b2610da7 (patch)
treea29948b33b8e44543747744430ae0e0e57cd5b59
parent7aeadc95cc50d266f93cdb3ada1c192d9b5a1046 (diff)
The ptx parser now recognizes the NC option for ld.global, however this option is not actually implemented
-rw-r--r--libcuda/cuobjdump.y3
-rw-r--r--src/cuda-sim/ptx.l2
-rw-r--r--src/cuda-sim/ptx.y2
-rw-r--r--src/cuda-sim/ptx_ir.cc2
4 files changed, 7 insertions, 2 deletions
diff --git a/libcuda/cuobjdump.y b/libcuda/cuobjdump.y
index 9d61f25..31760f7 100644
--- a/libcuda/cuobjdump.y
+++ b/libcuda/cuobjdump.y
@@ -82,8 +82,7 @@ section : PTXHEADER {
snprintf(filename, 1024, "_cuobjdump_%d.elf", elfserial);
elffile = fopen(filename, "w");
setCuobjdumpelffilename(filename);
- } headerinfo identifier{
- } elfcode {
+ } headerinfo compressedkeyword identifier elfcode {
fclose(elffile);
snprintf(filename, 1024, "_cuobjdump_%d.sass", elfserial++);
sassfile = fopen(filename, "w");
diff --git a/src/cuda-sim/ptx.l b/src/cuda-sim/ptx.l
index 66ff48f..a44177b 100644
--- a/src/cuda-sim/ptx.l
+++ b/src/cuda-sim/ptx.l
@@ -326,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;
diff --git a/src/cuda-sim/ptx.y b/src/cuda-sim/ptx.y
index fca94db..4de39d1 100644
--- a/src/cuda-sim/ptx.y
+++ b/src/cuda-sim/ptx.y
@@ -193,6 +193,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%token CV_OPTION;
%token WB_OPTION;
%token WT_OPTION;
+%token NC_OPTION;
%type <int_value> function_decl_header
%type <ptr_value> function_decl
@@ -449,6 +450,7 @@ option: type_spec
| CV_OPTION { add_option(CV_OPTION); }
| WB_OPTION { add_option(WB_OPTION); }
| WT_OPTION { add_option(WT_OPTION); }
+ | NC_OPTION { add_option(NC_OPTION); }
;
atomic_operation_spec: ATOMIC_AND { add_option(ATOMIC_AND); }
diff --git a/src/cuda-sim/ptx_ir.cc b/src/cuda-sim/ptx_ir.cc
index 8f9c3d2..2eccabc 100644
--- a/src/cuda-sim/ptx_ir.cc
+++ b/src/cuda-sim/ptx_ir.cc
@@ -1169,6 +1169,8 @@ ptx_instruction::ptx_instruction( int opcode,
break;
case EXTP_OPTION:
break;
+ case NC_OPTION:
+ break;
default:
assert(0);
break;