From: Takayuki 'January June' Suwa Date: Thu, 25 May 2023 15:11:50 +0000 (+0900) Subject: xtensa: tidy extzvsi-1bit patterns X-Git-Tag: basepoints/gcc-15~8845 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bf78e24a90d4d064b0372a03c0327b6f90475949;p=thirdparty%2Fgcc.git xtensa: tidy extzvsi-1bit patterns gcc/ChangeLog: * config/xtensa/xtensa.md (*extzvsi-1bit_ashlsi3): Retract excessive line folding, and correct the value of the "length" insn attribute related to TARGET_DENSITY. (*extzvsi-1bit_addsubx): Ditto. --- diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md index 6c1d8ee8f815..112581251651 100644 --- a/gcc/config/xtensa/xtensa.md +++ b/gcc/config/xtensa/xtensa.md @@ -1009,8 +1009,7 @@ (ashift:SI (match_dup 0) (match_dup 3)))] { - int pos = INTVAL (operands[2]), - shift = floor_log2 (INTVAL (operands[3])); + int pos = INTVAL (operands[2]), shift = floor_log2 (INTVAL (operands[3])); switch (GET_CODE (operands[4])) { case ASHIFT: @@ -1029,7 +1028,10 @@ } [(set_attr "type" "arith") (set_attr "mode" "SI") - (set_attr "length" "6")]) + (set (attr "length") + (if_then_else (match_test "TARGET_DENSITY && INTVAL (operands[3]) == 2") + (const_int 5) + (const_int 6)))]) (define_insn_and_split "*extzvsi-1bit_addsubx" [(set (match_operand:SI 0 "register_operand" "=a") @@ -1053,8 +1055,7 @@ (match_dup 4)) (match_dup 2)]))] { - int pos = INTVAL (operands[3]), - shift = floor_log2 (INTVAL (operands[4])); + int pos = INTVAL (operands[3]), shift = floor_log2 (INTVAL (operands[4])); switch (GET_CODE (operands[6])) { case ASHIFT: