comparison gcc/gensupport.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 /* Support routines for the various generation passes. 1 /* Support routines for the various generation passes.
2 Copyright (C) 2000-2017 Free Software Foundation, Inc. 2 Copyright (C) 2000-2018 Free Software Foundation, Inc.
3 3
4 This file is part of GCC. 4 This file is part of GCC.
5 5
6 GCC is free software; you can redistribute it and/or modify it 6 GCC is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License as published by 7 under the terms of the GNU General Public License as published by
881 if (fmt[i] == '0') 881 if (fmt[i] == '0')
882 break; 882 break;
883 883
884 switch (fmt[i]) 884 switch (fmt[i])
885 { 885 {
886 case 'i': case 'r': case 'w': case 's': 886 case 'r': case 'p': case 'i': case 'w': case 's':
887 continue; 887 continue;
888 888
889 case 'e': case 'u': 889 case 'e': case 'u':
890 if (!subst_pattern_match (XEXP (x, i), XEXP (pt, i), loc)) 890 if (!subst_pattern_match (XEXP (x, i), XEXP (pt, i), loc))
891 return false; 891 return false;
1045 for (j = XVECLEN (pattern, i) - 1; j >= 0; --j) 1045 for (j = XVECLEN (pattern, i) - 1; j >= 0; --j)
1046 if (!get_alternatives_number (XVECEXP (pattern, i, j), n_alt, loc)) 1046 if (!get_alternatives_number (XVECEXP (pattern, i, j), n_alt, loc))
1047 return 0; 1047 return 0;
1048 break; 1048 break;
1049 1049
1050 case 'i': case 'r': case 'w': case '0': case 's': case 'S': case 'T': 1050 case 'r': case 'p': case 'i': case 'w':
1051 case '0': case 's': case 'S': case 'T':
1051 break; 1052 break;
1052 1053
1053 default: 1054 default:
1054 gcc_unreachable (); 1055 gcc_unreachable ();
1055 } 1056 }
1104 case 'E': 1105 case 'E':
1105 for (j = XVECLEN (pattern, i) - 1; j >= 0; --j) 1106 for (j = XVECLEN (pattern, i) - 1; j >= 0; --j)
1106 collect_insn_data (XVECEXP (pattern, i, j), palt, pmax); 1107 collect_insn_data (XVECEXP (pattern, i, j), palt, pmax);
1107 break; 1108 break;
1108 1109
1109 case 'i': case 'r': case 'w': case '0': case 's': case 'S': case 'T': 1110 case 'r': case 'p': case 'i': case 'w':
1111 case '0': case 's': case 'S': case 'T':
1110 break; 1112 break;
1111 1113
1112 default: 1114 default:
1113 gcc_unreachable (); 1115 gcc_unreachable ();
1114 } 1116 }
1188 if (r == NULL) 1190 if (r == NULL)
1189 return r; 1191 return r;
1190 } 1192 }
1191 break; 1193 break;
1192 1194
1193 case 'i': case 'r': case 'w': case '0': case 's': 1195 case 'r': case 'p': case 'i': case 'w': case '0': case 's':
1194 break; 1196 break;
1195 1197
1196 default: 1198 default:
1197 gcc_unreachable (); 1199 gcc_unreachable ();
1198 } 1200 }
1246 if (r == NULL) 1248 if (r == NULL)
1247 return r; 1249 return r;
1248 } 1250 }
1249 break; 1251 break;
1250 1252
1251 case 'i': case 'r': case 'w': case '0': case 's': 1253 case 'r': case 'p': case 'i': case 'w': case '0': case 's':
1252 break; 1254 break;
1253 1255
1254 default: 1256 default:
1255 break; 1257 break;
1256 } 1258 }
2162 for (j = XVECLEN (pattern, i) - 1; j >= 0; --j) 2164 for (j = XVECLEN (pattern, i) - 1; j >= 0; --j)
2163 XVECEXP (pattern, i, j) = subst_dup (XVECEXP (pattern, i, j), 2165 XVECEXP (pattern, i, j) = subst_dup (XVECEXP (pattern, i, j),
2164 n_alt, n_subst_alt); 2166 n_alt, n_subst_alt);
2165 break; 2167 break;
2166 2168
2167 case 'i': case 'r': case 'w': case '0': case 's': case 'S': case 'T': 2169 case 'r': case 'p': case 'i': case 'w':
2170 case '0': case 's': case 'S': case 'T':
2168 break; 2171 break;
2169 2172
2170 default: 2173 default:
2171 gcc_unreachable (); 2174 gcc_unreachable ();
2172 } 2175 }