rs6000: Use ULL on big hexadecimal literal
authorSegher Boessenkool <segher@kernel.crashing.org>
Tue, 12 Nov 2019 21:56:13 +0000 (22:56 +0100)
committerSegher Boessenkool <segher@gcc.gnu.org>
Tue, 12 Nov 2019 21:56:13 +0000 (22:56 +0100)
C++98 does not have long long int, and does not use (unsigned) long
long int for hexadecimal literals.  So let's use an ULL suffix here,
which is still not strict C++98, but which works with more compilers.

* config/rs6000/rs6000.md (rs6000_set_fpscr_drn): Use ULL on big
hexadecimal literal.

From-SVN: r278107

gcc/ChangeLog
gcc/config/rs6000/rs6000.md

index 574b598..e8ebbec 100644 (file)
@@ -1,5 +1,10 @@
 2019-11-12  Segher Boessenkool  <segher@kernel.crashing.org>
 
+       * config/rs6000/rs6000.md (rs6000_set_fpscr_drn): Use ULL on big
+       hexadecimal literal.
+
+2019-11-12  Segher Boessenkool  <segher@kernel.crashing.org>
+
        * config/rs6000/vsx.md (xscmpexpdp_<code> for CMP_TEST): Handle
        UNORDERED if !HONOR_NANS (DFmode).
        (xscmpexpqp_<code>_<mode> for CMP_TEST and IEEE128): Handle UNORDERED
index cbfe38b..040fc88 100644 (file)
       /* Insert new RN mode into FSCPR.  */
       emit_insn (gen_rs6000_mffs (tmp_df));
       tmp_di = simplify_gen_subreg (DImode, tmp_df, DFmode, 0);
-      emit_insn (gen_anddi3 (tmp_di, tmp_di, GEN_INT (0xFFFFFFF8FFFFFFFF)));
+      emit_insn (gen_anddi3 (tmp_di, tmp_di, GEN_INT (0xFFFFFFF8FFFFFFFFULL)));
       emit_insn (gen_iordi3 (tmp_di, tmp_di, tmp_rn));
 
       /* Need to write to field 7.  The fields are [0:15].  The equation to