re PR rtl-optimization/79593 (Poor/Worse code generation for FPU on versions after 6)
PR rtl-optimization/79593 * config/i386/i386.md (reg = mem; mem = reg): New define_peephole2. From-SVN: r267740
This commit is contained in:
parent
524abb0957
commit
7e55f2d868
2 changed files with 15 additions and 0 deletions
|
@ -1,5 +1,8 @@
|
|||
2019-01-08 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/79593
|
||||
* config/i386/i386.md (reg = mem; mem = reg): New define_peephole2.
|
||||
|
||||
* config/rs6000/rs6000.c (rs6000_delegitimize_address): Delegitimize
|
||||
UNSPEC_FUSION_GPR to its argument. Formatting fixes.
|
||||
|
||||
|
|
|
@ -18740,6 +18740,18 @@
|
|||
const0_rtx);
|
||||
})
|
||||
|
||||
;; Attempt to optimize away memory stores of values the memory already
|
||||
;; has. See PR79593.
|
||||
(define_peephole2
|
||||
[(set (match_operand 0 "register_operand")
|
||||
(match_operand 1 "memory_operand"))
|
||||
(set (match_operand 2 "memory_operand") (match_dup 0))]
|
||||
"!MEM_VOLATILE_P (operands[1])
|
||||
&& !MEM_VOLATILE_P (operands[2])
|
||||
&& rtx_equal_p (operands[1], operands[2])
|
||||
&& !reg_overlap_mentioned_p (operands[0], operands[2])"
|
||||
[(set (match_dup 0) (match_dup 1))])
|
||||
|
||||
;; Attempt to always use XOR for zeroing registers (including FP modes).
|
||||
(define_peephole2
|
||||
[(set (match_operand 0 "general_reg_operand")
|
||||
|
|
Loading…
Add table
Reference in a new issue