From fcdd030cbe07d48cbd442d207d53dc3947aff02c Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Sat, 2 Oct 2010 17:45:29 -0700 Subject: [PATCH] [sim, xcc] changed cvt/trunc to use GPRs for int args this way, we don't have to futz with storing integers in recoded floating-point registers. too bad we lose some decoupling. --- riscv/insns/cvt_d_l.h | 3 ++- riscv/insns/cvt_d_w.h | 2 +- riscv/insns/cvt_s_l.h | 3 ++- riscv/insns/cvt_s_w.h | 2 +- riscv/insns/cvtu_d_l.h | 3 ++- riscv/insns/cvtu_d_w.h | 2 +- riscv/insns/cvtu_s_l.h | 3 ++- riscv/insns/cvtu_s_w.h | 2 +- riscv/insns/trunc_l_d.h | 3 ++- riscv/insns/trunc_l_s.h | 3 ++- riscv/insns/trunc_w_d.h | 2 +- riscv/insns/trunc_w_s.h | 2 +- riscv/insns/truncu_l_d.h | 3 ++- riscv/insns/truncu_l_s.h | 3 ++- riscv/insns/truncu_w_d.h | 2 +- riscv/insns/truncu_w_s.h | 2 +- 16 files changed, 24 insertions(+), 16 deletions(-) diff --git a/riscv/insns/cvt_d_l.h b/riscv/insns/cvt_d_l.h index 5faac2a4..8a60e643 100644 --- a/riscv/insns/cvt_d_l.h +++ b/riscv/insns/cvt_d_l.h @@ -1,3 +1,4 @@ +require64; require_fp; -FRDR = i64_to_f64(FRS1); +FRDR = i64_to_f64(RS1); set_fp_exceptions; diff --git a/riscv/insns/cvt_d_w.h b/riscv/insns/cvt_d_w.h index 67bc7986..96acc2b5 100644 --- a/riscv/insns/cvt_d_w.h +++ b/riscv/insns/cvt_d_w.h @@ -1,3 +1,3 @@ require_fp; -FRDR = i32_to_f64(FRS1); +FRDR = i32_to_f64(RS1); set_fp_exceptions; diff --git a/riscv/insns/cvt_s_l.h b/riscv/insns/cvt_s_l.h index f5332f9c..fe10e85c 100644 --- a/riscv/insns/cvt_s_l.h +++ b/riscv/insns/cvt_s_l.h @@ -1,3 +1,4 @@ +require64; require_fp; -FRDR = i64_to_f32(FRS1); +FRDR = i64_to_f32(RS1); set_fp_exceptions; diff --git a/riscv/insns/cvt_s_w.h b/riscv/insns/cvt_s_w.h index 9db53863..8501547f 100644 --- a/riscv/insns/cvt_s_w.h +++ b/riscv/insns/cvt_s_w.h @@ -1,3 +1,3 @@ require_fp; -FRDR = i32_to_f32(FRS1); +FRDR = i32_to_f32(RS1); set_fp_exceptions; diff --git a/riscv/insns/cvtu_d_l.h b/riscv/insns/cvtu_d_l.h index 5faac2a4..8a60e643 100644 --- a/riscv/insns/cvtu_d_l.h +++ b/riscv/insns/cvtu_d_l.h @@ -1,3 +1,4 @@ +require64; require_fp; -FRDR = i64_to_f64(FRS1); +FRDR = i64_to_f64(RS1); set_fp_exceptions; diff --git a/riscv/insns/cvtu_d_w.h b/riscv/insns/cvtu_d_w.h index 1b35e06d..494f9b0b 100644 --- a/riscv/insns/cvtu_d_w.h +++ b/riscv/insns/cvtu_d_w.h @@ -1,3 +1,3 @@ require_fp; -FRDR = ui32_to_f64(FRS1); +FRDR = ui32_to_f64(RS1); set_fp_exceptions; diff --git a/riscv/insns/cvtu_s_l.h b/riscv/insns/cvtu_s_l.h index f5332f9c..fe10e85c 100644 --- a/riscv/insns/cvtu_s_l.h +++ b/riscv/insns/cvtu_s_l.h @@ -1,3 +1,4 @@ +require64; require_fp; -FRDR = i64_to_f32(FRS1); +FRDR = i64_to_f32(RS1); set_fp_exceptions; diff --git a/riscv/insns/cvtu_s_w.h b/riscv/insns/cvtu_s_w.h index 252e0cc0..fb76e6d7 100644 --- a/riscv/insns/cvtu_s_w.h +++ b/riscv/insns/cvtu_s_w.h @@ -1,3 +1,3 @@ require_fp; -FRDR = ui32_to_f32(FRS1); +FRDR = ui32_to_f32(RS1); set_fp_exceptions; diff --git a/riscv/insns/trunc_l_d.h b/riscv/insns/trunc_l_d.h index e71957bf..63af055c 100644 --- a/riscv/insns/trunc_l_d.h +++ b/riscv/insns/trunc_l_d.h @@ -1,3 +1,4 @@ +require64; require_fp; -FRDR = f64_to_i64_r_minMag(FRS1,true); +RDR = f64_to_i64_r_minMag(FRS1,true); set_fp_exceptions; diff --git a/riscv/insns/trunc_l_s.h b/riscv/insns/trunc_l_s.h index 1d481921..03c114aa 100644 --- a/riscv/insns/trunc_l_s.h +++ b/riscv/insns/trunc_l_s.h @@ -1,3 +1,4 @@ +require64; require_fp; -FRDR = f32_to_i64_r_minMag(FRS1,true); +RDR = f32_to_i64_r_minMag(FRS1,true); set_fp_exceptions; diff --git a/riscv/insns/trunc_w_d.h b/riscv/insns/trunc_w_d.h index 2fea3dca..5f874aac 100644 --- a/riscv/insns/trunc_w_d.h +++ b/riscv/insns/trunc_w_d.h @@ -1,3 +1,3 @@ require_fp; -FRDR = f64_to_i32_r_minMag(FRS1,true); +RDR = f64_to_i32_r_minMag(FRS1,true); set_fp_exceptions; diff --git a/riscv/insns/trunc_w_s.h b/riscv/insns/trunc_w_s.h index e70f9c47..42be7535 100644 --- a/riscv/insns/trunc_w_s.h +++ b/riscv/insns/trunc_w_s.h @@ -1,3 +1,3 @@ require_fp; -FRDR = f32_to_i32_r_minMag(FRS1,true); +RDR = f32_to_i32_r_minMag(FRS1,true); set_fp_exceptions; diff --git a/riscv/insns/truncu_l_d.h b/riscv/insns/truncu_l_d.h index e71957bf..63af055c 100644 --- a/riscv/insns/truncu_l_d.h +++ b/riscv/insns/truncu_l_d.h @@ -1,3 +1,4 @@ +require64; require_fp; -FRDR = f64_to_i64_r_minMag(FRS1,true); +RDR = f64_to_i64_r_minMag(FRS1,true); set_fp_exceptions; diff --git a/riscv/insns/truncu_l_s.h b/riscv/insns/truncu_l_s.h index 1d481921..03c114aa 100644 --- a/riscv/insns/truncu_l_s.h +++ b/riscv/insns/truncu_l_s.h @@ -1,3 +1,4 @@ +require64; require_fp; -FRDR = f32_to_i64_r_minMag(FRS1,true); +RDR = f32_to_i64_r_minMag(FRS1,true); set_fp_exceptions; diff --git a/riscv/insns/truncu_w_d.h b/riscv/insns/truncu_w_d.h index bb674f6a..4187e530 100644 --- a/riscv/insns/truncu_w_d.h +++ b/riscv/insns/truncu_w_d.h @@ -1,3 +1,3 @@ require_fp; -FRDR = f64_to_ui32_r_minMag(FRS1,true); +RDR = f64_to_ui32_r_minMag(FRS1,true); set_fp_exceptions; diff --git a/riscv/insns/truncu_w_s.h b/riscv/insns/truncu_w_s.h index d85f9e5a..2014c2bd 100644 --- a/riscv/insns/truncu_w_s.h +++ b/riscv/insns/truncu_w_s.h @@ -1,3 +1,3 @@ require_fp; -FRDR = f32_to_ui32_r_minMag(FRS1,true); +RDR = f32_to_ui32_r_minMag(FRS1,true); set_fp_exceptions;