x86: Avoid stack realignment when copying data
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 2 Aug 2021 17:01:46 +0000 (10:01 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 2 Aug 2021 17:38:18 +0000 (10:38 -0700)
commit7f4c3943f795fda33df648d2196b678bada1ba81
tree0ef563ff75d073560f77fac7a91f5ed094db3479
parent1bee034e012d1146d34b0d767fe28a485c210e4b
x86: Avoid stack realignment when copying data

To avoid stack realignment, use SCRATCH_SSE_REG to copy data from one
memory location to another.

gcc/

* config/i386/i386-expand.c (ix86_expand_vector_move): Call
ix86_gen_scratch_sse_rtx to get a scratch SSE register to copy
data from one memory location to another.

gcc/testsuite/

* gcc.target/i386/eh_return-1.c: New test.
gcc/config/i386/i386-expand.c
gcc/testsuite/gcc.target/i386/eh_return-1.c [new file with mode: 0644]