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

<DIV>
<HR>
</DIV>
<DIV>This email message is for the sole use of the intended recipient(s) and may 
contain confidential information.  Any unauthorized review, use, disclosure 
or distribution is prohibited.  If you are not the intended recipient, 
please contact the sender by reply email and destroy all copies of the original 
message. </DIV>
<DIV>
<HR>
</DIV>
</body>
</html>