整个流程:
首先,不存在这样的,或者类似的机器指令来实现select_cc。
因此要考虑 拆解该节点 把 select_cc 拆成 setcc + select。 该过程属于 custom(定制的意思)。
custom的(处理)流程如下:
enum LegalizeAction {
Legal, // The target natively supports this operation.
Promote, // This operation should be executed in a larger type.
Expand, // Try to expand this to other ops, otherwise use a libcall.
Custom // Use the LowerOperation hook to implement custom lowering.
};
即:我们需要在代码某处,(将对于该节点的 向量操作数类型)标记为 Custom。