warp convergence. */
res = MAX (res, PTX_VERSION_6_0);
+ /* For sm_52+, pick at least 7.3. */
+ if (ptx_isa_option >= PTX_ISA_SM52)
+ res = MAX (res, PTX_VERSION_7_3);
+
/* Verify that we pick a version that supports the sm. */
gcc_assert (first <= res);
return res;
@samp{4.1}, @samp{4.2},
@samp{6.0}, @samp{6.3},
@samp{7.0}, @samp{7.3}, and @samp{7.8}.
-The default PTX ISA version is 6.0, unless a higher
-version is required for specified PTX ISA target architecture via
-option @option{-march=}.
+The default PTX ISA version is the one that added support for the
+selected PTX ISA target architecture, see @option{-march=}, but at
+least @samp{6.0}, or @samp{7.3} for @option{-march=sm_52} and higher.
This option sets the values of the preprocessor macros
@code{__PTX_ISA_VERSION_MAJOR__} and @code{__PTX_ISA_VERSION_MINOR__};
/* { dg-do assemble } */
/* { dg-options {-march-map=sm_52 -mptx=_} } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { scan-assembler-times {(?n)^ \.version 6\.0$} 1 } } */
+/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.3$} 1 } } */
/* { dg-final { scan-assembler-times {(?n)^ \.target sm_52$} 1 } } */
-#if __PTX_ISA_VERSION_MAJOR__ != 6
+#if __PTX_ISA_VERSION_MAJOR__ != 7
#error wrong value for __PTX_ISA_VERSION_MAJOR__
#endif
-#if __PTX_ISA_VERSION_MINOR__ != 0
+#if __PTX_ISA_VERSION_MINOR__ != 3
#error wrong value for __PTX_ISA_VERSION_MINOR__
#endif
/* { dg-do assemble } */
/* { dg-options {-march-map=sm_53 -mptx=_} } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { scan-assembler-times {(?n)^ \.version 6\.0$} 1 } } */
+/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.3$} 1 } } */
/* { dg-final { scan-assembler-times {(?n)^ \.target sm_53$} 1 } } */
-#if __PTX_ISA_VERSION_MAJOR__ != 6
+#if __PTX_ISA_VERSION_MAJOR__ != 7
#error wrong value for __PTX_ISA_VERSION_MAJOR__
#endif
-#if __PTX_ISA_VERSION_MINOR__ != 0
+#if __PTX_ISA_VERSION_MINOR__ != 3
#error wrong value for __PTX_ISA_VERSION_MINOR__
#endif
/* { dg-do assemble } */
/* { dg-options {-march-map=sm_60 -mptx=_} } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { scan-assembler-times {(?n)^ \.version 6\.0$} 1 } } */
+/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.3$} 1 } } */
/* { dg-final { scan-assembler-times {(?n)^ \.target sm_53$} 1 } } */
-#if __PTX_ISA_VERSION_MAJOR__ != 6
+#if __PTX_ISA_VERSION_MAJOR__ != 7
#error wrong value for __PTX_ISA_VERSION_MAJOR__
#endif
-#if __PTX_ISA_VERSION_MINOR__ != 0
+#if __PTX_ISA_VERSION_MINOR__ != 3
#error wrong value for __PTX_ISA_VERSION_MINOR__
#endif
/* { dg-do assemble } */
/* { dg-options {-march-map=sm_61 -mptx=_} } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { scan-assembler-times {(?n)^ \.version 6\.0$} 1 } } */
+/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.3$} 1 } } */
/* { dg-final { scan-assembler-times {(?n)^ \.target sm_53$} 1 } } */
-#if __PTX_ISA_VERSION_MAJOR__ != 6
+#if __PTX_ISA_VERSION_MAJOR__ != 7
#error wrong value for __PTX_ISA_VERSION_MAJOR__
#endif
-#if __PTX_ISA_VERSION_MINOR__ != 0
+#if __PTX_ISA_VERSION_MINOR__ != 3
#error wrong value for __PTX_ISA_VERSION_MINOR__
#endif
/* { dg-do assemble } */
/* { dg-options {-march-map=sm_62 -mptx=_} } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { scan-assembler-times {(?n)^ \.version 6\.0$} 1 } } */
+/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.3$} 1 } } */
/* { dg-final { scan-assembler-times {(?n)^ \.target sm_53$} 1 } } */
-#if __PTX_ISA_VERSION_MAJOR__ != 6
+#if __PTX_ISA_VERSION_MAJOR__ != 7
#error wrong value for __PTX_ISA_VERSION_MAJOR__
#endif
-#if __PTX_ISA_VERSION_MINOR__ != 0
+#if __PTX_ISA_VERSION_MINOR__ != 3
#error wrong value for __PTX_ISA_VERSION_MINOR__
#endif
/* { dg-do assemble } */
/* { dg-options {-march-map=sm_70 -mptx=_} } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { scan-assembler-times {(?n)^ \.version 6\.0$} 1 } } */
+/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.3$} 1 } } */
/* { dg-final { scan-assembler-times {(?n)^ \.target sm_70$} 1 } } */
-#if __PTX_ISA_VERSION_MAJOR__ != 6
+#if __PTX_ISA_VERSION_MAJOR__ != 7
#error wrong value for __PTX_ISA_VERSION_MAJOR__
#endif
-#if __PTX_ISA_VERSION_MINOR__ != 0
+#if __PTX_ISA_VERSION_MINOR__ != 3
#error wrong value for __PTX_ISA_VERSION_MINOR__
#endif
/* { dg-do assemble } */
/* { dg-options {-march-map=sm_72 -mptx=_} } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { scan-assembler-times {(?n)^ \.version 6\.0$} 1 } } */
+/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.3$} 1 } } */
/* { dg-final { scan-assembler-times {(?n)^ \.target sm_70$} 1 } } */
-#if __PTX_ISA_VERSION_MAJOR__ != 6
+#if __PTX_ISA_VERSION_MAJOR__ != 7
#error wrong value for __PTX_ISA_VERSION_MAJOR__
#endif
-#if __PTX_ISA_VERSION_MINOR__ != 0
+#if __PTX_ISA_VERSION_MINOR__ != 3
#error wrong value for __PTX_ISA_VERSION_MINOR__
#endif
/* { dg-do assemble } */
/* { dg-options {-march-map=sm_75 -mptx=_} } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { scan-assembler-times {(?n)^ \.version 6\.3$} 1 } } */
+/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.3$} 1 } } */
/* { dg-final { scan-assembler-times {(?n)^ \.target sm_75$} 1 } } */
-#if __PTX_ISA_VERSION_MAJOR__ != 6
+#if __PTX_ISA_VERSION_MAJOR__ != 7
#error wrong value for __PTX_ISA_VERSION_MAJOR__
#endif
/* { dg-do assemble } */
/* { dg-options {-march-map=sm_80 -mptx=_} } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.0$} 1 } } */
+/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.3$} 1 } } */
/* { dg-final { scan-assembler-times {(?n)^ \.target sm_80$} 1 } } */
#if __PTX_ISA_VERSION_MAJOR__ != 7
#error wrong value for __PTX_ISA_VERSION_MAJOR__
#endif
-#if __PTX_ISA_VERSION_MINOR__ != 0
+#if __PTX_ISA_VERSION_MINOR__ != 3
#error wrong value for __PTX_ISA_VERSION_MINOR__
#endif
/* { dg-do assemble } */
/* { dg-options {-march-map=sm_86 -mptx=_} } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.0$} 1 } } */
+/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.3$} 1 } } */
/* { dg-final { scan-assembler-times {(?n)^ \.target sm_80$} 1 } } */
#if __PTX_ISA_VERSION_MAJOR__ != 7
#error wrong value for __PTX_ISA_VERSION_MAJOR__
#endif
-#if __PTX_ISA_VERSION_MINOR__ != 0
+#if __PTX_ISA_VERSION_MINOR__ != 3
#error wrong value for __PTX_ISA_VERSION_MINOR__
#endif
/* { dg-do assemble } */
/* { dg-options {-march-map=sm_87 -mptx=_} } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.0$} 1 } } */
+/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.3$} 1 } } */
/* { dg-final { scan-assembler-times {(?n)^ \.target sm_80$} 1 } } */
#if __PTX_ISA_VERSION_MAJOR__ != 7
#error wrong value for __PTX_ISA_VERSION_MAJOR__
#endif
-#if __PTX_ISA_VERSION_MINOR__ != 0
+#if __PTX_ISA_VERSION_MINOR__ != 3
#error wrong value for __PTX_ISA_VERSION_MINOR__
#endif
/* { dg-do assemble } */
/* { dg-options {-march=sm_52 -mptx=_} } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { scan-assembler-times {(?n)^ \.version 6\.0$} 1 } } */
+/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.3$} 1 } } */
/* { dg-final { scan-assembler-times {(?n)^ \.target sm_52$} 1 } } */
-#if __PTX_ISA_VERSION_MAJOR__ != 6
+#if __PTX_ISA_VERSION_MAJOR__ != 7
#error wrong value for __PTX_ISA_VERSION_MAJOR__
#endif
-#if __PTX_ISA_VERSION_MINOR__ != 0
+#if __PTX_ISA_VERSION_MINOR__ != 3
#error wrong value for __PTX_ISA_VERSION_MINOR__
#endif
/* { dg-do assemble } */
/* { dg-options {-march=sm_53 -mptx=_} } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { scan-assembler-times {(?n)^ \.version 6\.0$} 1 } } */
+/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.3$} 1 } } */
/* { dg-final { scan-assembler-times {(?n)^ \.target sm_53$} 1 } } */
-#if __PTX_ISA_VERSION_MAJOR__ != 6
+#if __PTX_ISA_VERSION_MAJOR__ != 7
#error wrong value for __PTX_ISA_VERSION_MAJOR__
#endif
-#if __PTX_ISA_VERSION_MINOR__ != 0
+#if __PTX_ISA_VERSION_MINOR__ != 3
#error wrong value for __PTX_ISA_VERSION_MINOR__
#endif
/* { dg-do assemble } */
/* { dg-options {-march=sm_70 -mptx=_} } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { scan-assembler-times {(?n)^ \.version 6\.0$} 1 } } */
+/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.3$} 1 } } */
/* { dg-final { scan-assembler-times {(?n)^ \.target sm_70$} 1 } } */
-#if __PTX_ISA_VERSION_MAJOR__ != 6
+#if __PTX_ISA_VERSION_MAJOR__ != 7
#error wrong value for __PTX_ISA_VERSION_MAJOR__
#endif
-#if __PTX_ISA_VERSION_MINOR__ != 0
+#if __PTX_ISA_VERSION_MINOR__ != 3
#error wrong value for __PTX_ISA_VERSION_MINOR__
#endif
/* { dg-do assemble } */
/* { dg-options {-march=sm_75 -mptx=_} } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { scan-assembler-times {(?n)^ \.version 6\.3$} 1 } } */
+/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.3$} 1 } } */
/* { dg-final { scan-assembler-times {(?n)^ \.target sm_75$} 1 } } */
-#if __PTX_ISA_VERSION_MAJOR__ != 6
+#if __PTX_ISA_VERSION_MAJOR__ != 7
#error wrong value for __PTX_ISA_VERSION_MAJOR__
#endif
/* { dg-do assemble } */
/* { dg-options {-march=sm_80 -mptx=_} } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.0$} 1 } } */
+/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.3$} 1 } } */
/* { dg-final { scan-assembler-times {(?n)^ \.target sm_80$} 1 } } */
#if __PTX_ISA_VERSION_MAJOR__ != 7
#error wrong value for __PTX_ISA_VERSION_MAJOR__
#endif
-#if __PTX_ISA_VERSION_MINOR__ != 0
+#if __PTX_ISA_VERSION_MINOR__ != 3
#error wrong value for __PTX_ISA_VERSION_MINOR__
#endif
/* { dg-do assemble } */
-/* { dg-options {-mptx=3.1 -march=sm_80 -mptx=_} } */
+/* { dg-options {-mptx=3.1 -march=sm_89 -mptx=_} } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.0$} 1 } } */
-/* { dg-final { scan-assembler-times {(?n)^ \.target sm_80$} 1 } } */
+/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.8$} 1 } } */
+/* { dg-final { scan-assembler-times {(?n)^ \.target sm_89$} 1 } } */
#if __PTX_ISA_VERSION_MAJOR__ != 7
#error wrong value for __PTX_ISA_VERSION_MAJOR__
#endif
-#if __PTX_ISA_VERSION_MINOR__ != 0
+#if __PTX_ISA_VERSION_MINOR__ != 8
#error wrong value for __PTX_ISA_VERSION_MINOR__
#endif
-#if __PTX_SM__ != 800
+#if __PTX_SM__ != 890
#error wrong value for __PTX_SM__
#endif