[PATCH] D78583: [RISCV] Add instruction definition for dret
Pengxuan Zheng via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 23 11:23:24 PDT 2020
pzheng updated this revision to Diff 259641.
pzheng added a comment.
Herald added a subscriber: jfb.
Addressing comments
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D78583/new/
https://reviews.llvm.org/D78583
Files:
llvm/lib/Target/RISCV/RISCVInstrInfo.td
llvm/test/MC/RISCV/debug-valid.s
llvm/test/MC/RISCV/priv-valid.s
Index: llvm/test/MC/RISCV/priv-valid.s
===================================================================
--- llvm/test/MC/RISCV/priv-valid.s
+++ llvm/test/MC/RISCV/priv-valid.s
@@ -21,6 +21,10 @@
# CHECK: encoding: [0x73,0x00,0x20,0x30]
mret
+# CHECK-INST: dret
+# CHECK: encoding: [0x73,0x00,0x20,0x7b]
+dret
+
# CHECK-INST: wfi
# CHECK: encoding: [0x73,0x00,0x50,0x10]
wfi
Index: llvm/test/MC/RISCV/debug-valid.s
===================================================================
--- llvm/test/MC/RISCV/debug-valid.s
+++ llvm/test/MC/RISCV/debug-valid.s
@@ -9,26 +9,6 @@
# RUN: | llvm-objdump -M no-aliases -d - \
# RUN: | FileCheck -check-prefix=CHECK-INST %s
-# CHECK-INST: uret
-# CHECK: encoding: [0x73,0x00,0x20,0x00]
-uret
-
-# CHECK-INST: sret
-# CHECK: encoding: [0x73,0x00,0x20,0x10]
-sret
-
-# CHECK-INST: mret
-# CHECK: encoding: [0x73,0x00,0x20,0x30]
-mret
-
-# CHECK-INST: wfi
-# CHECK: encoding: [0x73,0x00,0x50,0x10]
-wfi
-
-# CHECK-INST: sfence.vma zero, zero
-# CHECK: encoding: [0x73,0x00,0x00,0x12]
-sfence.vma zero, zero
-
-# CHECK-INST: sfence.vma a0, a1
-# CHECK: encoding: [0x73,0x00,0xb5,0x12]
-sfence.vma a0, a1
+# CHECK-INST: dret
+# CHECK: encoding: [0x73,0x00,0x20,0x7b]
+dret
Index: llvm/lib/Target/RISCV/RISCVInstrInfo.td
===================================================================
--- llvm/lib/Target/RISCV/RISCVInstrInfo.td
+++ llvm/lib/Target/RISCV/RISCVInstrInfo.td
@@ -588,6 +588,18 @@
let rd = 0;
}
+//===----------------------------------------------------------------------===//
+// Debug instructions
+//===----------------------------------------------------------------------===//
+
+let isBarrier = 1, isReturn = 1, isTerminator = 1 in {
+def DRET : Priv<"dret", 0b0111101>, Sched<[]> {
+ let rd = 0;
+ let rs1 = 0;
+ let rs2 = 0b10010;
+}
+} // isBarrier = 1, isReturn = 1, isTerminator = 1
+
//===----------------------------------------------------------------------===//
// Assembler Pseudo Instructions (User-Level ISA, Version 2.2, Chapter 20)
//===----------------------------------------------------------------------===//
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D78583.259641.patch
Type: text/x-patch
Size: 2117 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200423/049882ee/attachment.bin>
More information about the llvm-commits
mailing list