Add use of zex instruction for moxie port
authorAnthony Green <green@moxielogic.com>
Fri, 12 Dec 2014 12:52:45 +0000 (12:52 +0000)
committerAnthony Green <green@gcc.gnu.org>
Fri, 12 Dec 2014 12:52:45 +0000 (12:52 +0000)
From-SVN: r218666

gcc/ChangeLog
gcc/config/moxie/moxie.md

index e62a1e4e518a81a42c155f46f16ed6d310dea6bc..85eceaf5659846ba4764d3188760ba2805e048f3 100644 (file)
@@ -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,
index 793cac3f8ca5d98699fee52270b2864dee3cb644..a54c970181f6a635e3a1be1ba3449a12560bf9e3 100644 (file)
 
 (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"
 {
   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"
 {
   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")