diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 1995-12-02 12:59:26 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1995-12-02 12:59:26 +0000 |
commit | beaec4799c233f4d36718c09ba35721ce9a141f3 (patch) | |
tree | b0b41154d050e51274c7e1b24e0a05c7bb39f8ad | |
parent | 9fa9626bb83aa3b77b5c28da244124d0238e8cc0 (diff) | |
download | gcc-beaec4799c233f4d36718c09ba35721ce9a141f3.zip gcc-beaec4799c233f4d36718c09ba35721ce9a141f3.tar.gz gcc-beaec4799c233f4d36718c09ba35721ce9a141f3.tar.bz2 |
Do not split large constants, let define_split do it later if needed
From-SVN: r10662
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 3a46ecc..d306e8d 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -4045,24 +4045,11 @@ operands[1] = change_address (operands[1], SImode, XEXP (operands[1], 0)); } - - if (GET_CODE (operands[1]) == CONST_INT - && (unsigned) (INTVAL (operands[1]) + 0x8000) >= 0x10000 - && (INTVAL (operands[1]) & 0xffff) != 0) - { - emit_move_insn (operands[0], - gen_rtx (CONST_INT, VOIDmode, - INTVAL (operands[1]) & 0xffff0000)); - emit_insn (gen_iorsi3 (operands[0], operands[0], - gen_rtx (CONST_INT, VOIDmode, - INTVAL (operands[1]) & 0xffff))); - DONE; - } }") (define_insn "" - [(set (match_operand:SI 0 "nonimmediate_operand" "=r,r,r,r,m,r,r,r,r,*q,*c*l,*h") - (match_operand:SI 1 "input_operand" "r,S,T,m,r,I,J,R,*h,r,r,0"))] + [(set (match_operand:SI 0 "nonimmediate_operand" "=r,r,r,r,m,r,r,r,r,r,*q,*c*l,*h") + (match_operand:SI 1 "input_operand" "r,S,T,m,r,I,J,n,R,*h,r,r,0"))] "gpc_reg_operand (operands[0], SImode) || gpc_reg_operand (operands[1], SImode)" "@ @@ -4073,12 +4060,14 @@ {st%U0%X0|stw%U0%X0} %1,%0 {lil|li} %0,%1 {liu|lis} %0,%u1 + # {cal|la} %0,%1(%*) mf%1 %0 mt%0 %1 mt%0 %1 cror 0,0,0" - [(set_attr "type" "*,load,load,load,*,*,*,*,*,*,mtjmpr,*")]) + [(set_attr "type" "*,load,load,load,*,*,*,*,*,*,*,mtjmpr,*") + (set_attr "length" "4,4,4,4,4,4,4,8,4,4,4,4,4")]) ;; Split a load of a large constant into the appropriate two-insn ;; sequence. |