Message ID | 00c101d97766$95a30a40$c0e91ec0$@nextmovesoftware.com |
---|---|
State | New |
Headers | show |
Series | [Committed] Correct zeroextendqihi2 insn length regression on xstormy16. | expand |
On 4/25/23 05:10, Roger Sayle wrote: > > My recent tweak to the zeroextendqihi2 pattern on xstormy16 incorrectly > handled the case where the operand was a MEM. MEM operands use a longer > encoding than REG operands, and the incorrect instruction length resulted > in assembler errors (as reported by Jeff Law). This patch restores the > original length resolving this regression. Sorry for the inconvenience. > Committed as obvious, after testing that a cross-compiler to xstormy16-elf > builds from x86_64-pc-linux-gnu, and that gcc.c-torture/execute/memset-2.c > no longer causes "operand out of range" issues in gas. Sorry again. > > > 2023-04-25 Roger Sayle <roger@nextmovesoftware.com> > > gcc/ChangeLog > * config/stormy16/stormy16.md (zero_extendqihi2): Restore/fix > length attribute for the first (memory operand) alternative. Thanks. xstormy is passing again. jeff
diff --git a/gcc/config/stormy16/stormy16.md b/gcc/config/stormy16/stormy16.md index fd52588..9d92492 100644 --- a/gcc/config/stormy16/stormy16.md +++ b/gcc/config/stormy16/stormy16.md @@ -286,7 +286,7 @@ shl %0,#8 | shr %0,#8" [(set_attr "psw_operand" "nop,nop,0") (set_attr_alternative "length" - [(const_int 2) + [(const_int 4) (const_int 2) (const_int 4)])])