Mednafen Members Members   Search Search   Help Help   Register Register   Login Login   Home Home
Home » Mednafen » Development » 1.24.0-UNSTABLE does not build on ppc64le
Show: Today's Messages  :: Show Polls :: Message Navigator
Switch to threaded view of this topic Create a new topic Submit Reply
1.24.0-UNSTABLE does not build on ppc64le [message #6043] Tue, 31 December 2019 05:30 Go to next message
belegdol  [PM]
Hello,

it appears that 1.24.0-UNSTABLE no longer builds on ppc64le:
https://kojipkgs.fedoraproject.org//work/tasks/3131/39943131/build.log

g++ -std=gnu++11 -fsigned-char -DHAVE_CONFIG_H   -I../include -I../include -I../intl    -fno-fast-math -fno-unsafe-math-optimizations -fno-aggressive-loop-optimizations -fno-ipa-icf -fno-printf-return-value -fomit-frame-pointer -fstrict-aliasing  -Wall -Wshadow -Wempty-body -Wignored-qualifiers -Wvla -Wvariadic-macros -Wdisabled-optimization -Werror=write-strings  -fno-pic -fno-pie -fno-PIC -fno-PIE -no-pie -fwrapv -fjump-tables  -fexceptions -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches  -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -Wl,-z,relro -Wl,-z,now -c -o sound/SwiftResampler.o sound/SwiftResampler.cpp
In file included from sound/SwiftResampler.cpp:78:
sound/SwiftResampler_altivec.inc: In function 'void Mednafen::DoMAC_AltiVec(const int16*, const int16*, int32, int32*)':
sound/SwiftResampler_altivec.inc:6:36: error: there are no arguments to 'vec_splats' that depend on a template parameter, so a declaration of 'vec_splats' must be available [-fpermissive]
    6 |    vector unsigned int vecsrEBp1 = vec_splats((unsigned int)3 + 1);
      |                                    ^~~~~~~~~~
sound/SwiftResampler_altivec.inc:6:36: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
sound/SwiftResampler_altivec.inc:7:36: error: there are no arguments to 'vec_splats' that depend on a template parameter, so a declaration of 'vec_splats' must be available [-fpermissive]
    7 |    vector unsigned int vecsr16m1 = vec_splats((unsigned int)TA_NumFractBits - (3 + 1));
      |                                    ^~~~~~~~~~
sound/SwiftResampler_altivec.inc:8:38: error: there are no arguments to 'vec_splat_s32' that depend on a template parameter, so a declaration of 'vec_splat_s32' must be available [-fpermissive]
    8 |           vector signed int zerosi = vec_splat_s32(0);
      |                                      ^~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:31:18: error: there are no arguments to 'vec_ld' that depend on a template parameter, so a declaration of 'vec_ld' must be available [-fpermissive]
   31 |            wd0 = vec_ld(ino, wave);
      |                  ^~~~~~
sound/SwiftResampler_altivec.inc:32:18: error: there are no arguments to 'vec_ld' that depend on a template parameter, so a declaration of 'vec_ld' must be available [-fpermissive]
   32 |            fd0 = vec_ld(ino, coeffs);
      |                  ^~~~~~
sound/SwiftResampler_altivec.inc:33:19: error: there are no arguments to 'vec_msums' that depend on a template parameter, so a declaration of 'vec_msums' must be available [-fpermissive]
   33 |            acc0 = vec_msums(wd0, fd0, acc0);
      |                   ^~~~~~~~~
sound/SwiftResampler_altivec.inc:35:18: error: there are no arguments to 'vec_ld' that depend on a template parameter, so a declaration of 'vec_ld' must be available [-fpermissive]
   35 |            wd1 = vec_ld(ino + (8 << 1), wave);
      |                  ^~~~~~
sound/SwiftResampler_altivec.inc:36:18: error: there are no arguments to 'vec_ld' that depend on a template parameter, so a declaration of 'vec_ld' must be available [-fpermissive]
   36 |            fd1 = vec_ld(ino + (8 << 1), coeffs);
      |                  ^~~~~~
sound/SwiftResampler_altivec.inc:37:19: error: there are no arguments to 'vec_msums' that depend on a template parameter, so a declaration of 'vec_msums' must be available [-fpermissive]
   37 |            acc1 = vec_msums(wd1, fd1, acc1);
      |                   ^~~~~~~~~
sound/SwiftResampler_altivec.inc:40:18: error: there are no arguments to 'vec_sra' that depend on a template parameter, so a declaration of 'vec_sra' must be available [-fpermissive]
   40 |           acc0 = vec_sra(acc0, vecsrEBp1);
      |                  ^~~~~~~
sound/SwiftResampler_altivec.inc:41:18: error: there are no arguments to 'vec_sra' that depend on a template parameter, so a declaration of 'vec_sra' must be available [-fpermissive]
   41 |           acc1 = vec_sra(acc1, vecsrEBp1);
      |                  ^~~~~~~
sound/SwiftResampler_altivec.inc:45:18: error: there are no arguments to 'vec_ld' that depend on a template parameter, so a declaration of 'vec_ld' must be available [-fpermissive]
   45 |            wd0 = vec_ld(ino, wave);
      |                  ^~~~~~
sound/SwiftResampler_altivec.inc:46:18: error: there are no arguments to 'vec_ld' that depend on a template parameter, so a declaration of 'vec_ld' must be available [-fpermissive]
   46 |            fd0 = vec_ld(ino, coeffs);
      |                  ^~~~~~
sound/SwiftResampler_altivec.inc:47:19: error: there are no arguments to 'vec_msums' that depend on a template parameter, so a declaration of 'vec_msums' must be available [-fpermissive]
   47 |            acc2 = vec_msums(wd0, fd0, acc2);
      |                   ^~~~~~~~~
sound/SwiftResampler_altivec.inc:49:18: error: there are no arguments to 'vec_ld' that depend on a template parameter, so a declaration of 'vec_ld' must be available [-fpermissive]
   49 |            wd1 = vec_ld(ino + (8 << 1), wave);
      |                  ^~~~~~
sound/SwiftResampler_altivec.inc:50:18: error: there are no arguments to 'vec_ld' that depend on a template parameter, so a declaration of 'vec_ld' must be available [-fpermissive]
   50 |            fd1 = vec_ld(ino + (8 << 1), coeffs);
      |                  ^~~~~~
sound/SwiftResampler_altivec.inc:51:19: error: there are no arguments to 'vec_msums' that depend on a template parameter, so a declaration of 'vec_msums' must be available [-fpermissive]
   51 |            acc3 = vec_msums(wd1, fd1, acc3);
      |                   ^~~~~~~~~
sound/SwiftResampler_altivec.inc:54:11: error: there are no arguments to 'vec_sra' that depend on a template parameter, so a declaration of 'vec_sra' must be available [-fpermissive]
   54 |    acc2 = vec_sra(acc2, vecsrEBp1);
      |           ^~~~~~~
sound/SwiftResampler_altivec.inc:55:11: error: there are no arguments to 'vec_sra' that depend on a template parameter, so a declaration of 'vec_sra' must be available [-fpermissive]
   55 |    acc3 = vec_sra(acc3, vecsrEBp1);
      |           ^~~~~~~
sound/SwiftResampler_altivec.inc:59:18: error: there are no arguments to 'vec_add' that depend on a template parameter, so a declaration of 'vec_add' must be available [-fpermissive]
   59 |    tmp = vec_add(vec_add(acc0, acc2), vec_add(acc1, acc3));
      |                  ^~~~~~~
sound/SwiftResampler_altivec.inc:59:39: error: there are no arguments to 'vec_add' that depend on a template parameter, so a declaration of 'vec_add' must be available [-fpermissive]
   59 |    tmp = vec_add(vec_add(acc0, acc2), vec_add(acc1, acc3));
      |                                       ^~~~~~~
sound/SwiftResampler_altivec.inc:60:20: error: there are no arguments to 'vec_sums' that depend on a template parameter, so a declaration of 'vec_sums' must be available [-fpermissive]
   60 |    tmp = vec_splat(vec_sums(tmp, zerosi), 3);
      |                    ^~~~~~~~
sound/SwiftResampler_altivec.inc:61:10: error: there are no arguments to 'vec_sra' that depend on a template parameter, so a declaration of 'vec_sra' must be available [-fpermissive]
   61 |    tmp = vec_sra(tmp, vecsr16m1);
      |          ^~~~~~~
sound/SwiftResampler_altivec.inc:63:4: error: there are no arguments to 'vec_ste' that depend on a template parameter, so a declaration of 'vec_ste' must be available [-fpermissive]
   63 |    vec_ste(tmp, 0, accum_output);
      |    ^~~~~~~
sound/SwiftResampler_altivec.inc: In instantiation of 'void Mednafen::DoMAC_AltiVec(const int16*, const int16*, int32, int32*) [with unsigned int TA_NumFractBits = 19; int16 = short int; int32 = int]':
sound/SwiftResampler.cpp:160:9:   required from 'int32 Mednafen::SwiftResampler::T_Resample(int16*, int16*, uint32, uint32, int32*) [with unsigned int TA_SIMD_Type = 4; unsigned int TA_NumFractBits = 19; int32 = int; int16 = short int; uint32 = unsigned int]'
sound/SwiftResampler.cpp:325:32:   required from here
sound/SwiftResampler_altivec.inc:6:46: error: 'vec_splats' was not declared in this scope
    6 |    vector unsigned int vecsrEBp1 = vec_splats((unsigned int)3 + 1);
      |                                    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:7:46: error: 'vec_splats' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
    7 |    vector unsigned int vecsr16m1 = vec_splats((unsigned int)TA_NumFractBits - (3 + 1));
      |                                    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:8:51: error: 'vec_splat_s32' was not declared in this scope
    8 |           vector signed int zerosi =make[2]: Leaving directory '/builddir/build/BUILD/mednafen/src'
 vec_splat_s32(0);
      |                                      ~~~~~~~~~~~~~^~~
sound/SwiftResampler_altivec.inc:31:24: error: 'vec_ld' was not declared in this scope
   31 |            wd0 = vec_ld(ino, wave);
      |                  ~~~~~~^~~~~~~~~~~
sound/SwiftResampler_altivec.inc:32:24: error: 'vec_ld' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   32 |            fd0 = vec_ld(ino, coeffs);
      |                  ~~~~~~^~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:33:28: error: 'vec_msums' was not declared in this scope
   33 |            acc0 = vec_msums(wd0, fd0, acc0);
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:35:24: error: 'vec_ld' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   35 |            wd1 = vec_ld(ino + (8 << 1), wave);
      |                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:36:24: error: 'vec_ld' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   36 |            fd1 = vec_ld(ino + (8 << 1), coeffs);
      |                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:37:28: error: 'vec_msums' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   37 |            acc1 = vec_msums(wd1, fd1, acc1);
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:40:25: error: 'vec_sra' was not declared in this scope
   40 |           acc0 = vec_sra(acc0, vecsrEBp1);
      |                  ~~~~~~~^~~~~~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:41:25: error: 'vec_sra' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   41 |           acc1 = vec_sra(acc1, vecsrEBp1);
      |                  ~~~~~~~^~~~~~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:45:24: error: 'vec_ld' was not declared in this scope
   45 |            wd0 = vec_ld(ino, wave);
      |                  ~~~~~~^~~~~~~~~~~
sound/SwiftResampler_altivec.inc:46:24: error: 'vec_ld' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   46 |            fd0 = vec_ld(ino, coeffs);
      |                  ~~~~~~^~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:47:28: error: 'vec_msums' was not declared in this scope
   47 |            acc2 = vec_msums(wd0, fd0, acc2);
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:49:24: error: 'vec_ld' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   49 |            wd1 = vec_ld(ino + (8 << 1), wave);
      |                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:50:24: error: 'vec_ld' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   50 |            fd1 = vec_ld(ino + (8 << 1), coeffs);
      |                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:51:28: error: 'vec_msums' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   51 |            acc3 = vec_msums(wd1, fd1, acc3);
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:54:18: error: 'vec_sra' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   54 |    acc2 = vec_sra(acc2, vecsrEBp1);
      |           ~~~~~~~^~~~~~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:55:18: error: 'vec_sra' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   55 |    acc3 = vec_sra(acc3, vecsrEBp1);
      |           ~~~~~~~^~~~~~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:59:25: error: 'vec_add' was not declared in this scope
   59 |    tmp = vec_add(vec_add(acc0, acc2), vec_add(acc1, acc3));
      |                  ~~~~~~~^~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:59:46: error: 'vec_add' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   59 |    tmp = vec_add(vec_add(acc0, acc2), vec_add(acc1, acc3));
      |                                       ~~~~~~~^~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:59:17: error: 'vec_add' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   59 |    tmp = vec_add(vec_add(acc0, acc2), vec_add(acc1, acc3));
      |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:60:28: error: 'vec_sums' was not declared in this scope
   60 |    tmp = vec_splat(vec_sums(tmp, zerosi), 3);
      |                    ~~~~~~~~^~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:60:19: error: 'vec_splat' was not declared in this scope
   60 |    tmp = vec_splat(vec_sums(tmp, zerosi), 3);
      |          ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:61:17: error: 'vec_sra' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
   61 |    tmp = vec_sra(tmp, vecsr16m1);
      |          ~~~~~~~^~~~~~~~~~~~~~~~
sound/SwiftResampler_altivec.inc:63:11: error: 'vec_ste' was not declared in this scope
   63 |    vec_ste(tmp, 0, accum_output);
      |    ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:3961: sound/SwiftResampler.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Entering directory '/builddir/build/BUILD/mednafen/src'
g++ -std=gnu++11 -fsigned-char -DHAVE_CONFIG_H   -I../include -I../include -I../intl    -fno-fast-math -fno-unsafe-math-optimizations -fno-aggressive-loop-optimizations -fno-ipa-icf -fno-printf-return-value -fomit-frame-pointer -fstrict-aliasing  -Wall -Wshadow -Wempty-body -Wignored-qualifiers -Wvla -Wvariadic-macros -Wdisabled-optimization -Werror=write-strings  -fno-pic -fno-pie -fno-PIC -fno-PIE -no-pie -fwrapv -fjump-tables  -fexceptions -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches  -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -Wl,-z,relro -Wl,-z,now -c -o sound/OwlResampler.o sound/OwlResampler.cpp
make[2]: Leaving directory '/builddir/build/BUILD/mednafen/src'
In file included from sound/OwlResampler.cpp:290:
sound/OwlResampler_altivec.inc: In function 'void Mednafen::DoMAC_AltiVec(float*, float*, int32, int32*)':
sound/OwlResampler_altivec.inc:8:23: error: 'vec_splat_u8' was not declared in this scope
    8 |  acc0 = (vector float)vec_splat_u8(0);
      |                       ^~~~~~~~~~~~
sound/OwlResampler_altivec.inc:21:8: error: 'vec_ld' was not declared in this scope
   21 |    w = vec_ld(0, wave);
      |        ^~~~~~
sound/OwlResampler_altivec.inc:23:11: error: 'vec_madd' was not declared in this scope
   23 |    acc0 = vec_madd(w, c, acc0);
      |           ^~~~~~~~
sound/OwlResampler_altivec.inc:46:11: error: 'vec_lvsl' was not declared in this scope
   46 |   lperm = vec_lvsl(0, wave);
      |           ^~~~~~~~
sound/OwlResampler_altivec.inc:47:11: error: 'vec_ld' was not declared in this scope
   47 |   loado = vec_ld(0, wave);
      |           ^~~~~~
sound/OwlResampler_altivec.inc:56:8: error: 'vec_perm' was not declared in this scope
   56 |    w = vec_perm(loado, tl, lperm);
      |        ^~~~~~~~
sound/OwlResampler_altivec.inc:59:11: error: 'vec_madd' was not declared in this scope
   59 |    acc0 = vec_madd(w, c, acc0);
      |           ^~~~~~~~
sound/OwlResampler_altivec.inc:89:17: error: 'vec_add' was not declared in this scope
   89 |   sum = vec_add(vec_add(acc0, acc1), vec_add(acc2, acc3));
      |                 ^~~~~~~
sound/OwlResampler_altivec.inc:89:9: error: 'vec_add' was not declared in this scope
   89 |   sum = vec_add(vec_add(acc0, acc1), vec_add(acc2, acc3));
      |         ^~~~~~~
sound/OwlResampler_altivec.inc:90:11: error: 'vec_sld' was not declared in this scope
   90 |   sums0 = vec_sld(sum, sum, 8);
      |           ^~~~~~~
sound/OwlResampler_altivec.inc:95:11: error: 'vec_cts' was not declared in this scope
   95 |   sum_i = vec_cts(sum, 0);
      |           ^~~~~~~
sound/OwlResampler_altivec.inc:96:3: error: 'vec_ste' was not declared in this scope
   96 |   vec_ste(sum_i, 0, accum_output);
      |   ^~~~~~~
sound/OwlResampler.cpp: In constructor 'Mednafen::OwlResampler::OwlResampler(double, double, double, double, int, double, double, int32, int32)':
sound/OwlResampler.cpp:560:15: warning: unused variable 'cpuext' [-Wunused-variable]
  560 |  const uint32 cpuext = cputest_get_flags();
      |               ^~~~~~
make[2]: *** [Makefile:3961: sound/OwlResampler.o] Error 1

Looking at the git mirror, it likely has something to do with the ARCH_POWERPC_ALTIVEC -> HAVE_ALTIVEC_INTRINSICS change as 1.23.0 was building fine.
Re: 1.24.0-UNSTABLE does not build on ppc64le [message #6044 is a reply to message #6043 ] Tue, 31 December 2019 07:04 Go to previous messageGo to next message
belegdol  [PM]
It appears that prior to 1.24.0 ppc64le was never using intrinsics. I am testing a possible fix.
Re: 1.24.0-UNSTABLE does not build on ppc64le [message #6045 is a reply to message #6043 ] Tue, 31 December 2019 07:52 Go to previous message
belegdol  [PM]
The attached patch fixes the problem. Prior to 1.24.0 all the detection was happening in configure so the issue of not recognising ppc64le as powerpc was effectively hidden. With the current version part of the detection was moved to types.h which exposed the problem.

  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic:Question about Mednafen Cheat Engine.
Next Topic:macOS Catalina - can't get 1.24.0 UNSTABLE to compile
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ ]

Current Time: Sun May 5 03:01:38 CDT 2024
.:: Contact :: Home ::.

Powered by FUDforum.
Copyright © FUDforum Bulletin Board Software