[PATCH 1/2] gas: RISC-V: Add a test for near->far branch conversion
Palmer Dabbelt
palmer@rivosinc.com
Mon Jan 30 21:06:41 GMT 2023
This works in GAS and has for a very long time, but I couldn't find a
test case for it. It doesn't appear to be documented anywhere, but GCC
depends on it and I'd bet a bunch of handwritten assembly does too so
it's probably too late to drop.
---
gas/testsuite/gas/riscv/far-branch.d | 13 +++++++++++++
gas/testsuite/gas/riscv/far-branch.s | 6 ++++++
2 files changed, 19 insertions(+)
create mode 100644 gas/testsuite/gas/riscv/far-branch.d
create mode 100644 gas/testsuite/gas/riscv/far-branch.s
diff --git a/gas/testsuite/gas/riscv/far-branch.d b/gas/testsuite/gas/riscv/far-branch.d
new file mode 100644
index 00000000000..e781e3eadb5
--- /dev/null
+++ b/gas/testsuite/gas/riscv/far-branch.d
@@ -0,0 +1,13 @@
+#as: -march=rv32i
+#objdump: -d
+
+.*:[ ]+file format .*
+
+
+Disassembly of section .text:
+
+0+000 <target>:
+[^:]+:[ ]+00b51063[ ]+bne[ ]+a0,a1,0 <target>
+#...
+[^:]+:[ ]+00b50463[ ]+beq[ ]+a0,a1,.*
+[^:]+:[ ]+ff9fe06f[ ]+j[ ]+0 <target>
diff --git a/gas/testsuite/gas/riscv/far-branch.s b/gas/testsuite/gas/riscv/far-branch.s
new file mode 100644
index 00000000000..2b369ffb538
--- /dev/null
+++ b/gas/testsuite/gas/riscv/far-branch.s
@@ -0,0 +1,6 @@
+target:
+ bne a0, a1, target
+.rep 1024
+ nop
+.endr
+ bne a0, a1, target
--
2.39.0
More information about the Binutils
mailing list