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)")))