https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127919
Bug ID: 127919
Summary: [17 regression] nvptx-none fails to compile (error:
cannot convert ‘poly_uint16’ {aka ‘poly_int<1, short
unsigned int>’} to ‘int’ in assignment)
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Keywords: build
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: sjames at gcc dot gnu.org
Target Milestone: ---
nvptx-none as an accel target doesn't build for me w/ the last snapshot:
```
x86_64-pc-linux-gnu-g++ -fPIE -c -O2 -pipe -DIN_GCC
-DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti
-fasynchronous-unwind-tables -W -Wall -Wno-error=narrowing -Wwrite-strings
-Wcast-qual -Wmissing-format-attribute -Wconditionally-supported
-Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -DHAVE_CONFIG_H -fPIE -I. -I.
-I/var/tmp/portage/cross-accel-nvptx-none/
gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc
-I/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc/.
-I/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc/../include
-I/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc/../libcpp/include
-I/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc/../libcody
-I/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc/../libdecnumber
-I/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/
work/gcc-17-20261011/gcc/../libdecnumber/dpd -I../libdecnumber
-I/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc/../libbacktrace
-D_GENTOO_TIME64_FORCE=0 -o tree-vect-patterns.o -MT tree-vect-patterns.o -MMD
-MP -MF ./.deps/tree-vect-patterns.TPo
/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc/tree-vect-patterns.cc
In file included from ./tm.h:21,
from
/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc/backend.h:28,
from
/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc/tree-vect-patterns.cc:24:
/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc/tree-vect-patterns.cc:
In function ‘gimple* vect_recog_ctz_ffs_pattern(vec_info*, stmt_vec_info,
tree_node**)’:
/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc/config/nvptx/nvptx.h:328:31:
error: cannot convert ‘poly_uint16’ {aka ‘poly_int<1, short unsigned int>’} to
‘int’ in assignment
328 | ((VALUE) = GET_MODE_BITSIZE ((MODE)), 2)
| ~~~~~~~~~~~~~~~~~^~~~~~~~
| |
| poly_uint16 {aka poly_int<1, short
unsigned int>}
/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc/tree-vect-patterns.cc:1945:11:
note: in expansion of macro ‘CTZ_DEFINED_VALUE_AT_ZERO’
1945 | = CTZ_DEFINED_VALUE_AT_ZERO (TYPE_MODE (vec_rhs_type),
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc/config/nvptx/nvptx.h:326:31:
error: cannot convert ‘poly_uint16’ {aka ‘poly_int<1, short unsigned int>’} to
‘int’ in assignment
326 | ((VALUE) = GET_MODE_BITSIZE ((MODE)), 2)
| ~~~~~~~~~~~~~~~~~^~~~~~~~
| |
| poly_uint16 {aka poly_int<1, short
unsigned int>}
/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc/tree-vect-patterns.cc:1953:11:
note: in expansion of macro ‘CLZ_DEFINED_VALUE_AT_ZERO’
1953 | = CLZ_DEFINED_VALUE_AT_ZERO (TYPE_MODE (vec_rhs_type),
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc/tree-vect-patterns.cc:
In function ‘gimple* vect_recog_popcount_clz_ctz_ffs_pattern(vec_info*,
stmt_vec_info, tree_node**)’:
/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc/config/nvptx/nvptx.h:326:31:
error: cannot convert ‘poly_uint16’ {aka ‘poly_int<1, short unsigned int>’} to
‘int’ in assignment
326 | ((VALUE) = GET_MODE_BITSIZE ((MODE)), 2)
| ~~~~~~~~~~~~~~~~~^~~~~~~~
| |
| poly_uint16 {aka poly_int<1, short
unsigned int>}
/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc/tree-vect-patterns.cc:2279:17:
note: in expansion of macro ‘CLZ_DEFINED_VALUE_AT_ZERO’
2279 | = CLZ_DEFINED_VALUE_AT_ZERO (TYPE_MODE (vec_type), val2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/cross-accel-nvptx-none/gcc-17.0.0_p20261011-r1/work/gcc-17-20261011/gcc/config/nvptx/nvptx.h:328:31:
error: cannot convert ‘poly_uint16’ {aka ‘poly_int<1, short unsigned int>’} to
‘int’ in assignment
328 | ((VALUE) = GET_MODE_BITSIZE ((MODE)), 2)
| ~~~~~~~~~~~~~~~~~^~~~~~~~
| |
| poly_uint16 {aka poly_int<1, short
unsigned int>}
```