diff options
author | Jiahao Xu <xujiahao@loongson.cn> | 2023-12-06 15:04:53 +0800 |
---|---|---|
committer | Lulu Cheng <chenglulu@loongson.cn> | 2023-12-08 16:29:51 +0800 |
commit | 22362d0f77574e7c06c47181a581bacefff9d030 (patch) | |
tree | 7dbe925991b3f4577c1ba8b2f0d853071249312e /libgomp | |
parent | 9a07bc477e197ef935679bacd0a923a98c006b2a (diff) | |
download | gcc-22362d0f77574e7c06c47181a581bacefff9d030.zip gcc-22362d0f77574e7c06c47181a581bacefff9d030.tar.gz gcc-22362d0f77574e7c06c47181a581bacefff9d030.tar.bz2 |
LoongArch: Vectorized loop unrolling is disable for divf/sqrtf/rsqrtf when -mrecip is enabled.
Using -mrecip generates a sequence of instructions to replace divf, sqrtf and rsqrtf. The number
of generated instructions is close to or exceeds the maximum issue instructions per cycle of the
LoongArch, so vectorized loop unrolling is not performed on them.
gcc/ChangeLog:
* config/loongarch/loongarch.cc (loongarch_vector_costs::determine_suggested_unroll_factor):
If m_has_recip is true, uf return 1.
(loongarch_vector_costs::add_stmt_cost): Detect the use of approximate instruction sequence.
Diffstat (limited to 'libgomp')
0 files changed, 0 insertions, 0 deletions