[llvm] cc40a46 - [RISCV] Increase EmitPriority on some InstAliases. NFC
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 12 19:34:18 PDT 2024
Author: Craig Topper
Date: 2024-09-12T19:33:59-07:00
New Revision: cc40a461df1b67dc84ed0334e2818ef8d14f04f5
URL: https://github.com/llvm/llvm-project/commit/cc40a461df1b67dc84ed0334e2818ef8d14f04f5
DIFF: https://github.com/llvm/llvm-project/commit/cc40a461df1b67dc84ed0334e2818ef8d14f04f5.diff
LOG: [RISCV] Increase EmitPriority on some InstAliases. NFC
Use EmitPriority instead of relying on file ordering when there
are multiple InstAliases for the same instruction.
Enhance tests to check that we are printing the alias correctly
by checking to end of line.
Remove -no-aliases from some RUN lines that expect to check alias.
Remove encoding checks from alias test.
Added:
Modified:
llvm/lib/Target/RISCV/RISCVInstrInfo.td
llvm/test/MC/RISCV/rv32ih-aliases-valid.s
llvm/test/MC/RISCV/rvi-aliases-valid.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfo.td b/llvm/lib/Target/RISCV/RISCVInstrInfo.td
index acf1e418408bbd..fe5623e2920e22 100644
--- a/llvm/lib/Target/RISCV/RISCVInstrInfo.td
+++ b/llvm/lib/Target/RISCV/RISCVInstrInfo.td
@@ -961,14 +961,14 @@ def : InstAlias<"fence", (FENCE 0xF, 0xF)>; // 0xF == iorw
let Predicates = [HasStdExtZihintpause] in
def : InstAlias<"pause", (FENCE 0x1, 0x0)>; // 0x1 == w
-def : InstAlias<"rdinstret $rd", (CSRRS GPR:$rd, INSTRET.Encoding, X0)>;
-def : InstAlias<"rdcycle $rd", (CSRRS GPR:$rd, CYCLE.Encoding, X0)>;
-def : InstAlias<"rdtime $rd", (CSRRS GPR:$rd, TIME.Encoding, X0)>;
+def : InstAlias<"rdinstret $rd", (CSRRS GPR:$rd, INSTRET.Encoding, X0), 2>;
+def : InstAlias<"rdcycle $rd", (CSRRS GPR:$rd, CYCLE.Encoding, X0), 2>;
+def : InstAlias<"rdtime $rd", (CSRRS GPR:$rd, TIME.Encoding, X0), 2>;
let Predicates = [IsRV32] in {
-def : InstAlias<"rdinstreth $rd", (CSRRS GPR:$rd, INSTRETH.Encoding, X0)>;
-def : InstAlias<"rdcycleh $rd", (CSRRS GPR:$rd, CYCLEH.Encoding, X0)>;
-def : InstAlias<"rdtimeh $rd", (CSRRS GPR:$rd, TIMEH.Encoding, X0)>;
+def : InstAlias<"rdinstreth $rd", (CSRRS GPR:$rd, INSTRETH.Encoding, X0), 2>;
+def : InstAlias<"rdcycleh $rd", (CSRRS GPR:$rd, CYCLEH.Encoding, X0), 2>;
+def : InstAlias<"rdtimeh $rd", (CSRRS GPR:$rd, TIMEH.Encoding, X0), 2>;
} // Predicates = [IsRV32]
def : InstAlias<"csrr $rd, $csr", (CSRRS GPR:$rd, csr_sysreg:$csr, X0)>;
@@ -990,13 +990,13 @@ def : InstAlias<"csrrs $rd, $csr, $imm", (CSRRSI GPR:$rd, csr_sysreg:$csr, uimm5
def : InstAlias<"csrrc $rd, $csr, $imm", (CSRRCI GPR:$rd, csr_sysreg:$csr, uimm5:$imm)>;
}
-def : InstAlias<"sfence.vma", (SFENCE_VMA X0, X0)>;
+def : InstAlias<"sfence.vma", (SFENCE_VMA X0, X0), 2>;
def : InstAlias<"sfence.vma $rs", (SFENCE_VMA GPR:$rs, X0)>;
-def : InstAlias<"hfence.gvma", (HFENCE_GVMA X0, X0)>;
+def : InstAlias<"hfence.gvma", (HFENCE_GVMA X0, X0), 2>;
def : InstAlias<"hfence.gvma $rs", (HFENCE_GVMA GPR:$rs, X0)>;
-def : InstAlias<"hfence.vvma", (HFENCE_VVMA X0, X0)>;
+def : InstAlias<"hfence.vvma", (HFENCE_VVMA X0, X0), 2>;
def : InstAlias<"hfence.vvma $rs", (HFENCE_VVMA GPR:$rs, X0)>;
let Predicates = [HasStdExtZihintntl] in {
diff --git a/llvm/test/MC/RISCV/rv32ih-aliases-valid.s b/llvm/test/MC/RISCV/rv32ih-aliases-valid.s
index 85af8cfb26ea61..7ae4b6ca291cfc 100644
--- a/llvm/test/MC/RISCV/rv32ih-aliases-valid.s
+++ b/llvm/test/MC/RISCV/rv32ih-aliases-valid.s
@@ -1,7 +1,7 @@
-# RUN: llvm-mc %s -triple=riscv32 -mattr=+h -riscv-no-aliases -show-encoding \
-# RUN: | FileCheck -check-prefixes=CHECK,CHECK-INST,CHECK-ALIAS-INST %s
-# RUN: llvm-mc %s -triple=riscv64 -mattr=+h -riscv-no-aliases -show-encoding \
-# RUN: | FileCheck -check-prefixes=CHECK,CHECK-INST,CHECK-ALIAS-INST %s
+# RUN: llvm-mc %s -triple=riscv32 -mattr=+h \
+# RUN: | FileCheck -check-prefixes=CHECK-INST,CHECK-ALIAS-INST %s
+# RUN: llvm-mc %s -triple=riscv64 -mattr=+h \
+# RUN: | FileCheck -check-prefixes=CHECK-INST,CHECK-ALIAS-INST %s
# RUN: llvm-mc -filetype=obj -mattr=+h -triple riscv32 < %s \
# RUN: | llvm-objdump --mattr=+h -M no-aliases -d - \
# RUN: | FileCheck -check-prefixes=CHECK-INST,CHECK-NOALIAS-INST %s
@@ -9,62 +9,48 @@
# RUN: | llvm-objdump --mattr=+h -M no-aliases -d - \
# RUN: | FileCheck -check-prefixes=CHECK-INST,CHECK-NOALIAS-INST %s
-# CHECK-ALIAS-INST: hfence.gvma
+# CHECK-ALIAS-INST: hfence.gvma{{$}}
# CHECK-NOALIAS-INST: hfence.gvma zero, zero
-# CHECK: encoding: [0x73,0x00,0x00,0x62]
hfence.gvma
-# CHECK-ALIAS-INST: hfence.gvma a0
+# CHECK-ALIAS-INST: hfence.gvma a0{{$}}
# CHECK-NOALIAS-INST: hfence.gvma a0, zero
-# CHECK: encoding: [0x73,0x00,0x05,0x62]
hfence.gvma a0
-# CHECK-ALIAS-INST: hfence.vvma
+# CHECK-ALIAS-INST: hfence.vvma{{$}}
# CHECK-NOALIAS-INST: hfence.vvma zero, zero
-# CHECK: encoding: [0x73,0x00,0x00,0x22]
hfence.vvma
-# CHECK-ALIAS-INST: hfence.vvma a0
+# CHECK-ALIAS-INST: hfence.vvma a0{{$}}
# CHECK-NOALIAS-INST: hfence.vvma a0, zero
-# CHECK: encoding: [0x73,0x00,0x05,0x22]
hfence.vvma a0
# CHECK-INST: hlv.b a0, (a1)
-# CHECK: encoding: [0x73,0xc5,0x05,0x60]
hlv.b a0, 0(a1)
# CHECK-INST: hlv.bu a0, (a1)
-# CHECK: encoding: [0x73,0xc5,0x15,0x60]
hlv.bu a0, 0(a1)
# CHECK-INST: hlv.h a1, (a2)
-# CHECK: encoding: [0xf3,0x45,0x06,0x64]
hlv.h a1, 0(a2)
# CHECK-INST: hlv.hu a1, (a1)
-# CHECK: encoding: [0xf3,0xc5,0x15,0x64]
hlv.hu a1, 0(a1)
# CHECK-INST: hlvx.hu a1, (a2)
-# CHECK: encoding: [0xf3,0x45,0x36,0x64]
hlvx.hu a1, 0(a2)
# CHECK-INST: hlv.w a2, (a2)
-# CHECK: encoding: [0x73,0x46,0x06,0x68]
hlv.w a2, 0(a2)
# CHECK-INST: hlvx.wu a2, (a3)
-# CHECK: encoding: [0x73,0xc6,0x36,0x68]
hlvx.wu a2, 0(a3)
# CHECK-INST: hsv.b a0, (a1)
-# CHECK: encoding: [0x73,0xc0,0xa5,0x62]
hsv.b a0, 0(a1)
# CHECK-INST: hsv.h a0, (a1)
-# CHECK: encoding: [0x73,0xc0,0xa5,0x66]
hsv.h a0, 0(a1)
# CHECK-INST: hsv.w a0, (a1)
-# CHECK: encoding: [0x73,0xc0,0xa5,0x6a]
hsv.w a0, 0(a1)
diff --git a/llvm/test/MC/RISCV/rvi-aliases-valid.s b/llvm/test/MC/RISCV/rvi-aliases-valid.s
index 9ac6a8a2c1e757..ef05d1295d44f4 100644
--- a/llvm/test/MC/RISCV/rvi-aliases-valid.s
+++ b/llvm/test/MC/RISCV/rvi-aliases-valid.s
@@ -261,10 +261,10 @@ csrrs t0, 0xfff, 0x10
csrrc t0, 0x140, 0x11
# CHECK-S-OBJ-NOALIAS: sfence.vma zero, zero
-# CHECK-S-OBJ: sfence.vma
+# CHECK-S-OBJ: sfence.vma{{$}}
sfence.vma
# CHECK-S-OBJ-NOALIAS: sfence.vma a0, zero
-# CHECK-S-OBJ: sfence.vma a0
+# CHECK-S-OBJ: sfence.vma a0{{$}}
sfence.vma a0
# The following aliases are accepted as input but the canonical form
More information about the llvm-commits
mailing list