aboutsummaryrefslogtreecommitdiff
path: root/gcc/resource.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@gcc.gnu.org>2020-03-13 09:16:29 +0100
committerEric Botcazou <ebotcazou@gcc.gnu.org>2020-03-13 09:21:42 +0100
commit82f620e2ba4c440c5e89bb1f73d10a11ed0f2eb4 (patch)
tree7aebe15ddd0a4439c4897b7cabb05a32fe6e796a /gcc/resource.c
parent54e69cb00da0b50e4fa228a0617e4e8713bbc998 (diff)
downloadgcc-82f620e2ba4c440c5e89bb1f73d10a11ed0f2eb4.zip
gcc-82f620e2ba4c440c5e89bb1f73d10a11ed0f2eb4.tar.gz
gcc-82f620e2ba4c440c5e89bb1f73d10a11ed0f2eb4.tar.bz2
Fix unaligned load with small memcpy on the ARM
store_integral_bit_field is ready to handle BLKmode fields, there is even a subtlety with their handling on big-endian targets, see e.g. PR middle-end/50325, but not if they are unaligned, so the fix is simply to call extract_bit_field for them in order to generate an unaligned load. As a bonus, this subsumes the big-endian specific path that was added under PR middle-end/50325. PR middle-end/92071 * expmed.c (store_integral_bit_field): For fields larger than a word, call extract_bit_field on the value if the mode is BLKmode. Remove specific path for big-endian targets and tidy things up a little bit.
Diffstat (limited to 'gcc/resource.c')
0 files changed, 0 insertions, 0 deletions