[PATCH] D16182: [mips][microMIPS][DSP] Implement BALIGN, BITREV, BPOSGE32, CMP*, CMPGDU*, CMPGU* and CMPU* instructions

Simon Dardis via llvm-commits llvm-commits at lists.llvm.org
Mon May 16 06:25:18 PDT 2016


sdardis accepted this revision.
sdardis added a comment.
This revision is now accepted and ready to land.

LGTM with cmp.cond.ph descriptions fixed along with the corresponding tests.


================
Comment at: lib/Target/Mips/MicroMipsDSPInstrInfo.td:161-163
@@ +160,5 @@
+class BPOSGE32_MM_ENC : POOL32I_IMMB0_FMT<"bposge32", 0b11011>;
+class CMP_EQ_PH_MM_ENC : POOL32A_2RB0_FMT<"cmp.eq.ph", 0b0010000101>;
+class CMP_LT_PH_MM_ENC : POOL32A_2RB0_FMT<"cmp.lt.ph", 0b0001000101>;
+class CMP_LE_PH_MM_ENC : POOL32A_2RB0_FMT<"cmp.le.ph", 0b0000000101>;
+class CMPGDU_EQ_QB_MMR2_ENC : POOL32A_3RB0_FMT<"cmpgdu.eq.qb", 0b0110000101>;
----------------
If I'm reading this right, I suspect you have written down the instructions from the assembly format and written the minor opcodes assuming the encoding description table is in the same order. They are in a different order in the encoding description.

The minor opcodes for cmp.eq.ph and cmp.le.ph are swapped.


http://reviews.llvm.org/D16182





More information about the llvm-commits mailing list