-
Notifications
You must be signed in to change notification settings - Fork 25
Open
Description
At the moment uica removes p0 as a possible execution port on hsw/skl for a branch early on:
Lines 95 to 96 in 9cbbe93
| if (archNode.attrib['name'] not in ['ICL', 'TGL', 'RKL', 'ADL-P']) and (XMLInstr.attrib['category'] == 'COND_BR') and (ports == '1*p06'): | |
| ports = '1*p6' # taken branches can only use port 6 |
I'd like to suggest that this should be done only for the branch that terminates the input basic block. If the user provided a snippet that contains extra branches in the middle, like I did in issue #14 earlier, they are assumed to be never taken, and hence modeling them as occupying either port 0 or port 6 would be more accurate.
edit: to be clear, I understand that with extra branches the input snippet is not a basic block (potentially an "extended basic block" in compiler developer speak, if jumping into it after the first instruction is impossible)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels