diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2024-06-11 16:00:31 +0200 |
---|---|---|
committer | Uros Bizjak <ubizjak@gmail.com> | 2024-06-11 18:59:20 +0200 |
commit | 05b95238be648c9cf8af2516930af6a7b637a2b8 (patch) | |
tree | c303659bbd63f73ac5c06d8e49a9ce41de0f805e /libcpp/init.cc | |
parent | e7cd8ea1fa3e48404954bb7c06e9bcd603f132dd (diff) | |
download | gcc-05b95238be648c9cf8af2516930af6a7b637a2b8.zip gcc-05b95238be648c9cf8af2516930af6a7b637a2b8.tar.gz gcc-05b95238be648c9cf8af2516930af6a7b637a2b8.tar.bz2 |
i386: Use CMOV in .SAT_{ADD|SUB} expansion for TARGET_CMOV [PR112600]
For TARGET_CMOV targets emit insn sequence involving conditonal move.
.SAT_ADD:
addl %esi, %edi
movl $-1, %eax
cmovnc %edi, %eax
ret
.SAT_SUB:
subl %esi, %edi
movl $0, %eax
cmovnc %edi, %eax
ret
PR target/112600
gcc/ChangeLog:
* config/i386/i386.md (usadd<mode>3): Emit insn sequence
involving conditional move for TARGET_CMOVE targets.
(ussub<mode>3): Ditto.
gcc/testsuite/ChangeLog:
* gcc.target/i386/pr112600-a.c: Also scan for cmov.
* gcc.target/i386/pr112600-b.c: Ditto.
Diffstat (limited to 'libcpp/init.cc')
0 files changed, 0 insertions, 0 deletions