[llvm] r335120 - [RISCV] Add InstAlias definitions for sgt and sgtu

Alex Bradbury via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 20 05:54:02 PDT 2018


Author: asb
Date: Wed Jun 20 05:54:02 2018
New Revision: 335120

URL: http://llvm.org/viewvc/llvm-project?rev=335120&view=rev
Log:
[RISCV] Add InstAlias definitions for sgt and sgtu

These are produced by GCC and supported by GAS, but not currently contained in 
the pseudoinstruction listing in the RISC-V ISA manual.

Modified:
    llvm/trunk/lib/Target/RISCV/RISCVInstrInfo.td
    llvm/trunk/test/MC/RISCV/rvi-aliases-valid.s

Modified: llvm/trunk/lib/Target/RISCV/RISCVInstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/RISCV/RISCVInstrInfo.td?rev=335120&r1=335119&r2=335120&view=diff
==============================================================================
--- llvm/trunk/lib/Target/RISCV/RISCVInstrInfo.td (original)
+++ llvm/trunk/lib/Target/RISCV/RISCVInstrInfo.td Wed Jun 20 05:54:02 2018
@@ -478,6 +478,11 @@ def : InstAlias<"snez $rd, $rs", (SLTU
 def : InstAlias<"sltz $rd, $rs", (SLT   GPR:$rd, GPR:$rs,      X0)>;
 def : InstAlias<"sgtz $rd, $rs", (SLT   GPR:$rd,      X0, GPR:$rs)>;
 
+// sgt/sgtu are recognised by the GNU assembler but the canonical slt/sltu
+// form will always be printed. Therefore, set a zero weight.
+def : InstAlias<"sgt $rd, $rs, $rt", (SLT GPR:$rd, GPR:$rt, GPR:$rs), 0>;
+def : InstAlias<"sgtu $rd, $rs, $rt", (SLTU GPR:$rd, GPR:$rt, GPR:$rs), 0>;
+
 def : InstAlias<"beqz $rs, $offset",
                 (BEQ GPR:$rs,      X0, simm13_lsb0:$offset)>;
 def : InstAlias<"bnez $rs, $offset",

Modified: llvm/trunk/test/MC/RISCV/rvi-aliases-valid.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/RISCV/rvi-aliases-valid.s?rev=335120&r1=335119&r2=335120&view=diff
==============================================================================
--- llvm/trunk/test/MC/RISCV/rvi-aliases-valid.s (original)
+++ llvm/trunk/test/MC/RISCV/rvi-aliases-valid.s Wed Jun 20 05:54:02 2018
@@ -54,6 +54,13 @@ sltz x31, x1
 # CHECK-ALIAS: sgtz t6, ra
 sgtz x31, x1
 
+# CHECK-INST: slt ra, gp, sp
+# CHECK-ALIAS: slt ra, gp, sp
+sgt x1, x2, x3
+# CHECK-INST: sltu tp, t1, t0
+# CHECK-ALIAS: sltu tp, t1, t0
+sgtu x4, x5, x6
+
 # CHECK-INST: beq a0, zero, 512
 # CHECK-ALIAS: beqz a0, 512
 beqz x10, 512




More information about the llvm-commits mailing list