aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/mips/msa-bclri.c
blob: 3a01fd6b14c4a183948a212cb08a360b7ded9b78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* { dg-do compile } */
/* { dg-options "-mno-mips16 -mfp64 -mhard-float -mmsa" } */
/* { dg-skip-if "code quality test" { *-*-* }  { "-O0" } { "" } } */

typedef long long v2i64 __attribute__ ((vector_size(16)));

/* Test MSA AND.d optimization: generate BCLRI.d instead, for immediate const
   vector operand with only one bit clear.  */

void
and_d_msa (v2i64 *vx, v2i64 *vy)
{
  v2i64 and_vec = {0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF};
  *vy = (*vx) & and_vec;
}
/* { dg-final { scan-assembler "bclri.d" } }  */