<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Mar 30, 2015 at 11:12 AM, Justin Holewinski <span dir="ltr"><<a href="mailto:jholewinski@nvidia.com" target="_blank">jholewinski@nvidia.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: jholewinski<br>
Date: Mon Mar 30 13:12:50 2015<br>
New Revision: 233575<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=233575&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=233575&view=rev</a><br>
Log:<br>
[NVPTX] Add options for PTX 4.1/4.2 and SM 3.2/3.7/5.2/5.3<br>
<br>
Added:<br>
    llvm/trunk/test/CodeGen/NVPTX/sm-version-32.ll<br>
    llvm/trunk/test/CodeGen/NVPTX/sm-version-37.ll<br>
    llvm/trunk/test/CodeGen/NVPTX/sm-version-52.ll<br>
    llvm/trunk/test/CodeGen/NVPTX/sm-version-53.ll<br>
Modified:<br>
    llvm/trunk/lib/Target/NVPTX/NVPTX.td<br></blockquote><div><br></div><div>Thanks Justin, one question below...</div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Modified: llvm/trunk/lib/Target/NVPTX/NVPTX.td<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/NVPTX/NVPTX.td?rev=233575&r1=233574&r2=233575&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/NVPTX/NVPTX.td?rev=233575&r1=233574&r2=233575&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/NVPTX/NVPTX.td (original)<br>
+++ llvm/trunk/lib/Target/NVPTX/NVPTX.td Mon Mar 30 13:12:50 2015<br>
@@ -32,10 +32,18 @@ def SM21 : SubtargetFeature<"sm_21", "Sm<br>
                             "Target SM 2.1">;<br>
 def SM30 : SubtargetFeature<"sm_30", "SmVersion", "30",<br>
                             "Target SM 3.0">;<br>
+def SM32 : SubtargetFeature<"sm_32", "SmVersion", "32",<br>
+                            "Target SM 3.2">;<br>
 def SM35 : SubtargetFeature<"sm_35", "SmVersion", "35",<br>
                             "Target SM 3.5">;<br>
+def SM37 : SubtargetFeature<"sm_37", "SmVersion", "37",<br>
+                            "Target SM 3.7">;<br>
 def SM50 : SubtargetFeature<"sm_50", "SmVersion", "50",<br>
                             "Target SM 5.0">;<br>
+def SM52 : SubtargetFeature<"sm_52", "SmVersion", "52",<br>
+                            "Target SM 5.2">;<br>
+def SM53 : SubtargetFeature<"sm_53", "SmVersion", "53",<br>
+                            "Target SM 5.3">;<br>
<br>
 // PTX Versions<br>
 def PTX30 : SubtargetFeature<"ptx30", "PTXVersion", "30",<br>
@@ -46,6 +54,10 @@ def PTX32 : SubtargetFeature<"ptx32", "P<br>
                              "Use PTX version 3.2">;<br>
 def PTX40 : SubtargetFeature<"ptx40", "PTXVersion", "40",<br>
                              "Use PTX version 4.0">;<br>
+def PTX41 : SubtargetFeature<"ptx41", "PTXVersion", "41",<br>
+                             "Use PTX version 4.1">;<br>
+def PTX42 : SubtargetFeature<"ptx42", "PTXVersion", "42",<br>
+                             "Use PTX version 4.2">;<br>
<br>
 //===----------------------------------------------------------------------===//<br>
 // NVPTX supported processors.<br>
@@ -57,8 +69,12 @@ class Proc<string Name, list<SubtargetFe<br>
 def : Proc<"sm_20", [SM20]>;<br>
 def : Proc<"sm_21", [SM21]>;<br>
 def : Proc<"sm_30", [SM30]>;<br>
+def : Proc<"sm_32", [SM32]>;<br>
 def : Proc<"sm_35", [SM35]>;<br>
+def : Proc<"sm_37", [SM37]>;<br>
 def : Proc<"sm_50", [SM50]>;<br>
+def : Proc<"sm_52", [SM52]>;<br>
+def : Proc<"sm_53", [SM53]>;<br>
<br>
<br>
 def NVPTXInstrInfo : InstrInfo {<br>
<br>
Added: llvm/trunk/test/CodeGen/NVPTX/sm-version-32.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/NVPTX/sm-version-32.ll?rev=233575&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/NVPTX/sm-version-32.ll?rev=233575&view=auto</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/NVPTX/sm-version-32.ll (added)<br>
+++ llvm/trunk/test/CodeGen/NVPTX/sm-version-32.ll Mon Mar 30 13:12:50 2015<br>
@@ -0,0 +1,6 @@<br>
+; RUN: llc < %s -march=nvptx -mcpu=sm_32 | FileCheck %s<br>
+; RUN: llc < %s -march=nvptx64 -mcpu=sm_32 | FileCheck %s<br>
+<br>
+<br>
+; CHECK: .target sm_32<br>
+<br>
<br>
Added: llvm/trunk/test/CodeGen/NVPTX/sm-version-37.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/NVPTX/sm-version-37.ll?rev=233575&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/NVPTX/sm-version-37.ll?rev=233575&view=auto</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/NVPTX/sm-version-37.ll (added)<br>
+++ llvm/trunk/test/CodeGen/NVPTX/sm-version-37.ll Mon Mar 30 13:12:50 2015<br>
@@ -0,0 +1,6 @@<br>
+; RUN: llc < %s -march=nvptx -mcpu=sm_37 | FileCheck %s<br>
+; RUN: llc < %s -march=nvptx64 -mcpu=sm_37 | FileCheck %s<br>
+<br>
+<br>
+; CHECK: .target sm_37<br>
+<br>
<br>
Added: llvm/trunk/test/CodeGen/NVPTX/sm-version-52.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/NVPTX/sm-version-52.ll?rev=233575&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/NVPTX/sm-version-52.ll?rev=233575&view=auto</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/NVPTX/sm-version-52.ll (added)<br>
+++ llvm/trunk/test/CodeGen/NVPTX/sm-version-52.ll Mon Mar 30 13:12:50 2015<br>
@@ -0,0 +1,6 @@<br>
+; RUN: llc < %s -march=nvptx -mcpu=sm_52 | FileCheck %s<br>
+; RUN: llc < %s -march=nvptx64 -mcpu=sm_52 | FileCheck %s<br>
+<br>
+<br>
+; CHECK: .target sm_52<br>
+<br>
<br>
Added: llvm/trunk/test/CodeGen/NVPTX/sm-version-53.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/NVPTX/sm-version-53.ll?rev=233575&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/NVPTX/sm-version-53.ll?rev=233575&view=auto</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/NVPTX/sm-version-53.ll (added)<br>
+++ llvm/trunk/test/CodeGen/NVPTX/sm-version-53.ll Mon Mar 30 13:12:50 2015<br>
@@ -0,0 +1,6 @@<br>
+; RUN: llc < %s -march=nvptx -mcpu=sm_53 | FileCheck %s<br>
+; RUN: llc < %s -march=nvptx64 -mcpu=sm_53 | FileCheck %s<br>
+<br>
+<br>
+; CHECK: .target sm_53<br>
+<br><br></blockquote><div><br></div><div>No tests that the proper PTX version is set? That would probably be useful since ptxas forces a certain PTX version</div><div><br></div><div>Eli</div></div><br></div></div>