This PR adapts latest spec changes
Add prefix (_riscv) for all riscv intrinsics Update some intrinsics' parameter, like vfredxxxx, vmerge
This commit is contained in:
@@ -29,33 +29,33 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#include <float.h>
|
||||
|
||||
#if !defined(DOUBLE)
|
||||
#define VSETVL(n) vsetvl_e32m8(n)
|
||||
#define VSETVL_MAX vsetvlmax_e32m8()
|
||||
#define VSETVL_MAX_M1 vsetvlmax_e32m1()
|
||||
#define FLOAT_V_T vfloat32m8_t
|
||||
#define FLOAT_V_T_M1 vfloat32m1_t
|
||||
#define VLEV_FLOAT vle32_v_f32m8
|
||||
#define VLSEV_FLOAT vlse32_v_f32m8
|
||||
#define VFREDMINVS_FLOAT vfredmin_vs_f32m8_f32m1
|
||||
#define VFMVVF_FLOAT vfmv_v_f_f32m8
|
||||
#define VFMVVF_FLOAT_M1 vfmv_v_f_f32m1
|
||||
#define VFMINVV_FLOAT vfmin_vv_f32m8
|
||||
#define VFABSV_FLOAT vfabs_v_f32m8
|
||||
#define VFMVFS_FLOAT_M1 vfmv_f_s_f32m1_f32
|
||||
#define VSETVL(n) __riscv_vsetvl_e32m8(n)
|
||||
#define VSETVL_MAX __riscv_vsetvlmax_e32m8()
|
||||
#define VSETVL_MAX_M1 __riscv_vsetvlmax_e32m1()
|
||||
#define FLOAT_V_T vfloat32m8_t
|
||||
#define FLOAT_V_T_M1 vfloat32m1_t
|
||||
#define VLEV_FLOAT __riscv_vle32_v_f32m8
|
||||
#define VLSEV_FLOAT __riscv_vlse32_v_f32m8
|
||||
#define VFREDMINVS_FLOAT __riscv_vfredmin_vs_f32m8_f32m1
|
||||
#define VFMVVF_FLOAT __riscv_vfmv_v_f_f32m8
|
||||
#define VFMVVF_FLOAT_M1 __riscv_vfmv_v_f_f32m1
|
||||
#define VFMINVV_FLOAT __riscv_vfmin_vv_f32m8
|
||||
#define VFABSV_FLOAT __riscv_vfabs_v_f32m8
|
||||
#define VFMVFS_FLOAT_M1 __riscv_vfmv_f_s_f32m1_f32
|
||||
#else
|
||||
#define VSETVL(n) vsetvl_e64m8(n)
|
||||
#define VSETVL_MAX vsetvlmax_e64m8()
|
||||
#define VSETVL_MAX_M1 vsetvlmax_e64m1()
|
||||
#define FLOAT_V_T vfloat64m8_t
|
||||
#define FLOAT_V_T_M1 vfloat64m1_t
|
||||
#define VLEV_FLOAT vle64_v_f64m8
|
||||
#define VLSEV_FLOAT vlse64_v_f64m8
|
||||
#define VFREDMINVS_FLOAT vfredmin_vs_f64m8_f64m1
|
||||
#define VFMVVF_FLOAT vfmv_v_f_f64m8
|
||||
#define VFMVVF_FLOAT_M1 vfmv_v_f_f64m1
|
||||
#define VFMINVV_FLOAT vfmin_vv_f64m8
|
||||
#define VFABSV_FLOAT vfabs_v_f64m8
|
||||
#define VFMVFS_FLOAT_M1 vfmv_f_s_f64m1_f64
|
||||
#define VSETVL(n) __riscv_vsetvl_e64m8(n)
|
||||
#define VSETVL_MAX __riscv_vsetvlmax_e64m8()
|
||||
#define VSETVL_MAX_M1 __riscv_vsetvlmax_e64m1()
|
||||
#define FLOAT_V_T vfloat64m8_t
|
||||
#define FLOAT_V_T_M1 vfloat64m1_t
|
||||
#define VLEV_FLOAT __riscv_vle64_v_f64m8
|
||||
#define VLSEV_FLOAT __riscv_vlse64_v_f64m8
|
||||
#define VFREDMINVS_FLOAT __riscv_vfredmin_vs_f64m8_f64m1
|
||||
#define VFMVVF_FLOAT __riscv_vfmv_v_f_f64m8
|
||||
#define VFMVVF_FLOAT_M1 __riscv_vfmv_v_f_f64m1
|
||||
#define VFMINVV_FLOAT __riscv_vfmin_vv_f64m8
|
||||
#define VFABSV_FLOAT __riscv_vfabs_v_f64m8
|
||||
#define VFMVFS_FLOAT_M1 __riscv_vfmv_f_s_f64m1_f64
|
||||
#endif
|
||||
|
||||
FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
|
||||
@@ -95,7 +95,7 @@ FLOAT CNAME(BLASLONG n, FLOAT *x, BLASLONG inc_x)
|
||||
|
||||
}
|
||||
|
||||
v_res = VFREDMINVS_FLOAT(v_res, vmin, v_res, vlmax);
|
||||
v_res = VFREDMINVS_FLOAT(vmin, v_res, vlmax);
|
||||
minf = VFMVFS_FLOAT_M1(v_res);
|
||||
|
||||
return(minf);
|
||||
|
||||
Reference in New Issue
Block a user