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.
Tested etc.; committing to trunk. Segher 2019-11-12 Segher Boessenkool <seg...@kernel.crashing.org> * config/rs6000/rs6000.md (rs6000_set_fpscr_drn): Use ULL on big hexadecimal literal. --- gcc/config/rs6000/rs6000.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 1327285..d165344 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -6008,7 +6008,7 @@ (define_expand "rs6000_set_fpscr_drn" /* 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 -- 1.8.3.1