Skip to content

Commit cdfc4a0

Browse files
vmustyaigcbot
authored andcommitted
Refactor raw_sends code generation in VC
.
1 parent c3dc149 commit cdfc4a0

File tree

2 files changed

+36
-25
lines changed

2 files changed

+36
-25
lines changed

IGC/VectorCompiler/lib/GenXCodeGen/GenXCisaBuilder.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4011,6 +4011,20 @@ void GenXKernelBuilder::buildIntrinsic(CallInst *CI, unsigned IntrinID,
40114011
CISA_CALL(Kernel->AppendVISALscFence(LscSfid, LscFenceOp, LscScope));
40124012
};
40134013

4014+
auto CreateRawSendS = [&](VISA_EMask_Ctrl ExecMask, VISA_Exec_Size ExecSize,
4015+
VISA_PredOpnd *Pred, char SFID, char Modifier,
4016+
VISA_VectorOpnd *Desc, VISA_VectorOpnd *ExtDesc,
4017+
uint8_t NumDst, VISA_RawOpnd *Dst, uint8_t NumSrc0,
4018+
VISA_RawOpnd *Src0, uint8_t NumSrc1,
4019+
VISA_RawOpnd *Src1) {
4020+
4021+
const bool IsEOT = Modifier & 2;
4022+
CISA_CALL(Kernel->AppendVISAMiscRawSends(
4023+
Pred, ExecMask, ExecSize, Modifier, SFID, ExtDesc, NumSrc0, NumSrc1,
4024+
NumDst, Desc, Src0, Src1, Dst, IsEOT));
4025+
};
4026+
4027+
40144028
VISA_EMask_Ctrl exec_mask;
40154029
#include "GenXIntrinsicsBuildMap.inc"
40164030
}

IGC/VectorCompiler/lib/GenXCodeGen/Utils/cisa_gen_intrinsics.json

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2547,8 +2547,8 @@
25472547
"numdst": [ "NUMGRFS", 0 ],
25482548
"desc": [ "GENERAL", "UNSIGNED", 4 ],
25492549
"src": [ "RAW", 5 ],
2550-
"skip__": [ "TWOADDR", 6 ],
2551-
"dst": [ "RAW", 0 ]
2550+
"dst": [ "RAW", 0 ],
2551+
"twoaddr": [ "TWOADDR", 6 ]
25522552
},
25532553
"genx_raw_send_noresult": {
25542554
"opc": "ISA_RAW_SEND",
@@ -2575,8 +2575,8 @@
25752575
"desc": [ "GENERAL", "UNSIGNED", 5 ],
25762576
"src": [ "RAW", 6 ],
25772577
"src2": [ "RAW", 7 ],
2578-
"skip__": [ "TWOADDR", 8 ],
2579-
"dst": [ "RAW", 0 ]
2578+
"dst": [ "RAW", 0 ],
2579+
"twoaddr": [ "TWOADDR", 8 ]
25802580
},
25812581
"genx_raw_sends_noresult": {
25822582
"opc": "ISA_RAW_SENDS",
@@ -2606,8 +2606,8 @@
26062606
"desc": [ "GENERAL", "UNSIGNED", 8 ],
26072607
"src": [ "RAW", 9 ],
26082608
"src2": [ "NULLRAW", 10 ],
2609-
"skip__": [ "TWOADDR", 10 ],
2610-
"dst": [ "RAW", 0 ]
2609+
"dst": [ "RAW", 0 ],
2610+
"twoaddr": [ "TWOADDR", 10 ]
26112611
},
26122612
"genx_raw_send2_noresult": {
26132613
"opc": "ISA_RAW_SENDS",
@@ -2637,8 +2637,8 @@
26372637
"desc": [ "GENERAL", "UNSIGNED", 9 ],
26382638
"src": [ "RAW", 10 ],
26392639
"src2": [ "RAW", 11 ],
2640-
"skip__": [ "TWOADDR", 12 ],
2641-
"dst": [ "RAW", 0 ]
2640+
"dst": [ "RAW", 0 ],
2641+
"twoaddr": [ "TWOADDR", 12 ]
26422642
},
26432643
"genx_raw_sends2_noresult": {
26442644
"opc": "ISA_RAW_SENDS",
@@ -4655,23 +4655,20 @@
46554655
]
46564656
],
46574657
"ISA_RAW_SENDS": [
4658-
[ "CISA_CALL",
4659-
[ "Kernel->AppendVISAMiscRawSends",
4660-
"pred",
4661-
"exec_mask",
4662-
"exec_size",
4663-
"modifier_sendc",
4664-
"FFID",
4665-
"extended_message_descriptor",
4666-
"numsrc",
4667-
"numsrc2",
4668-
"numdst",
4669-
"desc",
4670-
"src",
4671-
"src2",
4672-
"dst",
4673-
"modifier_sendc & 2"
4674-
]
4658+
[ "CreateRawSendS",
4659+
"exec_mask",
4660+
"exec_size",
4661+
"pred",
4662+
"FFID",
4663+
"modifier_sendc",
4664+
"desc",
4665+
"extended_message_descriptor",
4666+
"numdst",
4667+
"dst",
4668+
"numsrc",
4669+
"src",
4670+
"numsrc2",
4671+
"src2"
46754672
]
46764673
],
46774674
"ISA_RNDD": [

0 commit comments

Comments
 (0)