/* { dg-do compile } */ /* { dg-options "-march=rv64gc_zbb -mabi=lp64d -fno-lto -O2" } */ /* { dg-skip-if "" { *-*-* } { "-g" } } */ /* { dg-final { check-function-bodies "**" "" } } */ /* **foo1: ** rori a0,a0,34 ** ret */ unsigned long foo1 (unsigned long rs1) { unsigned long tempt; tempt = rs1 >> 30; tempt = tempt << 2; tempt = tempt >> 6; rs1 = tempt | (rs1 << 30); return rs1 ; } /* **foo2: ** rori a0,a0,24 ** ret */ unsigned long foo2 (unsigned long rs1) { unsigned long tempt; tempt = rs1 >> 20; tempt = tempt << 2; tempt = tempt >> 6; rs1 = tempt | (rs1 << 40); return rs1 ; } /* **foo3: ** rori a0,a0,40 ** ret */ unsigned long foo3 (unsigned long rs1) { unsigned long tempt; tempt = rs1 << 20; tempt = tempt >> 2; tempt = tempt << 6; rs1 = tempt | (rs1 >> 40); return rs1 ; } /* **foo4: ** rori a0,a0,20 ** ret */ unsigned long foo4 (unsigned long rs1) { unsigned long tempt; tempt = rs1 << 40; tempt = tempt >> 2; tempt = tempt << 6; rs1 = tempt | (rs1 >> 20); return rs1 ; }