aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Green <green@moxielogic.com>2014-12-12 12:52:45 +0000
committerAnthony Green <green@gcc.gnu.org>2014-12-12 12:52:45 +0000
commite03f0c47a69f449893dfa352563dda884d1d1060 (patch)
tree1649f5d2d70881f37941368c65c616f9dcf6022a
parentef53f36f968942ed111f962ca8ec479f9ed1f0e3 (diff)
downloadgcc-e03f0c47a69f449893dfa352563dda884d1d1060.zip
gcc-e03f0c47a69f449893dfa352563dda884d1d1060.tar.gz
gcc-e03f0c47a69f449893dfa352563dda884d1d1060.tar.bz2
Add use of zex instruction for moxie port
From-SVN: r218666
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/moxie/moxie.md12
2 files changed, 10 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e62a1e4..85eceaf 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2014-12-12 Anthony Green <green@moxielogic.com>
+
+ * config/moxie/moxie.md: Add use of zex instruction.
+
2014-12-12 Marc Glisse <marc.glisse@inria.fr>
* real.h (HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
diff --git a/gcc/config/moxie/moxie.md b/gcc/config/moxie/moxie.md
index 793cac3..a54c970 100644
--- a/gcc/config/moxie/moxie.md
+++ b/gcc/config/moxie/moxie.md
@@ -241,10 +241,10 @@
(define_insn_and_split "zero_extendqisi2"
[(set (match_operand:SI 0 "register_operand" "=r,r,r,r")
- (zero_extend:SI (match_operand:QI 1 "nonimmediate_operand" "0,W,A,B")))]
+ (zero_extend:SI (match_operand:QI 1 "nonimmediate_operand" "r,W,A,B")))]
""
"@
- ;
+ zex.b %0, %1
ld.b %0, %1
lda.b %0, %1
ldo.b %0, %1"
@@ -254,14 +254,14 @@
{
operands[2] = gen_lowpart (QImode, operands[0]);
}
- [(set_attr "length" "0,2,6,6")])
+ [(set_attr "length" "2,2,6,6")])
(define_insn_and_split "zero_extendhisi2"
[(set (match_operand:SI 0 "register_operand" "=r,r,r,r")
- (zero_extend:SI (match_operand:HI 1 "nonimmediate_operand" "0,W,A,B")))]
+ (zero_extend:SI (match_operand:HI 1 "nonimmediate_operand" "r,W,A,B")))]
""
"@
- ;
+ zex.s %0, %1
ld.s %0, %1
lda.s %0, %1
ldo.s %0, %1"
@@ -271,7 +271,7 @@
{
operands[2] = gen_lowpart (HImode, operands[0]);
}
- [(set_attr "length" "0,2,6,6")])
+ [(set_attr "length" "2,2,6,6")])
(define_insn "extendqisi2"
[(set (match_operand:SI 0 "register_operand" "=r")