10754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot// Copyright 2015 The Go Authors. All rights reserved. 20754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot// Use of this source code is governed by a BSD-style 30754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot// license that can be found in the LICENSE file. 40754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot 50754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot// +build mips64 mips64le 60754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot 70754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot#include "textflag.h" 80754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot 90754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot// void runtime·memclrNoHeapPointers(void*, uintptr) 100754ce079d936daf401bbf49cb69a318aa79828android-build-team RobotTEXT runtime·memclrNoHeapPointers(SB),NOSPLIT,$0-16 110754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot MOVV ptr+0(FP), R1 120754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot MOVV n+8(FP), R2 130754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot ADDV R1, R2, R4 140754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot 150754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot // if less than 8 bytes, do one byte at a time 160754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot SGTU $8, R2, R3 170754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot BNE R3, out 180754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot 190754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot // do one byte at a time until 8-aligned 200754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot AND $7, R1, R3 210754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot BEQ R3, words 220754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot MOVB R0, (R1) 230754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot ADDV $1, R1 240754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot JMP -4(PC) 250754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot 260754ce079d936daf401bbf49cb69a318aa79828android-build-team Robotwords: 270754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot // do 8 bytes at a time if there is room 280754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot ADDV $-7, R4, R2 290754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot 300754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot SGTU R2, R1, R3 310754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot BEQ R3, out 320754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot MOVV R0, (R1) 330754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot ADDV $8, R1 340754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot JMP -4(PC) 350754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot 360754ce079d936daf401bbf49cb69a318aa79828android-build-team Robotout: 370754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot BEQ R1, R4, done 380754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot MOVB R0, (R1) 390754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot ADDV $1, R1 400754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot JMP -3(PC) 410754ce079d936daf401bbf49cb69a318aa79828android-build-team Robotdone: 420754ce079d936daf401bbf49cb69a318aa79828android-build-team Robot RET 43