Displaying 9 results from an estimated 9 matches for "emitimmediate".
2017 Sep 04
2
Issues in Vector Add Instruction Machine Code Emission
...to;
else {
// If there is a remaining operand, it must be a trailing immediate.
Emit it
// according to the right size for the instruction. Some instructions
// (SSE4a extrq and insertq) have two trailing immediates.
while (CurOp != NumOps && NumOps - CurOp <= 2) {
EmitImmediate(MI.getOperand(CurOp++), MI.getLoc(),
X86II::getSizeOfImm(TSFlags), getImmFixupKind(TSFlags),
CurByte, OS, Fixups);
}
here CurOp=2 !=NumOps=3 && 3-2<=2
so while condition is satisfied and it goes to emitimmediate which is wrong
and there prints...
2017 Sep 04
2
Issues in Vector Add Instruction Machine Code Emission
...erand, it must be a trailing immediate.
>> Emit it
>> // according to the right size for the instruction. Some instructions
>> // (SSE4a extrq and insertq) have two trailing immediates.
>> while (CurOp != NumOps && NumOps - CurOp <= 2) {
>> EmitImmediate(MI.getOperand(CurOp++), MI.getLoc(),
>> X86II::getSizeOfImm(TSFlags),
>> getImmFixupKind(TSFlags),
>> CurByte, OS, Fixups);
>> }
>>
>> here CurOp=2 !=NumOps=3 && 3-2<=2
>> so while condition is satisfie...
2017 Sep 04
2
Issues in Vector Add Instruction Machine Code Emission
...Emit it
>>>> // according to the right size for the instruction. Some
>>>> instructions
>>>> // (SSE4a extrq and insertq) have two trailing immediates.
>>>> while (CurOp != NumOps && NumOps - CurOp <= 2) {
>>>> EmitImmediate(MI.getOperand(CurOp++), MI.getLoc(),
>>>> X86II::getSizeOfImm(TSFlags),
>>>> getImmFixupKind(TSFlags),
>>>> CurByte, OS, Fixups);
>>>> }
>>>>
>>>> here CurOp=2 !=NumOps=3 && 3...
2017 Sep 04
2
Issues in Vector Add Instruction Machine Code Emission
...according to the right size for the instruction. Some
>>>>>> instructions
>>>>>> // (SSE4a extrq and insertq) have two trailing immediates.
>>>>>> while (CurOp != NumOps && NumOps - CurOp <= 2) {
>>>>>> EmitImmediate(MI.getOperand(CurOp++), MI.getLoc(),
>>>>>> X86II::getSizeOfImm(TSFlags),
>>>>>> getImmFixupKind(TSFlags),
>>>>>> CurByte, OS, Fixups);
>>>>>> }
>>>>>>
>>>&...
2017 Sep 04
2
Issues in Vector Add Instruction Machine Code Emission
...the instruction. Some
>>>>>>>> instructions
>>>>>>>> // (SSE4a extrq and insertq) have two trailing immediates.
>>>>>>>> while (CurOp != NumOps && NumOps - CurOp <= 2) {
>>>>>>>> EmitImmediate(MI.getOperand(CurOp++), MI.getLoc(),
>>>>>>>> X86II::getSizeOfImm(TSFlags),
>>>>>>>> getImmFixupKind(TSFlags),
>>>>>>>> CurByte, OS, Fixups);
>>>>>>>> }
>&g...
2013 Dec 12
3
[LLVMdev] [RFC PATCH 1/2] x86: Fix ModR/M byte output in 16-bit addressing mode
...;
+ }
+
+ if (Disp.isImm() && isDisp8(Disp.getImm())) {
+ // Use [REG]+disp8 form if we can, and for [BP] which cannot be encoded.
+ if (BaseRegNo == N86::EBP || Disp.getImm() != 0) {
+ EmitByte(ModRMByte(1, RegOpcodeField, RMfield), CurByte, OS);
+ EmitImmediate(Disp, MI.getLoc(), 1, FK_Data_1, CurByte, OS, Fixups);
+ return;
+ } else {
+ // No displacement
+ EmitByte(ModRMByte(0, RegOpcodeField, RMfield), CurByte, OS);
+ return;
+ }
+ }
+ EmitByte(ModRMByte(2, RegOpcodeField, RMfield), CurByte, O...
2017 Sep 05
2
Issues in Vector Add Instruction Machine Code Emission
...t;>>>>>>> instructions
>>>>>>>>>> // (SSE4a extrq and insertq) have two trailing immediates.
>>>>>>>>>> while (CurOp != NumOps && NumOps - CurOp <= 2) {
>>>>>>>>>> EmitImmediate(MI.getOperand(CurOp++), MI.getLoc(),
>>>>>>>>>> X86II::getSizeOfImm(TSFlags),
>>>>>>>>>> getImmFixupKind(TSFlags),
>>>>>>>>>> CurByte, OS, Fixups);
>>>>>&...
2017 Sep 05
2
Issues in Vector Add Instruction Machine Code Emission
...t;> instructions
>>>>>>>>>>>> // (SSE4a extrq and insertq) have two trailing immediates.
>>>>>>>>>>>> while (CurOp != NumOps && NumOps - CurOp <= 2) {
>>>>>>>>>>>> EmitImmediate(MI.getOperand(CurOp++), MI.getLoc(),
>>>>>>>>>>>> X86II::getSizeOfImm(TSFlags),
>>>>>>>>>>>> getImmFixupKind(TSFlags),
>>>>>>>>>>>> CurByte, OS, Fixups...
2013 Dec 16
0
[LLVMdev] [RFC PATCH 1/2] x86: Fix ModR/M byte output in 16-bit addressing mode
...isp.isImm() && isDisp8(Disp.getImm())) {
> + // Use [REG]+disp8 form if we can, and for [BP] which cannot be
> encoded.
> + if (BaseRegNo == N86::EBP || Disp.getImm() != 0) {
> + EmitByte(ModRMByte(1, RegOpcodeField, RMfield), CurByte, OS);
> + EmitImmediate(Disp, MI.getLoc(), 1, FK_Data_1, CurByte, OS,
> Fixups);
> + return;
> + } else {
> + // No displacement
> + EmitByte(ModRMByte(0, RegOpcodeField, RMfield), CurByte, OS);
> + return;
> + }
> + }
> + EmitByte(ModR...