https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100871

            Bug ID: 100871
           Summary: z14: vec_doublee maps to wrong builtin in vecintrin.h
           Product: gcc
           Version: 10.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jens.seifert at de dot ibm.com
  Target Milestone: ---

#include <vecintrin.h>
Input:
vector double doublee(vector float a)
{
   return vec_doublee(a);
}

cause compile error:

vec.C: In function ‘__vector(2) double doublee(__vector(4) float)’:
vec.C:43:10: error: ‘__builtin_s390_vfll’ was not declared in this scope; did
you mean ‘__builtin_s390_vflls’?
   43 |    return vec_doublee(a);
      |          ^~~~~~~~~~~~~~~~
      |          __builtin_s390_vflls

vec_doublee in vec_intrin.h should call __builtin_s390_vflls

vector double doublee_fix(vector float a)
{
   return __builtin_s390_vflls(a);
}

Reply via email to