[PATCH AArch64]Fix expanding of %w for *extend... pattern

bin.cheng bin.cheng@linux.alibaba.com
Mon Aug 9 06:49:35 GMT 2021

When playing with std::experimental::simd, I found a bug newly introduced in
AArch64 backend.  As commit message describes:
  7     Pattern "*extend<SHORT:mode><GPI:mode>2_aarch64" is duplicated
  8     from the corresponding zero_extend pattern, however %<w> needs
  9     to be expanded according to its mode iterator because the smov
 10     instruction is different to umov.

Without the fix, it forces expanding to w register no matter the mode is.  
This simple patch fixes the issue which should be obvious.

Bootstrap and test on AArch64.  Any comments?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pattern-signed-extend-20210809.patch
Type: application/octet-stream
Size: 937 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20210809/322b10ec/attachment.obj>

More information about the Gcc-patches mailing list