From 093b05b68f7b6c8bd35bf2dc50acfea95a418f39 Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Mon, 7 Apr 2003 10:17:24 +0000 Subject: [PATCH] h8300.md (*zero_extendqisi2_h8300hs): Always split. * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always split. (a splitter): Do zero-extension via HImode. From-SVN: r65327 --- gcc/ChangeLog | 6 ++++++ gcc/config/h8300/h8300.md | 13 ++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a9d111deaf1..716f7d16454 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-04-07 Kazu Hirata + + * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always + split. + (a splitter): Do zero-extension via HImode. + 2003-04-07 James A. Morrison * doc/invoke.texi: Eliminate extra white-space caused by diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md index 6bc0cf0b771..89014dd9e92 100644 --- a/gcc/config/h8300/h8300.md +++ b/gcc/config/h8300/h8300.md @@ -2084,11 +2084,7 @@ [(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" "") @@ -2098,9 +2094,12 @@ && 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" "") -- 2.30.2