From 7e7e4032f1c50f0879eeee4c7381f8c79bbed23a Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Wed, 14 May 2014 15:42:52 +0000 Subject: re PR bootstrap/61084 (wide-int merge broke Solaris/SPARC bootstrap) gcc/ PR target/61084 * config/sparc/sparc.md: Fix types of low and high in DI constant splitter. Use gen_int_mode in some other splitters. From-SVN: r210428 --- gcc/ChangeLog | 6 ++++++ gcc/config/sparc/sparc.md | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bd0894d..5af99f4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-05-14 Richard Sandiford + + PR target/61084 + * config/sparc/sparc.md: Fix types of low and high in DI constant + splitter. Use gen_int_mode in some other splitters. + 2014-05-14 Martin Jambor PR ipa/60897 diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index e2a4669..d78664a 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md @@ -1886,7 +1886,7 @@ emit_insn (gen_movsi (gen_lowpart (SImode, operands[0]), operands[1])); #else - unsigned int low, high; + HOST_WIDE_INT low, high; low = trunc_int_for_mode (INTVAL (operands[1]), SImode); high = trunc_int_for_mode (INTVAL (operands[1]) >> 32, SImode); @@ -4822,7 +4822,7 @@ [(set (match_dup 3) (match_dup 4)) (set (match_dup 0) (ior:SI (not:SI (match_dup 3)) (match_dup 1)))] { - operands[4] = GEN_INT (~INTVAL (operands[2])); + operands[4] = gen_int_mode (~INTVAL (operands[2]), SImode); }) (define_insn_and_split "*or_not_di_sp32" @@ -4899,7 +4899,7 @@ [(set (match_dup 3) (match_dup 4)) (set (match_dup 0) (not:SI (xor:SI (match_dup 3) (match_dup 1))))] { - operands[4] = GEN_INT (~INTVAL (operands[2])); + operands[4] = gen_int_mode (~INTVAL (operands[2]), SImode); }) (define_split @@ -4911,7 +4911,7 @@ [(set (match_dup 3) (match_dup 4)) (set (match_dup 0) (xor:SI (match_dup 3) (match_dup 1)))] { - operands[4] = GEN_INT (~INTVAL (operands[2])); + operands[4] = gen_int_mode (~INTVAL (operands[2]), SImode); }) ;; Split DImode logical operations requiring two instructions. -- cgit v1.1