diff options
author | Michael Meissner <meissner@linux.ibm.com> | 2021-07-12 23:50:38 -0400 |
---|---|---|
committer | Michael Meissner <meissner@linux.ibm.com> | 2021-07-12 23:50:38 -0400 |
commit | 7591309696537212a1d0497bc09c09b7abc7e650 (patch) | |
tree | 347d767253f5da708291c5e911f40fc6dabe9a94 /gcc | |
parent | 07bcbf9cc2a031ba5abcff368b452bfc99bf707e (diff) | |
download | gcc-7591309696537212a1d0497bc09c09b7abc7e650.zip gcc-7591309696537212a1d0497bc09c09b7abc7e650.tar.gz gcc-7591309696537212a1d0497bc09c09b7abc7e650.tar.bz2 |
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 <meissner@linux.ibm.com>
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.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/rs6000/altivec.md | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000-protos.h | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 6 |
3 files changed, 6 insertions, 4 deletions
diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md index dad3a07..a20d6ac 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 9de294d..94bf961 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 9a5db63..de11de5 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); |