Skip to content

Commit 96ceaa3

Browse files
Michael MeissnerMichael Meissner
authored andcommitted
rs6000.md (movdf_hardfloat32): Add a comment explaining the register ordering preferences.
2012-11-20 Michael Meissner <[email protected]> * config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment explaining the register ordering preferences. From-SVN: r193673
1 parent 7139194 commit 96ceaa3

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

gcc/ChangeLog

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
2012-11-20 Michael Meissner <[email protected]>
2+
3+
* config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment
4+
explaining the register ordering preferences.
5+
16
2012-11-20 Aldy Hernandez <[email protected]>
27

38
PR tree-optimization/55350

gcc/config/rs6000/rs6000.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8018,6 +8018,14 @@
80188018
;; Don't have reload use general registers to load a constant. It is
80198019
;; less efficient than loading the constant into an FP register, since
80208020
;; it will probably be used there.
8021+
8022+
;; The move constraints are ordered to prefer floating point registers before
8023+
;; general purpose registers to avoid doing a store and a load to get the value
8024+
;; into a floating point register when it is needed for a floating point
8025+
;; operation. Prefer traditional floating point registers over VSX registers,
8026+
;; since the D-form version of the memory instructions does not need a GPR for
8027+
;; reloading.
8028+
80218029
(define_insn "*movdf_hardfloat32"
80228030
[(set (match_operand:DF 0 "nonimmediate_operand" "=m,d,d,ws,?wa,Z,?Z,ws,?wa,wa,Y,r,!r,!r,!r,!r")
80238031
(match_operand:DF 1 "input_operand" "d,m,d,Z,Z,ws,wa,ws,wa,j,r,Y,r,G,H,F"))]

0 commit comments

Comments
 (0)