diff options
author | Richard Biener <rguenther@suse.de> | 2023-05-24 10:07:36 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2023-05-24 14:45:12 +0200 |
commit | affee7dcfa1ee272d43ac7cb68cf423dbd956fd8 (patch) | |
tree | 6a5c61413b4decc607d4c1e2d8eddd4e519f8db3 /gcc/value-range.h | |
parent | 257c2be7ff8dfdc610202a1e1f5a8a668b939bdb (diff) | |
download | gcc-affee7dcfa1ee272d43ac7cb68cf423dbd956fd8.zip gcc-affee7dcfa1ee272d43ac7cb68cf423dbd956fd8.tar.gz gcc-affee7dcfa1ee272d43ac7cb68cf423dbd956fd8.tar.bz2 |
target/109944 - avoid STLF fail for V16QImode CTOR expansion
The following dispatches to V2DImode CTOR expansion instead of
using sets of (subreg:DI (reg:V16QI 146) [08]) which causes
LRA to spill DImode and reload V16QImode. The same applies for
V8QImode or V4HImode construction from SImode parts which happens
during 32bit libgcc build.
PR target/109944
* config/i386/i386-expand.cc (ix86_expand_vector_init_general):
Perform final vector composition using
ix86_expand_vector_init_general instead of setting
the highpart and lowpart which causes spilling.
* gcc.target/i386/pr109944-1.c: New testcase.
* gcc.target/i386/pr109944-2.c: Likewise.
Diffstat (limited to 'gcc/value-range.h')
0 files changed, 0 insertions, 0 deletions