aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <jimw@sifive.com>2018-09-17 11:43:08 -0700
committerJim Wilson <jimw@sifive.com>2018-09-17 11:43:08 -0700
commit4e2b18982ade10897e62590896a1dec496269877 (patch)
tree34021948541cad7ad7f094143c72118d74c4dddb
parent461464f22632163209937ba5128d1f9f32554ea3 (diff)
downloadfsf-binutils-gdb-4e2b18982ade10897e62590896a1dec496269877.zip
fsf-binutils-gdb-4e2b18982ade10897e62590896a1dec496269877.tar.gz
fsf-binutils-gdb-4e2b18982ade10897e62590896a1dec496269877.tar.bz2
RISC-V: bge[u] should get higher priority than ble[u].
2018-09-17 Kito Cheng <kito@andestech.com> gas/ * testsuite/gas/riscv/bge.d: New. * testsuite/gas/riscv/bge.s: Likewise. opcodes/ * riscv-opc.c (riscv_opcodes): Adjust the order of ble and bleu.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/testsuite/gas/riscv/bge.d13
-rw-r--r--gas/testsuite/gas/riscv/bge.s5
-rw-r--r--opcodes/ChangeLog4
-rw-r--r--opcodes/riscv-opc.c4
5 files changed, 29 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 3e76800..0a4c566 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2018-09-17 Kito Cheng <kito@andestech.com>
+
+ * testsuite/gas/riscv/bge.d: New.
+ * testsuite/gas/riscv/bge.s: Likewise.
+
2018-09-17 H.J. Lu <hongjiu.lu@intel.com>
PR gas/23670
diff --git a/gas/testsuite/gas/riscv/bge.d b/gas/testsuite/gas/riscv/bge.d
new file mode 100644
index 0000000..b3db91c
--- /dev/null
+++ b/gas/testsuite/gas/riscv/bge.d
@@ -0,0 +1,13 @@
+#as:
+#objdump: -d
+
+.*:[ ]+file format .*
+
+
+Disassembly of section .text:
+
+0+000 <foo>:
+[ ]+0:[ ]+00c5d063[ ]+bge[ ]+a1,a2,0 \<foo\>
+[ ]+4:[ ]+feb65ee3[ ]+bge[ ]+a2,a1,0 \<foo\>
+[ ]+8:[ ]+fec5fce3[ ]+bgeu[ ]+a1,a2,0 \<foo\>
+[ ]+c:[ ]+feb67ae3[ ]+bgeu[ ]+a2,a1,0 \<foo\>
diff --git a/gas/testsuite/gas/riscv/bge.s b/gas/testsuite/gas/riscv/bge.s
new file mode 100644
index 0000000..a28d25e
--- /dev/null
+++ b/gas/testsuite/gas/riscv/bge.s
@@ -0,0 +1,5 @@
+foo:
+ bge a1, a2, foo
+ ble a1, a2, foo
+ bgeu a1, a2, foo
+ bleu a1, a2, foo
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 5d57507..19475da 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,7 @@
+2018-09-17 Kito Cheng <kito@andestech.com>
+
+ * riscv-opc.c (riscv_opcodes): Adjust the order of ble and bleu.
+
2018-09-17 H.J. Lu <hongjiu.lu@intel.com>
PR gas/23670
diff --git a/opcodes/riscv-opc.c b/opcodes/riscv-opc.c
index 945164a..e0f7118 100644
--- a/opcodes/riscv-opc.c
+++ b/opcodes/riscv-opc.c
@@ -250,10 +250,10 @@ const struct riscv_opcode riscv_opcodes[] =
{"beq", 0, {"I", 0}, "s,t,p", MATCH_BEQ, MASK_BEQ, match_opcode, INSN_CONDBRANCH },
{"blez", 0, {"I", 0}, "t,p", MATCH_BGE, MASK_BGE | MASK_RS1, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
{"bgez", 0, {"I", 0}, "s,p", MATCH_BGE, MASK_BGE | MASK_RS2, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
-{"ble", 0, {"I", 0}, "t,s,p", MATCH_BGE, MASK_BGE, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
-{"bleu", 0, {"I", 0}, "t,s,p", MATCH_BGEU, MASK_BGEU, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
{"bge", 0, {"I", 0}, "s,t,p", MATCH_BGE, MASK_BGE, match_opcode, INSN_CONDBRANCH },
{"bgeu", 0, {"I", 0}, "s,t,p", MATCH_BGEU, MASK_BGEU, match_opcode, INSN_CONDBRANCH },
+{"ble", 0, {"I", 0}, "t,s,p", MATCH_BGE, MASK_BGE, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
+{"bleu", 0, {"I", 0}, "t,s,p", MATCH_BGEU, MASK_BGEU, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
{"bltz", 0, {"I", 0}, "s,p", MATCH_BLT, MASK_BLT | MASK_RS2, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
{"bgtz", 0, {"I", 0}, "t,p", MATCH_BLT, MASK_BLT | MASK_RS1, match_opcode, INSN_ALIAS|INSN_CONDBRANCH },
{"blt", 0, {"I", 0}, "s,t,p", MATCH_BLT, MASK_BLT, match_opcode, INSN_CONDBRANCH },