predicates.md (x86_64_zext_general_operand): New.
* config/i386/predicates.md (x86_64_zext_general_operand): New. * config/i386/i386.md (*zero_extendsidi2_rex64): Change operand 1 predicate to x86_64_zext_general_operand. Accept "Z" constraint. From-SVN: r185073
This commit is contained in:
parent
6ba4f08f34
commit
ca538e973f
3 changed files with 17 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
|||
2012-03-07 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/i386/predicates.md (x86_64_zext_general_operand): New.
|
||||
* config/i386/i386.md (*zero_extendsidi2_rex64): Change operand 1
|
||||
predicate to x86_64_zext_general_operand. Accept "Z" constraint.
|
||||
|
||||
2012-03-07 Walter Lee <walt@tilera.com>
|
||||
|
||||
* config/tilegx/tilegx.c (tilegx_expand_prologue): Don't generate
|
||||
|
|
|
@ -3377,10 +3377,10 @@
|
|||
|
||||
(define_insn "*zero_extendsidi2_rex64"
|
||||
[(set (match_operand:DI 0 "nonimmediate_operand"
|
||||
"=r,o,?*Ym,?*y,?*Yi,!*x")
|
||||
"=r ,o,?*Ym,?*y,?*Yi,!*x")
|
||||
(zero_extend:DI
|
||||
(match_operand:SI 1 "nonimmediate_operand"
|
||||
"rm,0,r ,m ,r ,m*x")))]
|
||||
(match_operand:SI 1 "x86_64_zext_general_operand"
|
||||
"rmZ,0,r ,m ,r ,m*x")))]
|
||||
"TARGET_64BIT"
|
||||
"@
|
||||
mov{l}\t{%1, %k0|%k0, %1}
|
||||
|
|
|
@ -340,6 +340,14 @@
|
|||
(match_operand 0 "x86_64_immediate_operand"))
|
||||
(match_operand 0 "general_operand")))
|
||||
|
||||
;; Return true if OP is general operand representable on x86_64
|
||||
;; as zero extended constant.
|
||||
(define_predicate "x86_64_zext_general_operand"
|
||||
(if_then_else (match_test "TARGET_64BIT")
|
||||
(ior (match_operand 0 "nonimmediate_operand")
|
||||
(match_operand 0 "x86_64_zext_immediate_operand"))
|
||||
(match_operand 0 "general_operand")))
|
||||
|
||||
;; Return true if OP is general operand representable on x86_64
|
||||
;; as either sign extended or zero extended constant.
|
||||
(define_predicate "x86_64_szext_general_operand"
|
||||
|
|
Loading…
Add table
Reference in a new issue