mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-17 05:10:28 +08:00
* config/i386/i386.md (*lea_1_rex64, *lea_1, *lea_1_zext,
*lea_2_rex64): Move before *add<mode>_1 pattern. From-SVN: r152530
This commit is contained in:
parent
1fc2373614
commit
f8921d7ddf
@ -1,3 +1,8 @@
|
||||
2009-10-06 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/i386/i386.md (*lea_1_rex64, *lea_1, *lea_1_zext,
|
||||
*lea_2_rex64): Move before *add<mode>_1 pattern.
|
||||
|
||||
2009-10-07 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* collect2.c (main): Add -fno-whole-program.
|
||||
@ -87,7 +92,7 @@
|
||||
(maybe_add_dllexport) New function.
|
||||
(i386_pe_adjust_class_at_definition): Use it to propagate dllexport
|
||||
to class members.
|
||||
|
||||
|
||||
2009-10-07 Ben Elliston <bje@au.ibm.com>
|
||||
|
||||
* config/rs6000/a2.md: Remove duplicated lines.
|
||||
|
@ -6181,6 +6181,39 @@
|
||||
[(set_attr "type" "alu")
|
||||
(set_attr "mode" "<MODE>")])
|
||||
|
||||
(define_insn "*lea_1_rex64"
|
||||
[(set (match_operand:DI 0 "register_operand" "=r")
|
||||
(match_operand:DI 1 "no_seg_address_operand" "p"))]
|
||||
"TARGET_64BIT"
|
||||
"lea{q}\t{%a1, %0|%0, %a1}"
|
||||
[(set_attr "type" "lea")
|
||||
(set_attr "mode" "DI")])
|
||||
|
||||
(define_insn "*lea_1"
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
(match_operand:SI 1 "no_seg_address_operand" "p"))]
|
||||
"!TARGET_64BIT"
|
||||
"lea{l}\t{%a1, %0|%0, %a1}"
|
||||
[(set_attr "type" "lea")
|
||||
(set_attr "mode" "SI")])
|
||||
|
||||
(define_insn "*lea_1_zext"
|
||||
[(set (match_operand:DI 0 "register_operand" "=r")
|
||||
(zero_extend:DI
|
||||
(subreg:SI (match_operand:DI 1 "no_seg_address_operand" "p") 0)))]
|
||||
"TARGET_64BIT"
|
||||
"lea{l}\t{%a1, %k0|%k0, %a1}"
|
||||
[(set_attr "type" "lea")
|
||||
(set_attr "mode" "SI")])
|
||||
|
||||
(define_insn "*lea_2_rex64"
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
(subreg:SI (match_operand:DI 1 "no_seg_address_operand" "p") 0))]
|
||||
"TARGET_64BIT"
|
||||
"lea{l}\t{%a1, %0|%0, %a1}"
|
||||
[(set_attr "type" "lea")
|
||||
(set_attr "mode" "SI")])
|
||||
|
||||
(define_insn "*add<mode>_1"
|
||||
[(set (match_operand:SWI48 0 "nonimmediate_operand" "=r,rm,r,r")
|
||||
(plus:SWI48
|
||||
@ -7364,39 +7397,6 @@
|
||||
[(set_attr "type" "alu")
|
||||
(set_attr "mode" "QI")])
|
||||
|
||||
(define_insn "*lea_1_rex64"
|
||||
[(set (match_operand:DI 0 "register_operand" "=r")
|
||||
(match_operand:DI 1 "no_seg_address_operand" "p"))]
|
||||
"TARGET_64BIT"
|
||||
"lea{q}\t{%a1, %0|%0, %a1}"
|
||||
[(set_attr "type" "lea")
|
||||
(set_attr "mode" "DI")])
|
||||
|
||||
(define_insn "*lea_1"
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
(match_operand:SI 1 "no_seg_address_operand" "p"))]
|
||||
"!TARGET_64BIT"
|
||||
"lea{l}\t{%a1, %0|%0, %a1}"
|
||||
[(set_attr "type" "lea")
|
||||
(set_attr "mode" "SI")])
|
||||
|
||||
(define_insn "*lea_1_zext"
|
||||
[(set (match_operand:DI 0 "register_operand" "=r")
|
||||
(zero_extend:DI
|
||||
(subreg:SI (match_operand:DI 1 "no_seg_address_operand" "p") 0)))]
|
||||
"TARGET_64BIT"
|
||||
"lea{l}\t{%a1, %k0|%k0, %a1}"
|
||||
[(set_attr "type" "lea")
|
||||
(set_attr "mode" "SI")])
|
||||
|
||||
(define_insn "*lea_2_rex64"
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
(subreg:SI (match_operand:DI 1 "no_seg_address_operand" "p") 0))]
|
||||
"TARGET_64BIT"
|
||||
"lea{l}\t{%a1, %0|%0, %a1}"
|
||||
[(set_attr "type" "lea")
|
||||
(set_attr "mode" "SI")])
|
||||
|
||||
;; The lea patterns for non-Pmodes needs to be matched by
|
||||
;; several insns converted to real lea by splitters.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user