aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTakayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>2023-05-26 00:11:50 +0900
committerMax Filippov <jcmvbkbc@gmail.com>2023-05-26 03:22:54 -0700
commitbf78e24a90d4d064b0372a03c0327b6f90475949 (patch)
tree6d79b60ab002a9408ae30fe6fa3a3bccbbbfc4d1 /gcc
parentce081284bde18cf554ac7c10166581c8c667a6b7 (diff)
downloadgcc-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.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/xtensa/xtensa.md11
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: