aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/arm/mve.md
diff options
context:
space:
mode:
authorDavid Faust <david.faust@oracle.com>2025-10-15 13:36:38 -0700
committerDavid Faust <david.faust@oracle.com>2025-10-17 08:40:46 -0700
commit239535e9b0c4313072dda0ee1dcbd8ad8636a326 (patch)
tree1522c90bfd787a8e294d1c6520fd49f0f2e408c4 /gcc/config/arm/mve.md
parentd1965b1fd8938f35f78be503e36b98b406751e21 (diff)
downloadgcc-master.zip
gcc-master.tar.gz
gcc-master.tar.bz2
bpf: fix memset miscompilation with larger stores [PR122139]HEADtrunkmaster
The BPF backend expansion of setmem was broken, because it could elect to use stores of HI, SI or DI modes based on the destination alignment when the value was QI, but fail to duplicate the byte value across to those larger sizes. This resulted in not all bytes of the destination actually being set to the desired value. Fix bpf_expand_setmem to ensure the desired byte value is really duplicated as necessary, whether it is constant or a (sub)reg:QI. PR target/122139 gcc/ * config/bpf/bpf.cc (bpf_expand_setmem): Duplicate byte value across to new mode when using larger modes for store. gcc/testsuite/ * gcc.target/bpf/memset-3.c: New. * gcc.target/bpf/memset-4.c: New.
Diffstat (limited to 'gcc/config/arm/mve.md')
0 files changed, 0 insertions, 0 deletions