aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorHau Hsu <hau.hsu@sifive.com>2025-02-14 10:40:53 +0800
committerNelson Chu <nelson@rivosinc.com>2025-02-14 10:56:57 +0800
commit052d07f84b0d52980df595fe66746c92776823ec (patch)
tree7cf93c24a1240817987b1c50fa44d1b1085413ac /gas
parent32c3388c4f95b938bb8ee16a04768c85efa08181 (diff)
downloadbinutils-052d07f84b0d52980df595fe66746c92776823ec.zip
binutils-052d07f84b0d52980df595fe66746c92776823ec.tar.gz
binutils-052d07f84b0d52980df595fe66746c92776823ec.tar.bz2
RISC-V: Make SSAMOSWAP.W available for rv64
Previously we limited SSAMOSWAP.W only available on RV32, but it should be available on RV64 as well. See https://github.com/riscv/riscv-cfi/blob/main/src/cfi_backward.adoc https://github.com/riscv/riscv-isa-manual/blob/702a3e6e843235a2a13b918ae6938b04f8974ffc/src/unpriv-cfi.adoc#L789
Diffstat (limited to 'gas')
-rw-r--r--gas/testsuite/gas/riscv/zicfisslp-64.d8
-rw-r--r--gas/testsuite/gas/riscv/zicfisslp-64.s8
2 files changed, 16 insertions, 0 deletions
diff --git a/gas/testsuite/gas/riscv/zicfisslp-64.d b/gas/testsuite/gas/riscv/zicfisslp-64.d
index 0eb1b87..1dba3a6 100644
--- a/gas/testsuite/gas/riscv/zicfisslp-64.d
+++ b/gas/testsuite/gas/riscv/zicfisslp-64.d
@@ -12,6 +12,14 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+cdc0c073[ ]+sspopchk[ ]+ra
[ ]+[0-9a-f]+:[ ]+cdc2c073[ ]+sspopchk[ ]+t0
[ ]+[0-9a-f]+:[ ]+cdc04573[ ]+ssrdp[ ]+a0
+[ ]+[0-9a-f]+:[ ]+48a5252f[ ]+ssamoswap.w[ ]+a0,a0,\(a0\)
+[ ]+[0-9a-f]+:[ ]+48a5252f[ ]+ssamoswap.w[ ]+a0,a0,\(a0\)
+[ ]+[0-9a-f]+:[ ]+4ca5252f[ ]+ssamoswap.w.aq[ ]+a0,a0,\(a0\)
+[ ]+[0-9a-f]+:[ ]+4ca5252f[ ]+ssamoswap.w.aq[ ]+a0,a0,\(a0\)
+[ ]+[0-9a-f]+:[ ]+4aa5252f[ ]+ssamoswap.w.rl[ ]+a0,a0,\(a0\)
+[ ]+[0-9a-f]+:[ ]+4aa5252f[ ]+ssamoswap.w.rl[ ]+a0,a0,\(a0\)
+[ ]+[0-9a-f]+:[ ]+4ea5252f[ ]+ssamoswap.w.aqrl[ ]+a0,a0,\(a0\)
+[ ]+[0-9a-f]+:[ ]+4ea5252f[ ]+ssamoswap.w.aqrl[ ]+a0,a0,\(a0\)
[ ]+[0-9a-f]+:[ ]+48a5352f[ ]+ssamoswap.d[ ]+a0,a0,\(a0\)
[ ]+[0-9a-f]+:[ ]+48a5352f[ ]+ssamoswap.d[ ]+a0,a0,\(a0\)
[ ]+[0-9a-f]+:[ ]+4ca5352f[ ]+ssamoswap.d.aq[ ]+a0,a0,\(a0\)
diff --git a/gas/testsuite/gas/riscv/zicfisslp-64.s b/gas/testsuite/gas/riscv/zicfisslp-64.s
index 1199a43..21ff0e2 100644
--- a/gas/testsuite/gas/riscv/zicfisslp-64.s
+++ b/gas/testsuite/gas/riscv/zicfisslp-64.s
@@ -6,6 +6,14 @@
sspopchk x1
sspopchk x5
ssrdp a0
+ ssamoswap.w a0,a0,0(a0)
+ ssamoswap.w a0,a0,(a0)
+ ssamoswap.w.aq a0,a0,0(a0)
+ ssamoswap.w.aq a0,a0,(a0)
+ ssamoswap.w.rl a0,a0,0(a0)
+ ssamoswap.w.rl a0,a0,(a0)
+ ssamoswap.w.aqrl a0,a0,0(a0)
+ ssamoswap.w.aqrl a0,a0,(a0)
ssamoswap.d a0, a0, 0(a0)
ssamoswap.d a0, a0, (a0)
ssamoswap.d.aq a0, a0, 0(a0)