aboutsummaryrefslogtreecommitdiff
path: root/gcc/value-range.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2023-05-24 10:07:36 +0200
committerRichard Biener <rguenther@suse.de>2023-05-24 14:45:12 +0200
commitaffee7dcfa1ee272d43ac7cb68cf423dbd956fd8 (patch)
tree6a5c61413b4decc607d4c1e2d8eddd4e519f8db3 /gcc/value-range.h
parent257c2be7ff8dfdc610202a1e1f5a8a668b939bdb (diff)
downloadgcc-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