Skip to content

[SVE] Replace use of unsupported SVE ACLE intrinscis. #268

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 27, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions src/arch/helpersve.h
Original file line number Diff line number Diff line change
Expand Up @@ -471,8 +471,8 @@ static INLINE vint2 vcastu_vi2_vi(vint x) {
svlsl_n_s64_x(ptrue, svreinterpret_s64_s32(x), 32));
}
static INLINE vint vcastu_vi_vi2(vint2 x) {
return svreinterpret_s32_s64(
svlsr_n_s64_x(ptrue, svreinterpret_s64_s32(x), 32));
return svreinterpret_s32_u64(
svlsr_n_u64_x(ptrue, svreinterpret_u64_s32(x), 32));
}
static INLINE vdouble vcast_vd_vi(vint vi) {
return svcvt_f64_s32_x(ptrue, vi);
Expand Down Expand Up @@ -628,7 +628,9 @@ static INLINE vint vandnot_vi_vo_vi(vopmask x, vint y) {
}
#define vsra_vi_vi_i(x, c) svasr_n_s32_x(ptrue, x, c)
#define vsll_vi_vi_i(x, c) svlsl_n_s32_x(ptrue, x, c)
#define vsrl_vi_vi_i(x, c) svlsr_n_s32_x(ptrue, x, c)
static INLINE vint vsrl_vi_vi_i(vint x, int c) {
return svreinterpret_s32_u32(svlsr_n_u32_x(ptrue, svreinterpret_u32_s32(x), c));
}

static INLINE vint vand_vi_vi_vi(vint x, vint y) {
return svand_s32_x(ptrue, x, y);
Expand Down