| // Copyright 2020 The Go Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style | |
| // license that can be found in the LICENSE file. | |
| #include "textflag.h" | |
| TEXT 路asmAddFlags(SB),NOSPLIT,$0-24 | |
| MOVD x+0(FP), R0 | |
| MOVD y+8(FP), R1 | |
| CMN R0, R1 | |
| WORD $0xd53b4200 // MOVD NZCV, R0 | |
| MOVD R0, ret+16(FP) | |
| RET | |
| TEXT 路asmSubFlags(SB),NOSPLIT,$0-24 | |
| MOVD x+0(FP), R0 | |
| MOVD y+8(FP), R1 | |
| CMP R1, R0 | |
| WORD $0xd53b4200 // MOVD NZCV, R0 | |
| MOVD R0, ret+16(FP) | |
| RET | |
| TEXT 路asmAndFlags(SB),NOSPLIT,$0-24 | |
| MOVD x+0(FP), R0 | |
| MOVD y+8(FP), R1 | |
| TST R1, R0 | |
| WORD $0xd53b4200 // MOVD NZCV, R0 | |
| BIC $0x30000000, R0 // clear C, V bits, as TST does not change those flags | |
| MOVD R0, ret+16(FP) | |
| RET | |