===================================================================
@@ -2,9 +2,9 @@
(0x1234000) used to build another constant. */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler-not "0x12330000|305332224" } } */
-/* { dg-final { scan-assembler "\td?addiu\t\\\$5,\\\$\[0-9\]*,-1" } } */
+/* { dg-final { scan-assembler "\td?addiu\t\\\$4,\\\$\[0-9\]*,-1" } } */
NOMIPS16 void f ()
{
- g (0x12340001, 0x1233ffff);
+ g (0x1233ffff, 0x12340001);
}
===================================================================
@@ -1,9 +1,9 @@
/* Derive a constant (0x30001) from another constant. */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler-not "0x300000|196608" } } */
-/* { dg-final { scan-assembler "\td?addiu\t\\\$5,\\\$\[0-9\]*,32763" } } */
+/* { dg-final { scan-assembler "\td?addiu\t\\\$4,\\\$\[0-9\]*,32763" } } */
NOMIPS16 void f ()
{
- g (0x28006, 0x30001);
+ g (0x30001, 0x28006);
}
===================================================================
@@ -0,0 +1,11 @@
+/* Derive a constant (0x1233ffff) from an intermediate value
+ (0x1234000) used to build another constant. */
+/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
+/* See PR61926 for the XFAILs. */
+/* { dg-final { scan-assembler-not "0x12330000|305332224" { xfail *-*-* } } } */
+/* { dg-final { scan-assembler "\td?addiu\t\\\$5,\\\$\[0-9\]*,-1" { xfail *-*-* } } } */
+
+NOMIPS16 void f ()
+{
+ g (0x12340001, 0x1233ffff);
+}
===================================================================
@@ -0,0 +1,10 @@
+/* Derive a constant (0x30001) from another constant. */
+/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
+/* See PR61926 for the XFAILs. */
+/* { dg-final { scan-assembler-not "0x300000|196608" { xfail *-*-* } } } */
+/* { dg-final { scan-assembler "\td?addiu\t\\\$5,\\\$\[0-9\]*,32763" { xfail *-*-* } } } */
+
+NOMIPS16 void f ()
+{
+ g (0x28006, 0x30001);
+}