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