From 98c131c38295833821a84f9dc834b7a2dc127856 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Tue, 19 Oct 1993 18:09:04 -0400 Subject: [PATCH] (define_function_unit): Add support for RIOS2 asymmetric integer units. From-SVN: r5813 --- gcc/config/rs6000/rs6000.md | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index e3edf5646a4..c083c3ca5f0 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -47,22 +47,22 @@ (define_function_unit "lsu" 1 0 (and (eq_attr "type" "load") - (eq_attr "cpu" "ppc603,ppc604,ppc620")) + (eq_attr "cpu" "rios2,ppc603,ppc604,ppc620")) 2 0) (define_function_unit "lsu" 1 0 (and (eq_attr "type" "fpload") - (eq_attr "cpu" "ppc603,ppc604,ppc620")) + (eq_attr "cpu" "rios2,ppc603,ppc604,ppc620")) 2 0) (define_function_unit "iu" 1 0 (and (eq_attr "type" "load") - (eq_attr "cpu" "rios1,rios2")) + (eq_attr "cpu" "rios1")) 2 0) (define_function_unit "iu" 1 0 (and (eq_attr "type" "fpload") - (eq_attr "cpu" "rios1,rios2")) + (eq_attr "cpu" "rios1")) 3 0) (define_function_unit "iu" 1 0 @@ -70,11 +70,6 @@ (eq_attr "cpu" "rios1")) 3 0) -(define_function_unit "iu" 1 0 - (and (eq_attr "type" "imul") - (eq_attr "cpu" "rios2")) - 2 0) - (define_function_unit "iu" 1 0 (and (eq_attr "type" "imul") (eq_attr "cpu" "ppc601,ppc603,ppc604,ppc620")) @@ -85,11 +80,6 @@ (eq_attr "cpu" "rios1")) 19 0) -(define_function_unit "iu" 1 0 - (and (eq_attr "type" "idiv") - (eq_attr "cpu" "rios2")) - 13 0) - (define_function_unit "iu" 1 0 (and (eq_attr "type" "idiv") (eq_attr "cpu" "ppc601,ppc603,ppc604,ppc620")) @@ -173,6 +163,21 @@ (eq_attr "cpu" "ppc603,ppc604,ppc620")) 31 0) +(define_function_unit "iu2" 2 0 + (and (eq_attr "type" "integer") + (eq_attr "cpu" "rios2")) + 1 0 + [(eq_attr "type" "imul,idiv")]) +(define_function_unit "imuldiv" 1 0 + (and (eq_attr "type" "imul") + (eq_attr "cpu" "rios2")) + 2 0 + [(eq_attr "type" "integer")]) +(define_function_unit "imuldiv" 1 0 + (and (eq_attr "type" "idiv") + (eq_attr "cpu" "rios2")) + 13 0 + [(eq_attr "type" "integer")]) (define_function_unit "fpu2" 2 0 (and (eq_attr "type" "fp") (eq_attr "cpu" "rios2")) -- 2.30.2