1 /* { dg-do compile } */
2 /* { dg-options "-O2 -march=rv64gc_zba -mabi=lp64" } */
3
4 unsigned long foo(unsigned int a, unsigned long b)
5 {
6 a = a << 1;
7 unsigned long c = (unsigned long) a;
8 unsigned long d = b + (c<<2);
9 return d;
10 }
11
12 /* { dg-final { scan-assembler "sh2add.uw" } } */
13 /* { dg-final { scan-assembler-not "zext" } } */