search for: vfpthumb2postencod

Displaying 5 results from an estimated 5 matches for "vfpthumb2postencod".

Did you mean: vfpthumb2postencoder
2011 Aug 30
2
[LLVMdev] ARMCodeEmitter.cpp JIT support very broken (2.9 and svn)
...> > This is the intended behavior. The some post-encoder hooks need to clear bits as well as set them. If you're seeing incorrect output from the post-encoder hook, it's because the hook itself has a bug. Ah, ok. So it looks like the stubs in ARMCodeEmitter.cpp such as unsigned VFPThumb2PostEncoder(const MachineInstr&MI, unsigned Val) const { return 0; } should instead be unsigned VFPThumb2PostEncoder(const MachineInstr&MI, unsigned Val) const { return Val; } >> This looks like it would affect all targets, except apparently only ARM uses this feature. >> >> 2)...
2011 Aug 30
2
[LLVMdev] ARMCodeEmitter.cpp JIT support very broken (2.9 and svn)
...ry 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/CodeEmitterGen.cpp, line 196: Case += " Value = " + PostEmitter + "(MI, Value);\n"; should be Case += " Value |= " + PostEmitter + "(MI, Value...
2011 Aug 30
0
[LLVMdev] ARMCodeEmitter.cpp JIT support very broken (2.9 and svn)
...nt '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/CodeEmitterGen.cpp, line 196: > Case += " Value = " + PostEmitter + "(MI, Value);\n"; > should be > Case += " Value |= "...
2011 Aug 30
0
[LLVMdev] ARMCodeEmitter.cpp JIT support very broken (2.9 and svn)
...t; > > This is the intended behavior. The some post-encoder hooks need to clear bits as well as set them. If you're seeing incorrect output from the post-encoder hook, it's because the hook itself has a bug. Ah, ok. So it looks like the stubs in ARMCodeEmitter.cpp such as unsigned VFPThumb2PostEncoder(const MachineInstr&MI, unsigned Val) const { return 0; } should instead be unsigned VFPThumb2PostEncoder(const MachineInstr&MI, unsigned Val) const { return Val; } >> This looks like it would affect all targets, except apparently only ARM uses this feature. >> >> 2) AR...
2011 Aug 30
5
[LLVMdev] ARMCodeEmitter.cpp JIT support very broken (2.9 and svn)
...is is the intended behavior. The some post-encoder hooks need to clear bits as well as set them. If you're seeing incorrect output from the post-encoder hook, it's because the hook itself has a bug. > > Ah, ok. So it looks like the stubs in ARMCodeEmitter.cpp such as > unsigned VFPThumb2PostEncoder(const MachineInstr&MI, unsigned Val) const { return 0; } > should instead be > unsigned VFPThumb2PostEncoder(const MachineInstr&MI, unsigned Val) const { return Val; } > > >>> This looks like it would affect all targets, except apparently only ARM uses this feature....