Displaying 7 results from an estimated 7 matches for "srcregnum".
2017 Sep 04
2
Issues in Vector Add Instruction Machine Code Emission
....h:574!
i made extensive use of gdb and after debugging i found the line with
issue in X86MCCodeEmitter.cpp.
Here NumOps=3 (all registers). and CurOp is 1st initialized to 0.
then, the following code gets executed;
case X86II::MRMDestReg: {
EmitByte(BaseOpcode, CurByte, OS);
unsigned SrcRegNum = CurOp + 1; //SrcRegNum=1
EmitRegModRMByte(MI.getOperand(CurOp),
GetX86RegNum(MI.getOperand(SrcRegNum)), CurByte, OS);
CurOp = SrcRegNum + 1;
break;
}
so here CurOp becomes 2.
After this;
it comes to;
else {
// If there is a remaining operand, it must be a trai...
2017 Sep 04
2
Issues in Vector Add Instruction Machine Code Emission
...1, VRPIM_2048:$src2),"P_256B_VADD\t{$src1, $src2, $dst|$dst,
$src1, $src2}", [(set VRP_2048:$dst, (add (v64i32 VRP_2048:$src1), (v64i32
VRP_2048:$src2)))]>, TA;
so i defined;
bool HasTA = TSFlags & X86II::TA; in x86MCCodeEmitter.cpp
then used this condition;
if(HasTA)
++SrcRegNum;
now getting no error.
please tell me whether my method is correct? Also please confirm this
whether i need to make changes in MC framework to emit binary code of my
vector instructions. So far i made no changes or additions in MC framework
or any of the file (except the above discussed) and stil...
2017 Sep 04
2
Issues in Vector Add Instruction Machine Code Emission
...[(set VRP_2048:$dst, (add (v64i32
>> VRP_2048:$src1), (v64i32 VRP_2048:$src2)))]>, TA;
>>
>> so i defined;
>>
>> bool HasTA = TSFlags & X86II::TA; in x86MCCodeEmitter.cpp
>>
>> then used this condition;
>>
>> if(HasTA)
>> ++SrcRegNum;
>>
>> now getting no error.
>>
>> please tell me whether my method is correct? Also please confirm this
>> whether i need to make changes in MC framework to emit binary code of my
>> vector instructions. So far i made no changes or additions in MC framework
>...
2017 Sep 04
2
Issues in Vector Add Instruction Machine Code Emission
..._2048:$src2)))]>, TA;
>>>>
>>>> so i defined;
>>>>
>>>> bool HasTA = TSFlags & X86II::TA; in x86MCCodeEmitter.cpp
>>>>
>>>> then used this condition;
>>>>
>>>> if(HasTA)
>>>> ++SrcRegNum;
>>>>
>>>> now getting no error.
>>>>
>>>> please tell me whether my method is correct? Also please confirm this
>>>> whether i need to make changes in MC framework to emit binary code of my
>>>> vector instructions. So far i m...
2017 Sep 04
2
Issues in Vector Add Instruction Machine Code Emission
...t; so i defined;
>>>>>>
>>>>>> bool HasTA = TSFlags & X86II::TA; in x86MCCodeEmitter.cpp
>>>>>>
>>>>>> then used this condition;
>>>>>>
>>>>>> if(HasTA)
>>>>>> ++SrcRegNum;
>>>>>>
>>>>>> now getting no error.
>>>>>>
>>>>>> please tell me whether my method is correct? Also please confirm this
>>>>>> whether i need to make changes in MC framework to emit binary code of my
>>...
2017 Sep 05
2
Issues in Vector Add Instruction Machine Code Emission
...t;>>>>>> bool HasTA = TSFlags & X86II::TA; in x86MCCodeEmitter.cpp
>>>>>>>>
>>>>>>>> then used this condition;
>>>>>>>>
>>>>>>>> if(HasTA)
>>>>>>>> ++SrcRegNum;
>>>>>>>>
>>>>>>>> now getting no error.
>>>>>>>>
>>>>>>>> please tell me whether my method is correct? Also please confirm
>>>>>>>> this whether i need to make changes in MC fram...
2017 Sep 05
2
Issues in Vector Add Instruction Machine Code Emission
I was getting same error when i keep both EVEX/EVEX_4V and TA. So, i
restored my original instructions and for that i have to include
bool HasTA = TSFlags & X86II::TA; in x86MCCodeEmitter.cpp
then used this condition;
if(HasTA)
++SrcRegNum;
in order to emit binary correctly.
Is it right?
On Tue, Sep 5, 2017 at 5:45 AM, Craig Topper <craig.topper at gmail.com> wrote:
> Put the TA's back. EVEX/EVEX_4V does not replace TA. They are for
> different things. An EVEX/EVEX_4V instruction must use one of T8, TA, XOP8,
>...