Source file src/cmd/internal/obj/riscv/inst.go

     1  // Code generated by ./parse.py -go rv64_a rv64_d rv64_f rv64_i rv64_m rv64_q rv64_zba rv64_zbb rv64_zbs rv_a rv_d rv_f rv_i rv_m rv_q rv_zba rv_zbb rv_zbs rv_s rv_system rv_zicsr; DO NOT EDIT.
     2  package riscv
     3  
     4  import "cmd/internal/obj"
     5  
     6  type inst struct {
     7  	opcode uint32
     8  	funct3 uint32
     9  	rs2    uint32
    10  	csr    int64
    11  	funct7 uint32
    12  }
    13  
    14  func encode(a obj.As) *inst {
    15  	switch a {
    16  	case AADD:
    17  		return &inst{0x33, 0x0, 0x0, 0, 0x0}
    18  	case AADDUW:
    19  		return &inst{0x3b, 0x0, 0x0, 128, 0x4}
    20  	case AADDI:
    21  		return &inst{0x13, 0x0, 0x0, 0, 0x0}
    22  	case AADDIW:
    23  		return &inst{0x1b, 0x0, 0x0, 0, 0x0}
    24  	case AADDW:
    25  		return &inst{0x3b, 0x0, 0x0, 0, 0x0}
    26  	case AAMOADDD:
    27  		return &inst{0x2f, 0x3, 0x0, 0, 0x0}
    28  	case AAMOADDW:
    29  		return &inst{0x2f, 0x2, 0x0, 0, 0x0}
    30  	case AAMOANDD:
    31  		return &inst{0x2f, 0x3, 0x0, 1536, 0x30}
    32  	case AAMOANDW:
    33  		return &inst{0x2f, 0x2, 0x0, 1536, 0x30}
    34  	case AAMOMAXD:
    35  		return &inst{0x2f, 0x3, 0x0, -1536, 0x50}
    36  	case AAMOMAXW:
    37  		return &inst{0x2f, 0x2, 0x0, -1536, 0x50}
    38  	case AAMOMAXUD:
    39  		return &inst{0x2f, 0x3, 0x0, -512, 0x70}
    40  	case AAMOMAXUW:
    41  		return &inst{0x2f, 0x2, 0x0, -512, 0x70}
    42  	case AAMOMIND:
    43  		return &inst{0x2f, 0x3, 0x0, -2048, 0x40}
    44  	case AAMOMINW:
    45  		return &inst{0x2f, 0x2, 0x0, -2048, 0x40}
    46  	case AAMOMINUD:
    47  		return &inst{0x2f, 0x3, 0x0, -1024, 0x60}
    48  	case AAMOMINUW:
    49  		return &inst{0x2f, 0x2, 0x0, -1024, 0x60}
    50  	case AAMOORD:
    51  		return &inst{0x2f, 0x3, 0x0, 1024, 0x20}
    52  	case AAMOORW:
    53  		return &inst{0x2f, 0x2, 0x0, 1024, 0x20}
    54  	case AAMOSWAPD:
    55  		return &inst{0x2f, 0x3, 0x0, 128, 0x4}
    56  	case AAMOSWAPW:
    57  		return &inst{0x2f, 0x2, 0x0, 128, 0x4}
    58  	case AAMOXORD:
    59  		return &inst{0x2f, 0x3, 0x0, 512, 0x10}
    60  	case AAMOXORW:
    61  		return &inst{0x2f, 0x2, 0x0, 512, 0x10}
    62  	case AAND:
    63  		return &inst{0x33, 0x7, 0x0, 0, 0x0}
    64  	case AANDI:
    65  		return &inst{0x13, 0x7, 0x0, 0, 0x0}
    66  	case AANDN:
    67  		return &inst{0x33, 0x7, 0x0, 1024, 0x20}
    68  	case AAUIPC:
    69  		return &inst{0x17, 0x0, 0x0, 0, 0x0}
    70  	case ABCLR:
    71  		return &inst{0x33, 0x1, 0x0, 1152, 0x24}
    72  	case ABCLRI:
    73  		return &inst{0x13, 0x1, 0x0, 1152, 0x24}
    74  	case ABEQ:
    75  		return &inst{0x63, 0x0, 0x0, 0, 0x0}
    76  	case ABEXT:
    77  		return &inst{0x33, 0x5, 0x0, 1152, 0x24}
    78  	case ABEXTI:
    79  		return &inst{0x13, 0x5, 0x0, 1152, 0x24}
    80  	case ABGE:
    81  		return &inst{0x63, 0x5, 0x0, 0, 0x0}
    82  	case ABGEU:
    83  		return &inst{0x63, 0x7, 0x0, 0, 0x0}
    84  	case ABINV:
    85  		return &inst{0x33, 0x1, 0x0, 1664, 0x34}
    86  	case ABINVI:
    87  		return &inst{0x13, 0x1, 0x0, 1664, 0x34}
    88  	case ABLT:
    89  		return &inst{0x63, 0x4, 0x0, 0, 0x0}
    90  	case ABLTU:
    91  		return &inst{0x63, 0x6, 0x0, 0, 0x0}
    92  	case ABNE:
    93  		return &inst{0x63, 0x1, 0x0, 0, 0x0}
    94  	case ABSET:
    95  		return &inst{0x33, 0x1, 0x0, 640, 0x14}
    96  	case ABSETI:
    97  		return &inst{0x13, 0x1, 0x0, 640, 0x14}
    98  	case ACLZ:
    99  		return &inst{0x13, 0x1, 0x0, 1536, 0x30}
   100  	case ACLZW:
   101  		return &inst{0x1b, 0x1, 0x0, 1536, 0x30}
   102  	case ACPOP:
   103  		return &inst{0x13, 0x1, 0x2, 1538, 0x30}
   104  	case ACPOPW:
   105  		return &inst{0x1b, 0x1, 0x2, 1538, 0x30}
   106  	case ACSRRC:
   107  		return &inst{0x73, 0x3, 0x0, 0, 0x0}
   108  	case ACSRRCI:
   109  		return &inst{0x73, 0x7, 0x0, 0, 0x0}
   110  	case ACSRRS:
   111  		return &inst{0x73, 0x2, 0x0, 0, 0x0}
   112  	case ACSRRSI:
   113  		return &inst{0x73, 0x6, 0x0, 0, 0x0}
   114  	case ACSRRW:
   115  		return &inst{0x73, 0x1, 0x0, 0, 0x0}
   116  	case ACSRRWI:
   117  		return &inst{0x73, 0x5, 0x0, 0, 0x0}
   118  	case ACTZ:
   119  		return &inst{0x13, 0x1, 0x1, 1537, 0x30}
   120  	case ACTZW:
   121  		return &inst{0x1b, 0x1, 0x1, 1537, 0x30}
   122  	case ADIV:
   123  		return &inst{0x33, 0x4, 0x0, 32, 0x1}
   124  	case ADIVU:
   125  		return &inst{0x33, 0x5, 0x0, 32, 0x1}
   126  	case ADIVUW:
   127  		return &inst{0x3b, 0x5, 0x0, 32, 0x1}
   128  	case ADIVW:
   129  		return &inst{0x3b, 0x4, 0x0, 32, 0x1}
   130  	case AEBREAK:
   131  		return &inst{0x73, 0x0, 0x1, 1, 0x0}
   132  	case AECALL:
   133  		return &inst{0x73, 0x0, 0x0, 0, 0x0}
   134  	case AFADDD:
   135  		return &inst{0x53, 0x0, 0x0, 32, 0x1}
   136  	case AFADDQ:
   137  		return &inst{0x53, 0x0, 0x0, 96, 0x3}
   138  	case AFADDS:
   139  		return &inst{0x53, 0x0, 0x0, 0, 0x0}
   140  	case AFCLASSD:
   141  		return &inst{0x53, 0x1, 0x0, -480, 0x71}
   142  	case AFCLASSQ:
   143  		return &inst{0x53, 0x1, 0x0, -416, 0x73}
   144  	case AFCLASSS:
   145  		return &inst{0x53, 0x1, 0x0, -512, 0x70}
   146  	case AFCVTDL:
   147  		return &inst{0x53, 0x0, 0x2, -734, 0x69}
   148  	case AFCVTDLU:
   149  		return &inst{0x53, 0x0, 0x3, -733, 0x69}
   150  	case AFCVTDQ:
   151  		return &inst{0x53, 0x0, 0x3, 1059, 0x21}
   152  	case AFCVTDS:
   153  		return &inst{0x53, 0x0, 0x0, 1056, 0x21}
   154  	case AFCVTDW:
   155  		return &inst{0x53, 0x0, 0x0, -736, 0x69}
   156  	case AFCVTDWU:
   157  		return &inst{0x53, 0x0, 0x1, -735, 0x69}
   158  	case AFCVTLD:
   159  		return &inst{0x53, 0x0, 0x2, -990, 0x61}
   160  	case AFCVTLQ:
   161  		return &inst{0x53, 0x0, 0x2, -926, 0x63}
   162  	case AFCVTLS:
   163  		return &inst{0x53, 0x0, 0x2, -1022, 0x60}
   164  	case AFCVTLUD:
   165  		return &inst{0x53, 0x0, 0x3, -989, 0x61}
   166  	case AFCVTLUQ:
   167  		return &inst{0x53, 0x0, 0x3, -925, 0x63}
   168  	case AFCVTLUS:
   169  		return &inst{0x53, 0x0, 0x3, -1021, 0x60}
   170  	case AFCVTQD:
   171  		return &inst{0x53, 0x0, 0x1, 1121, 0x23}
   172  	case AFCVTQL:
   173  		return &inst{0x53, 0x0, 0x2, -670, 0x6b}
   174  	case AFCVTQLU:
   175  		return &inst{0x53, 0x0, 0x3, -669, 0x6b}
   176  	case AFCVTQS:
   177  		return &inst{0x53, 0x0, 0x0, 1120, 0x23}
   178  	case AFCVTQW:
   179  		return &inst{0x53, 0x0, 0x0, -672, 0x6b}
   180  	case AFCVTQWU:
   181  		return &inst{0x53, 0x0, 0x1, -671, 0x6b}
   182  	case AFCVTSD:
   183  		return &inst{0x53, 0x0, 0x1, 1025, 0x20}
   184  	case AFCVTSL:
   185  		return &inst{0x53, 0x0, 0x2, -766, 0x68}
   186  	case AFCVTSLU:
   187  		return &inst{0x53, 0x0, 0x3, -765, 0x68}
   188  	case AFCVTSQ:
   189  		return &inst{0x53, 0x0, 0x3, 1027, 0x20}
   190  	case AFCVTSW:
   191  		return &inst{0x53, 0x0, 0x0, -768, 0x68}
   192  	case AFCVTSWU:
   193  		return &inst{0x53, 0x0, 0x1, -767, 0x68}
   194  	case AFCVTWD:
   195  		return &inst{0x53, 0x0, 0x0, -992, 0x61}
   196  	case AFCVTWQ:
   197  		return &inst{0x53, 0x0, 0x0, -928, 0x63}
   198  	case AFCVTWS:
   199  		return &inst{0x53, 0x0, 0x0, -1024, 0x60}
   200  	case AFCVTWUD:
   201  		return &inst{0x53, 0x0, 0x1, -991, 0x61}
   202  	case AFCVTWUQ:
   203  		return &inst{0x53, 0x0, 0x1, -927, 0x63}
   204  	case AFCVTWUS:
   205  		return &inst{0x53, 0x0, 0x1, -1023, 0x60}
   206  	case AFDIVD:
   207  		return &inst{0x53, 0x0, 0x0, 416, 0xd}
   208  	case AFDIVQ:
   209  		return &inst{0x53, 0x0, 0x0, 480, 0xf}
   210  	case AFDIVS:
   211  		return &inst{0x53, 0x0, 0x0, 384, 0xc}
   212  	case AFENCE:
   213  		return &inst{0xf, 0x0, 0x0, 0, 0x0}
   214  	case AFENCETSO:
   215  		return &inst{0xf, 0x0, 0x13, -1997, 0x41}
   216  	case AFEQD:
   217  		return &inst{0x53, 0x2, 0x0, -1504, 0x51}
   218  	case AFEQQ:
   219  		return &inst{0x53, 0x2, 0x0, -1440, 0x53}
   220  	case AFEQS:
   221  		return &inst{0x53, 0x2, 0x0, -1536, 0x50}
   222  	case AFLD:
   223  		return &inst{0x7, 0x3, 0x0, 0, 0x0}
   224  	case AFLED:
   225  		return &inst{0x53, 0x0, 0x0, -1504, 0x51}
   226  	case AFLEQ:
   227  		return &inst{0x53, 0x0, 0x0, -1440, 0x53}
   228  	case AFLES:
   229  		return &inst{0x53, 0x0, 0x0, -1536, 0x50}
   230  	case AFLQ:
   231  		return &inst{0x7, 0x4, 0x0, 0, 0x0}
   232  	case AFLTD:
   233  		return &inst{0x53, 0x1, 0x0, -1504, 0x51}
   234  	case AFLTQ:
   235  		return &inst{0x53, 0x1, 0x0, -1440, 0x53}
   236  	case AFLTS:
   237  		return &inst{0x53, 0x1, 0x0, -1536, 0x50}
   238  	case AFLW:
   239  		return &inst{0x7, 0x2, 0x0, 0, 0x0}
   240  	case AFMADDD:
   241  		return &inst{0x43, 0x0, 0x0, 32, 0x1}
   242  	case AFMADDQ:
   243  		return &inst{0x43, 0x0, 0x0, 96, 0x3}
   244  	case AFMADDS:
   245  		return &inst{0x43, 0x0, 0x0, 0, 0x0}
   246  	case AFMAXD:
   247  		return &inst{0x53, 0x1, 0x0, 672, 0x15}
   248  	case AFMAXQ:
   249  		return &inst{0x53, 0x1, 0x0, 736, 0x17}
   250  	case AFMAXS:
   251  		return &inst{0x53, 0x1, 0x0, 640, 0x14}
   252  	case AFMIND:
   253  		return &inst{0x53, 0x0, 0x0, 672, 0x15}
   254  	case AFMINQ:
   255  		return &inst{0x53, 0x0, 0x0, 736, 0x17}
   256  	case AFMINS:
   257  		return &inst{0x53, 0x0, 0x0, 640, 0x14}
   258  	case AFMSUBD:
   259  		return &inst{0x47, 0x0, 0x0, 32, 0x1}
   260  	case AFMSUBQ:
   261  		return &inst{0x47, 0x0, 0x0, 96, 0x3}
   262  	case AFMSUBS:
   263  		return &inst{0x47, 0x0, 0x0, 0, 0x0}
   264  	case AFMULD:
   265  		return &inst{0x53, 0x0, 0x0, 288, 0x9}
   266  	case AFMULQ:
   267  		return &inst{0x53, 0x0, 0x0, 352, 0xb}
   268  	case AFMULS:
   269  		return &inst{0x53, 0x0, 0x0, 256, 0x8}
   270  	case AFMVDX:
   271  		return &inst{0x53, 0x0, 0x0, -224, 0x79}
   272  	case AFMVSX:
   273  		return &inst{0x53, 0x0, 0x0, -256, 0x78}
   274  	case AFMVWX:
   275  		return &inst{0x53, 0x0, 0x0, -256, 0x78}
   276  	case AFMVXD:
   277  		return &inst{0x53, 0x0, 0x0, -480, 0x71}
   278  	case AFMVXS:
   279  		return &inst{0x53, 0x0, 0x0, -512, 0x70}
   280  	case AFMVXW:
   281  		return &inst{0x53, 0x0, 0x0, -512, 0x70}
   282  	case AFNMADDD:
   283  		return &inst{0x4f, 0x0, 0x0, 32, 0x1}
   284  	case AFNMADDQ:
   285  		return &inst{0x4f, 0x0, 0x0, 96, 0x3}
   286  	case AFNMADDS:
   287  		return &inst{0x4f, 0x0, 0x0, 0, 0x0}
   288  	case AFNMSUBD:
   289  		return &inst{0x4b, 0x0, 0x0, 32, 0x1}
   290  	case AFNMSUBQ:
   291  		return &inst{0x4b, 0x0, 0x0, 96, 0x3}
   292  	case AFNMSUBS:
   293  		return &inst{0x4b, 0x0, 0x0, 0, 0x0}
   294  	case AFRCSR:
   295  		return &inst{0x73, 0x2, 0x3, 3, 0x0}
   296  	case AFRFLAGS:
   297  		return &inst{0x73, 0x2, 0x1, 1, 0x0}
   298  	case AFRRM:
   299  		return &inst{0x73, 0x2, 0x2, 2, 0x0}
   300  	case AFSCSR:
   301  		return &inst{0x73, 0x1, 0x3, 3, 0x0}
   302  	case AFSD:
   303  		return &inst{0x27, 0x3, 0x0, 0, 0x0}
   304  	case AFSFLAGS:
   305  		return &inst{0x73, 0x1, 0x1, 1, 0x0}
   306  	case AFSFLAGSI:
   307  		return &inst{0x73, 0x5, 0x1, 1, 0x0}
   308  	case AFSGNJD:
   309  		return &inst{0x53, 0x0, 0x0, 544, 0x11}
   310  	case AFSGNJQ:
   311  		return &inst{0x53, 0x0, 0x0, 608, 0x13}
   312  	case AFSGNJS:
   313  		return &inst{0x53, 0x0, 0x0, 512, 0x10}
   314  	case AFSGNJND:
   315  		return &inst{0x53, 0x1, 0x0, 544, 0x11}
   316  	case AFSGNJNQ:
   317  		return &inst{0x53, 0x1, 0x0, 608, 0x13}
   318  	case AFSGNJNS:
   319  		return &inst{0x53, 0x1, 0x0, 512, 0x10}
   320  	case AFSGNJXD:
   321  		return &inst{0x53, 0x2, 0x0, 544, 0x11}
   322  	case AFSGNJXQ:
   323  		return &inst{0x53, 0x2, 0x0, 608, 0x13}
   324  	case AFSGNJXS:
   325  		return &inst{0x53, 0x2, 0x0, 512, 0x10}
   326  	case AFSQ:
   327  		return &inst{0x27, 0x4, 0x0, 0, 0x0}
   328  	case AFSQRTD:
   329  		return &inst{0x53, 0x0, 0x0, 1440, 0x2d}
   330  	case AFSQRTQ:
   331  		return &inst{0x53, 0x0, 0x0, 1504, 0x2f}
   332  	case AFSQRTS:
   333  		return &inst{0x53, 0x0, 0x0, 1408, 0x2c}
   334  	case AFSRM:
   335  		return &inst{0x73, 0x1, 0x2, 2, 0x0}
   336  	case AFSRMI:
   337  		return &inst{0x73, 0x5, 0x2, 2, 0x0}
   338  	case AFSUBD:
   339  		return &inst{0x53, 0x0, 0x0, 160, 0x5}
   340  	case AFSUBQ:
   341  		return &inst{0x53, 0x0, 0x0, 224, 0x7}
   342  	case AFSUBS:
   343  		return &inst{0x53, 0x0, 0x0, 128, 0x4}
   344  	case AFSW:
   345  		return &inst{0x27, 0x2, 0x0, 0, 0x0}
   346  	case AJAL:
   347  		return &inst{0x6f, 0x0, 0x0, 0, 0x0}
   348  	case AJALR:
   349  		return &inst{0x67, 0x0, 0x0, 0, 0x0}
   350  	case ALB:
   351  		return &inst{0x3, 0x0, 0x0, 0, 0x0}
   352  	case ALBU:
   353  		return &inst{0x3, 0x4, 0x0, 0, 0x0}
   354  	case ALD:
   355  		return &inst{0x3, 0x3, 0x0, 0, 0x0}
   356  	case ALH:
   357  		return &inst{0x3, 0x1, 0x0, 0, 0x0}
   358  	case ALHU:
   359  		return &inst{0x3, 0x5, 0x0, 0, 0x0}
   360  	case ALRD:
   361  		return &inst{0x2f, 0x3, 0x0, 256, 0x8}
   362  	case ALRW:
   363  		return &inst{0x2f, 0x2, 0x0, 256, 0x8}
   364  	case ALUI:
   365  		return &inst{0x37, 0x0, 0x0, 0, 0x0}
   366  	case ALW:
   367  		return &inst{0x3, 0x2, 0x0, 0, 0x0}
   368  	case ALWU:
   369  		return &inst{0x3, 0x6, 0x0, 0, 0x0}
   370  	case AMAX:
   371  		return &inst{0x33, 0x6, 0x0, 160, 0x5}
   372  	case AMAXU:
   373  		return &inst{0x33, 0x7, 0x0, 160, 0x5}
   374  	case AMIN:
   375  		return &inst{0x33, 0x4, 0x0, 160, 0x5}
   376  	case AMINU:
   377  		return &inst{0x33, 0x5, 0x0, 160, 0x5}
   378  	case AMRET:
   379  		return &inst{0x73, 0x0, 0x2, 770, 0x18}
   380  	case AMUL:
   381  		return &inst{0x33, 0x0, 0x0, 32, 0x1}
   382  	case AMULH:
   383  		return &inst{0x33, 0x1, 0x0, 32, 0x1}
   384  	case AMULHSU:
   385  		return &inst{0x33, 0x2, 0x0, 32, 0x1}
   386  	case AMULHU:
   387  		return &inst{0x33, 0x3, 0x0, 32, 0x1}
   388  	case AMULW:
   389  		return &inst{0x3b, 0x0, 0x0, 32, 0x1}
   390  	case AOR:
   391  		return &inst{0x33, 0x6, 0x0, 0, 0x0}
   392  	case AORCB:
   393  		return &inst{0x13, 0x5, 0x7, 647, 0x14}
   394  	case AORI:
   395  		return &inst{0x13, 0x6, 0x0, 0, 0x0}
   396  	case AORN:
   397  		return &inst{0x33, 0x6, 0x0, 1024, 0x20}
   398  	case APAUSE:
   399  		return &inst{0xf, 0x0, 0x10, 16, 0x0}
   400  	case ARDCYCLE:
   401  		return &inst{0x73, 0x2, 0x0, -1024, 0x60}
   402  	case ARDCYCLEH:
   403  		return &inst{0x73, 0x2, 0x0, -896, 0x64}
   404  	case ARDINSTRET:
   405  		return &inst{0x73, 0x2, 0x2, -1022, 0x60}
   406  	case ARDINSTRETH:
   407  		return &inst{0x73, 0x2, 0x2, -894, 0x64}
   408  	case ARDTIME:
   409  		return &inst{0x73, 0x2, 0x1, -1023, 0x60}
   410  	case ARDTIMEH:
   411  		return &inst{0x73, 0x2, 0x1, -895, 0x64}
   412  	case AREM:
   413  		return &inst{0x33, 0x6, 0x0, 32, 0x1}
   414  	case AREMU:
   415  		return &inst{0x33, 0x7, 0x0, 32, 0x1}
   416  	case AREMUW:
   417  		return &inst{0x3b, 0x7, 0x0, 32, 0x1}
   418  	case AREMW:
   419  		return &inst{0x3b, 0x6, 0x0, 32, 0x1}
   420  	case AREV8:
   421  		return &inst{0x13, 0x5, 0x18, 1720, 0x35}
   422  	case AROL:
   423  		return &inst{0x33, 0x1, 0x0, 1536, 0x30}
   424  	case AROLW:
   425  		return &inst{0x3b, 0x1, 0x0, 1536, 0x30}
   426  	case AROR:
   427  		return &inst{0x33, 0x5, 0x0, 1536, 0x30}
   428  	case ARORI:
   429  		return &inst{0x13, 0x5, 0x0, 1536, 0x30}
   430  	case ARORIW:
   431  		return &inst{0x1b, 0x5, 0x0, 1536, 0x30}
   432  	case ARORW:
   433  		return &inst{0x3b, 0x5, 0x0, 1536, 0x30}
   434  	case ASB:
   435  		return &inst{0x23, 0x0, 0x0, 0, 0x0}
   436  	case ASBREAK:
   437  		return &inst{0x73, 0x0, 0x1, 1, 0x0}
   438  	case ASCD:
   439  		return &inst{0x2f, 0x3, 0x0, 384, 0xc}
   440  	case ASCW:
   441  		return &inst{0x2f, 0x2, 0x0, 384, 0xc}
   442  	case ASCALL:
   443  		return &inst{0x73, 0x0, 0x0, 0, 0x0}
   444  	case ASD:
   445  		return &inst{0x23, 0x3, 0x0, 0, 0x0}
   446  	case ASEXTB:
   447  		return &inst{0x13, 0x1, 0x4, 1540, 0x30}
   448  	case ASEXTH:
   449  		return &inst{0x13, 0x1, 0x5, 1541, 0x30}
   450  	case ASFENCEVMA:
   451  		return &inst{0x73, 0x0, 0x0, 288, 0x9}
   452  	case ASH:
   453  		return &inst{0x23, 0x1, 0x0, 0, 0x0}
   454  	case ASH1ADD:
   455  		return &inst{0x33, 0x2, 0x0, 512, 0x10}
   456  	case ASH1ADDUW:
   457  		return &inst{0x3b, 0x2, 0x0, 512, 0x10}
   458  	case ASH2ADD:
   459  		return &inst{0x33, 0x4, 0x0, 512, 0x10}
   460  	case ASH2ADDUW:
   461  		return &inst{0x3b, 0x4, 0x0, 512, 0x10}
   462  	case ASH3ADD:
   463  		return &inst{0x33, 0x6, 0x0, 512, 0x10}
   464  	case ASH3ADDUW:
   465  		return &inst{0x3b, 0x6, 0x0, 512, 0x10}
   466  	case ASLL:
   467  		return &inst{0x33, 0x1, 0x0, 0, 0x0}
   468  	case ASLLI:
   469  		return &inst{0x13, 0x1, 0x0, 0, 0x0}
   470  	case ASLLIUW:
   471  		return &inst{0x1b, 0x1, 0x0, 128, 0x4}
   472  	case ASLLIW:
   473  		return &inst{0x1b, 0x1, 0x0, 0, 0x0}
   474  	case ASLLW:
   475  		return &inst{0x3b, 0x1, 0x0, 0, 0x0}
   476  	case ASLT:
   477  		return &inst{0x33, 0x2, 0x0, 0, 0x0}
   478  	case ASLTI:
   479  		return &inst{0x13, 0x2, 0x0, 0, 0x0}
   480  	case ASLTIU:
   481  		return &inst{0x13, 0x3, 0x0, 0, 0x0}
   482  	case ASLTU:
   483  		return &inst{0x33, 0x3, 0x0, 0, 0x0}
   484  	case ASRA:
   485  		return &inst{0x33, 0x5, 0x0, 1024, 0x20}
   486  	case ASRAI:
   487  		return &inst{0x13, 0x5, 0x0, 1024, 0x20}
   488  	case ASRAIW:
   489  		return &inst{0x1b, 0x5, 0x0, 1024, 0x20}
   490  	case ASRAW:
   491  		return &inst{0x3b, 0x5, 0x0, 1024, 0x20}
   492  	case ASRET:
   493  		return &inst{0x73, 0x0, 0x2, 258, 0x8}
   494  	case ASRL:
   495  		return &inst{0x33, 0x5, 0x0, 0, 0x0}
   496  	case ASRLI:
   497  		return &inst{0x13, 0x5, 0x0, 0, 0x0}
   498  	case ASRLIW:
   499  		return &inst{0x1b, 0x5, 0x0, 0, 0x0}
   500  	case ASRLW:
   501  		return &inst{0x3b, 0x5, 0x0, 0, 0x0}
   502  	case ASUB:
   503  		return &inst{0x33, 0x0, 0x0, 1024, 0x20}
   504  	case ASUBW:
   505  		return &inst{0x3b, 0x0, 0x0, 1024, 0x20}
   506  	case ASW:
   507  		return &inst{0x23, 0x2, 0x0, 0, 0x0}
   508  	case AWFI:
   509  		return &inst{0x73, 0x0, 0x5, 261, 0x8}
   510  	case AXNOR:
   511  		return &inst{0x33, 0x4, 0x0, 1024, 0x20}
   512  	case AXOR:
   513  		return &inst{0x33, 0x4, 0x0, 0, 0x0}
   514  	case AXORI:
   515  		return &inst{0x13, 0x4, 0x0, 0, 0x0}
   516  	case AZEXTH:
   517  		return &inst{0x3b, 0x4, 0x0, 128, 0x4}
   518  	}
   519  	return nil
   520  }
   521  

View as plain text