http://llvm.org/bugs/show_bug.cgi?id=8252
Jim Grosbach <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #4 from Jim Grosbach <[email protected]> 2010-09-29 10:03:04 CDT --- Excellent diagnosis. Thank you. The MC-ized assembly printer handles this correctly (ARMMCInstLower::GetSymbolRef() and ARMMCInstLower::GetExternalSymbolSymbol()), checking for an explicit value rather than bitmasking. Previously this didn't manifest in the old asm printer as we only had two machine operand values (MO_LO16 and MO_HI16), so treating them as bitmasks worked out. Now that we've added a third, it broke. If/when we do get cases where we need multiple values per operand, we'll want to look at going the other direction and using a mask. For now, this is simpler and consistent with how the rest of the compiler works. The X86 back end, for example, makes extensive use of the machine operand flags and uses values rather than masks, as does the MC-operand layer these values are translated into. This is fixed by transitioning to the new MC instruction printer. The old one is getting removed, so it's effectively dead code at this point. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. _______________________________________________ LLVMbugs mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs
