1  /* { dg-do compile } */
       2  /* { dg-options "-march=rv32gcv -mabi=ilp32 -fno-tree-vectorize" } */
       3  
       4  #include "riscv_vector.h"
       5  
       6  void f (int8_t * restrict in, int8_t * restrict out, int n)
       7  {
       8    if (n == 0) {
       9      vbool64_t v = *(vbool64_t*)(in + 500);
      10      *(vbool64_t*)(out + 500) = v;
      11    } else if (n == 1) {
      12      vbool64_t v = *(vbool64_t*)(in + 600);
      13      *(vbool64_t*)(out + 600) = v;
      14    } else {
      15      vbool64_t v = *(vbool64_t*)(in + 700);
      16      *(vbool64_t*)(out + 700) = v;
      17    }
      18  
      19    for (int i = 0 ; i < n * n; i++)
      20      out[i] = out[i] + out[i];
      21    
      22    for (int i = 0 ; i < n * n * n; i++)
      23      out[i] = out[i] * out[i];
      24  
      25    for (int i = 0 ; i < n * n * n * n; i++)
      26      out[i] = out[i] * out[i];
      27    
      28    for (int i = 0 ; i < n * n * n * n; i++) {
      29      vbool64_t v = *(vbool64_t*)(in + 900 + i);
      30      *(vbool64_t*)(out + 900 + i) = v;
      31    }
      32  
      33    for (int i = 0 ; i < n * n; i++)
      34      out[i] = out[i] + out[i];
      35    
      36    for (int i = 0 ; i < n * n * n; i++)
      37      out[i] = out[i] * out[i];
      38  
      39    for (int i = 0 ; i < n * n * n * n; i++)
      40      out[i] = out[i] * out[i];
      41    
      42    for (int i = 0 ; i < n * n; i++)
      43      out[i] = out[i] + out[i];
      44    
      45    for (int i = 0 ; i < n * n * n; i++)
      46      out[i] = out[i] * out[i];
      47  
      48    for (int i = 0 ; i < n * n * n * n; i++)
      49      out[i] = out[i] * out[i];
      50    
      51    if (n == 0) {
      52      vbool64_t v = *(vbool64_t*)(in + 500);
      53      *(vbool64_t*)(out + 500) = v;
      54    } else if (n == 1) {
      55      vbool64_t v = *(vbool64_t*)(in + 600);
      56      *(vbool64_t*)(out + 600) = v;
      57    } else {
      58      vbool64_t v = *(vbool64_t*)(in + 700);
      59      *(vbool64_t*)(out + 700) = v;
      60    }
      61    
      62    for (int i = 0 ; i < n * n; i++)
      63      out[i] = out[i] + out[i];
      64    
      65    for (int i = 0 ; i < n * n * n; i++)
      66      out[i] = out[i] * out[i];
      67  
      68    for (int i = 0 ; i < n * n * n * n; i++)
      69      out[i] = out[i] * out[i];
      70    
      71    for (int i = 0 ; i < n * n; i++)
      72      out[i] = out[i] + out[i];
      73    
      74    for (int i = 0 ; i < n * n * n; i++)
      75      out[i] = out[i] * out[i];
      76  
      77    for (int i = 0 ; i < n * n * n * n; i++)
      78      out[i] = out[i] * out[i];
      79    
      80    for (int i = 0 ; i < n * n * n * n; i++) {
      81      vbool64_t v = *(vbool64_t*)(in + 900 + i);
      82      *(vbool64_t*)(out + 900 + i) = v;
      83    }
      84  }
      85  
      86  void f2 (int8_t * restrict in, int8_t * restrict out, int n)
      87  {
      88    if (n == 0) {
      89      vbool32_t v = *(vbool32_t*)(in + 500);
      90      *(vbool32_t*)(out + 500) = v;
      91    } else if (n == 1) {
      92      vbool32_t v = *(vbool32_t*)(in + 600);
      93      *(vbool32_t*)(out + 600) = v;
      94    } else {
      95      vbool32_t v = *(vbool32_t*)(in + 700);
      96      *(vbool32_t*)(out + 700) = v;
      97    }
      98  
      99    for (int i = 0 ; i < n * n; i++)
     100      out[i] = out[i] + out[i];
     101    
     102    for (int i = 0 ; i < n * n * n; i++)
     103      out[i] = out[i] * out[i];
     104  
     105    for (int i = 0 ; i < n * n * n * n; i++)
     106      out[i] = out[i] * out[i];
     107    
     108    for (int i = 0 ; i < n * n * n * n; i++) {
     109      vbool32_t v = *(vbool32_t*)(in + 900 + i);
     110      *(vbool32_t*)(out + 900 + i) = v;
     111    }
     112  
     113    for (int i = 0 ; i < n * n; i++)
     114      out[i] = out[i] + out[i];
     115    
     116    for (int i = 0 ; i < n * n * n; i++)
     117      out[i] = out[i] * out[i];
     118  
     119    for (int i = 0 ; i < n * n * n * n; i++)
     120      out[i] = out[i] * out[i];
     121    
     122    for (int i = 0 ; i < n * n; i++)
     123      out[i] = out[i] + out[i];
     124    
     125    for (int i = 0 ; i < n * n * n; i++)
     126      out[i] = out[i] * out[i];
     127  
     128    for (int i = 0 ; i < n * n * n * n; i++)
     129      out[i] = out[i] * out[i];
     130    
     131    if (n == 0) {
     132      vbool32_t v = *(vbool32_t*)(in + 500);
     133      *(vbool32_t*)(out + 500) = v;
     134    } else if (n == 1) {
     135      vbool32_t v = *(vbool32_t*)(in + 600);
     136      *(vbool32_t*)(out + 600) = v;
     137    } else {
     138      vbool32_t v = *(vbool32_t*)(in + 700);
     139      *(vbool32_t*)(out + 700) = v;
     140    }
     141    
     142    for (int i = 0 ; i < n * n; i++)
     143      out[i] = out[i] + out[i];
     144    
     145    for (int i = 0 ; i < n * n * n; i++)
     146      out[i] = out[i] * out[i];
     147  
     148    for (int i = 0 ; i < n * n * n * n; i++)
     149      out[i] = out[i] * out[i];
     150    
     151    for (int i = 0 ; i < n * n; i++)
     152      out[i] = out[i] + out[i];
     153    
     154    for (int i = 0 ; i < n * n * n; i++)
     155      out[i] = out[i] * out[i];
     156  
     157    for (int i = 0 ; i < n * n * n * n; i++)
     158      out[i] = out[i] * out[i];
     159    
     160    for (int i = 0 ; i < n * n * n * n; i++) {
     161      vbool32_t v = *(vbool32_t*)(in + 900 + i);
     162      *(vbool32_t*)(out + 900 + i) = v;
     163    }
     164  }
     165  
     166  void f3 (int8_t * restrict in, int8_t * restrict out, int n)
     167  {
     168    if (n == 0) {
     169      vbool16_t v = *(vbool16_t*)(in + 500);
     170      *(vbool16_t*)(out + 500) = v;
     171    } else if (n == 1) {
     172      vbool16_t v = *(vbool16_t*)(in + 600);
     173      *(vbool16_t*)(out + 600) = v;
     174    } else {
     175      vbool16_t v = *(vbool16_t*)(in + 700);
     176      *(vbool16_t*)(out + 700) = v;
     177    }
     178  
     179    for (int i = 0 ; i < n * n; i++)
     180      out[i] = out[i] + out[i];
     181    
     182    for (int i = 0 ; i < n * n * n; i++)
     183      out[i] = out[i] * out[i];
     184  
     185    for (int i = 0 ; i < n * n * n * n; i++)
     186      out[i] = out[i] * out[i];
     187    
     188    for (int i = 0 ; i < n * n * n * n; i++) {
     189      vbool16_t v = *(vbool16_t*)(in + 900 + i);
     190      *(vbool16_t*)(out + 900 + i) = v;
     191    }
     192  
     193    for (int i = 0 ; i < n * n; i++)
     194      out[i] = out[i] + out[i];
     195    
     196    for (int i = 0 ; i < n * n * n; i++)
     197      out[i] = out[i] * out[i];
     198  
     199    for (int i = 0 ; i < n * n * n * n; i++)
     200      out[i] = out[i] * out[i];
     201    
     202    for (int i = 0 ; i < n * n; i++)
     203      out[i] = out[i] + out[i];
     204    
     205    for (int i = 0 ; i < n * n * n; i++)
     206      out[i] = out[i] * out[i];
     207  
     208    for (int i = 0 ; i < n * n * n * n; i++)
     209      out[i] = out[i] * out[i];
     210    
     211    if (n == 0) {
     212      vbool16_t v = *(vbool16_t*)(in + 500);
     213      *(vbool16_t*)(out + 500) = v;
     214    } else if (n == 1) {
     215      vbool16_t v = *(vbool16_t*)(in + 600);
     216      *(vbool16_t*)(out + 600) = v;
     217    } else {
     218      vbool16_t v = *(vbool16_t*)(in + 700);
     219      *(vbool16_t*)(out + 700) = v;
     220    }
     221    
     222    for (int i = 0 ; i < n * n; i++)
     223      out[i] = out[i] + out[i];
     224    
     225    for (int i = 0 ; i < n * n * n; i++)
     226      out[i] = out[i] * out[i];
     227  
     228    for (int i = 0 ; i < n * n * n * n; i++)
     229      out[i] = out[i] * out[i];
     230    
     231    for (int i = 0 ; i < n * n; i++)
     232      out[i] = out[i] + out[i];
     233    
     234    for (int i = 0 ; i < n * n * n; i++)
     235      out[i] = out[i] * out[i];
     236  
     237    for (int i = 0 ; i < n * n * n * n; i++)
     238      out[i] = out[i] * out[i];
     239    
     240    for (int i = 0 ; i < n * n * n * n; i++) {
     241      vbool16_t v = *(vbool16_t*)(in + 900 + i);
     242      *(vbool16_t*)(out + 900 + i) = v;
     243    }
     244  }
     245  
     246  void f4 (int8_t * restrict in, int8_t * restrict out, int n)
     247  {
     248    if (n == 0) {
     249      vbool8_t v = *(vbool8_t*)(in + 500);
     250      *(vbool8_t*)(out + 500) = v;
     251    } else if (n == 1) {
     252      vbool8_t v = *(vbool8_t*)(in + 600);
     253      *(vbool8_t*)(out + 600) = v;
     254    } else {
     255      vbool8_t v = *(vbool8_t*)(in + 700);
     256      *(vbool8_t*)(out + 700) = v;
     257    }
     258  
     259    for (int i = 0 ; i < n * n; i++)
     260      out[i] = out[i] + out[i];
     261    
     262    for (int i = 0 ; i < n * n * n; i++)
     263      out[i] = out[i] * out[i];
     264  
     265    for (int i = 0 ; i < n * n * n * n; i++)
     266      out[i] = out[i] * out[i];
     267    
     268    for (int i = 0 ; i < n * n * n * n; i++) {
     269      vbool8_t v = *(vbool8_t*)(in + 900 + i);
     270      *(vbool8_t*)(out + 900 + i) = v;
     271    }
     272  
     273    for (int i = 0 ; i < n * n; i++)
     274      out[i] = out[i] + out[i];
     275    
     276    for (int i = 0 ; i < n * n * n; i++)
     277      out[i] = out[i] * out[i];
     278  
     279    for (int i = 0 ; i < n * n * n * n; i++)
     280      out[i] = out[i] * out[i];
     281    
     282    for (int i = 0 ; i < n * n; i++)
     283      out[i] = out[i] + out[i];
     284    
     285    for (int i = 0 ; i < n * n * n; i++)
     286      out[i] = out[i] * out[i];
     287  
     288    for (int i = 0 ; i < n * n * n * n; i++)
     289      out[i] = out[i] * out[i];
     290    
     291    if (n == 0) {
     292      vbool8_t v = *(vbool8_t*)(in + 500);
     293      *(vbool8_t*)(out + 500) = v;
     294    } else if (n == 1) {
     295      vbool8_t v = *(vbool8_t*)(in + 600);
     296      *(vbool8_t*)(out + 600) = v;
     297    } else {
     298      vbool8_t v = *(vbool8_t*)(in + 700);
     299      *(vbool8_t*)(out + 700) = v;
     300    }
     301    
     302    for (int i = 0 ; i < n * n; i++)
     303      out[i] = out[i] + out[i];
     304    
     305    for (int i = 0 ; i < n * n * n; i++)
     306      out[i] = out[i] * out[i];
     307  
     308    for (int i = 0 ; i < n * n * n * n; i++)
     309      out[i] = out[i] * out[i];
     310    
     311    for (int i = 0 ; i < n * n; i++)
     312      out[i] = out[i] + out[i];
     313    
     314    for (int i = 0 ; i < n * n * n; i++)
     315      out[i] = out[i] * out[i];
     316  
     317    for (int i = 0 ; i < n * n * n * n; i++)
     318      out[i] = out[i] * out[i];
     319    
     320    for (int i = 0 ; i < n * n * n * n; i++) {
     321      vbool8_t v = *(vbool8_t*)(in + 900 + i);
     322      *(vbool8_t*)(out + 900 + i) = v;
     323    }
     324  }
     325  
     326  void f5 (int8_t * restrict in, int8_t * restrict out, int n)
     327  {
     328    if (n == 0) {
     329      vbool4_t v = *(vbool4_t*)(in + 500);
     330      *(vbool4_t*)(out + 500) = v;
     331    } else if (n == 1) {
     332      vbool4_t v = *(vbool4_t*)(in + 600);
     333      *(vbool4_t*)(out + 600) = v;
     334    } else {
     335      vbool4_t v = *(vbool4_t*)(in + 700);
     336      *(vbool4_t*)(out + 700) = v;
     337    }
     338  
     339    for (int i = 0 ; i < n * n; i++)
     340      out[i] = out[i] + out[i];
     341    
     342    for (int i = 0 ; i < n * n * n; i++)
     343      out[i] = out[i] * out[i];
     344  
     345    for (int i = 0 ; i < n * n * n * n; i++)
     346      out[i] = out[i] * out[i];
     347    
     348    for (int i = 0 ; i < n * n * n * n; i++) {
     349      vbool4_t v = *(vbool4_t*)(in + 900 + i);
     350      *(vbool4_t*)(out + 900 + i) = v;
     351    }
     352  
     353    for (int i = 0 ; i < n * n; i++)
     354      out[i] = out[i] + out[i];
     355    
     356    for (int i = 0 ; i < n * n * n; i++)
     357      out[i] = out[i] * out[i];
     358  
     359    for (int i = 0 ; i < n * n * n * n; i++)
     360      out[i] = out[i] * out[i];
     361    
     362    for (int i = 0 ; i < n * n; i++)
     363      out[i] = out[i] + out[i];
     364    
     365    for (int i = 0 ; i < n * n * n; i++)
     366      out[i] = out[i] * out[i];
     367  
     368    for (int i = 0 ; i < n * n * n * n; i++)
     369      out[i] = out[i] * out[i];
     370    
     371    if (n == 0) {
     372      vbool4_t v = *(vbool4_t*)(in + 500);
     373      *(vbool4_t*)(out + 500) = v;
     374    } else if (n == 1) {
     375      vbool4_t v = *(vbool4_t*)(in + 600);
     376      *(vbool4_t*)(out + 600) = v;
     377    } else {
     378      vbool4_t v = *(vbool4_t*)(in + 700);
     379      *(vbool4_t*)(out + 700) = v;
     380    }
     381    
     382    for (int i = 0 ; i < n * n; i++)
     383      out[i] = out[i] + out[i];
     384    
     385    for (int i = 0 ; i < n * n * n; i++)
     386      out[i] = out[i] * out[i];
     387  
     388    for (int i = 0 ; i < n * n * n * n; i++)
     389      out[i] = out[i] * out[i];
     390    
     391    for (int i = 0 ; i < n * n; i++)
     392      out[i] = out[i] + out[i];
     393    
     394    for (int i = 0 ; i < n * n * n; i++)
     395      out[i] = out[i] * out[i];
     396  
     397    for (int i = 0 ; i < n * n * n * n; i++)
     398      out[i] = out[i] * out[i];
     399    
     400    for (int i = 0 ; i < n * n * n * n; i++) {
     401      vbool4_t v = *(vbool4_t*)(in + 900 + i);
     402      *(vbool4_t*)(out + 900 + i) = v;
     403    }
     404  }
     405  
     406  void f6 (int8_t * restrict in, int8_t * restrict out, int n)
     407  {
     408    if (n == 0) {
     409      vbool2_t v = *(vbool2_t*)(in + 500);
     410      *(vbool2_t*)(out + 500) = v;
     411    } else if (n == 1) {
     412      vbool2_t v = *(vbool2_t*)(in + 600);
     413      *(vbool2_t*)(out + 600) = v;
     414    } else {
     415      vbool2_t v = *(vbool2_t*)(in + 700);
     416      *(vbool2_t*)(out + 700) = v;
     417    }
     418  
     419    for (int i = 0 ; i < n * n; i++)
     420      out[i] = out[i] + out[i];
     421    
     422    for (int i = 0 ; i < n * n * n; i++)
     423      out[i] = out[i] * out[i];
     424  
     425    for (int i = 0 ; i < n * n * n * n; i++)
     426      out[i] = out[i] * out[i];
     427    
     428    for (int i = 0 ; i < n * n * n * n; i++) {
     429      vbool2_t v = *(vbool2_t*)(in + 900 + i);
     430      *(vbool2_t*)(out + 900 + i) = v;
     431    }
     432  
     433    for (int i = 0 ; i < n * n; i++)
     434      out[i] = out[i] + out[i];
     435    
     436    for (int i = 0 ; i < n * n * n; i++)
     437      out[i] = out[i] * out[i];
     438  
     439    for (int i = 0 ; i < n * n * n * n; i++)
     440      out[i] = out[i] * out[i];
     441    
     442    for (int i = 0 ; i < n * n; i++)
     443      out[i] = out[i] + out[i];
     444    
     445    for (int i = 0 ; i < n * n * n; i++)
     446      out[i] = out[i] * out[i];
     447  
     448    for (int i = 0 ; i < n * n * n * n; i++)
     449      out[i] = out[i] * out[i];
     450    
     451    if (n == 0) {
     452      vbool2_t v = *(vbool2_t*)(in + 500);
     453      *(vbool2_t*)(out + 500) = v;
     454    } else if (n == 1) {
     455      vbool2_t v = *(vbool2_t*)(in + 600);
     456      *(vbool2_t*)(out + 600) = v;
     457    } else {
     458      vbool2_t v = *(vbool2_t*)(in + 700);
     459      *(vbool2_t*)(out + 700) = v;
     460    }
     461    
     462    for (int i = 0 ; i < n * n; i++)
     463      out[i] = out[i] + out[i];
     464    
     465    for (int i = 0 ; i < n * n * n; i++)
     466      out[i] = out[i] * out[i];
     467  
     468    for (int i = 0 ; i < n * n * n * n; i++)
     469      out[i] = out[i] * out[i];
     470    
     471    for (int i = 0 ; i < n * n; i++)
     472      out[i] = out[i] + out[i];
     473    
     474    for (int i = 0 ; i < n * n * n; i++)
     475      out[i] = out[i] * out[i];
     476  
     477    for (int i = 0 ; i < n * n * n * n; i++)
     478      out[i] = out[i] * out[i];
     479    
     480    for (int i = 0 ; i < n * n * n * n; i++) {
     481      vbool2_t v = *(vbool2_t*)(in + 900 + i);
     482      *(vbool2_t*)(out + 900 + i) = v;
     483    }
     484  }
     485  
     486  void f7 (int8_t * restrict in, int8_t * restrict out, int n)
     487  {
     488    if (n == 0) {
     489      vbool1_t v = *(vbool1_t*)(in + 500);
     490      *(vbool1_t*)(out + 500) = v;
     491    } else if (n == 1) {
     492      vbool1_t v = *(vbool1_t*)(in + 600);
     493      *(vbool1_t*)(out + 600) = v;
     494    } else {
     495      vbool1_t v = *(vbool1_t*)(in + 700);
     496      *(vbool1_t*)(out + 700) = v;
     497    }
     498  
     499    for (int i = 0 ; i < n * n; i++)
     500      out[i] = out[i] + out[i];
     501    
     502    for (int i = 0 ; i < n * n * n; i++)
     503      out[i] = out[i] * out[i];
     504  
     505    for (int i = 0 ; i < n * n * n * n; i++)
     506      out[i] = out[i] * out[i];
     507    
     508    for (int i = 0 ; i < n * n * n * n; i++) {
     509      vbool1_t v = *(vbool1_t*)(in + 900 + i);
     510      *(vbool1_t*)(out + 900 + i) = v;
     511    }
     512  
     513    for (int i = 0 ; i < n * n; i++)
     514      out[i] = out[i] + out[i];
     515    
     516    for (int i = 0 ; i < n * n * n; i++)
     517      out[i] = out[i] * out[i];
     518  
     519    for (int i = 0 ; i < n * n * n * n; i++)
     520      out[i] = out[i] * out[i];
     521    
     522    for (int i = 0 ; i < n * n; i++)
     523      out[i] = out[i] + out[i];
     524    
     525    for (int i = 0 ; i < n * n * n; i++)
     526      out[i] = out[i] * out[i];
     527  
     528    for (int i = 0 ; i < n * n * n * n; i++)
     529      out[i] = out[i] * out[i];
     530    
     531    if (n == 0) {
     532      vbool1_t v = *(vbool1_t*)(in + 500);
     533      *(vbool1_t*)(out + 500) = v;
     534    } else if (n == 1) {
     535      vbool1_t v = *(vbool1_t*)(in + 600);
     536      *(vbool1_t*)(out + 600) = v;
     537    } else {
     538      vbool1_t v = *(vbool1_t*)(in + 700);
     539      *(vbool1_t*)(out + 700) = v;
     540    }
     541    
     542    for (int i = 0 ; i < n * n; i++)
     543      out[i] = out[i] + out[i];
     544    
     545    for (int i = 0 ; i < n * n * n; i++)
     546      out[i] = out[i] * out[i];
     547  
     548    for (int i = 0 ; i < n * n * n * n; i++)
     549      out[i] = out[i] * out[i];
     550    
     551    for (int i = 0 ; i < n * n; i++)
     552      out[i] = out[i] + out[i];
     553    
     554    for (int i = 0 ; i < n * n * n; i++)
     555      out[i] = out[i] * out[i];
     556  
     557    for (int i = 0 ; i < n * n * n * n; i++)
     558      out[i] = out[i] * out[i];
     559    
     560    for (int i = 0 ; i < n * n * n * n; i++) {
     561      vbool1_t v = *(vbool1_t*)(in + 900 + i);
     562      *(vbool1_t*)(out + 900 + i) = v;
     563    }
     564  }
     565  
     566  /* { dg-final { scan-assembler-times {vsetvli\s+[a-x0-9]+,\s*zero,\s*e8,\s*mf8,\s*t[au],\s*m[au]} 3 { target { no-opts "-O0" no-opts "-O1"  no-opts "-Os" no-opts "-Oz" no-opts "-funroll-loops" no-opts "-g" } } } } */
     567  /* { dg-final { scan-assembler-times {vsetvli\s+[a-x0-9]+,\s*zero,\s*e8,\s*mf4,\s*t[au],\s*m[au]} 3 { target { no-opts "-O0" no-opts "-O1"  no-opts "-Os" no-opts "-Oz" no-opts "-funroll-loops" no-opts "-g" } } } } */
     568  /* { dg-final { scan-assembler-times {vsetvli\s+[a-x0-9]+,\s*zero,\s*e8,\s*mf2,\s*t[au],\s*m[au]} 3 { target { no-opts "-O0" no-opts "-O1"  no-opts "-Os" no-opts "-Oz" no-opts "-funroll-loops" no-opts "-g" } } } } */
     569  /* { dg-final { scan-assembler-times {vsetvli\s+[a-x0-9]+,\s*zero,\s*e8,\s*m1,\s*t[au],\s*m[au]} 3 { target { no-opts "-O0" no-opts "-O1"  no-opts "-Os" no-opts "-Oz" no-opts "-funroll-loops" no-opts "-g" } } } } */
     570  /* { dg-final { scan-assembler-times {vsetvli\s+[a-x0-9]+,\s*zero,\s*e8,\s*m2,\s*t[au],\s*m[au]} 3 { target { no-opts "-O0" no-opts "-O1"  no-opts "-Os" no-opts "-Oz" no-opts "-funroll-loops" no-opts "-g" } } } } */
     571  /* { dg-final { scan-assembler-times {vsetvli\s+[a-x0-9]+,\s*zero,\s*e8,\s*m4,\s*t[au],\s*m[au]} 3 { target { no-opts "-O0" no-opts "-O1"  no-opts "-Os" no-opts "-Oz" no-opts "-funroll-loops" no-opts "-g" } } } } */
     572  /* { dg-final { scan-assembler-times {vsetvli\s+[a-x0-9]+,\s*zero,\s*e8,\s*m8,\s*t[au],\s*m[au]} 3 { target { no-opts "-O0" no-opts "-O1"  no-opts "-Os" no-opts "-Oz" no-opts "-funroll-loops" no-opts "-g" } } } } */