comparison gcc/config/riscv/predicates.md @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
1 ;; Predicate description for RISC-V target. 1 ;; Predicate description for RISC-V target.
2 ;; Copyright (C) 2011-2018 Free Software Foundation, Inc. 2 ;; Copyright (C) 2011-2020 Free Software Foundation, Inc.
3 ;; Contributed by Andrew Waterman (andrew@sifive.com). 3 ;; Contributed by Andrew Waterman (andrew@sifive.com).
4 ;; Based on MIPS target for GNU compiler. 4 ;; Based on MIPS target for GNU compiler.
5 ;; 5 ;;
6 ;; This file is part of GCC. 6 ;; This file is part of GCC.
7 ;; 7 ;;
24 (match_test "SMALL_OPERAND (INTVAL (op))"))) 24 (match_test "SMALL_OPERAND (INTVAL (op))")))
25 25
26 (define_predicate "arith_operand" 26 (define_predicate "arith_operand"
27 (ior (match_operand 0 "const_arith_operand") 27 (ior (match_operand 0 "const_arith_operand")
28 (match_operand 0 "register_operand"))) 28 (match_operand 0 "register_operand")))
29
30 (define_predicate "lui_operand"
31 (and (match_code "const_int")
32 (match_test "LUI_OPERAND (INTVAL (op))")))
33
34 (define_predicate "sfb_alu_operand"
35 (ior (match_operand 0 "arith_operand")
36 (match_operand 0 "lui_operand")))
29 37
30 (define_predicate "const_csr_operand" 38 (define_predicate "const_csr_operand"
31 (and (match_code "const_int") 39 (and (match_code "const_int")
32 (match_test "IN_RANGE (INTVAL (op), 0, 31)"))) 40 (match_test "IN_RANGE (INTVAL (op), 0, 31)")))
33 41