[llvm-dev] 回复: how to bind hidden micro-architecture specific resource index to architecture resource index in tablegen

闯四野 闯四爷 via llvm-dev llvm-dev at lists.llvm.org
Mon Jun 24 09:38:42 PDT 2019


hi,  any friend also working on this? 🙂

________________________________
发件人: llvm-dev <llvm-dev-bounces at lists.llvm.org> 代表 闯四野 闯四爷 via llvm-dev <llvm-dev at lists.llvm.org>
发送时间: 2019年6月21日 16:56
收件人: LLVM Dev
主题: [llvm-dev] how to bind hidden micro-architecture specific resource index to architecture resource index in tablegen

Hi all LLVM expert,



I’m trying to ask how to bind hidden micro-architecture specific resource index to architecture resource index in tablegen

There may be instruction uses 1 sr and 1 vr as source operand (using index sr_src_idx, vr_src_idx), then uses 1 sr and 1 vr as destination (using index sr_dst_idx, vr_dst_idx). Additionally, this instruction trigger a write to a hidden resource whose index is same as the vr destination index (vr_dst_idx). The instruction's write to SR/VR/HR are with different latency, say 1/3/6.  Example code are as below

Is there a way to describe this in tablegen? How to bind the index between hr and vr?

Scalar_Register sr[32]; //architecture visible resource

Vector_Register vr[32]; //architecture visible resource

Hidden_Resource hr[32]; //target specific micro-architecture resource, hidden from architecture but impact performance

//instruction info defined in ISA

(VR vr_dst_idx, SR sr_dst_idx) = instruciton_1 (VR vr_src_idx, SR sr_src_idx) ;





Chuang Feng



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190624/94c85772/attachment.html>


More information about the llvm-dev mailing list