Hi Mike,

On 7/7/21 2:59 PM, Michael Meissner wrote:
[PATCH] 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-07  Michael Meissner  <meiss...@linux.ibm.com>

gcc/
        * 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.
---
  gcc/config/rs6000/rs6000-protos.h | 2 +-
  gcc/config/rs6000/rs6000.c        | 6 ++++--
  2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/gcc/config/rs6000/rs6000-protos.h 
b/gcc/config/rs6000/rs6000-protos.h
index 9de294d3b28..94bf961c6b7 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 9a5db63d0ef..de11de5e079 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);

These changes look OK.  Can you please also fix the expander for xxspltiw_v4sf, which incorrectly expects a long long?

I can't approve, but recommend approval with that also fixed.

Thanks!
Bill

Reply via email to