github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/cmd/asm/internal/arch/loong64.go (about) 1 // Copyright 2022 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 // This file encapsulates some of the odd characteristics of the 6 // Loong64 (LoongArch64) instruction set, to minimize its interaction 7 // with the core of the assembler. 8 9 package arch 10 11 import ( 12 "github.com/shogo82148/std/cmd/internal/obj" 13 ) 14 15 // IsLoong64CMP reports whether the op (as defined by an loong64.A* constant) is 16 // one of the CMP instructions that require special handling. 17 func IsLoong64CMP(op obj.As) bool 18 19 // IsLoong64MUL reports whether the op (as defined by an loong64.A* constant) is 20 // one of the MUL/DIV/REM instructions that require special handling. 21 func IsLoong64MUL(op obj.As) bool 22 23 // IsLoong64RDTIME reports whether the op (as defined by an loong64.A* 24 // constant) is one of the RDTIMELW/RDTIMEHW/RDTIMED instructions that 25 // require special handling. 26 func IsLoong64RDTIME(op obj.As) bool