• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2020 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5#include "textflag.h"
6
7TEXT ·asmAddFlags(SB),NOSPLIT,$0-24
8	MOVD	x+0(FP), R0
9	MOVD	y+8(FP), R1
10	CMN	R0, R1
11	WORD	$0xd53b4200 //	MOVD	NZCV, R0
12	MOVD	R0, ret+16(FP)
13	RET
14
15TEXT ·asmSubFlags(SB),NOSPLIT,$0-24
16	MOVD	x+0(FP), R0
17	MOVD	y+8(FP), R1
18	CMP	R1, R0
19	WORD	$0xd53b4200 //	MOVD	NZCV, R0
20	MOVD	R0, ret+16(FP)
21	RET
22
23TEXT ·asmAndFlags(SB),NOSPLIT,$0-24
24	MOVD	x+0(FP), R0
25	MOVD	y+8(FP), R1
26	TST	R1, R0
27	WORD	$0xd53b4200 //	MOVD	NZCV, R0
28	BIC	$0x30000000, R0 // clear C, V bits, as TST does not change those flags
29	MOVD	R0, ret+16(FP)
30	RET
31