github.com/bir3/gocompiler@v0.9.2202/src/cmd/compile/internal/ssa/flags_arm64_test.s (about) 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 7 TEXT ·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 15 TEXT ·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 23 TEXT ·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