I am not sure if the C compilers already optimize it but the loop is not necessary in this case?

    cdef m = v[0]
    if v[1] < m:
        m = v[1]
    if v[2] < m:
        m = v[2]
    return m