Source file src/cmd/vendor/golang.org/x/arch/loong64/loong64asm/arg.go
1 // Copyright 2024 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 package loong64asm 6 7 // Naming for Go decoder arguments: 8 // 9 // - arg_fd: a Floating Point operand register fd encoded in the fd[4:0] field 10 // 11 // - arg_fj: a Floating Point operand register fj encoded in the fj[9:5] field 12 // 13 // - arg_fk: a Floating Point operand register fk encoded in the fk[14:10] field 14 // 15 // - arg_fa: a Floating Point operand register fa encoded in the fa[19:15] field 16 // 17 // - arg_rd: a general-purpose register rd encoded in the rd[4:0] field 18 // 19 // - arg_rj: a general-purpose register rj encoded in the rj[9:5] field 20 // 21 // - arg_rk: a general-purpose register rk encoded in the rk[14:10] field 22 // 23 // - arg_fcsr_4_0: float control status register encoded in [4:0] field 24 // 25 // - arg_cd_2_0: condition flag register encoded in [2:0] field 26 // 27 // - arg_sa2_16_15: shift bits constant encoded in [16:15] field 28 // 29 // - arg_code_14_0: arg for exception process routine encoded in [14:0] field 30 // 31 // - arg_ui5_14_10: 5bits unsigned immediate 32 // 33 // - arg_lsbw: For details, please refer to chapter 2.2.3.8 of instruction manual 34 // 35 // - arg_msbw: For details, please refer to chapter 2.2.3.9 of instruction manual 36 // 37 // - arg_hint_4_0: hint field implied the prefetch type and the data should fetch to cache's level 38 // 0: load to data cache level 1 39 // 8: store to data cache level 1 40 // other: no define 41 // 42 // - arg_si12_21_10: 12bits signed immediate 43 44 type instArg uint16 45 46 const ( 47 _ instArg = iota 48 // 1-5 49 arg_fd 50 arg_fj 51 arg_fk 52 arg_fa 53 arg_rd 54 // 6-10 55 arg_rj 56 arg_rk 57 arg_op_4_0 58 arg_fcsr_4_0 59 arg_fcsr_9_5 60 // 11-15 61 arg_csr_23_10 62 arg_cd 63 arg_cj 64 arg_ca 65 arg_sa2_16_15 66 // 16-20 67 arg_sa3_17_15 68 arg_code_4_0 69 arg_code_14_0 70 arg_ui5_14_10 71 arg_ui6_15_10 72 // 21-25 73 arg_ui12_21_10 74 arg_lsbw 75 arg_msbw 76 arg_lsbd 77 arg_msbd 78 // 26-30 79 arg_hint_4_0 80 arg_hint_14_0 81 arg_level_14_0 82 arg_level_17_10 83 arg_seq_17_10 84 // 31-35 85 arg_si12_21_10 86 arg_si14_23_10 87 arg_si16_25_10 88 arg_si20_24_5 89 arg_offset_20_0 90 // 36~ 91 arg_offset_25_0 92 arg_offset_15_0 93 ) 94