From: Michael Meissner Date: Tue, 13 Jul 2021 03:50:38 +0000 (-0400) Subject: Change rs6000_const_f32_to_i32 return type. X-Git-Tag: basepoints/gcc-13~6049 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7591309696537212a1d0497bc09c09b7abc7e650;p=thirdparty%2Fgcc.git Change rs6000_const_f32_to_i32 return type. The function rs6000_const_f32_to_i32 called REAL_VALUE_TO_TARGET_SINGLE with a long long type and returns it. This patch changes the type to long which is the proper type for REAL_VALUE_TO_TARGET_SINGLE. 2021-07-12 Michael Meissner gcc/ * config/rs6000/altivec.md (xxspltiw_v4sf): Change local variable value to to long. * config/rs6000/rs6000-protos.h (rs6000_const_f32_to_i32): Change return type to long. * config/rs6000/rs6000.c (rs6000_const_f32_to_i32): Change return type to long. --- diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md index dad3a07841c7..a20d6ac16b54 100644 --- a/gcc/config/rs6000/altivec.md +++ b/gcc/config/rs6000/altivec.md @@ -863,7 +863,7 @@ UNSPEC_XXSPLTIW))] "TARGET_POWER10" { - long long value = rs6000_const_f32_to_i32 (operands[1]); + long value = rs6000_const_f32_to_i32 (operands[1]); emit_insn (gen_xxspltiw_v4sf_inst (operands[0], GEN_INT (value))); DONE; }) diff --git a/gcc/config/rs6000/rs6000-protos.h b/gcc/config/rs6000/rs6000-protos.h index 9de294d3b28e..94bf961c6b78 100644 --- a/gcc/config/rs6000/rs6000-protos.h +++ b/gcc/config/rs6000/rs6000-protos.h @@ -281,7 +281,7 @@ extern void rs6000_asm_output_dwarf_pcrel (FILE *file, int size, const char *label); extern void rs6000_asm_output_dwarf_datarel (FILE *file, int size, const char *label); -extern long long rs6000_const_f32_to_i32 (rtx operand); +extern long rs6000_const_f32_to_i32 (rtx operand); /* Declare functions in rs6000-c.c */ diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 9a5db63d0ef4..de11de5e0796 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -27936,10 +27936,12 @@ rs6000_invalid_conversion (const_tree fromtype, const_tree totype) return NULL; } -long long +/* Convert a SFmode constant to the integer bit pattern. */ + +long rs6000_const_f32_to_i32 (rtx operand) { - long long value; + long value; const struct real_value *rv = CONST_DOUBLE_REAL_VALUE (operand); gcc_assert (GET_MODE (operand) == SFmode);