From 1162359a198ab6a18a734cb9f7955d0b28e342b6 Mon Sep 17 00:00:00 2001 From: Alexey Yerin Date: Sun, 12 Jun 2022 22:29:32 +0300 Subject: rv64: implement Oswap for floating-point types --- rv64/targ.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'rv64/targ.c') diff --git a/rv64/targ.c b/rv64/targ.c index d42d0a1..9360cf7 100644 --- a/rv64/targ.c +++ b/rv64/targ.c @@ -11,7 +11,7 @@ int rv64_rsave[] = { A0, A1, A2, A3, A4, A5, A6, A7, FA0, FA1, FA2, FA3, FA4, FA5, FA6, FA7, FT0, FT1, FT2, FT3, FT4, FT5, FT6, FT7, - FT8, FT9, FT10, FT11, + FT8, FT9, FT10, -1 }; int rv64_rclob[] = { @@ -22,8 +22,7 @@ int rv64_rclob[] = { -1 }; -/* T6 used as swap register (TODO: is there a better choice?) */ -#define RGLOB (BIT(FP) | BIT(SP) | BIT(GP) | BIT(TP) | BIT(RA) | BIT(T6)) +#define RGLOB (BIT(FP) | BIT(SP) | BIT(GP) | BIT(TP) | BIT(RA)) static int rv64_memargs(int op) @@ -39,7 +38,7 @@ Target T_rv64 = { .fpr0 = FT0, .nfpr = NFPR, .rglob = RGLOB, - .nrglob = 6, + .nrglob = 5, .rsave = rv64_rsave, .nrsave = {NGPS, NFPS}, .retregs = rv64_retregs, -- cgit 1.4.1