Commit 5ada812c by Prachi Godbole Committed by Prachi Godbole

mips-msa.md (msa_dotp_<su>_d, [...]): Fix MODE for vec_select.

gcc/
	* config/mips/mips-msa.md (msa_dotp_<su>_d, msa_dpadd_<su>_d,
	msa_dpsub_<su>_d): Fix MODE for vec_select.

gcc/testsuite/
	* gcc.target/mips/msa-dotp.c: New tests.

From-SVN: r245911
parent 334b3c4b
2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com> 2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com>
* config/mips/mips-msa.md (msa_dotp_<su>_d, msa_dpadd_<su>_d,
msa_dpsub_<su>_d): Fix MODE for vec_select.
2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com>
* config/mips/mips.c (mips_gen_const_int_vector): Change type of last * config/mips/mips.c (mips_gen_const_int_vector): Change type of last
argument. argument.
* config/mips/mips-protos.h (mips_gen_const_int_vector): Likewise. * config/mips/mips-protos.h (mips_gen_const_int_vector): Likewise.
......
...@@ -1230,10 +1230,10 @@ ...@@ -1230,10 +1230,10 @@
(parallel [(const_int 0) (const_int 2)])))) (parallel [(const_int 0) (const_int 2)]))))
(mult:V2DI (mult:V2DI
(any_extend:V2DI (any_extend:V2DI
(vec_select:V4SI (match_dup 1) (vec_select:V2SI (match_dup 1)
(parallel [(const_int 1) (const_int 3)]))) (parallel [(const_int 1) (const_int 3)])))
(any_extend:V2DI (any_extend:V2DI
(vec_select:V4SI (match_dup 2) (vec_select:V2SI (match_dup 2)
(parallel [(const_int 1) (const_int 3)]))))))] (parallel [(const_int 1) (const_int 3)]))))))]
"ISA_HAS_MSA" "ISA_HAS_MSA"
"dotp_<su>.d\t%w0,%w1,%w2" "dotp_<su>.d\t%w0,%w1,%w2"
...@@ -1319,10 +1319,10 @@ ...@@ -1319,10 +1319,10 @@
(parallel [(const_int 0) (const_int 2)])))) (parallel [(const_int 0) (const_int 2)]))))
(mult:V2DI (mult:V2DI
(any_extend:V2DI (any_extend:V2DI
(vec_select:V4SI (match_dup 2) (vec_select:V2SI (match_dup 2)
(parallel [(const_int 1) (const_int 3)]))) (parallel [(const_int 1) (const_int 3)])))
(any_extend:V2DI (any_extend:V2DI
(vec_select:V4SI (match_dup 3) (vec_select:V2SI (match_dup 3)
(parallel [(const_int 1) (const_int 3)]))))) (parallel [(const_int 1) (const_int 3)])))))
(match_operand:V2DI 1 "register_operand" "0")))] (match_operand:V2DI 1 "register_operand" "0")))]
"ISA_HAS_MSA" "ISA_HAS_MSA"
...@@ -1414,10 +1414,10 @@ ...@@ -1414,10 +1414,10 @@
(parallel [(const_int 0) (const_int 2)])))) (parallel [(const_int 0) (const_int 2)]))))
(mult:V2DI (mult:V2DI
(any_extend:V2DI (any_extend:V2DI
(vec_select:V4SI (match_dup 2) (vec_select:V2SI (match_dup 2)
(parallel [(const_int 1) (const_int 3)]))) (parallel [(const_int 1) (const_int 3)])))
(any_extend:V2DI (any_extend:V2DI
(vec_select:V4SI (match_dup 3) (vec_select:V2SI (match_dup 3)
(parallel [(const_int 1) (const_int 3)])))))))] (parallel [(const_int 1) (const_int 3)])))))))]
"ISA_HAS_MSA" "ISA_HAS_MSA"
"dpsub_<su>.d\t%w0,%w2,%w3" "dpsub_<su>.d\t%w0,%w2,%w3"
......
2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com> 2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com>
* gcc.target/mips/msa-dotp.c: New tests.
2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com>
* gcc.target/mips/msa-bclri.c: New test. * gcc.target/mips/msa-bclri.c: New test.
2017-03-05 Paolo Carlini <paolo.carlini@oracle.com> 2017-03-05 Paolo Carlini <paolo.carlini@oracle.com>
......
/* { dg-do compile } */
/* { dg-options "-mno-mips16 -mfp64 -mhard-float -mmsa" } */
typedef int v4i32 __attribute__ ((vector_size(16)));
typedef long long v2i64 __attribute__ ((vector_size(16)));
/* Test MSA dot product family for CSE optimization. */
static v4i32 g = {0, 92, 93, 94};
static v4i32 h = {12, 24, 36, 48};
static v2i64 l = {84, 98};
void
dotp_d_msa (v2i64 *c)
{
l = __builtin_msa_dotp_s_d (g, h);
}
/* { dg-final { scan-assembler "dotp_s.d" } } */
void
dpadd_d_msa (v2i64 *c)
{
*c = __builtin_msa_dpadd_s_d (l, g, h);
}
/* { dg-final { scan-assembler "dpadd_s.d" } } */
void
dpsub_d_msa (v2i64 *c)
{
*c = __builtin_msa_dpsub_s_d (l, g, h);
}
/* { dg-final { scan-assembler "dpsub_s.d" } } */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment