| Index: src/s390/macro-assembler-s390.cc
|
| diff --git a/src/s390/macro-assembler-s390.cc b/src/s390/macro-assembler-s390.cc
|
| index e6abf68f1ed19374a5bebab54ba3480238f46257..21058f420f15e106d70ba38f0e58c17ce67f24fc 100644
|
| --- a/src/s390/macro-assembler-s390.cc
|
| +++ b/src/s390/macro-assembler-s390.cc
|
| @@ -205,26 +205,6 @@ void MacroAssembler::Move(DoubleRegister dst, DoubleRegister src) {
|
| }
|
| }
|
|
|
| -void MacroAssembler::InsertDoubleLow(DoubleRegister dst, Register src) {
|
| - StoreDouble(dst, MemOperand(sp, -kDoubleSize));
|
| -#if V8_TARGET_LITTLE_ENDIAN
|
| - StoreW(src, MemOperand(sp, -kDoubleSize));
|
| -#else
|
| - StoreW(src, MemOperand(sp, -kDoubleSize / 2));
|
| -#endif
|
| - ldy(dst, MemOperand(sp, -kDoubleSize));
|
| -}
|
| -
|
| -void MacroAssembler::InsertDoubleHigh(DoubleRegister dst, Register src) {
|
| - StoreDouble(dst, MemOperand(sp, -kDoubleSize));
|
| -#if V8_TARGET_LITTLE_ENDIAN
|
| - StoreW(src, MemOperand(sp, -kDoubleSize / 2));
|
| -#else
|
| - StoreW(src, MemOperand(sp, -kDoubleSize));
|
| -#endif
|
| - ldy(dst, MemOperand(sp, -kDoubleSize));
|
| -}
|
| -
|
| void MacroAssembler::MultiPush(RegList regs, Register location) {
|
| int16_t num_to_push = NumberOfBitsSet(regs);
|
| int16_t stack_offset = num_to_push * kPointerSize;
|
| @@ -1113,9 +1093,8 @@ void MacroAssembler::EnterExitFrame(bool save_doubles, int stack_space) {
|
| ClearRightImm(sp, sp, Operand(3)); // equivalent to &= -8
|
| }
|
|
|
| - StoreP(MemOperand(sp, -kNumRequiredStackFrameSlots * kPointerSize),
|
| - Operand::Zero(), r0);
|
| lay(sp, MemOperand(sp, -kNumRequiredStackFrameSlots * kPointerSize));
|
| + StoreP(MemOperand(sp), Operand::Zero(), r0);
|
| // Set the exit frame sp value to point just before the return address
|
| // location.
|
| lay(r1, MemOperand(sp, kStackFrameSPSlot * kPointerSize));
|
| @@ -2332,9 +2311,8 @@ void MacroAssembler::TestDoubleIsMinusZero(DoubleRegister input,
|
| }
|
|
|
| void MacroAssembler::TestDoubleSign(DoubleRegister input, Register scratch) {
|
| - stdy(input, MemOperand(sp, -kDoubleSize));
|
| - LoadlW(scratch, MemOperand(sp, -kDoubleSize + Register::kExponentOffset));
|
| - Cmp32(scratch, Operand::Zero());
|
| + lgdr(scratch, input);
|
| + cgfi(scratch, Operand::Zero());
|
| }
|
|
|
| void MacroAssembler::TestHeapNumberSign(Register input, Register scratch) {
|
| @@ -2379,8 +2357,8 @@ void MacroAssembler::TryInt32Floor(Register result, DoubleRegister double_input,
|
| Label exception;
|
|
|
| // Move high word into input_high
|
| - StoreDouble(double_input, MemOperand(sp, -kDoubleSize));
|
| lay(sp, MemOperand(sp, -kDoubleSize));
|
| + StoreDouble(double_input, MemOperand(sp));
|
| LoadlW(input_high, MemOperand(sp, Register::kExponentOffset));
|
| la(sp, MemOperand(sp, kDoubleSize));
|
|
|
| @@ -2446,8 +2424,8 @@ void MacroAssembler::TruncateDoubleToI(Register result,
|
| // If we fell through then inline version didn't succeed - call stub instead.
|
| push(r14);
|
| // Put input on stack.
|
| - StoreDouble(double_input, MemOperand(sp, -kDoubleSize));
|
| lay(sp, MemOperand(sp, -kDoubleSize));
|
| + StoreDouble(double_input, MemOperand(sp));
|
|
|
| DoubleToIStub stub(isolate(), sp, result, 0, true, true);
|
| CallStub(&stub);
|
| @@ -5223,12 +5201,12 @@ void MacroAssembler::ShiftRight(Register dst, Register src,
|
|
|
| // Shift right logical for 32-bit integer types.
|
| void MacroAssembler::ShiftRight(Register dst, Register src, Register val) {
|
| - DCHECK(!dst.is(val)); // The lr/srl path clobbers val.
|
| if (dst.is(src)) {
|
| srl(dst, val);
|
| } else if (CpuFeatures::IsSupported(DISTINCT_OPS)) {
|
| srlk(dst, src, val);
|
| } else {
|
| + DCHECK(!dst.is(val)); // The lr/srl path clobbers val.
|
| lr(dst, src);
|
| srl(dst, val);
|
| }
|
| @@ -5249,12 +5227,12 @@ void MacroAssembler::ShiftLeftArith(Register dst, Register src,
|
|
|
| // Shift left arithmetic for 32-bit integer types.
|
| void MacroAssembler::ShiftLeftArith(Register dst, Register src, Register val) {
|
| - DCHECK(!dst.is(val)); // The lr/sla path clobbers val.
|
| if (dst.is(src)) {
|
| sla(dst, val);
|
| } else if (CpuFeatures::IsSupported(DISTINCT_OPS)) {
|
| slak(dst, src, val);
|
| } else {
|
| + DCHECK(!dst.is(val)); // The lr/sla path clobbers val.
|
| lr(dst, src);
|
| sla(dst, val);
|
| }
|
| @@ -5275,12 +5253,12 @@ void MacroAssembler::ShiftRightArith(Register dst, Register src,
|
|
|
| // Shift right arithmetic for 32-bit integer types.
|
| void MacroAssembler::ShiftRightArith(Register dst, Register src, Register val) {
|
| - DCHECK(!dst.is(val)); // The lr/sra path clobbers val.
|
| if (dst.is(src)) {
|
| sra(dst, val);
|
| } else if (CpuFeatures::IsSupported(DISTINCT_OPS)) {
|
| srak(dst, src, val);
|
| } else {
|
| + DCHECK(!dst.is(val)); // The lr/sra path clobbers val.
|
| lr(dst, src);
|
| sra(dst, val);
|
| }
|
|
|