[PATCH] D141054: [NVPTX] Set default version of architecture to SM_30, PTX to 6.0.
Andrew Savonichev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 6 14:24:02 PST 2023
asavonic added inline comments.
================
Comment at: llvm/test/CodeGen/NVPTX/surf-tex.py:2
# RUN: %python %s --target=cuda --tests=suld,sust,tex,tld4 --gen-list=%t.list > %t-cuda.ll
-# RUN: llc %t-cuda.ll -verify-machineinstrs -o - | FileCheck %t-cuda.ll
-# RUN: %if ptxas %{ llc %t-cuda.ll -verify-machineinstrs -o - | %ptxas-verify %}
+# RUN: llc -mcpu=sm_20 %t-cuda.ll -verify-machineinstrs -o - | FileCheck %t-cuda.ll
+# RUN: %if ptxas %{ llc -mcpu=sm_20 %t-cuda.ll -verify-machineinstrs -o - | %ptxas-verify %}
----------------
tra wrote:
> pavelkopyl wrote:
> > tra wrote:
> > > We may as well change it to `sm_30`, too. sm_20 is gone for all practical purposes. Even sm_30 is on the way out.
> > Changing version to sm_30 also changes the generated code. The reason is that sm_20 (Fermi) has no support of image handles, as a result nvptx backed runs special pass NVPTXReplaceImageHandles to workaround this.
> > Textually such a code diff looks following:
> >
> >
> > ```
> > .global .surfref gsurf;
> > ```
> > sm_20:
> >
> > ```
> > suld.b.1d.b8.trap {%rs1}, [gsurf, {%r1}];
> > ```
> >
> > sm_30:
> > ```
> > mov.u64 %rd3, gsurf;
> > suld.b.1d.b8.trap {%rs1}, [%rd3, {%r1}];
> > ```
> >
> > We can change this test to support sm_30. But I think it's better to do this in another review. Is that OK?
> OK. We can keep sm_20 test around for now.
> The reason is that sm_20 (Fermi) has no support of image handles, as a result nvptx backed runs special pass NVPTXReplaceImageHandles to workaround this.
Can we run NVPTXReplaceImageHandles for other targets as well? These extra `mov` instructions are unnecessary, and the pass can eliminate them.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D141054/new/
https://reviews.llvm.org/D141054
More information about the llvm-commits
mailing list