Skip to content

Commit 0e3007a

Browse files
committed
microblaze: Fix -Os right shift optimization is allowed into delay slot
In picolibc testing it's found that this produces code that compiler squeezes into a single delay slot. And thus only the first instruction emitted by this optimization is run and the rest is skipped. Signed-off-by: Alp Sayin <alpsayin@gmail.com>
1 parent 428d8d7 commit 0e3007a

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

gcc/config/microblaze/microblaze.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2286,7 +2286,7 @@ else
22862286
output_asm_insn ("bneid\t%3,.-4", operands);
22872287
return "sra\t%0,%0";
22882288
}
2289-
[(set_attr "type" "arith")
2289+
[(set_attr "type" "multi")
22902290
(set_attr "mode" "SI")
22912291
(set_attr "length" "20")]
22922292
)

0 commit comments

Comments
 (0)