aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-pass.h
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2023-10-05 17:40:37 +0200
committerUros Bizjak <ubizjak@gmail.com>2023-10-05 17:43:10 +0200
commitc6bff80d786919f2f64e8a9f3179d6d36888bdb3 (patch)
tree016ba9793c6a54805919e7085a542061a0dcf51a /gcc/tree-pass.h
parente866d08d8b02ea19f88ac149ecb41695ba626aa6 (diff)
downloadgcc-c6bff80d786919f2f64e8a9f3179d6d36888bdb3.zip
gcc-c6bff80d786919f2f64e8a9f3179d6d36888bdb3.tar.gz
gcc-c6bff80d786919f2f64e8a9f3179d6d36888bdb3.tar.bz2
i386: Improve memory copy from named address space [PR111657]
The stringop strategy selection algorithm falls back to a libcall strategy when it exhausts its pool of available strategies. The memory area copy function (memcpy) is not availabe from the system library for non-default address spaces, so the compiler emits the most trivial byte-at-a-time copy loop instead. The compiler should instead emit an optimized copy loop as a fallback for non-default address spaces. PR target/111657 gcc/ChangeLog: * config/i386/i386-expand.cc (alg_usable_p): Reject libcall strategy for non-default address spaces. (decide_alg): Use loop strategy as a fallback strategy for non-default address spaces. gcc/testsuite/ChangeLog: * gcc.target/i386/pr111657.c: New test.
Diffstat (limited to 'gcc/tree-pass.h')
0 files changed, 0 insertions, 0 deletions