[mips][wasm-simd] Merge all any_true to v128.any_true
Port: 6d3a53e7f2
Bug: v8:11331
Change-Id: I6aaba8e4d25e01121f0f7e01f67af3b5c7202ba6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2666712
Auto-Submit: Liu yu <liuyu@loongson.cn>
Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#72470}
This commit is contained in:
parent
fb0f95bcbf
commit
bc70b6e475
@ -3048,9 +3048,7 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
|
||||
i.InputSimd128Register(0));
|
||||
break;
|
||||
}
|
||||
case kMipsV32x4AnyTrue:
|
||||
case kMipsV16x8AnyTrue:
|
||||
case kMipsV8x16AnyTrue: {
|
||||
case kMipsV128AnyTrue: {
|
||||
CpuFeatureScope msa_scope(tasm(), MIPS_SIMD);
|
||||
Register dst = i.OutputRegister();
|
||||
Label all_false;
|
||||
|
@ -299,12 +299,10 @@ namespace compiler {
|
||||
V(MipsS128Not) \
|
||||
V(MipsS128Select) \
|
||||
V(MipsS128AndNot) \
|
||||
V(MipsV32x4AnyTrue) \
|
||||
V(MipsV32x4AllTrue) \
|
||||
V(MipsV16x8AnyTrue) \
|
||||
V(MipsV16x8AllTrue) \
|
||||
V(MipsV8x16AnyTrue) \
|
||||
V(MipsV8x16AllTrue) \
|
||||
V(MipsV128AnyTrue) \
|
||||
V(MipsS32x4InterleaveRight) \
|
||||
V(MipsS32x4InterleaveLeft) \
|
||||
V(MipsS32x4PackEven) \
|
||||
|
@ -273,12 +273,10 @@ int InstructionScheduler::GetTargetInstructionFlags(
|
||||
case kMipsS16x8InterleaveRight:
|
||||
case kMipsS16x8PackEven:
|
||||
case kMipsS16x8PackOdd:
|
||||
case kMipsV8x16AllTrue:
|
||||
case kMipsV8x16AnyTrue:
|
||||
case kMipsV32x4AllTrue:
|
||||
case kMipsV32x4AnyTrue:
|
||||
case kMipsV16x8AllTrue:
|
||||
case kMipsV16x8AnyTrue:
|
||||
case kMipsV8x16AllTrue:
|
||||
case kMipsV128AnyTrue:
|
||||
case kMipsS32x4InterleaveEven:
|
||||
case kMipsS32x4InterleaveLeft:
|
||||
case kMipsS32x4InterleaveOdd:
|
||||
|
@ -2153,12 +2153,10 @@ void InstructionSelector::VisitInt64AbsWithOverflow(Node* node) {
|
||||
V(I8x16Neg, kMipsI8x16Neg) \
|
||||
V(I8x16BitMask, kMipsI8x16BitMask) \
|
||||
V(S128Not, kMipsS128Not) \
|
||||
V(V32x4AnyTrue, kMipsV32x4AnyTrue) \
|
||||
V(V32x4AllTrue, kMipsV32x4AllTrue) \
|
||||
V(V16x8AnyTrue, kMipsV16x8AnyTrue) \
|
||||
V(V16x8AllTrue, kMipsV16x8AllTrue) \
|
||||
V(V8x16AnyTrue, kMipsV8x16AnyTrue) \
|
||||
V(V8x16AllTrue, kMipsV8x16AllTrue)
|
||||
V(V8x16AllTrue, kMipsV8x16AllTrue) \
|
||||
V(V128AnyTrue, kMipsV128AnyTrue)
|
||||
|
||||
#define SIMD_SHIFT_OP_LIST(V) \
|
||||
V(I64x2Shl) \
|
||||
|
@ -3248,9 +3248,7 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
|
||||
i.InputSimd128Register(0));
|
||||
break;
|
||||
}
|
||||
case kMips64V32x4AnyTrue:
|
||||
case kMips64V16x8AnyTrue:
|
||||
case kMips64V8x16AnyTrue: {
|
||||
case kMips64V128AnyTrue: {
|
||||
CpuFeatureScope msa_scope(tasm(), MIPS_SIMD);
|
||||
Register dst = i.OutputRegister();
|
||||
Label all_false;
|
||||
|
@ -324,12 +324,10 @@ namespace compiler {
|
||||
V(Mips64S128Not) \
|
||||
V(Mips64S128Select) \
|
||||
V(Mips64S128AndNot) \
|
||||
V(Mips64V32x4AnyTrue) \
|
||||
V(Mips64V32x4AllTrue) \
|
||||
V(Mips64V16x8AnyTrue) \
|
||||
V(Mips64V16x8AllTrue) \
|
||||
V(Mips64V8x16AnyTrue) \
|
||||
V(Mips64V8x16AllTrue) \
|
||||
V(Mips64V128AnyTrue) \
|
||||
V(Mips64S32x4InterleaveRight) \
|
||||
V(Mips64S32x4InterleaveLeft) \
|
||||
V(Mips64S32x4PackEven) \
|
||||
|
@ -292,12 +292,10 @@ int InstructionScheduler::GetTargetInstructionFlags(
|
||||
case kMips64S16x8PackOdd:
|
||||
case kMips64S16x2Reverse:
|
||||
case kMips64S16x4Reverse:
|
||||
case kMips64V8x16AllTrue:
|
||||
case kMips64V8x16AnyTrue:
|
||||
case kMips64V32x4AllTrue:
|
||||
case kMips64V32x4AnyTrue:
|
||||
case kMips64V16x8AllTrue:
|
||||
case kMips64V16x8AnyTrue:
|
||||
case kMips64V8x16AllTrue:
|
||||
case kMips64V128AnyTrue:
|
||||
case kMips64S32x4InterleaveEven:
|
||||
case kMips64S32x4InterleaveOdd:
|
||||
case kMips64S32x4InterleaveLeft:
|
||||
|
@ -2891,12 +2891,10 @@ void InstructionSelector::VisitInt64AbsWithOverflow(Node* node) {
|
||||
V(I8x16Abs, kMips64I8x16Abs) \
|
||||
V(I8x16BitMask, kMips64I8x16BitMask) \
|
||||
V(S128Not, kMips64S128Not) \
|
||||
V(V32x4AnyTrue, kMips64V32x4AnyTrue) \
|
||||
V(V32x4AllTrue, kMips64V32x4AllTrue) \
|
||||
V(V16x8AnyTrue, kMips64V16x8AnyTrue) \
|
||||
V(V16x8AllTrue, kMips64V16x8AllTrue) \
|
||||
V(V8x16AnyTrue, kMips64V8x16AnyTrue) \
|
||||
V(V8x16AllTrue, kMips64V8x16AllTrue)
|
||||
V(V8x16AllTrue, kMips64V8x16AllTrue) \
|
||||
V(V128AnyTrue, kMips64V128AnyTrue)
|
||||
|
||||
#define SIMD_SHIFT_OP_LIST(V) \
|
||||
V(I64x2Shl) \
|
||||
|
@ -1987,9 +1987,9 @@ void LiftoffAssembler::emit_i8x16_neg(LiftoffRegister dst,
|
||||
bailout(kSimd, "emit_i8x16_neg");
|
||||
}
|
||||
|
||||
void LiftoffAssembler::emit_v8x16_anytrue(LiftoffRegister dst,
|
||||
void LiftoffAssembler::emit_v128_anytrue(LiftoffRegister dst,
|
||||
LiftoffRegister src) {
|
||||
bailout(kSimd, "emit_v8x16_anytrue");
|
||||
bailout(kSimd, "emit_v128_anytrue");
|
||||
}
|
||||
|
||||
void LiftoffAssembler::emit_v8x16_alltrue(LiftoffRegister dst,
|
||||
@ -2102,11 +2102,6 @@ void LiftoffAssembler::emit_i16x8_neg(LiftoffRegister dst,
|
||||
bailout(kSimd, "emit_i16x8_neg");
|
||||
}
|
||||
|
||||
void LiftoffAssembler::emit_v16x8_anytrue(LiftoffRegister dst,
|
||||
LiftoffRegister src) {
|
||||
bailout(kSimd, "emit_v16x8_anytrue");
|
||||
}
|
||||
|
||||
void LiftoffAssembler::emit_v16x8_alltrue(LiftoffRegister dst,
|
||||
LiftoffRegister src) {
|
||||
bailout(kSimd, "emit_v16x8_alltrue");
|
||||
@ -2217,11 +2212,6 @@ void LiftoffAssembler::emit_i32x4_neg(LiftoffRegister dst,
|
||||
bailout(kSimd, "emit_i32x4_neg");
|
||||
}
|
||||
|
||||
void LiftoffAssembler::emit_v32x4_anytrue(LiftoffRegister dst,
|
||||
LiftoffRegister src) {
|
||||
bailout(kSimd, "emit_v32x4_anytrue");
|
||||
}
|
||||
|
||||
void LiftoffAssembler::emit_v32x4_alltrue(LiftoffRegister dst,
|
||||
LiftoffRegister src) {
|
||||
bailout(kSimd, "emit_v32x4_alltrue");
|
||||
|
@ -1939,7 +1939,7 @@ void LiftoffAssembler::emit_i8x16_neg(LiftoffRegister dst,
|
||||
subv_b(dst.fp().toW(), kSimd128RegZero, src.fp().toW());
|
||||
}
|
||||
|
||||
void LiftoffAssembler::emit_v8x16_anytrue(LiftoffRegister dst,
|
||||
void LiftoffAssembler::emit_v128_anytrue(LiftoffRegister dst,
|
||||
LiftoffRegister src) {
|
||||
liftoff::EmitAnyTrue(this, dst, src);
|
||||
}
|
||||
@ -2069,11 +2069,6 @@ void LiftoffAssembler::emit_i16x8_neg(LiftoffRegister dst,
|
||||
subv_h(dst.fp().toW(), kSimd128RegZero, src.fp().toW());
|
||||
}
|
||||
|
||||
void LiftoffAssembler::emit_v16x8_anytrue(LiftoffRegister dst,
|
||||
LiftoffRegister src) {
|
||||
liftoff::EmitAnyTrue(this, dst, src);
|
||||
}
|
||||
|
||||
void LiftoffAssembler::emit_v16x8_alltrue(LiftoffRegister dst,
|
||||
LiftoffRegister src) {
|
||||
liftoff::EmitAllTrue(this, dst, src, MSA_BRANCH_H);
|
||||
@ -2198,11 +2193,6 @@ void LiftoffAssembler::emit_i32x4_neg(LiftoffRegister dst,
|
||||
subv_w(dst.fp().toW(), kSimd128RegZero, src.fp().toW());
|
||||
}
|
||||
|
||||
void LiftoffAssembler::emit_v32x4_anytrue(LiftoffRegister dst,
|
||||
LiftoffRegister src) {
|
||||
liftoff::EmitAnyTrue(this, dst, src);
|
||||
}
|
||||
|
||||
void LiftoffAssembler::emit_v32x4_alltrue(LiftoffRegister dst,
|
||||
LiftoffRegister src) {
|
||||
liftoff::EmitAllTrue(this, dst, src, MSA_BRANCH_W);
|
||||
|
Loading…
Reference in New Issue
Block a user