aboutsummaryrefslogtreecommitdiff
path: root/gcc/gdbhooks.py
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2024-09-25 20:17:11 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2024-09-25 20:19:28 +0200
commitcc40795d8956d78e719a6acc83d5abad7032a6c3 (patch)
tree279e4ffa8ed01fbb78caf5d1dc345b7babd5afb1 /gcc/gdbhooks.py
parentc79cc30862d7255ca15884aa956d1ccfa279d86a (diff)
downloadgcc-cc40795d8956d78e719a6acc83d5abad7032a6c3.zip
gcc-cc40795d8956d78e719a6acc83d5abad7032a6c3.tar.gz
gcc-cc40795d8956d78e719a6acc83d5abad7032a6c3.tar.bz2
i386: Add GENERIC and GIMPLE folders of __builtin_ia32_{min,max}* [PR116738]
The following patch adds GENERIC and GIMPLE folders for various x86 min/max builtins. As discussed, these builtins have effectively x < y ? x : y (or x > y ? x : y) behavior. The GENERIC folding is done if all the (relevant) arguments are constants (such as VECTOR_CST for vectors) and is done because the GIMPLE folding can't easily handle masking, rounding and the ss/sd cases (in a way that it would be pattern recognized back to the corresponding instructions). The GIMPLE folding is also done just for TARGET_SSE4 or later when optimizing, otherwise it is apparently not matched back. 2024-09-25 Jakub Jelinek <jakub@redhat.com> PR target/116738 * config/i386/i386.cc (ix86_fold_builtin): Handle IX86_BUILTIN_M{IN,AX}{S,P}{S,H,D}*. (ix86_gimple_fold_builtin): Handle IX86_BUILTIN_M{IN,AX}P{S,H,D}*. * gcc.target/i386/avx512f-pr116738-1.c: New test. * gcc.target/i386/avx512f-pr116738-2.c: New test.
Diffstat (limited to 'gcc/gdbhooks.py')
0 files changed, 0 insertions, 0 deletions