[all-commits] [llvm/llvm-project] 565068: [AVR] Fix expanding MOVW for overlapping registers
Patryk Wychowaniec via All-commits
all-commits at lists.llvm.org
Sun Jun 26 02:32:59 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 5650688e7242b31b1447189176493aa12c99f355
https://github.com/llvm/llvm-project/commit/5650688e7242b31b1447189176493aa12c99f355
Author: Patryk Wychowaniec <pwychowaniec at pm.me>
Date: 2022-06-26 (Sun, 26 Jun 2022)
Changed paths:
M llvm/lib/Target/AVR/AVRInstrInfo.cpp
A llvm/test/CodeGen/AVR/pseudo/COPY.mir
A llvm/test/CodeGen/AVR/rust-bug-98167.ll
Log Message:
-----------
[AVR] Fix expanding MOVW for overlapping registers
When expanding a MOVW (16-bit copy) to two MOVs (8-bit copy), the
lower byte always comes first. This is incorrect for corner cases like
'$r24r23 -> $r25r24', in which the higher byte copy should come first.
Current patch fixes that bug as recorded at
https://github.com/rust-lang/rust/issues/98167
Reviewed By: benshi001
Differential Revision: https://reviews.llvm.org/D128588
More information about the All-commits
mailing list