Implement microMIPS branch instructions BEQZ16 and BNEZ16.
Details
Diff Detail
Event Timeline
lib/Target/Mips/AsmParser/MipsAsmParser.cpp | ||
---|---|---|
1078 | I think you can use here "if (Offset.getImm() % 2 != 0)" instead of a call to OffsetToAlignment. | |
lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp | ||
241 | You can put fixup_MICROMIPS_PC7_S1 on the previous line - it's within the 80 columns limit. | |
lib/Target/Mips/MicroMipsInstrInfo.td | ||
299 | Note that MipsLongBranch has to be fixed for begz16 and bnez16, because it currently assumes that all branches have 16-bit offsets, and will produce wrong code if branches whose allowed offsets are [-64, ..., 63] are present. If long branch for begz16 and bnez16 (when it's implemented) doesn't clobber AT, "let Defs = [AT]" won't be needed. (You might add a TODO comment for all this in MipsLongBranch.cpp or here). |
You should use 8 instead of 7.