void test_vRsra_nu64 (void) { uint64x1_t out_uint64x1_t; uint64x1_t arg0_uint64x1_t; uint64x1_t arg1_uint64x1_t; out_uint64x1_t = vrsra_n_u64 (arg0_uint64x1_t, arg1_uint64x1_t, 1); }
void foo1 (uint64_t *a) { uint64x1_t val18; uint32x2_t val19; uint64x1_t val20; val19 = vcreate_u32 (0x800000004cf3dffbUL); val20 = vrsra_n_u64 (val18, vreinterpret_u64_u32 (val19), 34); vst1_u64 (a, val20); }
uint64x1_t test_vrsra_n_u64 (uint64x1_t a, uint64x1_t b) { return vrsra_n_u64 (a, b, 4); }
uint64x1_t test_vrsra_n_u64(uint64x1_t acc, uint64x1_t in) { // CHECK-LABEL: @test_vrsra_n_u64 // CHECK: [[TMP:%[0-9a-zA-Z._]+]] = tail call <1 x i64> @llvm.arm64.neon.urshl.v1i64(<1 x i64> %in, <1 x i64> <i64 -1>) // CHECK: add <1 x i64> [[TMP]], %acc return vrsra_n_u64(acc, in, 1); }