diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2021-08-09 16:38:54 +0200 |
---|---|---|
committer | Uros Bizjak <ubizjak@gmail.com> | 2021-08-09 16:39:40 +0200 |
commit | 9d2d660aab2f332b1e3f69a2fb3419cf3cc33b47 (patch) | |
tree | cdc9960ac87e6abe0736532b1d8dd32dab4504bd | |
parent | 62f01243fb27030b8d99c671f27349c2e7465edc (diff) | |
download | gcc-9d2d660aab2f332b1e3f69a2fb3419cf3cc33b47.zip gcc-9d2d660aab2f332b1e3f69a2fb3419cf3cc33b47.tar.gz gcc-9d2d660aab2f332b1e3f69a2fb3419cf3cc33b47.tar.bz2 |
i386: Name V2SF logic insns [PR101812]
Name V2SF logic insns, so expand_simple_binop works with V2SF modes.
2021-08-09 Uroš Bizjak <ubizjak@gmail.com>
gcc/
PR target/101812
* config/i386/mmx.md (<any_logic:code>v2sf3):
Rename from *mmx_<any_logic:code>v2sf3
gcc/testsuite/
PR target/101812
* gcc.target/i386/pr101812.c: New test.
-rw-r--r-- | gcc/config/i386/mmx.md | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr101812.c | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md index 0984f7c..2d3b63f 100644 --- a/gcc/config/i386/mmx.md +++ b/gcc/config/i386/mmx.md @@ -952,7 +952,7 @@ (set_attr "prefix" "orig,vex") (set_attr "mode" "V4SF")]) -(define_insn "*mmx_<code>v2sf3" +(define_insn "<code>v2sf3" [(set (match_operand:V2SF 0 "register_operand" "=x,x") (any_logic:V2SF (match_operand:V2SF 1 "register_operand" "%0,x") diff --git a/gcc/testsuite/gcc.target/i386/pr101812.c b/gcc/testsuite/gcc.target/i386/pr101812.c new file mode 100644 index 0000000..07e84a3 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr101812.c @@ -0,0 +1,12 @@ +/* { dg-do compile } */ +/* { dg-options "-O1 -ftree-loop-vectorize -fvect-cost-model=unlimited" } */ + +#define LTGT(a, b) (__builtin_islessgreater (a, b) ? a : b) +void foo (int ilast,float* w, float* w2) +{ + int i; + for (i = 0; i < ilast; ++i) + { + w[i] = LTGT (0.0f, w2[i]); + } +} |