22.12
```sql
SELECT cityHash64(toIPv4('1.2.3.4'))
--
5715546585361069049
```

22.13
```sql
SELECT cityHash64(toIPv4('1.2.3.4'))
--
3462390757903342180
```

I found it accidentally. It seems it's only with cityHash64 and IPv4. 
It seems it's OK with other hash functions (sipHash / xxHash32) and IPv6.
May be it's only issue with MacOs build.

If it's the real issue, probably it's worth to check all hash functions.

{
        WhichDataType arg_type(arguments[0]);
        if (!(arg_type.isIPv4() || arg_type.isUInt8() || arg_type.isUInt16() || arg_type.isUInt32()))
            throw Exception(
                ErrorCodes::ILLEGAL_TYPE_OF_ARGUMENT,
                "Illegal type {} of first argument of function {}, expected IPv4 or UInt8 or UInt16 or UInt32",
                arguments[0]->getName(), getName()
            );
        return std::make_shared<DataTypeString>();
    }
    bool useDefaultImplementationForConstants() const override { return true; }
    ColumnPtr executeImpl(const ColumnsWithTypeAndName & arguments, const DataTypePtr & ret_type, size_t input_rows_count) const override
    {
        switch (arguments[0].type->getTypeId())
        {
            case TypeIndex::IPv4: return executeTyped<IPv4>(arguments, ret_type, input_rows_count);
            case TypeIndex::UInt8: return executeTyped<UInt8>(arguments, ret_type, input_rows_count);
            case TypeIndex::UInt16: return executeTyped<UInt16>(arguments, ret_type, input_rows_count);
            case TypeIndex::UInt32: return executeTyped<UInt32>(arguments, ret_type, input_rows_count);
            default: break;
        }
        throw Exception(
            ErrorCodes::ILLEGAL_COLUMN,
            "Illegal column {} of argument of function {}, expected IPv4 or UInt8 or UInt16 or UInt32",
            arguments[0].column->getName(), getName()
        );
    }
};
template <IPStringToNumExceptionMode exception_mode>
class FunctionIPv4StringToNum : public IFunction