Commit aab04bd6 authored by Zhi An Ng's avatar Zhi An Ng Committed by Commit Bot

Revert "[wasm-simd][liftoff][arm][arm64] Implement integer narrowing"

This reverts commit 387d85ad.

Reason for revert: Broke ARM tree https://ci.chromium.org/p/v8/builders/ci/V8%20Arm%20-%20debug/13926?

Original change's description:
> [wasm-simd][liftoff][arm][arm64] Implement integer narrowing
> 
> Bug: v8:9909
> Change-Id: I0664df45fe399bfa018ff8bcacdbdae66944ed29
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154834
> Reviewed-by: Clemens Backes <clemensb@chromium.org>
> Commit-Queue: Zhi An Ng <zhin@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#67254}

TBR=clemensb@chromium.org,zhin@chromium.org

Change-Id: I6e5cac9cf9e6070b4819edbde6cd2ada2d0b476a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:9909
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2158010Reviewed-by: 's avatarZhi An Ng <zhin@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67256}
parent e4f07176
......@@ -223,18 +223,6 @@ inline Register EnsureNoAlias(Assembler* assm, Register reg,
return tmp;
}
inline void S128NarrowOp(LiftoffAssembler* assm, NeonDataType dt,
LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) {
if (dst == lhs) {
assm->vqmovn(dt, dt, dst.low_fp(), liftoff::GetSimd128Register(lhs));
assm->vqmovn(dt, dt, dst.high_fp(), liftoff::GetSimd128Register(rhs));
} else {
assm->vqmovn(dt, dt, dst.high_fp(), liftoff::GetSimd128Register(rhs));
assm->vqmovn(dt, dt, dst.low_fp(), liftoff::GetSimd128Register(lhs));
}
}
} // namespace liftoff
int LiftoffAssembler::PrepareStackFrame() {
......@@ -2236,25 +2224,25 @@ void LiftoffAssembler::emit_s128_xor(LiftoffRegister dst, LiftoffRegister lhs,
void LiftoffAssembler::emit_i8x16_sconvert_i16x8(LiftoffRegister dst,
LiftoffRegister lhs,
LiftoffRegister rhs) {
liftoff::S128NarrowOp(this, NeonS8, dst, lhs, rhs);
bailout(kSimd, "i8x16_sconvert_i16x8");
}
void LiftoffAssembler::emit_i8x16_uconvert_i16x8(LiftoffRegister dst,
LiftoffRegister lhs,
LiftoffRegister rhs) {
liftoff::S128NarrowOp(this, NeonU8, dst, lhs, rhs);
bailout(kSimd, "i8x16_uconvert_i16x8");
}
void LiftoffAssembler::emit_i16x8_sconvert_i32x4(LiftoffRegister dst,
LiftoffRegister lhs,
LiftoffRegister rhs) {
liftoff::S128NarrowOp(this, NeonS16, dst, lhs, rhs);
bailout(kSimd, "i16x8_sconvert_i32x4");
}
void LiftoffAssembler::emit_i16x8_uconvert_i32x4(LiftoffRegister dst,
LiftoffRegister lhs,
LiftoffRegister rhs) {
liftoff::S128NarrowOp(this, NeonU16, dst, lhs, rhs);
bailout(kSimd, "i16x8_uconvert_i32x4");
}
void LiftoffAssembler::emit_i16x8_sconvert_i8x16_low(LiftoffRegister dst,
......
......@@ -1556,57 +1556,25 @@ void LiftoffAssembler::emit_s128_xor(LiftoffRegister dst, LiftoffRegister lhs,
void LiftoffAssembler::emit_i8x16_sconvert_i16x8(LiftoffRegister dst,
LiftoffRegister lhs,
LiftoffRegister rhs) {
UseScratchRegisterScope temps(this);
VRegister tmp = temps.AcquireV(kFormat8H);
VRegister right = rhs.fp().V8H();
if (dst == rhs) {
Mov(tmp, right);
right = tmp;
}
Sqxtn(dst.fp().V8B(), lhs.fp().V8H());
Sqxtn2(dst.fp().V16B(), right);
bailout(kSimd, "i8x16_sconvert_i16x8");
}
void LiftoffAssembler::emit_i8x16_uconvert_i16x8(LiftoffRegister dst,
LiftoffRegister lhs,
LiftoffRegister rhs) {
UseScratchRegisterScope temps(this);
VRegister tmp = temps.AcquireV(kFormat8H);
VRegister right = rhs.fp().V8H();
if (dst == rhs) {
Mov(tmp, right);
right = tmp;
}
Sqxtun(dst.fp().V8B(), lhs.fp().V8H());
Sqxtun2(dst.fp().V16B(), right);
bailout(kSimd, "i8x16_uconvert_i16x8");
}
void LiftoffAssembler::emit_i16x8_sconvert_i32x4(LiftoffRegister dst,
LiftoffRegister lhs,
LiftoffRegister rhs) {
UseScratchRegisterScope temps(this);
VRegister tmp = temps.AcquireV(kFormat4S);
VRegister right = rhs.fp().V4S();
if (dst == rhs) {
Mov(tmp, right);
right = tmp;
}
Sqxtn(dst.fp().V4H(), lhs.fp().V4S());
Sqxtn2(dst.fp().V8H(), right);
bailout(kSimd, "i16x8_sconvert_i32x4");
}
void LiftoffAssembler::emit_i16x8_uconvert_i32x4(LiftoffRegister dst,
LiftoffRegister lhs,
LiftoffRegister rhs) {
UseScratchRegisterScope temps(this);
VRegister tmp = temps.AcquireV(kFormat4S);
VRegister right = rhs.fp().V4S();
if (dst == rhs) {
Mov(tmp, right);
right = tmp;
}
Sqxtun(dst.fp().V4H(), lhs.fp().V4S());
Sqxtun2(dst.fp().V8H(), right);
bailout(kSimd, "i16x8_uconvert_i32x4");
}
void LiftoffAssembler::emit_i16x8_sconvert_i8x16_low(LiftoffRegister dst,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment