diff options
Diffstat (limited to 'gcc/config/rs6000/predicates.md')
-rw-r--r-- | gcc/config/rs6000/predicates.md | 31 |
1 files changed, 1 insertions, 30 deletions
diff --git a/gcc/config/rs6000/predicates.md b/gcc/config/rs6000/predicates.md index 018b5f95f6b..1d48927f450 100644 --- a/gcc/config/rs6000/predicates.md +++ b/gcc/config/rs6000/predicates.md @@ -412,7 +412,7 @@ ;; ;; If this is a pseudo only allow for GPR fusion in power8. If we have the ;; power9 fusion allow the floating point types. -(define_predicate "toc_fusion_or_p9_reg_operand" +(define_predicate "p9_fusion_reg_operand" (match_code "reg,subreg") { HOST_WIDE_INT r; @@ -1664,35 +1664,6 @@ return GET_CODE (op) == UNSPEC && XINT (op, 1) == UNSPEC_TOCREL; }) -;; Match the TOC memory operand that can be fused with an addis instruction. -;; This is used in matching a potential fused address before register -;; allocation. -(define_predicate "toc_fusion_mem_raw" - (match_code "mem") -{ - if (!TARGET_TOC_FUSION_INT || !can_create_pseudo_p ()) - return false; - - return small_toc_ref (XEXP (op, 0), Pmode); -}) - -;; Match the memory operand that has been fused with an addis instruction and -;; wrapped inside of an (unspec [...] UNSPEC_FUSION_ADDIS) wrapper. -(define_predicate "toc_fusion_mem_wrapped" - (match_code "mem") -{ - rtx addr; - - if (!TARGET_TOC_FUSION_INT) - return false; - - if (!MEM_P (op)) - return false; - - addr = XEXP (op, 0); - return (GET_CODE (addr) == UNSPEC && XINT (addr, 1) == UNSPEC_FUSION_ADDIS); -}) - ;; Match the first insn (addis) in fusing the combination of addis and loads to ;; GPR registers on power8. (define_predicate "fusion_gpr_addis" |