modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/SFset.c (about)

     1  /* { dg-require-effective-target int32plus } */
     2  
     3  #define E0 ((type *)10000000)
     4  #define reg0 r0
     5  #define indreg0 (*p0)
     6  #define imm0 22
     7  #define limm0 ((type)(int)&glob0)
     8  #define adr0 (*E0)
     9  #define adrreg0 (p0[10000000])
    10  #define adrx0 (E0[x0])
    11  #define regx0 (p0[x0])
    12  
    13  #define E1 ((type *)(11111111 & ~(__alignof__ (type) - 1)))
    14  #define reg1 r1
    15  #define indreg1 (*p1)
    16  #define imm1 33
    17  #define limm1 ((type)(int)&glob1)
    18  #define adr1 (*E1)
    19  #define adrreg1 (p1[1111111/4])
    20  #define adrx1 (E1[x1])
    21  #define regx1 (p1[x1])
    22  
    23  int glob0, glob1;
    24  
    25  #define type float
    26  
    27  reg0reg1_set (r0, r1, x0, x1, p0, p1)
    28  type r0, r1;  type *p0, *p1;
    29  {reg0 = reg1;  }
    30  
    31  reg0indreg1_set (r0, r1, x0, x1, p0, p1)
    32  type r0, r1;  type *p0, *p1;
    33  {reg0 = indreg1;  }
    34  
    35  reg0imm1_set (r0, r1, x0, x1, p0, p1)
    36  type r0, r1;  type *p0, *p1;
    37  {reg0 = imm1;  }
    38  
    39  reg0limm1_set (r0, r1, x0, x1, p0, p1)
    40  type r0, r1;  type *p0, *p1;
    41  {reg0 = limm1;  }
    42  
    43  reg0adr1_set (r0, r1, x0, x1, p0, p1)
    44  type r0, r1;  type *p0, *p1;
    45  {reg0 = adr1;  }
    46  
    47  reg0adrreg1_set (r0, r1, x0, x1, p0, p1)
    48  type r0, r1;  type *p0, *p1;
    49  {reg0 = adrreg1;  }
    50  
    51  reg0adrx1_set (r0, r1, x0, x1, p0, p1)
    52  type r0, r1;  type *p0, *p1;
    53  {reg0 = adrx1;  }
    54  
    55  reg0regx1_set (r0, r1, x0, x1, p0, p1)
    56  type r0, r1;  type *p0, *p1;
    57  {reg0 = regx1;  }
    58  
    59  indreg0reg1_set (r0, r1, x0, x1, p0, p1)
    60  type r0, r1;  type *p0, *p1;
    61  {indreg0 = reg1;  }
    62  
    63  indreg0indreg1_set (r0, r1, x0, x1, p0, p1)
    64  type r0, r1;  type *p0, *p1;
    65  {indreg0 = indreg1;  }
    66  
    67  indreg0imm1_set (r0, r1, x0, x1, p0, p1)
    68  type r0, r1;  type *p0, *p1;
    69  {indreg0 = imm1;  }
    70  
    71  indreg0limm1_set (r0, r1, x0, x1, p0, p1)
    72  type r0, r1;  type *p0, *p1;
    73  {indreg0 = limm1;  }
    74  
    75  indreg0adr1_set (r0, r1, x0, x1, p0, p1)
    76  type r0, r1;  type *p0, *p1;
    77  {indreg0 = adr1;  }
    78  
    79  indreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
    80  type r0, r1;  type *p0, *p1;
    81  {indreg0 = adrreg1;  }
    82  
    83  indreg0adrx1_set (r0, r1, x0, x1, p0, p1)
    84  type r0, r1;  type *p0, *p1;
    85  {indreg0 = adrx1;  }
    86  
    87  indreg0regx1_set (r0, r1, x0, x1, p0, p1)
    88  type r0, r1;  type *p0, *p1;
    89  {indreg0 = regx1;  }
    90  
    91  adr0reg1_set (r0, r1, x0, x1, p0, p1)
    92  type r0, r1;  type *p0, *p1;
    93  {adr0 = reg1;  }
    94  
    95  adr0indreg1_set (r0, r1, x0, x1, p0, p1)
    96  type r0, r1;  type *p0, *p1;
    97  {adr0 = indreg1;  }
    98  
    99  adr0imm1_set (r0, r1, x0, x1, p0, p1)
   100  type r0, r1;  type *p0, *p1;
   101  {adr0 = imm1;  }
   102  
   103  adr0limm1_set (r0, r1, x0, x1, p0, p1)
   104  type r0, r1;  type *p0, *p1;
   105  {adr0 = limm1;  }
   106  
   107  adr0adr1_set (r0, r1, x0, x1, p0, p1)
   108  type r0, r1;  type *p0, *p1;
   109  {adr0 = adr1;  }
   110  
   111  adr0adrreg1_set (r0, r1, x0, x1, p0, p1)
   112  type r0, r1;  type *p0, *p1;
   113  {adr0 = adrreg1;  }
   114  
   115  adr0adrx1_set (r0, r1, x0, x1, p0, p1)
   116  type r0, r1;  type *p0, *p1;
   117  {adr0 = adrx1;  }
   118  
   119  adr0regx1_set (r0, r1, x0, x1, p0, p1)
   120  type r0, r1;  type *p0, *p1;
   121  {adr0 = regx1;  }
   122  
   123  adrreg0reg1_set (r0, r1, x0, x1, p0, p1)
   124  type r0, r1;  type *p0, *p1;
   125  {adrreg0 = reg1;  }
   126  
   127  adrreg0indreg1_set (r0, r1, x0, x1, p0, p1)
   128  type r0, r1;  type *p0, *p1;
   129  {adrreg0 = indreg1;  }
   130  
   131  adrreg0imm1_set (r0, r1, x0, x1, p0, p1)
   132  type r0, r1;  type *p0, *p1;
   133  {adrreg0 = imm1;  }
   134  
   135  adrreg0limm1_set (r0, r1, x0, x1, p0, p1)
   136  type r0, r1;  type *p0, *p1;
   137  {adrreg0 = limm1;  }
   138  
   139  adrreg0adr1_set (r0, r1, x0, x1, p0, p1)
   140  type r0, r1;  type *p0, *p1;
   141  {adrreg0 = adr1;  }
   142  
   143  adrreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
   144  type r0, r1;  type *p0, *p1;
   145  {adrreg0 = adrreg1;  }
   146  
   147  adrreg0adrx1_set (r0, r1, x0, x1, p0, p1)
   148  type r0, r1;  type *p0, *p1;
   149  {adrreg0 = adrx1;  }
   150  
   151  adrreg0regx1_set (r0, r1, x0, x1, p0, p1)
   152  type r0, r1;  type *p0, *p1;
   153  {adrreg0 = regx1;  }
   154  
   155  adrx0reg1_set (r0, r1, x0, x1, p0, p1)
   156  type r0, r1;  type *p0, *p1;
   157  {adrx0 = reg1;  }
   158  
   159  adrx0indreg1_set (r0, r1, x0, x1, p0, p1)
   160  type r0, r1;  type *p0, *p1;
   161  {adrx0 = indreg1;  }
   162  
   163  adrx0imm1_set (r0, r1, x0, x1, p0, p1)
   164  type r0, r1;  type *p0, *p1;
   165  {adrx0 = imm1;  }
   166  
   167  adrx0limm1_set (r0, r1, x0, x1, p0, p1)
   168  type r0, r1;  type *p0, *p1;
   169  {adrx0 = limm1;  }
   170  
   171  adrx0adr1_set (r0, r1, x0, x1, p0, p1)
   172  type r0, r1;  type *p0, *p1;
   173  {adrx0 = adr1;  }
   174  
   175  adrx0adrreg1_set (r0, r1, x0, x1, p0, p1)
   176  type r0, r1;  type *p0, *p1;
   177  {adrx0 = adrreg1;  }
   178  
   179  adrx0adrx1_set (r0, r1, x0, x1, p0, p1)
   180  type r0, r1;  type *p0, *p1;
   181  {adrx0 = adrx1;  }
   182  
   183  adrx0regx1_set (r0, r1, x0, x1, p0, p1)
   184  type r0, r1;  type *p0, *p1;
   185  {adrx0 = regx1;  }
   186  
   187  regx0reg1_set (r0, r1, x0, x1, p0, p1)
   188  type r0, r1;  type *p0, *p1;
   189  {regx0 = reg1;  }
   190  
   191  regx0indreg1_set (r0, r1, x0, x1, p0, p1)
   192  type r0, r1;  type *p0, *p1;
   193  {regx0 = indreg1;  }
   194  
   195  regx0imm1_set (r0, r1, x0, x1, p0, p1)
   196  type r0, r1;  type *p0, *p1;
   197  {regx0 = imm1;  }
   198  
   199  regx0limm1_set (r0, r1, x0, x1, p0, p1)
   200  type r0, r1;  type *p0, *p1;
   201  {regx0 = limm1;  }
   202  
   203  regx0adr1_set (r0, r1, x0, x1, p0, p1)
   204  type r0, r1;  type *p0, *p1;
   205  {regx0 = adr1;  }
   206  
   207  regx0adrreg1_set (r0, r1, x0, x1, p0, p1)
   208  type r0, r1;  type *p0, *p1;
   209  {regx0 = adrreg1;  }
   210  
   211  regx0adrx1_set (r0, r1, x0, x1, p0, p1)
   212  type r0, r1;  type *p0, *p1;
   213  {regx0 = adrx1;  }
   214  
   215  regx0regx1_set (r0, r1, x0, x1, p0, p1)
   216  type r0, r1;  type *p0, *p1;
   217  {regx0 = regx1;  }
   218