]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
h8300.md (*zero_extendqisi2_h8300hs): Always split.
authorKazu Hirata <kazu@cs.umass.edu>
Mon, 7 Apr 2003 10:17:24 +0000 (10:17 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Mon, 7 Apr 2003 10:17:24 +0000 (10:17 +0000)
* config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
split.
(a splitter): Do zero-extension via HImode.

From-SVN: r65327

gcc/ChangeLog
gcc/config/h8300/h8300.md

index a9d111deaf1a385735797cc8e0a6bc7aca6ac429..716f7d164541de7d13a95c44e8475e88964f39c1 100644 (file)
@@ -1,3 +1,9 @@
+2003-04-07  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
+       split.
+       (a splitter): Do zero-extension via HImode.
+
 2003-04-07  James A. Morrison <ja2morri@uwaterloo.ca>
 
        * doc/invoke.texi: Eliminate extra white-space caused by
index 6bc0cf0b771300de040e44424476843d02048e5f..89014dd9e927d48ca4b7cd54f87fed652ec6e798 100644 (file)
   [(set (match_operand:SI 0 "register_operand" "=r,r")
        (zero_extend:SI (match_operand:QI 1 "general_operand_src" "0,g>")))]
   "TARGET_H8300H || TARGET_H8300S"
-  "@
-  extu.w       %T0\;extu.l     %S0
-  #"
-  [(set_attr "length" "4,12")
-   (set_attr "cc" "set_znv,set_znv")])
+  "#")
 
 (define_split
   [(set (match_operand:SI 0 "register_operand" "")
    && reload_completed" 
   [(set (match_dup 2)
        (match_dup 1))
+   (set (match_dup 3)
+       (zero_extend:HI (match_dup 2)))
    (set (match_dup 0)
-       (zero_extend:SI (match_dup 2)))]
-  "operands[2] = gen_rtx_REG (QImode, REGNO (operands[0]));")
+       (zero_extend:SI (match_dup 3)))]
+  "operands[2] = gen_lowpart (QImode, operands[0]);
+   operands[3] = gen_lowpart (HImode, operands[0]);")
 
 (define_split
   [(set (match_operand:SI 0 "register_operand" "")