def _softmax() -> _List[_BackendPatternConfig]:
    """
    float: Softmax
    qat: FakeQuant -> Softmax -> FakeQuant

    FakeQuant at the output has fixed qparams.
    """
    constraints = (
        _DTypeWithConstraints(
            dtype=_torch.quint8,
            quant_min_lower_bound=0,
            quant_max_upper_bound=255,
            scale_exact_match=1.0 / 256.0,
            zero_point_exact_match=0,
        )
        if _is_torch_2()
        else None
    )
    return _activation_configs(ops=[_nn.Softmax], constraints=constraints)

    float: Softmax
    qat: FakeQuant -> Softmax -> FakeQuant

    FakeQuant at the output has fixed qparams.
    
coremltools/optimize/torch/quantization/_backend_config.py