On Fri, May 17, 2019 at 5:05 PM H.J. Lu <hjl.to...@gmail.com> wrote: > > On Fri, May 17, 2019 at 12:08 AM Uros Bizjak <ubiz...@gmail.com> wrote: > > > > On Thu, May 16, 2019 at 10:10 PM H.J. Lu <hjl.to...@gmail.com> wrote: > > > > > > We can scan stack for return address to get vector arguments passed on > > > stack. > > > > > > * gcc.target/x86_64/abi/test_varargs-m128.c: New file. > > > * gcc.target/x86_64/abi/avx/test_varargs-m256.c: Likewise. > > > * gcc.target/x86_64/abi/avx512f/test_varargs-m512.c: Likewise. > > > > Bootstrapped and regression tested on which target? Does x32 passes the > > test? > > Tested on Linux/x86-64 and Linux/x32. > > > > + /* Check __m256 arguments passed on stack. */ > > > + argp = (__m256 *) (((char *) fp) + 8); > > > > It took me a while to figure out that RA slot is skipped here. Please > > add some comment, maybe: > > > > /* Skip return address stack slot. */ > > argp = (__m256 *) (((char *) fp) + 8); > > > > /* Check __m256 arguments passed on stack. */ > > compare (values.i4, argp[0], __m256); > > > > Updated. > > Here is the updated patch. OK for trunk?
LGTM. Thanks, Uros.