Explicitly declare register overlaps/invalidation between ST(i) and MMi
registers.
Details
Diff Detail
Event Timeline
I don't know omitting this had any practical effects (my experiments with rax were... inconclusive) , but it definitely sounds like the right to do.
| lldb/source/Plugins/Process/Utility/RegisterInfos_x86_64.h | ||
|---|---|---|
| 93 | Yeah... You could try explicitly re-indenting the block to see whether it produces something better. If not, it's likely a clang-format bug (though I can't really blame it for getting this mess wrong) | |
| lldb/source/Plugins/Process/Utility/RegisterInfos_x86_64.h | ||
|---|---|---|
| 93 | Actually, clang-format produces something like this, for the whole file: #define DEFINE_FP_MM(reg, i, streg) \
{ \
#reg #i, nullptr, sizeof(uint64_t), LLVM_EXTENSION FPR_OFFSET(stmm[i]), \
eEncodingUint, eFormatHex, \
{dwarf_mm##i##_x86_64, dwarf_mm##i##_x86_64, LLDB_INVALID_REGNUM, \
LLDB_INVALID_REGNUM, lldb_mm##i##_x86_64 }, \
RegisterContextPOSIX_x86::g_contained_##streg, \
RegisterContextPOSIX_x86::g_invalidate_##streg, nullptr, 0 \
}Note that the #reg line gets \ wrong — if I add 4 spaces to the beginning, it starts looking sane-ish, so it probably gets that wrong. | |
To be honest, I completely don't get the indentation below.