Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/m32c/predicates.md @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | f6334be47118 |
children | 84e7813d76e9 |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 ;; Machine Descriptions for R8C/M16C/M32C | 1 ;; Machine Descriptions for R8C/M16C/M32C |
2 ;; Copyright (C) 2005, 2007, 2008, 2010 | 2 ;; Copyright (C) 2005-2017 Free Software Foundation, Inc. |
3 ;; Free Software Foundation, Inc. | |
4 ;; Contributed by Red Hat. | 3 ;; Contributed by Red Hat. |
5 ;; | 4 ;; |
6 ;; This file is part of GCC. | 5 ;; This file is part of GCC. |
7 ;; | 6 ;; |
8 ;; GCC is free software; you can redistribute it and/or modify it | 7 ;; GCC is free software; you can redistribute it and/or modify it |
181 (match_operand 1 "memory_operand" ""))) | 180 (match_operand 1 "memory_operand" ""))) |
182 | 181 |
183 ; TRUE for memory operands that are not indexed | 182 ; TRUE for memory operands that are not indexed |
184 (define_predicate "memsym_operand" | 183 (define_predicate "memsym_operand" |
185 (and (match_operand 0 "memory_operand" "") | 184 (and (match_operand 0 "memory_operand" "") |
186 (match_test "m32c_extra_constraint_p (op, 'S', \"Si\")"))) | 185 (match_test "satisfies_constraint_Si (op)"))) |
187 | 186 |
188 ; TRUE for memory operands with small integer addresses | 187 ; TRUE for memory operands with small integer addresses |
189 (define_predicate "memimmed_operand" | 188 (define_predicate "memimmed_operand" |
190 (and (match_operand 0 "memory_operand" "") | 189 (and (match_operand 0 "memory_operand" "") |
191 (match_test "m32c_extra_constraint_p (op, 'S', \"Sp\")"))) | 190 (match_test "satisfies_constraint_Sp (op)"))) |
192 | 191 |
193 ; TRUE for r1h. This is complicated since r1h isn't a register GCC | 192 ; TRUE for r1h. This is complicated since r1h isn't a register GCC |
194 ; normally knows about. | 193 ; normally knows about. |
195 (define_predicate "r1h_operand" | 194 (define_predicate "r1h_operand" |
196 (match_code "zero_extract") | 195 (match_code "zero_extract") |
272 (match_code "parallel")))) | 271 (match_code "parallel")))) |
273 | 272 |
274 ; TRUE for constants we can multiply pointers by | 273 ; TRUE for constants we can multiply pointers by |
275 (define_predicate "m32c_psi_scale" | 274 (define_predicate "m32c_psi_scale" |
276 (and (match_operand 0 "const_int_operand") | 275 (and (match_operand 0 "const_int_operand") |
277 (match_test "m32c_const_ok_for_constraint_p(INTVAL(op), 'I', \"Ilb\")"))) | 276 (match_test "satisfies_constraint_Ilb (op)"))) |
278 | 277 |
279 ; TRUE for one bit set (bit) or clear (mask) out of N bits. | 278 ; TRUE for one bit set (bit) or clear (mask) out of N bits. |
280 | 279 |
281 (define_predicate "m32c_1bit8_operand" | 280 (define_predicate "m32c_1bit8_operand" |
282 (and (match_operand 0 "const_int_operand") | 281 (and (match_operand 0 "const_int_operand") |
283 (match_test "m32c_const_ok_for_constraint_p(INTVAL(op), 'I', \"Ilb\")"))) | 282 (match_test "satisfies_constraint_Ilb (op)"))) |
284 | 283 |
285 (define_predicate "m32c_1bit16_operand" | 284 (define_predicate "m32c_1bit16_operand" |
286 (and (match_operand 0 "const_int_operand") | 285 (and (match_operand 0 "const_int_operand") |
287 (match_test "m32c_const_ok_for_constraint_p(INTVAL(op), 'I', \"Ilw\")"))) | 286 (match_test "satisfies_constraint_Ilw (op)"))) |
288 | 287 |
289 (define_predicate "m32c_1mask8_operand" | 288 (define_predicate "m32c_1mask8_operand" |
290 (and (match_operand 0 "const_int_operand") | 289 (and (match_operand 0 "const_int_operand") |
291 (match_test "m32c_const_ok_for_constraint_p(INTVAL(op), 'I', \"ImB\")"))) | 290 (match_test "satisfies_constraint_ImB (op)"))) |
292 | 291 |
293 (define_predicate "m32c_1mask16_operand" | 292 (define_predicate "m32c_1mask16_operand" |
294 (and (match_operand 0 "const_int_operand") | 293 (and (match_operand 0 "const_int_operand") |
295 (match_test "m32c_const_ok_for_constraint_p(INTVAL(op), 'I', \"Imw\")"))) | 294 (match_test "satisfies_constraint_Imw (op)"))) |