summaryrefslogtreecommitdiff
path: root/gcc/config/m32c/shift.md
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2006-03-31 16:53:04 -0500
committerDJ Delorie <dj@gcc.gnu.org>2006-03-31 16:53:04 -0500
commit16659fcf3307e1d41924bd4176053f2a2643fb38 (patch)
treea80662e4b59d239f622614367ca06c2977266d84 /gcc/config/m32c/shift.md
parent6b04402b9228b0d62e5dc8c3715543d19dde1e66 (diff)
downloadgcc-16659fcf3307e1d41924bd4176053f2a2643fb38.tar.gz
cond.md: Set condition flags properly throughout.
* config/m32c/cond.md: Set condition flags properly throughout. * config/m32c/minmax.md: Likewise. * config/m32c/prologue.md: Likewise. * config/m32c/bitops.md: Likewise. * config/m32c/muldiv.md: Likewise. * config/m32c/mov.md: Likewise. * config/m32c/addsub.md: Likewise. * config/m32c/m32c.md: Likewise. * config/m32c/jump.md: Likewise. * config/m32c/shift.md: Likewise. * config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to conditionally output the pattern for this. * config/m32c/m32c.c (flags_needed_for_conditional): New. (m32c_compare_redundant): New. (m32c_output_compare): New. * config/m32c/m32c-protos.h (m32c_output_compare): New. * config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber dest, not src. Allow other 4-byte modes. From-SVN: r112591
Diffstat (limited to 'gcc/config/m32c/shift.md')
-rw-r--r--gcc/config/m32c/shift.md13
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/config/m32c/shift.md b/gcc/config/m32c/shift.md
index 3e07b25c5ed..6679f38ffe7 100644
--- a/gcc/config/m32c/shift.md
+++ b/gcc/config/m32c/shift.md
@@ -39,6 +39,7 @@
"@
sha.b\t%2,%0
mov.b\t%2,r1h\n\tsha.b\tr1h,%0"
+ [(set_attr "flags" "oszc,oszc")]
)
(define_insn "ashrqi3_i"
@@ -50,6 +51,7 @@
"@
sha.b\t%2,%0
mov.b\t%2,r1h\n\tsha.b\tr1h,%0"
+ [(set_attr "flags" "oszc,oszc")]
)
(define_insn "lshrqi3_i"
@@ -61,6 +63,7 @@
"@
shl.b\t%2,%0
mov.b\t%2,r1h\n\tshl.b\tr1h,%0"
+ [(set_attr "flags" "szc,szc")]
)
@@ -105,6 +108,7 @@
"@
sha.w\t%2,%0
mov.b\t%2,r1h\n\tsha.w\tr1h,%0"
+ [(set_attr "flags" "oszc,oszc")]
)
(define_insn "ashrhi3_i"
@@ -116,6 +120,7 @@
"@
sha.w\t%2,%0
mov.b\t%2,r1h\n\tsha.w\tr1h,%0"
+ [(set_attr "flags" "oszc,oszc")]
)
(define_insn "lshrhi3_i"
@@ -127,6 +132,7 @@
"@
shl.w\t%2,%0
mov.b\t%2,r1h\n\tshl.w\tr1h,%0"
+ [(set_attr "flags" "szc,szc")]
)
@@ -175,6 +181,7 @@
"@
sha.l\t%2,%0
mov.b\t%2,r1h\n\tsha.l\tr1h,%0"
+ [(set_attr "flags" "oszc,oszc")]
)
(define_insn "ashrpsi3_i"
@@ -186,6 +193,7 @@
"@
sha.l\t%2,%0
mov.b\t%2,r1h\n\tsha.l\tr1h,%0"
+ [(set_attr "flags" "oszc,oszc")]
)
(define_insn "lshrpsi3_i"
@@ -197,6 +205,7 @@
"@
shl.l\t%2,%0
mov.b\t%2,r1h\n\tshl.l\tr1h,%0"
+ [(set_attr "flags" "szc,szc")]
)
@@ -248,7 +257,7 @@
"@
sha.l\t%2,%0
mov.b\t%2,r1h\n\tsha.l\tr1h,%0"
- [(set_attr "flags" "sz,sz")]
+ [(set_attr "flags" "oszc,oszc")]
)
(define_insn "ashrsi3_16"
@@ -260,6 +269,7 @@
"@
sha.l\t%2,%0
mov.b\t%2,r1h\n\tsha.l\tr1h,%0"
+ [(set_attr "flags" "oszc,oszc")]
)
(define_insn "lshrsi3_16"
@@ -271,6 +281,7 @@
"@
shl.l\t%2,%0
mov.b\t%2,r1h\n\tshl.l\tr1h,%0"
+ [(set_attr "flags" "szc,szc")]
)