[PATCH] D16719: [mips][microMIPS] Add CodeGen support for AND*, OR16, OR*, XOR*, NOT16 and NOR instructions

Simon Dardis via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 8 04:42:44 PDT 2016


sdardis added a comment.

Can you explain the shift away from "let AdditionalPredicates = [NotInMicroMips] in" to using ISA_NOT_MICROMIPS for ANDi, ORi, XORi?


================
Comment at: test/CodeGen/Mips/llvm-ir/and.ll:28
@@ +27,3 @@
+; RUN: llc < %s -march=mips -mcpu=mips32r3 -mattr=+micromips | FileCheck %s \
+; RUN:    -check-prefix=ALL -check-prefix=MMR6 -check-prefix=MM32
+; RUN: llc < %s -march=mips -mcpu=mips32r6 -mattr=+micromips | FileCheck %s \
----------------
The check prefix MMR6 should be changed to MM or MMALL, since you're using it with microMIPSR3, microMIPSR6 and microMIPS64R6.

================
Comment at: test/CodeGen/Mips/llvm-ir/and.ll:567-571
@@ +566,7 @@
+
+  ; GP32:         andi    $2, $4, 65
+
+  ; GP64:         andi    $2, $4, 65
+
+  ; MMR6:         andi    $2, $4, 65
+
----------------
These can be reduced down to 'ALL:'

================
Comment at: test/MC/Mips/micromips/invalid.s:121
@@ +120,2 @@
+  xori $3, -1         # CHECK: :[[@LINE]]:12: error: expected 16-bit unsigned immediate
+  xori $3, 65536      # CHECK: :[[@LINE]]:12: error: expected 16-bit unsigned immediate
----------------
This should also check 'not' with a register and immediate. This should also go into the other invalid files you're changing.


http://reviews.llvm.org/D16719





More information about the llvm-commits mailing list