Displaying 3 results from an estimated 3 matches for "vldrd".
Did you mean:
vldr
2011 Aug 30
2
[LLVMdev] ARMCodeEmitter.cpp JIT support very broken (2.9 and svn)
...s far as I can tell.)
1) VFP/Neon instructions don't encode correctly at al, because the encoding methods generated by tablegen for them clobber the constructed binary value when they try to implement 'PostEncoderMethod' support , for example, from ARMGenCodeEmitter.inc:
case ARM::VLDRD:
case ARM::VSTRD: {
// op: p
op = getMachineOpValue(MI, MI.getOperand(3));
Value |= (op & 15U) << 28;
// etc ...
Value = VFPThumb2PostEncoder(MI, Value); // <--- overwrites Value!
break;
}
The bug here is that in utils/TableGen/CodeEm...
2011 Aug 30
0
[LLVMdev] ARMCodeEmitter.cpp JIT support very broken (2.9 and svn)
...nfancy.
> 1) VFP/Neon instructions don't encode correctly at al, because the encoding methods generated by tablegen for them clobber the constructed binary value when they try to implement 'PostEncoderMethod' support , for example, from ARMGenCodeEmitter.inc:
>
> case ARM::VLDRD:
> case ARM::VSTRD: {
> // op: p
> op = getMachineOpValue(MI, MI.getOperand(3));
> Value |= (op & 15U) << 28;
> // etc ...
> Value = VFPThumb2PostEncoder(MI, Value); // <--- overwrites Value!
> break;
> }
>
> The...
2015 Jan 11
3
[LLVMdev] [RFC] [PATCH] add tail call optimization to thumb1-only targets
...hineFrameInfo *MFI = MF.getFrameInfo();
ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>();
@@ -351,8 +358,8 @@
if (NumBytes - ArgRegsSaveSize != 0)
emitSPUpdate(MBB, MBBI, TII, dl, *RegInfo, NumBytes - ArgRegsSaveSize);
} else {
- // Unwind MBBI to point to first LDR / VLDRD.
- if (MBBI != MBB.begin()) {
+ // Unwind MBBI to point to first LDR / VLDRD. Not for tail call returns!
+ if ((MBBI != MBB.begin()) && (!IsTailCallReturn)) {
do
--MBBI;
while (MBBI != MBB.begin() && isCSRestore(MBBI, CSRegs));
@@ -395,12 +402,119 @@...