void test_vset_lanes64 (void) { int64x1_t out_int64x1_t; int64_t arg0_int64_t; int64x1_t arg1_int64x1_t; out_int64x1_t = vset_lane_s64 (arg0_int64_t, arg1_int64x1_t, 0); }
int main (void) { int64x1_t out_int64x1_t = 0; int64_t arg0_int64_t = 0xf00f00f00LL; int64x1_t arg1_int64x1_t = (int64x1_t) 0xdeadbeefbadf00dLL; out_int64x1_t = vset_lane_s64 (arg0_int64_t, arg1_int64x1_t, 0); if ((int64_t)out_int64x1_t != arg0_int64_t) abort(); return 0; }
int64x1_t test_vset_lane_s64(int64_t v1, int64x1_t v2) { // CHECK: test_vset_lane_s64 return vset_lane_s64(v1, v2, 0); // CHECK: fmov {{d[0-9]+}}, {{x[0-9]+}} }
int64x1_t test_vset_lane_s64(int64_t a, int64x1_t b) { // CHECK-LABEL: test_vset_lane_s64: // CHECK-NEXT: fmov d0, x0 // CHECK-NEXT: ret return vset_lane_s64(a, b, 0); }
// CHECK-LABEL: define <1 x i64> @test_vset_lane_s64(i64 %a, <1 x i64> %b) #0 { // CHECK: [[TMP0:%.*]] = bitcast <1 x i64> %b to <8 x i8> // CHECK: [[TMP1:%.*]] = bitcast <8 x i8> [[TMP0]] to <1 x i64> // CHECK: [[VSET_LANE:%.*]] = insertelement <1 x i64> [[TMP1]], i64 %a, i32 0 // CHECK: ret <1 x i64> [[VSET_LANE]] int64x1_t test_vset_lane_s64(int64_t a, int64x1_t b) { return vset_lane_s64(a, b, 0); }