aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop.cc
diff options
context:
space:
mode:
authorXi Ruoyao <xry111@xry111.site>2024-04-26 15:59:11 +0800
committerXi Ruoyao <xry111@xry111.site>2024-04-27 11:59:14 +0800
commit140124ad54eef88ca87909f63aedc8aaeacefc65 (patch)
tree665a84e65df97dc9192082056f2012cd84caab45 /gcc/tree-vect-loop.cc
parent50c218e3ffe57860591a987ecf44fcc0abb31f2c (diff)
downloadgcc-140124ad54eef88ca87909f63aedc8aaeacefc65.zip
gcc-140124ad54eef88ca87909f63aedc8aaeacefc65.tar.gz
gcc-140124ad54eef88ca87909f63aedc8aaeacefc65.tar.bz2
LoongArch: Add constraints for bit string operation define_insn_and_split's [PR114861]
Without the constrants, the compiler attempts to use a stack slot as the target, causing an ICE building the kernel with -Os: drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c:3144:1: error: could not split insn (insn:TI 1764 67 1745 (set (mem/c:DI (reg/f:DI 3 $r3) [707 %sfp+-80 S8 A64]) (and:DI (reg/v:DI 28 $r28 [orig:422 raster_config ] [422]) (const_int -50331649 [0xfffffffffcffffff]))) "drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c":1386:21 111 {*bstrins_di_for_mask} (nil)) Add these constrants to fix the issue. gcc/ChangeLog: PR target/114861 * config/loongarch/loongarch.md (bstrins_<mode>_for_mask): Add constraints for operands. (bstrins_<mode>_for_ior_mask): Likewise. gcc/testsuite/ChangeLog: PR target/114861 * gcc.target/loongarch/pr114861.c: New test.
Diffstat (limited to 'gcc/tree-vect-loop.cc')
0 files changed, 0 insertions, 0 deletions