aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/loongarch/rotrw.c
blob: 6ed45e8b86c1a3f8cd2cf0b05ea071741d6b3195 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* { dg-do compile } */
/* { dg-options "-O2" } */
/* { dg-final { scan-assembler "rotr\\.w\t\\\$r4,\\\$r4,\\\$r5" } } */
/* { dg-final { scan-assembler "rotri\\.w\t\\\$r4,\\\$r4,5" } } */
/* { dg-final { scan-assembler-not "slli\\.w" } } */

unsigned
rotr (unsigned a, unsigned b)
{
  return a >> b | a << 32 - b;
}

unsigned
rotri (unsigned a)
{
  return a >> 5 | a << 27;
}