Skip to content

Commit 951dc42

Browse files
committed
[PowerPC] Update altivec.h to use __inline__ for c89 compatibility
1 parent 846000c commit 951dc42

File tree

2 files changed

+47
-46
lines changed

2 files changed

+47
-46
lines changed

clang/lib/Headers/altivec.h

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -17525,70 +17525,70 @@ vec_bperm(vector unsigned long long __a, vector unsigned char __b) {
1752517525

1752617526
/* vec_reve */
1752717527

17528-
static inline __ATTRS_o_ai vector bool char vec_reve(vector bool char __a) {
17528+
static __inline__ __ATTRS_o_ai vector bool char vec_reve(vector bool char __a) {
1752917529
return __builtin_shufflevector(__a, __a, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
1753017530
5, 4, 3, 2, 1, 0);
1753117531
}
1753217532

17533-
static inline __ATTRS_o_ai vector signed char vec_reve(vector signed char __a) {
17533+
static __inline__ __ATTRS_o_ai vector signed char vec_reve(vector signed char __a) {
1753417534
return __builtin_shufflevector(__a, __a, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
1753517535
5, 4, 3, 2, 1, 0);
1753617536
}
1753717537

17538-
static inline __ATTRS_o_ai vector unsigned char
17538+
static __inline__ __ATTRS_o_ai vector unsigned char
1753917539
vec_reve(vector unsigned char __a) {
1754017540
return __builtin_shufflevector(__a, __a, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
1754117541
5, 4, 3, 2, 1, 0);
1754217542
}
1754317543

17544-
static inline __ATTRS_o_ai vector bool int vec_reve(vector bool int __a) {
17544+
static __inline__ __ATTRS_o_ai vector bool int vec_reve(vector bool int __a) {
1754517545
return __builtin_shufflevector(__a, __a, 3, 2, 1, 0);
1754617546
}
1754717547

17548-
static inline __ATTRS_o_ai vector signed int vec_reve(vector signed int __a) {
17548+
static __inline__ __ATTRS_o_ai vector signed int vec_reve(vector signed int __a) {
1754917549
return __builtin_shufflevector(__a, __a, 3, 2, 1, 0);
1755017550
}
1755117551

17552-
static inline __ATTRS_o_ai vector unsigned int
17552+
static __inline__ __ATTRS_o_ai vector unsigned int
1755317553
vec_reve(vector unsigned int __a) {
1755417554
return __builtin_shufflevector(__a, __a, 3, 2, 1, 0);
1755517555
}
1755617556

17557-
static inline __ATTRS_o_ai vector bool short vec_reve(vector bool short __a) {
17557+
static __inline__ __ATTRS_o_ai vector bool short vec_reve(vector bool short __a) {
1755817558
return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0);
1755917559
}
1756017560

17561-
static inline __ATTRS_o_ai vector signed short
17561+
static __inline__ __ATTRS_o_ai vector signed short
1756217562
vec_reve(vector signed short __a) {
1756317563
return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0);
1756417564
}
1756517565

17566-
static inline __ATTRS_o_ai vector unsigned short
17566+
static __inline__ __ATTRS_o_ai vector unsigned short
1756717567
vec_reve(vector unsigned short __a) {
1756817568
return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0);
1756917569
}
1757017570

17571-
static inline __ATTRS_o_ai vector float vec_reve(vector float __a) {
17571+
static __inline__ __ATTRS_o_ai vector float vec_reve(vector float __a) {
1757217572
return __builtin_shufflevector(__a, __a, 3, 2, 1, 0);
1757317573
}
1757417574

1757517575
#ifdef __VSX__
17576-
static inline __ATTRS_o_ai vector bool long long
17576+
static __inline__ __ATTRS_o_ai vector bool long long
1757717577
vec_reve(vector bool long long __a) {
1757817578
return __builtin_shufflevector(__a, __a, 1, 0);
1757917579
}
1758017580

17581-
static inline __ATTRS_o_ai vector signed long long
17581+
static __inline__ __ATTRS_o_ai vector signed long long
1758217582
vec_reve(vector signed long long __a) {
1758317583
return __builtin_shufflevector(__a, __a, 1, 0);
1758417584
}
1758517585

17586-
static inline __ATTRS_o_ai vector unsigned long long
17586+
static __inline__ __ATTRS_o_ai vector unsigned long long
1758717587
vec_reve(vector unsigned long long __a) {
1758817588
return __builtin_shufflevector(__a, __a, 1, 0);
1758917589
}
1759017590

17591-
static inline __ATTRS_o_ai vector double vec_reve(vector double __a) {
17591+
static __inline__ __ATTRS_o_ai vector double vec_reve(vector double __a) {
1759217592
return __builtin_shufflevector(__a, __a, 1, 0);
1759317593
}
1759417594
#endif
@@ -17721,41 +17721,41 @@ typedef vector signed int unaligned_vec_sint __attribute__((aligned(1)));
1772117721
typedef vector unsigned int unaligned_vec_uint __attribute__((aligned(1)));
1772217722
typedef vector float unaligned_vec_float __attribute__((aligned(1)));
1772317723

17724-
static inline __ATTRS_o_ai vector signed char vec_xl(ptrdiff_t __offset,
17724+
static __inline__ __ATTRS_o_ai vector signed char vec_xl(ptrdiff_t __offset,
1772517725
const signed char *__ptr) {
1772617726
return *(unaligned_vec_schar *)(__ptr + __offset);
1772717727
}
1772817728

17729-
static inline __ATTRS_o_ai vector unsigned char
17729+
static __inline__ __ATTRS_o_ai vector unsigned char
1773017730
vec_xl(ptrdiff_t __offset, const unsigned char *__ptr) {
1773117731
return *(unaligned_vec_uchar*)(__ptr + __offset);
1773217732
}
1773317733

17734-
static inline __ATTRS_o_ai vector signed short
17734+
static __inline__ __ATTRS_o_ai vector signed short
1773517735
vec_xl(ptrdiff_t __offset, const signed short *__ptr) {
1773617736
signed char *__addr = (signed char *)__ptr + __offset;
1773717737
return *(unaligned_vec_sshort *)__addr;
1773817738
}
1773917739

17740-
static inline __ATTRS_o_ai vector unsigned short
17740+
static __inline__ __ATTRS_o_ai vector unsigned short
1774117741
vec_xl(ptrdiff_t __offset, const unsigned short *__ptr) {
1774217742
signed char *__addr = (signed char *)__ptr + __offset;
1774317743
return *(unaligned_vec_ushort *)__addr;
1774417744
}
1774517745

17746-
static inline __ATTRS_o_ai vector signed int vec_xl(ptrdiff_t __offset,
17746+
static __inline__ __ATTRS_o_ai vector signed int vec_xl(ptrdiff_t __offset,
1774717747
const signed int *__ptr) {
1774817748
signed char *__addr = (signed char *)__ptr + __offset;
1774917749
return *(unaligned_vec_sint *)__addr;
1775017750
}
1775117751

17752-
static inline __ATTRS_o_ai vector unsigned int
17752+
static __inline__ __ATTRS_o_ai vector unsigned int
1775317753
vec_xl(ptrdiff_t __offset, const unsigned int *__ptr) {
1775417754
signed char *__addr = (signed char *)__ptr + __offset;
1775517755
return *(unaligned_vec_uint *)__addr;
1775617756
}
1775717757

17758-
static inline __ATTRS_o_ai vector float vec_xl(ptrdiff_t __offset,
17758+
static __inline__ __ATTRS_o_ai vector float vec_xl(ptrdiff_t __offset,
1775917759
const float *__ptr) {
1776017760
signed char *__addr = (signed char *)__ptr + __offset;
1776117761
return *(unaligned_vec_float *)__addr;
@@ -17766,19 +17766,19 @@ typedef vector signed long long unaligned_vec_sll __attribute__((aligned(1)));
1776617766
typedef vector unsigned long long unaligned_vec_ull __attribute__((aligned(1)));
1776717767
typedef vector double unaligned_vec_double __attribute__((aligned(1)));
1776817768

17769-
static inline __ATTRS_o_ai vector signed long long
17769+
static __inline__ __ATTRS_o_ai vector signed long long
1777017770
vec_xl(ptrdiff_t __offset, const signed long long *__ptr) {
1777117771
signed char *__addr = (signed char *)__ptr + __offset;
1777217772
return *(unaligned_vec_sll *)__addr;
1777317773
}
1777417774

17775-
static inline __ATTRS_o_ai vector unsigned long long
17775+
static __inline__ __ATTRS_o_ai vector unsigned long long
1777617776
vec_xl(ptrdiff_t __offset, const unsigned long long *__ptr) {
1777717777
signed char *__addr = (signed char *)__ptr + __offset;
1777817778
return *(unaligned_vec_ull *)__addr;
1777917779
}
1778017780

17781-
static inline __ATTRS_o_ai vector double vec_xl(ptrdiff_t __offset,
17781+
static __inline__ __ATTRS_o_ai vector double vec_xl(ptrdiff_t __offset,
1778217782
const double *__ptr) {
1778317783
signed char *__addr = (signed char *)__ptr + __offset;
1778417784
return *(unaligned_vec_double *)__addr;
@@ -17790,13 +17790,13 @@ static inline __ATTRS_o_ai vector double vec_xl(ptrdiff_t __offset,
1779017790
typedef vector signed __int128 unaligned_vec_si128 __attribute__((aligned(1)));
1779117791
typedef vector unsigned __int128 unaligned_vec_ui128
1779217792
__attribute__((aligned(1)));
17793-
static inline __ATTRS_o_ai vector signed __int128
17793+
static __inline__ __ATTRS_o_ai vector signed __int128
1779417794
vec_xl(ptrdiff_t __offset, const signed __int128 *__ptr) {
1779517795
signed char *__addr = (signed char *)__ptr + __offset;
1779617796
return *(unaligned_vec_si128 *)__addr;
1779717797
}
1779817798

17799-
static inline __ATTRS_o_ai vector unsigned __int128
17799+
static __inline__ __ATTRS_o_ai vector unsigned __int128
1780017800
vec_xl(ptrdiff_t __offset, const unsigned __int128 *__ptr) {
1780117801
signed char *__addr = (signed char *)__ptr + __offset;
1780217802
return *(unaligned_vec_ui128 *)__addr;
@@ -17991,63 +17991,63 @@ vec_load_splats(unsigned long long __offset, const float *__ptr) {
1799117991

1799217992
#define vec_xstd2 vec_xst
1799317993
#define vec_xstw4 vec_xst
17994-
static inline __ATTRS_o_ai void
17994+
static __inline__ __ATTRS_o_ai void
1799517995
vec_xst(vector signed char __vec, ptrdiff_t __offset, signed char *__ptr) {
1799617996
*(unaligned_vec_schar *)(__ptr + __offset) = __vec;
1799717997
}
1799817998

17999-
static inline __ATTRS_o_ai void
17999+
static __inline__ __ATTRS_o_ai void
1800018000
vec_xst(vector unsigned char __vec, ptrdiff_t __offset, unsigned char *__ptr) {
1800118001
*(unaligned_vec_uchar *)(__ptr + __offset) = __vec;
1800218002
}
1800318003

18004-
static inline __ATTRS_o_ai void
18004+
static __inline__ __ATTRS_o_ai void
1800518005
vec_xst(vector signed short __vec, ptrdiff_t __offset, signed short *__ptr) {
1800618006
signed char *__addr = (signed char *)__ptr + __offset;
1800718007
*(unaligned_vec_sshort *)__addr = __vec;
1800818008
}
1800918009

18010-
static inline __ATTRS_o_ai void vec_xst(vector unsigned short __vec,
18010+
static __inline__ __ATTRS_o_ai void vec_xst(vector unsigned short __vec,
1801118011
ptrdiff_t __offset,
1801218012
unsigned short *__ptr) {
1801318013
signed char *__addr = (signed char *)__ptr + __offset;
1801418014
*(unaligned_vec_ushort *)__addr = __vec;
1801518015
}
1801618016

18017-
static inline __ATTRS_o_ai void vec_xst(vector signed int __vec,
18017+
static __inline__ __ATTRS_o_ai void vec_xst(vector signed int __vec,
1801818018
ptrdiff_t __offset, signed int *__ptr) {
1801918019
signed char *__addr = (signed char *)__ptr + __offset;
1802018020
*(unaligned_vec_sint *)__addr = __vec;
1802118021
}
1802218022

18023-
static inline __ATTRS_o_ai void
18023+
static __inline__ __ATTRS_o_ai void
1802418024
vec_xst(vector unsigned int __vec, ptrdiff_t __offset, unsigned int *__ptr) {
1802518025
signed char *__addr = (signed char *)__ptr + __offset;
1802618026
*(unaligned_vec_uint *)__addr = __vec;
1802718027
}
1802818028

18029-
static inline __ATTRS_o_ai void vec_xst(vector float __vec, ptrdiff_t __offset,
18029+
static __inline__ __ATTRS_o_ai void vec_xst(vector float __vec, ptrdiff_t __offset,
1803018030
float *__ptr) {
1803118031
signed char *__addr = (signed char *)__ptr + __offset;
1803218032
*(unaligned_vec_float *)__addr = __vec;
1803318033
}
1803418034

1803518035
#ifdef __VSX__
18036-
static inline __ATTRS_o_ai void vec_xst(vector signed long long __vec,
18036+
static __inline__ __ATTRS_o_ai void vec_xst(vector signed long long __vec,
1803718037
ptrdiff_t __offset,
1803818038
signed long long *__ptr) {
1803918039
signed char *__addr = (signed char *)__ptr + __offset;
1804018040
*(unaligned_vec_sll *)__addr = __vec;
1804118041
}
1804218042

18043-
static inline __ATTRS_o_ai void vec_xst(vector unsigned long long __vec,
18043+
static __inline__ __ATTRS_o_ai void vec_xst(vector unsigned long long __vec,
1804418044
ptrdiff_t __offset,
1804518045
unsigned long long *__ptr) {
1804618046
signed char *__addr = (signed char *)__ptr + __offset;
1804718047
*(unaligned_vec_ull *)__addr = __vec;
1804818048
}
1804918049

18050-
static inline __ATTRS_o_ai void vec_xst(vector double __vec, ptrdiff_t __offset,
18050+
static __inline__ __ATTRS_o_ai void vec_xst(vector double __vec, ptrdiff_t __offset,
1805118051
double *__ptr) {
1805218052
signed char *__addr = (signed char *)__ptr + __offset;
1805318053
*(unaligned_vec_double *)__addr = __vec;
@@ -18056,14 +18056,14 @@ static inline __ATTRS_o_ai void vec_xst(vector double __vec, ptrdiff_t __offset,
1805618056

1805718057
#if defined(__POWER8_VECTOR__) && defined(__powerpc64__) && \
1805818058
defined(__SIZEOF_INT128__)
18059-
static inline __ATTRS_o_ai void vec_xst(vector signed __int128 __vec,
18059+
static __inline__ __ATTRS_o_ai void vec_xst(vector signed __int128 __vec,
1806018060
ptrdiff_t __offset,
1806118061
signed __int128 *__ptr) {
1806218062
signed char *__addr = (signed char *)__ptr + __offset;
1806318063
*(unaligned_vec_si128 *)__addr = __vec;
1806418064
}
1806518065

18066-
static inline __ATTRS_o_ai void vec_xst(vector unsigned __int128 __vec,
18066+
static __inline__ __ATTRS_o_ai void vec_xst(vector unsigned __int128 __vec,
1806718067
ptrdiff_t __offset,
1806818068
unsigned __int128 *__ptr) {
1806918069
signed char *__addr = (signed char *)__ptr + __offset;
@@ -18075,49 +18075,49 @@ static inline __ATTRS_o_ai void vec_xst(vector unsigned __int128 __vec,
1807518075

1807618076
#if defined(__POWER10_VECTOR__) && defined(__VSX__) && \
1807718077
defined(__SIZEOF_INT128__)
18078-
static inline __ATTRS_o_ai void vec_xst_trunc(vector signed __int128 __vec,
18078+
static __inline__ __ATTRS_o_ai void vec_xst_trunc(vector signed __int128 __vec,
1807918079
ptrdiff_t __offset,
1808018080
signed char *__ptr) {
1808118081
*(__ptr + __offset) = (signed char)__vec[0];
1808218082
}
1808318083

18084-
static inline __ATTRS_o_ai void vec_xst_trunc(vector unsigned __int128 __vec,
18084+
static __inline__ __ATTRS_o_ai void vec_xst_trunc(vector unsigned __int128 __vec,
1808518085
ptrdiff_t __offset,
1808618086
unsigned char *__ptr) {
1808718087
*(__ptr + __offset) = (unsigned char)__vec[0];
1808818088
}
1808918089

18090-
static inline __ATTRS_o_ai void vec_xst_trunc(vector signed __int128 __vec,
18090+
static __inline__ __ATTRS_o_ai void vec_xst_trunc(vector signed __int128 __vec,
1809118091
ptrdiff_t __offset,
1809218092
signed short *__ptr) {
1809318093
*(__ptr + __offset) = (signed short)__vec[0];
1809418094
}
1809518095

18096-
static inline __ATTRS_o_ai void vec_xst_trunc(vector unsigned __int128 __vec,
18096+
static __inline__ __ATTRS_o_ai void vec_xst_trunc(vector unsigned __int128 __vec,
1809718097
ptrdiff_t __offset,
1809818098
unsigned short *__ptr) {
1809918099
*(__ptr + __offset) = (unsigned short)__vec[0];
1810018100
}
1810118101

18102-
static inline __ATTRS_o_ai void vec_xst_trunc(vector signed __int128 __vec,
18102+
static __inline__ __ATTRS_o_ai void vec_xst_trunc(vector signed __int128 __vec,
1810318103
ptrdiff_t __offset,
1810418104
signed int *__ptr) {
1810518105
*(__ptr + __offset) = (signed int)__vec[0];
1810618106
}
1810718107

18108-
static inline __ATTRS_o_ai void vec_xst_trunc(vector unsigned __int128 __vec,
18108+
static __inline__ __ATTRS_o_ai void vec_xst_trunc(vector unsigned __int128 __vec,
1810918109
ptrdiff_t __offset,
1811018110
unsigned int *__ptr) {
1811118111
*(__ptr + __offset) = (unsigned int)__vec[0];
1811218112
}
1811318113

18114-
static inline __ATTRS_o_ai void vec_xst_trunc(vector signed __int128 __vec,
18114+
static __inline__ __ATTRS_o_ai void vec_xst_trunc(vector signed __int128 __vec,
1811518115
ptrdiff_t __offset,
1811618116
signed long long *__ptr) {
1811718117
*(__ptr + __offset) = (signed long long)__vec[0];
1811818118
}
1811918119

18120-
static inline __ATTRS_o_ai void vec_xst_trunc(vector unsigned __int128 __vec,
18120+
static __inline__ __ATTRS_o_ai void vec_xst_trunc(vector unsigned __int128 __vec,
1812118121
ptrdiff_t __offset,
1812218122
unsigned long long *__ptr) {
1812318123
*(__ptr + __offset) = (unsigned long long)__vec[0];

clang/test/Headers/altivec-header.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// RUN: %clang_cc1 -triple powerpc64-unknown-unknown -target-feature +altivec -ffreestanding -emit-llvm -o - %s | FileCheck %s
22
// RUN: %clang_cc1 -triple powerpc64-unknown-unknown -target-feature +altivec -ffreestanding -emit-llvm -flax-vector-conversions=none -o - %s | FileCheck %s
33
// RUN: %clang_cc1 -triple powerpc64-unknown-unknown -target-feature +altivec -ffreestanding -emit-llvm -x c++ -o - %s | FileCheck %s
4+
// RUN: %clang_cc1 -std=c89 -triple powerpc64-unknown-unknown -target-feature +altivec -ffreestanding -emit-llvm -o - %s | FileCheck %s
45

56
#include <altivec.h>
67

0 commit comments

Comments
 (0)