h8300.md: Remove the memory alternative and correct the insn lengths in the templates for...
2000-10-07 Will Cohen <wcohen@redhat.com>, Kazu Hirata <kazu@hxi.com> * config/h8300/h8300.md: Remove the memory alternative and correct the insn lengths in the templates for sign extention and zero extention. From-SVN: r36787
This commit is contained in:
parent
26770173b8
commit
7b7de7c0ba
@ -1,3 +1,9 @@
|
||||
2000-10-07 Will Cohen <wcohen@redhat.com>, Kazu Hirata <kazu@hxi.com>
|
||||
|
||||
* config/h8300/h8300.md: Remove the memory alternative and correct
|
||||
the insn lengths in the templates for sign extention and zero
|
||||
extention.
|
||||
|
||||
2000-10-07 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* calls.c (expand_call): Disallow sibcalls to noreturn functions.
|
||||
|
@ -1632,7 +1632,7 @@
|
||||
|
||||
(define_expand "zero_extendhisi2"
|
||||
[(set (match_operand:SI 0 "register_operand" "")
|
||||
(zero_extend:SI (match_operand:HI 1 "general_operand" "")))]
|
||||
(zero_extend:SI (match_operand:HI 1 "register_operand" "")))]
|
||||
""
|
||||
"
|
||||
{
|
||||
@ -1667,18 +1667,16 @@
|
||||
(set_attr "cc" "clobber,clobber,clobber")])
|
||||
|
||||
(define_insn ""
|
||||
[(set (match_operand:SI 0 "register_operand" "=r,r")
|
||||
(zero_extend:SI (match_operand:HI 1 "general_operand_src" "0,g>")))]
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
(zero_extend:SI (match_operand:HI 1 "register_operand" "0")))]
|
||||
"TARGET_H8300H || TARGET_H8300S"
|
||||
"@
|
||||
extu.l %S0
|
||||
mov.w %T1,%T0\;extu.l %S0"
|
||||
[(set_attr "length" "2,4")
|
||||
(set_attr "cc" "set_znv,set_znv")])
|
||||
"extu.l %S0"
|
||||
[(set_attr "length" "2")
|
||||
(set_attr "cc" "set_znv")])
|
||||
|
||||
(define_expand "extendqihi2"
|
||||
[(set (match_operand:HI 0 "register_operand" "")
|
||||
(sign_extend:HI (match_operand:QI 1 "general_operand" "")))]
|
||||
(sign_extend:HI (match_operand:QI 1 "register_operand" "")))]
|
||||
""
|
||||
"")
|
||||
|
||||
@ -1693,14 +1691,12 @@
|
||||
(set_attr "cc" "clobber,clobber")])
|
||||
|
||||
(define_insn ""
|
||||
[(set (match_operand:HI 0 "register_operand" "=r,r")
|
||||
(sign_extend:HI (match_operand:QI 1 "general_operand_src" "0,g>")))]
|
||||
[(set (match_operand:HI 0 "register_operand" "=r")
|
||||
(sign_extend:HI (match_operand:QI 1 "register_operand" "0")))]
|
||||
"TARGET_H8300H || TARGET_H8300S"
|
||||
"@
|
||||
exts.w %T0
|
||||
mov.b %R1,%s0\;exts.w %T0"
|
||||
[(set_attr "length" "2,4")
|
||||
(set_attr "cc" "set_znv,set_znv")])
|
||||
"exts.w %T0"
|
||||
[(set_attr "length" "2")
|
||||
(set_attr "cc" "set_znv")])
|
||||
|
||||
;; The compiler can synthesize a 300H variant of this which is
|
||||
;; just as efficient as one that we'd create
|
||||
@ -1716,7 +1712,7 @@
|
||||
|
||||
(define_expand "extendhisi2"
|
||||
[(set (match_operand:SI 0 "register_operand" "")
|
||||
(sign_extend:SI (match_operand:HI 1 "general_operand" "")))]
|
||||
(sign_extend:SI (match_operand:HI 1 "register_operand" "")))]
|
||||
""
|
||||
"
|
||||
{
|
||||
@ -1749,14 +1745,12 @@
|
||||
(set_attr "cc" "clobber,clobber")])
|
||||
|
||||
(define_insn ""
|
||||
[(set (match_operand:SI 0 "register_operand" "=r,r")
|
||||
(sign_extend:SI (match_operand:HI 1 "general_operand_src" "0,g>")))]
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
(sign_extend:SI (match_operand:HI 1 "register_operand" "0")))]
|
||||
"TARGET_H8300H || TARGET_H8300S"
|
||||
"@
|
||||
exts.l %S0
|
||||
mov.w %T1,%T0\;exts.l %S0"
|
||||
[(set_attr "length" "2,4")
|
||||
(set_attr "cc" "set_znv,set_znv")])
|
||||
"exts.l %S0"
|
||||
[(set_attr "length" "2")
|
||||
(set_attr "cc" "set_znv")])
|
||||
|
||||
;; ----------------------------------------------------------------------
|
||||
;; SHIFTS
|
||||
|
Loading…
Reference in New Issue
Block a user