aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2016-10-06 00:02:05 +0200
committerUros Bizjak <uros@gcc.gnu.org>2016-10-06 00:02:05 +0200
commitc617339332b3d31beb65aa35b5e4dca1f9c67824 (patch)
tree248a2e386c2d58cfd0d1f61d780c92d9f8c5b5df
parent50b01e1d461c4aeab4eaadc1e861517564a6db29 (diff)
downloadgcc-c617339332b3d31beb65aa35b5e4dca1f9c67824.zip
gcc-c617339332b3d31beb65aa35b5e4dca1f9c67824.tar.gz
gcc-c617339332b3d31beb65aa35b5e4dca1f9c67824.tar.bz2
re PR target/77874 (two problems with gcc.target/i386/avx-1.c)
PR target/77874 * config/i386/sse.md (<mask_codefor><code><mode>3<mask_name>): Remove wrong assert. (<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>: Use <round_constraint> as operand 1 constraint. From-SVN: r240814
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/i386/sse.md4
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9be5e48..36cbd0f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2016-10-05 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/77874
+ * config/i386/sse.md (<mask_codefor><code><mode>3<mask_name>):
+ Remove wrong assert.
+ (<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>:
+ Use <round_constraint> as operand 1 constraint.
+
2016-10-05 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/66343
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 235969a..026054d 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -4666,7 +4666,7 @@
(define_insn "<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>"
[(set (match_operand:VF2_AVX512VL 0 "register_operand" "=v")
(any_float:VF2_AVX512VL
- (match_operand:<sseintvecmode> 1 "nonimmediate_operand" "vm")))]
+ (match_operand:<sseintvecmode> 1 "nonimmediate_operand" "<round_constraint>")))]
"TARGET_AVX512DQ"
"vcvt<floatsuffix>qq2pd\t{<round_mask_op2>%1, %0<mask_operand2>|%0<mask_operand2>, %1<round_mask_op2>}"
[(set_attr "type" "ssecvt")
@@ -11302,7 +11302,6 @@
gcc_assert (TARGET_AVX);
case MODE_V4SF:
gcc_assert (TARGET_SSE);
-
tmp = "andnps";
break;
@@ -11420,7 +11419,6 @@
gcc_assert (TARGET_AVX);
case MODE_V4SF:
gcc_assert (TARGET_SSE);
- gcc_assert (!<mask_applied>);
tmp = "<logic>ps";
break;