10.0.1-0.10
This commit is contained in:
parent
6768e0a391
commit
047162357c
24
gcc10-pr94254.patch
Normal file
24
gcc10-pr94254.patch
Normal file
@ -0,0 +1,24 @@
|
||||
2020-03-23 Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
PR target/94254
|
||||
* config/rs6000/rs6000.c (rs6000_can_change_mode_class): Allow
|
||||
FPRs to change between SDmode and DDmode.
|
||||
|
||||
--- gcc/config/rs6000/rs6000.c
|
||||
+++ gcc/config/rs6000/rs6000.c
|
||||
@@ -12307,6 +12307,15 @@ rs6000_can_change_mode_class (machine_mode from,
|
||||
if (!BYTES_BIG_ENDIAN && (to == TDmode || from == TDmode))
|
||||
return false;
|
||||
|
||||
+ /* Allow SD<->DD changes, since SDmode values are stored in
|
||||
+ the low half of the DDmode, just like target-independent
|
||||
+ code expects. We need to allow at least SD->DD since
|
||||
+ rs6000_secondary_memory_needed_mode asks for that change
|
||||
+ to be made for SD reloads. */
|
||||
+ if ((to == DDmode && from == SDmode)
|
||||
+ || (to == SDmode && from == DDmode))
|
||||
+ return true;
|
||||
+
|
||||
if (from_size < 8 || to_size < 8)
|
||||
return false;
|
||||
|
Loading…
Reference in New Issue
Block a user