Address platforms with no __int128.
authorAnthony Green <green@moxielogic.com>
Fri, 29 Nov 2019 12:00:35 +0000 (07:00 -0500)
committerAnthony Green <green@moxielogic.com>
Fri, 29 Nov 2019 12:00:35 +0000 (07:00 -0500)
src/powerpc/ffi_linux64.c

index de0d03376946992aa36a136924ed2d248d338486..7364770148c8153f8984a90d2a3d65f3e129292e 100644 (file)
@@ -547,9 +547,9 @@ ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack)
               if (next_arg.ul == gpr_end.ul)
                 next_arg.ul = rest.ul;
               if (vecarg_count < NUM_VEC_ARG_REGISTERS64 && i < nfixedargs)
-                *vec_base.f128++ = **p_argv.f128;
+               memcpy (vec_base.f128++, *p_argv.f128, sizeof (float128));
               else
-                *next_arg.f128 = **p_argv.f128;
+               memcpy (next_arg.f128, *p_argv.f128, sizeof (float128));
               if (++next_arg.f128 == gpr_end.f128)
                 next_arg.f128 = rest.f128;
               vecarg_count++;