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"...

Reply via email to