Commit 7f45d94d authored by Milad Fa's avatar Milad Fa Committed by V8 LUCI CQ

PPC/S390 [liftoff]: Implement simd load/store under CallC

Change-Id: I374200e97a9e1e302ac026a0d66a7e370f2d33c5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3913245
Commit-Queue: Milad Farazmand <mfarazma@redhat.com>
Reviewed-by: 's avatarJunliang Yan <junyan@redhat.com>
Cr-Commit-Position: refs/heads/main@{#83398}
parent 2a24668a
...@@ -2810,6 +2810,9 @@ void LiftoffAssembler::CallC(const ValueKindSig* sig, ...@@ -2810,6 +2810,9 @@ void LiftoffAssembler::CallC(const ValueKindSig* sig,
case kF64: case kF64:
StoreF64(args->fp(), MemOperand(sp, arg_bytes), r0); StoreF64(args->fp(), MemOperand(sp, arg_bytes), r0);
break; break;
case kS128:
StoreSimd128(args->fp().toSimd(), MemOperand(sp, arg_bytes), r0);
break;
default: default:
UNREACHABLE(); UNREACHABLE();
} }
...@@ -2856,6 +2859,9 @@ void LiftoffAssembler::CallC(const ValueKindSig* sig, ...@@ -2856,6 +2859,9 @@ void LiftoffAssembler::CallC(const ValueKindSig* sig,
case kF64: case kF64:
LoadF64(result_reg->fp(), MemOperand(sp)); LoadF64(result_reg->fp(), MemOperand(sp));
break; break;
case kS128:
LoadSimd128(result_reg->fp().toSimd(), MemOperand(sp), r0);
break;
default: default:
UNREACHABLE(); UNREACHABLE();
} }
......
...@@ -3110,6 +3110,9 @@ void LiftoffAssembler::CallC(const ValueKindSig* sig, ...@@ -3110,6 +3110,9 @@ void LiftoffAssembler::CallC(const ValueKindSig* sig,
case kF64: case kF64:
StoreF64(args->fp(), MemOperand(sp, arg_bytes)); StoreF64(args->fp(), MemOperand(sp, arg_bytes));
break; break;
case kS128:
StoreV128(args->fp(), MemOperand(sp, arg_bytes), r0);
break;
default: default:
UNREACHABLE(); UNREACHABLE();
} }
...@@ -3156,6 +3159,9 @@ void LiftoffAssembler::CallC(const ValueKindSig* sig, ...@@ -3156,6 +3159,9 @@ void LiftoffAssembler::CallC(const ValueKindSig* sig,
case kF64: case kF64:
LoadF64(result_reg->fp(), MemOperand(sp)); LoadF64(result_reg->fp(), MemOperand(sp));
break; break;
case kS128:
LoadV128(result_reg->fp(), MemOperand(sp), r0);
break;
default: default:
UNREACHABLE(); UNREACHABLE();
} }
......
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