def process_missing_75_entries_from_80(
    db_conn: sqlite3.Connection,
    table: str,
    op_type: str,
    gen_sm75_entry: bool = False,
):
    """for the given op_type, print out all missing sm75 entries if their
    sm80 counterparts exist in the table. If gen_sm75_entry is True, we will
    generate an sm75 entry based on each returned sm80 entry.

    Parameters
    ----------
    db_conn: sqlite3.Connection
        sqlite3 Connection object
    table:
        db table
    op_type: str
        op type in the query, e.g. gemm_rcr_bias

    Returns
    ----------
    """
    _LOGGER.info("query all missing sm75 entries - op_type: %s", op_type)
    db_conn_cur = db_conn.cursor()
    if op_type == "all":
        op_type = None
        query_template = DEVICE_QUERY_TEMPLATE
    else:
        query_template = DEVICE_ONE_OP_TYPE_QUERY_TEMPLATE
    sm80_entries = query_cache(
        db_conn_cur=db_conn_cur,
        table=table,
        op_type=op_type,
        op_keys=None,
        query_template=query_template,
        algo=None,
        device="80",
        entry_id=None,
        suppress_print=True,
    )

    # entry: (id, op_type, algo, device, exec_entry, dtype_acc)
    for sm80_entry in sm80_entries:
        eid, op_type, _, _, exec_entry, dtype_acc = sm80_entry
        # these ops do not work with sm75
        if op_type.startswith("bmm_softmax") or op_type.startswith("group_gemm"):
            continue
        sm75_entries = query_cache(
            db_conn_cur=db_conn_cur,
            table=table,
            op_type=op_type,
            op_keys=None,
            query_template=DEFAULT_QUERY_TEMPLATE,
            algo=None,
            device="75",
            entry_id=None,
            suppress_print=True,
            exec_key=exec_entry,
            dtype_acc=dtype_acc,
        )
        if len(sm75_entries) == 0:
            print("missing sm75 entry for this sm80 entry: '{}'".format(sm80_entry))
            if gen_sm75_entry:
                _LOGGER.info("gen sm75 entry for: '%s'", sm80_entry)
                column_names = get_column_names(db_conn_cur, table)
                insert_sm75_entry(db_conn, table, sm80_entry, column_names, None)
for the given op_type, print out all missing sm75 entries if their
sm80 counterparts exist in the table. If gen_sm75_entry is True, we will
generate an sm75 entry based on each returned sm80 entry.

Parameters
----------
db_conn: sqlite3.Connection
sqlite3 Connection object
table:
db table
op_type: str
op type in the query, e.g. gemm_rcr_bias

Returns
----------
tests/ci_profile_cache/update_cache.py