def METHOD_NAME(op1_dtype, op2_dtype):
    q = get_queue_or_skip()
    skip_if_dtype_not_supported(op1_dtype, q)
    skip_if_dtype_not_supported(op2_dtype, q)
    sz = 127
    ar1 = dpt.ones(sz, dtype=op1_dtype)
    ar2 = dpt.ones_like(ar1, dtype=op2_dtype)
    dev = q.sycl_device
    _fp16 = dev.has_aspect_fp16
    _fp64 = dev.has_aspect_fp64
    if _can_cast(ar2.dtype, ar1.dtype, _fp16, _fp64):
        ar1 *= ar2
        assert (
            dpt.asnumpy(ar1) == np.full(ar1.shape, 1, dtype=ar1.dtype)
        ).all()
        ar3 = dpt.ones(sz, dtype=op1_dtype)
        ar4 = dpt.ones(2 * sz, dtype=op2_dtype)
        ar3[::-1] *= ar4[::2]
        assert (
            dpt.asnumpy(ar3) == np.full(ar3.shape, 1, dtype=ar3.dtype)
        ).all()
    else:
        with pytest.raises(TypeError):
            ar1 *= ar2