golang.org/x/arch@v0.17.0/s390x/s390xutil/hack.h (about)

     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  // This file requires gcc and binutils with -march=z16 support.
     6  // s390xutil runs a series of commands like:
     7  //    go run map.go -fmt=asm ../s390x.csv > asm.S
     8  //    /usr/bin/gcc -c asm.S -march=z16
     9  //    /usr/bin/objdump -d asm.o
    10  // to create the file decode_generated.txt used to verify the disassembler.
    11  //
    12  // Note, the Go disassembler is not expected to support every extended
    13  // mnemonic, but it should support those which frequently show up in object
    14  // files compiled by the Go toolchain.
    15  
    16  
    17  #define R1 8
    18  #define R2 0
    19  #define R3 0
    20  
    21  #define X2 2
    22  
    23  #define L1 4
    24  #define L2 4
    25  
    26  #define B1 2
    27  #define B2 1
    28  #define B3 6
    29  #define B4 8
    30  
    31  #define D1 6
    32  #define D2 11
    33  #define D3 182
    34  #define D4 205
    35  
    36  #define V1 18
    37  #define V2 3
    38  #define V3 5
    39  #define V4 8
    40  
    41  #define I 124
    42  #define I1 12
    43  #define I2 8
    44  #define I3 9
    45  #define I4 105
    46  #define I5 18
    47  
    48  #define RI2 0
    49  #define RI3 294
    50  #define RI4 -168
    51  
    52  #define M1 7
    53  #define M3 3
    54  #define M4 1
    55  #define M5 9
    56  #define M6 11