对于向量类型的 select_cc 节点 支持

整个流程:

首先,不存在这样的,或者类似的机器指令来实现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。

 

 

 

 

 

 

 

你可能感兴趣的:(编译器)