Lines Matching refs:assm
36 inline void Load(LiftoffAssembler* assm, LiftoffRegister dst, Register base, in Load() argument
41 assm->lw(dst.gp(), src); in Load()
44 assm->lw(dst.low_gp(), src); in Load()
45 assm->lw(dst.high_gp(), MemOperand(base, offset + 4)); in Load()
48 assm->lwc1(dst.fp(), src); in Load()
51 assm->Ldc1(dst.fp(), src); in Load()
58 inline void Store(LiftoffAssembler* assm, Register base, int32_t offset, in Store() argument
63 assm->Usw(src.gp(), dst); in Store()
66 assm->Usw(src.low_gp(), dst); in Store()
67 assm->Usw(src.high_gp(), MemOperand(base, offset + 4)); in Store()
70 assm->Uswc1(src.fp(), dst, t8); in Store()
73 assm->Usdc1(src.fp(), dst, t8); in Store()
80 inline void push(LiftoffAssembler* assm, LiftoffRegister reg, ValueType type) { in push() argument
83 assm->push(reg.gp()); in push()
86 assm->Push(reg.high_gp(), reg.low_gp()); in push()
89 assm->addiu(sp, sp, -sizeof(float)); in push()
90 assm->swc1(reg.fp(), MemOperand(sp, 0)); in push()
93 assm->addiu(sp, sp, -sizeof(double)); in push()
94 assm->Sdc1(reg.fp(), MemOperand(sp, 0)); in push()
102 inline void ChangeEndiannessLoad(LiftoffAssembler* assm, LiftoffRegister dst, in ChangeEndiannessLoad() argument
110 assm->TurboAssembler::Move(kScratchReg, tmp.low_gp()); in ChangeEndiannessLoad()
111 assm->TurboAssembler::Move(tmp.low_gp(), tmp.high_gp()); in ChangeEndiannessLoad()
112 assm->TurboAssembler::Move(tmp.high_gp(), kScratchReg); in ChangeEndiannessLoad()
120 tmp = assm->GetUnusedRegister(kGpReg, pinned); in ChangeEndiannessLoad()
121 assm->emit_type_conversion(kExprI32ReinterpretF32, tmp, dst); in ChangeEndiannessLoad()
124 assm->TurboAssembler::ByteSwapSigned(tmp.gp(), tmp.gp(), 4); in ChangeEndiannessLoad()
127 assm->TurboAssembler::ByteSwapSigned(tmp.gp(), tmp.gp(), 2); in ChangeEndiannessLoad()
130 assm->TurboAssembler::ByteSwapUnsigned(tmp.gp(), tmp.gp(), 2); in ChangeEndiannessLoad()
134 tmp = assm->GetUnusedRegister(kGpRegPair, pinned); in ChangeEndiannessLoad()
135 assm->emit_type_conversion(kExprI64ReinterpretF64, tmp, dst); in ChangeEndiannessLoad()
138 assm->TurboAssembler::Move(kScratchReg, tmp.low_gp()); in ChangeEndiannessLoad()
139 assm->TurboAssembler::ByteSwapSigned(tmp.low_gp(), tmp.high_gp(), 4); in ChangeEndiannessLoad()
140 assm->TurboAssembler::ByteSwapSigned(tmp.high_gp(), kScratchReg, 4); in ChangeEndiannessLoad()
143 assm->TurboAssembler::ByteSwapUnsigned(tmp.low_gp(), tmp.high_gp(), 2); in ChangeEndiannessLoad()
144 assm->TurboAssembler::Move(tmp.high_gp(), zero_reg); in ChangeEndiannessLoad()
147 assm->TurboAssembler::ByteSwapSigned(tmp.low_gp(), tmp.high_gp(), 2); in ChangeEndiannessLoad()
148 assm->sra(tmp.high_gp(), tmp.high_gp(), 31); in ChangeEndiannessLoad()
151 assm->TurboAssembler::ByteSwapSigned(tmp.low_gp(), tmp.high_gp(), 4); in ChangeEndiannessLoad()
152 assm->TurboAssembler::Move(tmp.high_gp(), zero_reg); in ChangeEndiannessLoad()
155 assm->TurboAssembler::ByteSwapSigned(tmp.low_gp(), tmp.high_gp(), 4); in ChangeEndiannessLoad()
156 assm->sra(tmp.high_gp(), tmp.high_gp(), 31); in ChangeEndiannessLoad()
165 assm->emit_type_conversion(kExprF32ReinterpretI32, dst, tmp); in ChangeEndiannessLoad()
168 assm->emit_type_conversion(kExprF64ReinterpretI64, dst, tmp); in ChangeEndiannessLoad()
176 inline void ChangeEndiannessStore(LiftoffAssembler* assm, LiftoffRegister src, in ChangeEndiannessStore() argument
183 assm->TurboAssembler::Move(kScratchReg, tmp.low_gp()); in ChangeEndiannessStore()
184 assm->TurboAssembler::Move(tmp.low_gp(), tmp.high_gp()); in ChangeEndiannessStore()
185 assm->TurboAssembler::Move(tmp.high_gp(), kScratchReg); in ChangeEndiannessStore()
192 tmp = assm->GetUnusedRegister(kGpReg, pinned); in ChangeEndiannessStore()
193 assm->emit_type_conversion(kExprI32ReinterpretF32, tmp, src); in ChangeEndiannessStore()
197 assm->TurboAssembler::ByteSwapSigned(tmp.gp(), tmp.gp(), 4); in ChangeEndiannessStore()
201 tmp = assm->GetUnusedRegister(kGpRegPair, pinned); in ChangeEndiannessStore()
202 assm->emit_type_conversion(kExprI64ReinterpretF64, tmp, src); in ChangeEndiannessStore()
207 assm->TurboAssembler::Move(kScratchReg, tmp.low_gp()); in ChangeEndiannessStore()
208 assm->TurboAssembler::ByteSwapSigned(tmp.low_gp(), tmp.high_gp(), 4); in ChangeEndiannessStore()
209 assm->TurboAssembler::ByteSwapSigned(tmp.high_gp(), kScratchReg, 4); in ChangeEndiannessStore()
218 assm->emit_type_conversion(kExprF32ReinterpretI32, src, tmp); in ChangeEndiannessStore()
221 assm->emit_type_conversion(kExprF64ReinterpretI64, src, tmp); in ChangeEndiannessStore()
688 LiftoffAssembler* assm, LiftoffRegister dst, LiftoffRegister src, in Emit64BitShiftOperation() argument
702 LiftoffRegister tmp = assm->GetUnusedRegister(kGpRegPair, pinned); in Emit64BitShiftOperation()
705 assm->TurboAssembler::Branch(&move, eq, amount, Operand(zero_reg)); in Emit64BitShiftOperation()
709 (assm->*emit_shift)(tmp.low_gp(), tmp.high_gp(), src.low_gp(), in Emit64BitShiftOperation()
713 assm->TurboAssembler::Move(dst.high_gp(), tmp.high_gp()); in Emit64BitShiftOperation()
714 assm->TurboAssembler::Move(dst.low_gp(), tmp.low_gp()); in Emit64BitShiftOperation()
716 (assm->*emit_shift)(dst.low_gp(), dst.high_gp(), src.low_gp(), in Emit64BitShiftOperation()
719 assm->TurboAssembler::Branch(&done); in Emit64BitShiftOperation()
722 assm->bind(&move); in Emit64BitShiftOperation()
723 assm->TurboAssembler::Move(dst.high_gp(), src.high_gp()); in Emit64BitShiftOperation()
724 assm->TurboAssembler::Move(dst.low_gp(), src.low_gp()); in Emit64BitShiftOperation()
726 assm->bind(&done); in Emit64BitShiftOperation()