https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126229
Bug ID: 126229
Summary: Wrong preprocessor check in visintrin.h for SPARC64
Product: gcc
Version: 15.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: postmaster at raasu dot org
Target Milestone: ---
Command-line: sparc64-linux-gnu-gcc -S -mcpu=niagara4 -mvis3 -O2 vis-test.c
Output:
> In file included from vis-test.c:2:
> /usr/lib/gcc-cross/sparc64-linux-gnu/15/include/visintrin.h: In function
> ‘__vis_fpadd64’:
> /usr/lib/gcc-cross/sparc64-linux-gnu/15/include/visintrin.h:548:10: error:
> implicit declaration of function ‘__builtin_vis_fpadd64’; did you mean
> ‘__builtin_vis_fpadd16’? [-Wimplicit-function-declaration]
> 548 | return __builtin_vis_fpadd64 (__A, __B);
> | ^~~~~~~~~~~~~~~~~~~~~
> | __builtin_vis_fpadd16
> /usr/lib/gcc-cross/sparc64-linux-gnu/15/include/visintrin.h: In function
> ‘__vis_fpsub64’:
> /usr/lib/gcc-cross/sparc64-linux-gnu/15/include/visintrin.h:555:10: error:
> implicit declaration of function ‘__builtin_vis_fpsub64’; did you mean
> ‘__builtin_vis_fpsub16’? [-Wimplicit-function-declaration]
> 555 | return __builtin_vis_fpsub64 (__A, __B);
> | ^~~~~~~~~~~~~~~~~~~~~
> | __builtin_vis_fpsub16
> /usr/lib/gcc-cross/sparc64-linux-gnu/15/include/visintrin.h: In function
> ‘__vis_fucmple8’:
> /usr/lib/gcc-cross/sparc64-linux-gnu/15/include/visintrin.h:618:10: error:
> implicit declaration of function ‘__builtin_vis_fucmple8’; did you mean
> ‘__builtin_vis_fcmple16’? [-Wimplicit-function-declaration]
> 618 | return __builtin_vis_fucmple8 (__A, __B);
> | ^~~~~~~~~~~~~~~~~~~~~~
> | __builtin_vis_fcmple16
> /usr/lib/gcc-cross/sparc64-linux-gnu/15/include/visintrin.h: In function
> ‘__vis_fucmpne8’:
> /usr/lib/gcc-cross/sparc64-linux-gnu/15/include/visintrin.h:625:10: error:
> implicit declaration of function ‘__builtin_vis_fucmpne8’; did you mean
> ‘__builtin_vis_fcmpne16’? [-Wimplicit-function-declaration]
> 625 | return __builtin_vis_fucmpne8 (__A, __B);
> | ^~~~~~~~~~~~~~~~~~~~~~
> | __builtin_vis_fcmpne16
> /usr/lib/gcc-cross/sparc64-linux-gnu/15/include/visintrin.h: In function
> ‘__vis_fucmpgt8’:
> /usr/lib/gcc-cross/sparc64-linux-gnu/15/include/visintrin.h:632:10: error:
> implicit declaration of function ‘__builtin_vis_fucmpgt8’; did you mean
> ‘__builtin_vis_fcmpgt16’? [-Wimplicit-function-declaration]
> 632 | return __builtin_vis_fucmpgt8 (__A, __B);
> | ^~~~~~~~~~~~~~~~~~~~~~
> | __builtin_vis_fcmpgt16
> /usr/lib/gcc-cross/sparc64-linux-gnu/15/include/visintrin.h: In function
> ‘__vis_fucmpeq8’:
> /usr/lib/gcc-cross/sparc64-linux-gnu/15/include/visintrin.h:639:10: error:
> implicit declaration of function ‘__builtin_vis_fucmpeq8’; did you mean
> ‘__builtin_vis_fcmpeq16’? [-Wimplicit-function-declaration]
> 639 | return __builtin_vis_fucmpeq8 (__A, __B);
> | ^~~~~~~~~~~~~~~~~~~~~~
> | __builtin_vis_fcmpeq16
Some of these builtins should be only visible with "-mvis3b", contents of the
test file only require including "visintrin.h"...