diff options
author | Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp> | 2023-05-26 00:11:50 +0900 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2023-05-26 03:22:54 -0700 |
commit | bf78e24a90d4d064b0372a03c0327b6f90475949 (patch) | |
tree | 6d79b60ab002a9408ae30fe6fa3a3bccbbbfc4d1 | |
parent | ce081284bde18cf554ac7c10166581c8c667a6b7 (diff) | |
download | gcc-bf78e24a90d4d064b0372a03c0327b6f90475949.zip gcc-bf78e24a90d4d064b0372a03c0327b6f90475949.tar.gz gcc-bf78e24a90d4d064b0372a03c0327b6f90475949.tar.bz2 |
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.
-rw-r--r-- | gcc/config/xtensa/xtensa.md | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md index 6c1d8ee..1125812 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: |