================
@@ -7170,6 +7170,561 @@ void Verifier::visitIntrinsicCall(Intrinsic::ID ID,
CallBase &Call) {
&Call, Op);
break;
}
+ case Intrinsic::amdgcn_image_load_1d:
+ case Intrinsic::amdgcn_image_load_1darray:
+ case Intrinsic::amdgcn_image_load_2d:
+ case Intrinsic::amdgcn_image_load_2darray:
+ case Intrinsic::amdgcn_image_load_2darraymsaa:
+ case Intrinsic::amdgcn_image_load_2dmsaa:
+ case Intrinsic::amdgcn_image_load_3d:
+ case Intrinsic::amdgcn_image_load_cube:
+ case Intrinsic::amdgcn_image_load_mip_1d:
+ case Intrinsic::amdgcn_image_load_mip_1darray:
+ case Intrinsic::amdgcn_image_load_mip_2d:
+ case Intrinsic::amdgcn_image_load_mip_2darray:
+ case Intrinsic::amdgcn_image_load_mip_3d:
+ case Intrinsic::amdgcn_image_load_mip_cube:
+ case Intrinsic::amdgcn_image_sample_1d:
+ case Intrinsic::amdgcn_image_sample_1darray:
+ case Intrinsic::amdgcn_image_sample_2d:
+ case Intrinsic::amdgcn_image_sample_2darray:
+ case Intrinsic::amdgcn_image_sample_3d:
+ case Intrinsic::amdgcn_image_sample_b_1d:
+ case Intrinsic::amdgcn_image_sample_b_1darray:
+ case Intrinsic::amdgcn_image_sample_b_2d:
+ case Intrinsic::amdgcn_image_sample_b_2darray:
+ case Intrinsic::amdgcn_image_sample_b_3d:
+ case Intrinsic::amdgcn_image_sample_b_cl_1d:
+ case Intrinsic::amdgcn_image_sample_b_cl_1darray:
+ case Intrinsic::amdgcn_image_sample_b_cl_2d:
+ case Intrinsic::amdgcn_image_sample_b_cl_2darray:
+ case Intrinsic::amdgcn_image_sample_b_cl_3d:
+ case Intrinsic::amdgcn_image_sample_b_cl_cube:
+ case Intrinsic::amdgcn_image_sample_b_cl_o_1d:
+ case Intrinsic::amdgcn_image_sample_b_cl_o_1darray:
+ case Intrinsic::amdgcn_image_sample_b_cl_o_2d:
+ case Intrinsic::amdgcn_image_sample_b_cl_o_2darray:
+ case Intrinsic::amdgcn_image_sample_b_cl_o_3d:
+ case Intrinsic::amdgcn_image_sample_b_cl_o_cube:
+ case Intrinsic::amdgcn_image_sample_b_cube:
+ case Intrinsic::amdgcn_image_sample_b_o_1d:
+ case Intrinsic::amdgcn_image_sample_b_o_1darray:
+ case Intrinsic::amdgcn_image_sample_b_o_2d:
+ case Intrinsic::amdgcn_image_sample_b_o_2darray:
+ case Intrinsic::amdgcn_image_sample_b_o_3d:
+ case Intrinsic::amdgcn_image_sample_b_o_cube:
+ case Intrinsic::amdgcn_image_sample_c_1d:
+ case Intrinsic::amdgcn_image_sample_c_1darray:
+ case Intrinsic::amdgcn_image_sample_c_2d:
+ case Intrinsic::amdgcn_image_sample_c_2darray:
+ case Intrinsic::amdgcn_image_sample_c_3d:
+ case Intrinsic::amdgcn_image_sample_c_b_1d:
+ case Intrinsic::amdgcn_image_sample_c_b_1darray:
+ case Intrinsic::amdgcn_image_sample_c_b_2d:
+ case Intrinsic::amdgcn_image_sample_c_b_2darray:
+ case Intrinsic::amdgcn_image_sample_c_b_3d:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_1d:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_1darray:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_2d:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_2darray:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_3d:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_cube:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_o_1d:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_o_1darray:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_o_2d:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_o_2darray:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_o_3d:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_o_cube:
+ case Intrinsic::amdgcn_image_sample_c_b_cube:
+ case Intrinsic::amdgcn_image_sample_c_b_o_1d:
+ case Intrinsic::amdgcn_image_sample_c_b_o_1darray:
+ case Intrinsic::amdgcn_image_sample_c_b_o_2d:
+ case Intrinsic::amdgcn_image_sample_c_b_o_2darray:
+ case Intrinsic::amdgcn_image_sample_c_b_o_3d:
+ case Intrinsic::amdgcn_image_sample_c_b_o_cube:
+ case Intrinsic::amdgcn_image_sample_c_cd_1d:
+ case Intrinsic::amdgcn_image_sample_c_cd_1darray:
+ case Intrinsic::amdgcn_image_sample_c_cd_2d:
+ case Intrinsic::amdgcn_image_sample_c_cd_2darray:
+ case Intrinsic::amdgcn_image_sample_c_cd_3d:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_1d:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_1darray:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_2d:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_2darray:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_3d:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_cube:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_o_1d:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_o_1darray:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_o_2d:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_o_2darray:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_o_3d:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_o_cube:
+ case Intrinsic::amdgcn_image_sample_c_cd_cube:
+ case Intrinsic::amdgcn_image_sample_c_cd_o_1d:
+ case Intrinsic::amdgcn_image_sample_c_cd_o_1darray:
+ case Intrinsic::amdgcn_image_sample_c_cd_o_2d:
+ case Intrinsic::amdgcn_image_sample_c_cd_o_2darray:
+ case Intrinsic::amdgcn_image_sample_c_cd_o_3d:
+ case Intrinsic::amdgcn_image_sample_c_cd_o_cube:
+ case Intrinsic::amdgcn_image_sample_c_cl_1d:
+ case Intrinsic::amdgcn_image_sample_c_cl_1darray:
+ case Intrinsic::amdgcn_image_sample_c_cl_2d:
+ case Intrinsic::amdgcn_image_sample_c_cl_2darray:
+ case Intrinsic::amdgcn_image_sample_c_cl_3d:
+ case Intrinsic::amdgcn_image_sample_c_cl_cube:
+ case Intrinsic::amdgcn_image_sample_c_cl_o_1d:
+ case Intrinsic::amdgcn_image_sample_c_cl_o_1darray:
+ case Intrinsic::amdgcn_image_sample_c_cl_o_2d:
+ case Intrinsic::amdgcn_image_sample_c_cl_o_2darray:
+ case Intrinsic::amdgcn_image_sample_c_cl_o_3d:
+ case Intrinsic::amdgcn_image_sample_c_cl_o_cube:
+ case Intrinsic::amdgcn_image_sample_c_cube:
+ case Intrinsic::amdgcn_image_sample_c_d_1d:
+ case Intrinsic::amdgcn_image_sample_c_d_1darray:
+ case Intrinsic::amdgcn_image_sample_c_d_2d:
+ case Intrinsic::amdgcn_image_sample_c_d_2darray:
+ case Intrinsic::amdgcn_image_sample_c_d_3d:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_1d:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_1darray:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_2d:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_2darray:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_3d:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_cube:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_o_1d:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_o_1darray:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_o_2d:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_o_2darray:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_o_3d:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_o_cube:
+ case Intrinsic::amdgcn_image_sample_c_d_cube:
+ case Intrinsic::amdgcn_image_sample_c_d_o_1d:
+ case Intrinsic::amdgcn_image_sample_c_d_o_1darray:
+ case Intrinsic::amdgcn_image_sample_c_d_o_2d:
+ case Intrinsic::amdgcn_image_sample_c_d_o_2darray:
+ case Intrinsic::amdgcn_image_sample_c_d_o_3d:
+ case Intrinsic::amdgcn_image_sample_c_d_o_cube:
+ case Intrinsic::amdgcn_image_sample_c_l_1d:
+ case Intrinsic::amdgcn_image_sample_c_l_1darray:
+ case Intrinsic::amdgcn_image_sample_c_l_2d:
+ case Intrinsic::amdgcn_image_sample_c_l_2darray:
+ case Intrinsic::amdgcn_image_sample_c_l_3d:
+ case Intrinsic::amdgcn_image_sample_c_l_cube:
+ case Intrinsic::amdgcn_image_sample_c_l_o_1d:
+ case Intrinsic::amdgcn_image_sample_c_l_o_1darray:
+ case Intrinsic::amdgcn_image_sample_c_l_o_2d:
+ case Intrinsic::amdgcn_image_sample_c_l_o_2darray:
+ case Intrinsic::amdgcn_image_sample_c_l_o_3d:
+ case Intrinsic::amdgcn_image_sample_c_l_o_cube:
+ case Intrinsic::amdgcn_image_sample_c_lz_1d:
+ case Intrinsic::amdgcn_image_sample_c_lz_1darray:
+ case Intrinsic::amdgcn_image_sample_c_lz_2d:
+ case Intrinsic::amdgcn_image_sample_c_lz_2darray:
+ case Intrinsic::amdgcn_image_sample_c_lz_3d:
+ case Intrinsic::amdgcn_image_sample_c_lz_cube:
+ case Intrinsic::amdgcn_image_sample_c_lz_o_1d:
+ case Intrinsic::amdgcn_image_sample_c_lz_o_1darray:
+ case Intrinsic::amdgcn_image_sample_c_lz_o_2d:
+ case Intrinsic::amdgcn_image_sample_c_lz_o_2darray:
+ case Intrinsic::amdgcn_image_sample_c_lz_o_3d:
+ case Intrinsic::amdgcn_image_sample_c_lz_o_cube:
+ case Intrinsic::amdgcn_image_sample_c_o_1d:
+ case Intrinsic::amdgcn_image_sample_c_o_1darray:
+ case Intrinsic::amdgcn_image_sample_c_o_2d:
+ case Intrinsic::amdgcn_image_sample_c_o_2darray:
+ case Intrinsic::amdgcn_image_sample_c_o_3d:
+ case Intrinsic::amdgcn_image_sample_c_o_cube:
+ case Intrinsic::amdgcn_image_sample_cd_1d:
+ case Intrinsic::amdgcn_image_sample_cd_1darray:
+ case Intrinsic::amdgcn_image_sample_cd_2d:
+ case Intrinsic::amdgcn_image_sample_cd_2darray:
+ case Intrinsic::amdgcn_image_sample_cd_3d:
+ case Intrinsic::amdgcn_image_sample_cd_cl_1d:
+ case Intrinsic::amdgcn_image_sample_cd_cl_1darray:
+ case Intrinsic::amdgcn_image_sample_cd_cl_2d:
+ case Intrinsic::amdgcn_image_sample_cd_cl_2darray:
+ case Intrinsic::amdgcn_image_sample_cd_cl_3d:
+ case Intrinsic::amdgcn_image_sample_cd_cl_cube:
+ case Intrinsic::amdgcn_image_sample_cd_cl_o_1d:
+ case Intrinsic::amdgcn_image_sample_cd_cl_o_1darray:
+ case Intrinsic::amdgcn_image_sample_cd_cl_o_2d:
+ case Intrinsic::amdgcn_image_sample_cd_cl_o_2darray:
+ case Intrinsic::amdgcn_image_sample_cd_cl_o_3d:
+ case Intrinsic::amdgcn_image_sample_cd_cl_o_cube:
+ case Intrinsic::amdgcn_image_sample_cd_cube:
+ case Intrinsic::amdgcn_image_sample_cd_o_1d:
+ case Intrinsic::amdgcn_image_sample_cd_o_1darray:
+ case Intrinsic::amdgcn_image_sample_cd_o_2d:
+ case Intrinsic::amdgcn_image_sample_cd_o_2darray:
+ case Intrinsic::amdgcn_image_sample_cd_o_3d:
+ case Intrinsic::amdgcn_image_sample_cd_o_cube:
+ case Intrinsic::amdgcn_image_sample_cl_1d:
+ case Intrinsic::amdgcn_image_sample_cl_1darray:
+ case Intrinsic::amdgcn_image_sample_cl_2d:
+ case Intrinsic::amdgcn_image_sample_cl_2darray:
+ case Intrinsic::amdgcn_image_sample_cl_3d:
+ case Intrinsic::amdgcn_image_sample_cl_cube:
+ case Intrinsic::amdgcn_image_sample_cl_o_1d:
+ case Intrinsic::amdgcn_image_sample_cl_o_1darray:
+ case Intrinsic::amdgcn_image_sample_cl_o_2d:
+ case Intrinsic::amdgcn_image_sample_cl_o_2darray:
+ case Intrinsic::amdgcn_image_sample_cl_o_3d:
+ case Intrinsic::amdgcn_image_sample_cl_o_cube:
+ case Intrinsic::amdgcn_image_sample_cube:
+ case Intrinsic::amdgcn_image_sample_d_1d:
+ case Intrinsic::amdgcn_image_sample_d_1darray:
+ case Intrinsic::amdgcn_image_sample_d_2d:
+ case Intrinsic::amdgcn_image_sample_d_2darray:
+ case Intrinsic::amdgcn_image_sample_d_3d:
+ case Intrinsic::amdgcn_image_sample_d_cl_1d:
+ case Intrinsic::amdgcn_image_sample_d_cl_1darray:
+ case Intrinsic::amdgcn_image_sample_d_cl_2d:
+ case Intrinsic::amdgcn_image_sample_d_cl_2darray:
+ case Intrinsic::amdgcn_image_sample_d_cl_3d:
+ case Intrinsic::amdgcn_image_sample_d_cl_cube:
+ case Intrinsic::amdgcn_image_sample_d_cl_o_1d:
+ case Intrinsic::amdgcn_image_sample_d_cl_o_1darray:
+ case Intrinsic::amdgcn_image_sample_d_cl_o_2d:
+ case Intrinsic::amdgcn_image_sample_d_cl_o_2darray:
+ case Intrinsic::amdgcn_image_sample_d_cl_o_3d:
+ case Intrinsic::amdgcn_image_sample_d_cl_o_cube:
+ case Intrinsic::amdgcn_image_sample_d_cube:
+ case Intrinsic::amdgcn_image_sample_d_o_1d:
+ case Intrinsic::amdgcn_image_sample_d_o_1darray:
+ case Intrinsic::amdgcn_image_sample_d_o_2d:
+ case Intrinsic::amdgcn_image_sample_d_o_2darray:
+ case Intrinsic::amdgcn_image_sample_d_o_3d:
+ case Intrinsic::amdgcn_image_sample_d_o_cube:
+ case Intrinsic::amdgcn_image_sample_l_1d:
+ case Intrinsic::amdgcn_image_sample_l_1darray:
+ case Intrinsic::amdgcn_image_sample_l_2d:
+ case Intrinsic::amdgcn_image_sample_l_2darray:
+ case Intrinsic::amdgcn_image_sample_l_3d:
+ case Intrinsic::amdgcn_image_sample_l_cube:
+ case Intrinsic::amdgcn_image_sample_l_o_1d:
+ case Intrinsic::amdgcn_image_sample_l_o_1darray:
+ case Intrinsic::amdgcn_image_sample_l_o_2d:
+ case Intrinsic::amdgcn_image_sample_l_o_2darray:
+ case Intrinsic::amdgcn_image_sample_l_o_3d:
+ case Intrinsic::amdgcn_image_sample_l_o_cube:
+ case Intrinsic::amdgcn_image_sample_lz_1d:
+ case Intrinsic::amdgcn_image_sample_lz_1darray:
+ case Intrinsic::amdgcn_image_sample_lz_2d:
+ case Intrinsic::amdgcn_image_sample_lz_2darray:
+ case Intrinsic::amdgcn_image_sample_lz_3d:
+ case Intrinsic::amdgcn_image_sample_lz_cube:
+ case Intrinsic::amdgcn_image_sample_lz_o_1d:
+ case Intrinsic::amdgcn_image_sample_lz_o_1darray:
+ case Intrinsic::amdgcn_image_sample_lz_o_2d:
+ case Intrinsic::amdgcn_image_sample_lz_o_2darray:
+ case Intrinsic::amdgcn_image_sample_lz_o_3d:
+ case Intrinsic::amdgcn_image_sample_lz_o_cube:
+ case Intrinsic::amdgcn_image_sample_o_1d:
+ case Intrinsic::amdgcn_image_sample_o_1darray:
+ case Intrinsic::amdgcn_image_sample_o_2d:
+ case Intrinsic::amdgcn_image_sample_o_2darray:
+ case Intrinsic::amdgcn_image_sample_o_3d:
+ case Intrinsic::amdgcn_image_sample_o_cube:
+ case Intrinsic::amdgcn_image_sample_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_b_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_b_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_b_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_b_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_b_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_b_cl_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_b_cl_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_b_cl_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_b_cl_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_b_cl_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_b_cl_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_b_cl_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_b_cl_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_b_cl_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_b_cl_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_b_cl_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_b_cl_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_b_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_b_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_b_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_b_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_b_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_b_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_b_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_cl_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_b_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_cl_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cd_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cl_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cl_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cl_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cl_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cl_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cl_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cl_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cl_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cl_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cl_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cl_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cl_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_cl_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_d_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_l_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_l_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_l_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_l_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_l_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_l_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_l_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_l_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_l_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_l_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_l_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_l_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_lz_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_lz_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_lz_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_lz_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_lz_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_lz_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_lz_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_lz_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_lz_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_lz_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_lz_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_lz_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_c_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_c_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_c_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_cl_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_cl_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_cl_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_cl_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_cl_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_cl_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_cl_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_cl_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_cl_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_cl_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_cl_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_cl_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_cd_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_cl_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_cl_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_cl_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_cl_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_cl_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_cl_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_cl_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_cl_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_cl_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_cl_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_cl_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_cl_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_d_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_d_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_d_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_d_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_d_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_d_cl_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_d_cl_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_d_cl_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_d_cl_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_d_cl_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_d_cl_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_d_cl_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_d_cl_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_d_cl_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_d_cl_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_d_cl_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_d_cl_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_d_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_d_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_d_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_d_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_d_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_d_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_d_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_l_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_l_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_l_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_l_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_l_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_l_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_l_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_l_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_l_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_l_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_l_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_l_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_lz_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_lz_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_lz_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_lz_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_lz_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_lz_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_lz_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_lz_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_lz_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_lz_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_lz_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_lz_o_cube_nortn:
+ case Intrinsic::amdgcn_image_sample_o_1d_nortn:
+ case Intrinsic::amdgcn_image_sample_o_1darray_nortn:
+ case Intrinsic::amdgcn_image_sample_o_2d_nortn:
+ case Intrinsic::amdgcn_image_sample_o_2darray_nortn:
+ case Intrinsic::amdgcn_image_sample_o_3d_nortn:
+ case Intrinsic::amdgcn_image_sample_o_cube_nortn: {
+ // LLVM IR definition of those intrinsics says that they can return any
+ // type. The logic below is based on what is covered by the
+ // llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.ll test.
+ Type *T = Call.getType();
+ if (auto *ST = dyn_cast<StructType>(Call.getType()))
+ T = ST->getElementType(0);
+
+ unsigned VWidth = 1;
+ if (auto *FVT = dyn_cast<FixedVectorType>(T))
+ VWidth = FVT->getNumElements();
+
+ Value *V = Call.getArgOperand(0);
+ // Only 4 least significant bits of the dmask are considered, the rest is
+ // ignored.
+ unsigned PassedDMask = cast<ConstantInt>(V)->getZExtValue();
+ unsigned MeaningfulDMask = PassedDMask & 0xf;
+ Check(
+ PassedDMask == MeaningfulDMask,
+ "DMask is a 4 bit value and therefore at most 4 least significant "
+ "bits of an llvm.amdgcn.image.* intrinsic's dmask argument can be set",
+ &Call);
+ if (!T->isVoidTy()) {
+ // We don't know the destination for no-return intrinsics and therefore
+ // cannot perform this check
+ unsigned NumActiveBits = popcount(MeaningfulDMask);
+ Check(NumActiveBits <= VWidth,
+ "The llvm.amdgcn.image.[load|sample] intrinsic's dmask argument "
----------------
AlexeySachkov wrote:
Sure, removed in b72f6b8d363f516beb9a131c0b6718643f1bff55
https://github.com/llvm/llvm-project/pull/179511
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits