PR target/54816 is now fixed on mainline.  This adds a test case to
check that it doesn't regress in future.  Tested with a cross compiler
to avr-elf.  Committed as obvious.


2023-04-16  Roger Sayle  <ro...@nextmovesoftware.com>

gcc/testsuite/ChangeLog
        PR target/54816
        * gcc.target/avr/pr54816.c: New test case.


diff --git a/gcc/testsuite/gcc.target/avr/pr54816.c 
b/gcc/testsuite/gcc.target/avr/pr54816.c
new file mode 100644
index 0000000..56be780
--- /dev/null
+++ b/gcc/testsuite/gcc.target/avr/pr54816.c
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-Os -mmcu=atmega8" } */
+int wmul (char a, char b)
+{
+    return a * (char) (b << 3);
+}
+
+/* { dg-final { scan-assembler-times "lsl" 3 } } */
+/* { dg-final { scan-assembler-times "muls" 1 } } */

Reply via email to