Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Altivec code in OOps broken on Darwin: is it fixable? #1733

Open
barracuda156 opened this issue Jul 26, 2023 · 6 comments
Open

Altivec code in OOps broken on Darwin: is it fixable? #1733

barracuda156 opened this issue Jul 26, 2023 · 6 comments

Comments

@barracuda156
Copy link

:info:build [ 14%] Building C object CMakeFiles/CsoundLib64.dir/OOps/pffft.c.o
:info:build /opt/local/bin/gcc-mp-12 -DCS_DEFAULT_PLUGINDIR=\"/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/.home/Library/Frameworks/CsoundLib64.framework/Versions/6.0/Resources/Opcodes64\" -DCS_DEFAULT_USER_PLUGINDIR=\"Library/csound/6.0/plugins64\" -DCsoundLib64_EXPORTS -DHAVE_EXECINFO -DHAVE_SOCKETS -DHAVE_SPRINTF_L -DHAVE_STRLCAT -DHAVE_STRTOD_L -DHAVE_STRTOK_R -DMACOSX -DNO_FLTK_THREADS -DPIPES -DUSE_LRINT -D_CSOUND_RELEASE_ -I/opt/local/include -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/./H -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/./include -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/./Engine -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/./util -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/. -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/build -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/build/include -pipe -Os -DNDEBUG -I/opt/local/include -ffast-math -fomit-frame-pointer -fvisibility=hidden -std=gnu99 -DHAVE_VECLIB -DSNDFILE_MP3 -DHAVE_ATOMIC_BUILTIN -DHAVE_CURL -DHAVE_PTHREAD -arch ppc -mmacosx-version-min=10.6 -fPIC -D__BUILDING_LIBCSOUND -DPARCS -DGNU_GETTEXT -DHAVE_DIRENT_H -DHAVE_FCNTL_H -DHAVE_UNISTD_H -DHAVE_STDINT_H -DHAVE_SYS_TIME_H -DHAVE_SYS_TYPES_H -DHAVE_TERMIOS_H -DWORDS_BIGENDIAN -MD -MT CMakeFiles/CsoundLib64.dir/OOps/pffft.c.o -MF CMakeFiles/CsoundLib64.dir/OOps/pffft.c.o.d -o CMakeFiles/CsoundLib64.dir/OOps/pffft.c.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c: In function 'ld_ps1':
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:113:45: warning: implicit declaration of function 'vec_lde' [-Wimplicit-function-declaration]
:info:build   113 | inline v4sf ld_ps1(const float *p) { v4sf v=vec_lde(0,p); return vec_splat(vec_perm(v, v, vec_lvsl(0, p)), 0); }
:info:build       |                                             ^~~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:113:45: error: incompatible types when initializing type 'v4sf' {aka '__vector(4) float'} using type 'int'
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:113:66: warning: implicit declaration of function 'vec_splat' [-Wimplicit-function-declaration]
:info:build   113 | inline v4sf ld_ps1(const float *p) { v4sf v=vec_lde(0,p); return vec_splat(vec_perm(v, v, vec_lvsl(0, p)), 0); }
:info:build       |                                                                  ^~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:113:76: warning: implicit declaration of function 'vec_perm' [-Wimplicit-function-declaration]
:info:build   113 | inline v4sf ld_ps1(const float *p) { v4sf v=vec_lde(0,p); return vec_splat(vec_perm(v, v, vec_lvsl(0, p)), 0); }
:info:build       |                                                                            ^~~~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:113:91: warning: implicit declaration of function 'vec_lvsl' [-Wimplicit-function-declaration]
:info:build   113 | inline v4sf ld_ps1(const float *p) { v4sf v=vec_lde(0,p); return vec_splat(vec_perm(v, v, vec_lvsl(0, p)), 0); }
:info:build       |                                                                                           ^~~~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:113:1: error: AltiVec argument passed to unprototyped function
:info:build   113 | inline v4sf ld_ps1(const float *p) { v4sf v=vec_lde(0,p); return vec_splat(vec_perm(v, v, vec_lvsl(0, p)), 0); }
:info:build       | ^~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c: In function 'validate_pffft_simd':
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:108:35: warning: implicit declaration of function 'vec_splat_u8' [-Wimplicit-function-declaration]
:info:build   108 | #  define VZERO() ((vector float) vec_splat_u8(0))
:info:build       |                                   ^~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:227:25: note: in expansion of macro 'VZERO'
:info:build   227 |   t = a0; u = a1; t.v = VZERO();
:info:build       |                         ^~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:227:3: error: cannot convert a value of type 'int' to vector type '__vector(4) float' which has different size
:info:build   227 |   t = a0; u = a1; t.v = VZERO();
:info:build       |   ^
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:110:21: warning: implicit declaration of function 'vec_add' [-Wimplicit-function-declaration]
:info:build   110 | #  define VADD(a,b) vec_add(a,b)
:info:build       |                     ^~~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:229:9: note: in expansion of macro 'VADD'
:info:build   229 |   t.v = VADD(a1.v, a2.v);
:info:build       |         ^~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:229:3: error: AltiVec argument passed to unprototyped function
:info:build   229 |   t.v = VADD(a1.v, a2.v);
:info:build       |   ^
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:109:21: warning: implicit declaration of function 'vec_madd' [-Wimplicit-function-declaration]
:info:build   109 | #  define VMUL(a,b) vec_madd(a,b, VZERO())
:info:build       |                     ^~~~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:231:9: note: in expansion of macro 'VMUL'
:info:build   231 |   t.v = VMUL(a1.v, a2.v);
:info:build       |         ^~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:231:3: error: cannot convert a value of type 'int' to vector type '__vector(4) float' which has different size
:info:build   231 |   t.v = VMUL(a1.v, a2.v);
:info:build       |   ^
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:231:3: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:233:3: error: AltiVec argument passed to unprototyped function
:info:build   233 |   t.v = VMADD(a1.v, a2.v,a0.v);
:info:build       |   ^
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:115:60: warning: implicit declaration of function 'vec_mergeh' [-Wimplicit-function-declaration]
:info:build   115 | #  define INTERLEAVE2(in1, in2, out1, out2) { v4sf tmp__ = vec_mergeh(in1, in2); out2 = vec_mergel(in1, in2); out1 = tmp__; }
:info:build       |                                                            ^~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:236:3: note: in expansion of macro 'INTERLEAVE2'
:info:build   236 |   INTERLEAVE2(a1.v,a2.v,t.v,u.v);
:info:build       |   ^~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:236:3: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:115:89: warning: implicit declaration of function 'vec_mergel' [-Wimplicit-function-declaration]
:info:build   115 | #  define INTERLEAVE2(in1, in2, out1, out2) { v4sf tmp__ = vec_mergeh(in1, in2); out2 = vec_mergel(in1, in2); out1 = tmp__; }
:info:build       |                                                                                         ^~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:236:3: note: in expansion of macro 'INTERLEAVE2'
:info:build   236 |   INTERLEAVE2(a1.v,a2.v,t.v,u.v);
:info:build       |   ^~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:236:3: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:239:3: error: AltiVec argument passed to unprototyped function
:info:build   239 |   UNINTERLEAVE2(a1.v,a2.v,t.v,u.v);
:info:build       |   ^~~~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:239:3: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:246:3: error: AltiVec argument passed to unprototyped function
:info:build   246 |   t.v = VSWAPHL(a1.v, a2.v);
:info:build       |   ^
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:249:3: error: AltiVec argument passed to unprototyped function
:info:build   249 |   VTRANSPOSE4(a0.v, a1.v, a2.v, a3.v);
:info:build       |   ^~~~~~~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:249:3: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:249:3: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:249:3: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:249:3: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:249:3: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:249:3: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:249:3: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c: In function 'passf2_ps':
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:281:7: error: AltiVec argument passed to unprototyped function
:info:build   281 |       ch[0]         = VADD(cc[0], cc[ido+0]);
:info:build       |       ^~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:112:21: warning: implicit declaration of function 'vec_sub' [-Wimplicit-function-declaration]
:info:build   112 | #  define VSUB(a,b) vec_sub(a,b)
:info:build       |                     ^~~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:282:23: note: in expansion of macro 'VSUB'
:info:build   282 |       ch[l1ido]     = VSUB(cc[0], cc[ido+0]);
:info:build       |                       ^~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:282:7: error: AltiVec argument passed to unprototyped function
:info:build   282 |       ch[l1ido]     = VSUB(cc[0], cc[ido+0]);
:info:build       |       ^~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:283:7: error: AltiVec argument passed to unprototyped function
:info:build   283 |       ch[1]         = VADD(cc[1], cc[ido+1]);
:info:build       |       ^~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:284:7: error: AltiVec argument passed to unprototyped function
:info:build   284 |       ch[l1ido + 1] = VSUB(cc[1], cc[ido+1]);
:info:build       |       ^~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:289:9: error: AltiVec argument passed to unprototyped function
:info:build   289 |         v4sf tr2 = VSUB(cc[i+0], cc[i+ido+0]);
:info:build       |         ^~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:290:9: error: AltiVec argument passed to unprototyped function
:info:build   290 |         v4sf ti2 = VSUB(cc[i+1], cc[i+ido+1]);
:info:build       |         ^~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:291:9: error: cannot convert a value of type 'int' to vector type '__vector(4) float' which has different size
:info:build   291 |         v4sf wr = LD_PS1(wa1[i]), wi = VMUL(LD_PS1(fsign), LD_PS1(wa1[i+1]));
:info:build       |         ^~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:291:9: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:292:9: error: AltiVec argument passed to unprototyped function
:info:build   292 |         ch[i]   = VADD(cc[i+0], cc[i+ido+0]);
:info:build       |         ^~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:293:9: error: AltiVec argument passed to unprototyped function
:info:build   293 |         ch[i+1] = VADD(cc[i+1], cc[i+ido+1]);
:info:build       |         ^~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:294:9: error: cannot convert a value of type 'int' to vector type '__vector(4) float' which has different size
:info:build   294 |         VCPLXMUL(tr2, ti2, wr, wi);
:info:build       |         ^~~~~~~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:294:9: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:294:9: error: cannot convert a value of type 'int' to vector type '__vector(4) float' which has different size
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:294:9: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:294:9: error: cannot convert a value of type 'int' to vector type '__vector(4) float' which has different size
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:294:9: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:294:9: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:294:9: error: cannot convert a value of type 'int' to vector type '__vector(4) float' which has different size
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:294:9: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:294:9: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c: In function 'passf3_ps':
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:316:7: error: AltiVec argument passed to unprototyped function
:info:build   316 |       tr2 = VADD(cc[i+ido], cc[i+2*ido]);
:info:build       |       ^~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:317:7: error: cannot convert a value of type 'int' to vector type '__vector(4) float' which has different size
:info:build   317 |       cr2 = VADD(cc[i], SVMUL(taur,tr2));
:info:build       |       ^~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:317:7: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:317:7: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:318:7: error: AltiVec argument passed to unprototyped function
:info:build   318 |       ch[i]    = VADD(cc[i], tr2);
:info:build       |       ^~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:319:7: error: AltiVec argument passed to unprototyped function
:info:build   319 |       ti2 = VADD(cc[i+ido+1], cc[i+2*ido+1]);
:info:build       |       ^~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:320:7: error: cannot convert a value of type 'int' to vector type '__vector(4) float' which has different size
:info:build   320 |       ci2 = VADD(cc[i    +1], SVMUL(taur,ti2));
:info:build       |       ^~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:320:7: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:320:7: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:321:7: error: AltiVec argument passed to unprototyped function
:info:build   321 |       ch[i+1]  = VADD(cc[i+1], ti2);
:info:build       |       ^~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:322:7: error: AltiVec argument passed to unprototyped function
:info:build   322 |       cr3 = SVMUL(taui, VSUB(cc[i+ido], cc[i+2*ido]));
:info:build       |       ^~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:322:7: error: cannot convert a value of type 'int' to vector type '__vector(4) float' which has different size
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:322:7: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:323:7: error: AltiVec argument passed to unprototyped function
:info:build   323 |       ci3 = SVMUL(taui, VSUB(cc[i+ido+1], cc[i+2*ido+1]));
:info:build       |       ^~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:323:7: error: cannot convert a value of type 'int' to vector type '__vector(4) float' which has different size
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:323:7: error: AltiVec argument passed to unprototyped function
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:324:7: error: AltiVec argument passed to unprototyped function
:info:build   324 |       dr2 = VSUB(cr2, ci3);
:info:build       |       ^~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:325:7: error: AltiVec argument passed to unprototyped function
:info:build   325 |       dr3 = VADD(cr2, ci3);
:info:build       |       ^~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:326:7: error: AltiVec argument passed to unprototyped function
:info:build   326 |       di2 = VADD(ci2, cr3);
:info:build       |       ^~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:327:7: error: AltiVec argument passed to unprototyped function
:info:build   327 |       di3 = VSUB(ci2, cr3);
:info:build       |       ^~~
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_csound/csound/work/csound-6.18.1/OOps/pffft.c:329:7: error: cannot convert a value of type 'int' to vector type '__vector(4) float' which has different size
:info:build   329 |       VCPLXMUL(dr2, di2, LD_PS1(wr1), LD_PS1(wi1));
:info:build       |       ^~~~~~~~

This is on G5 with GCC 12.3.0.

@barracuda156
Copy link
Author

@pkubaj Maybe you could give an advice here?

@pkubaj
Copy link
Contributor

pkubaj commented Aug 7, 2023

I think it may be because altivec.h is not included, but I can't really test, my POWER hardware is POWER9.

@kunstmusik
Copy link
Member

(Requesting @vlazzarini to evaluate this issue.)

@vlazzarini
Copy link
Member

It's hard for me to help as I don't have a PPC to test. Maybe best to disable vector code with -DPFFFT_SIMD_DISABLE if this can't be built.

@barracuda156
Copy link
Author

@pkubaj @vlazzarini Okay, at least some functions should be available, like vec_lde is there already in old Apple gcc: https://opensource.apple.com/source/gcc/gcc-5479/gcc/testsuite/gcc.dg/vmx/3c-01.c.auto.html

Let me see what can be done about this.

P. S. Disabling is a trivial fix, but of course we rather have it working.

@barracuda156
Copy link
Author

@pkubaj Looks like you were absolutely right. Adding #include <altivec.h> solves the problem. (Now I wonder why it was not there to begin with, it should not be Apple-specific thing.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants