2017-05-22 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/testsuite/
* gcc.target/arm/movsi_movt.c: New test.
* gcc.target/arm/movdi_movt.c: New test.
From-SVN: r248326
+2017-05-22 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * gcc.target/arm/movsi_movt.c: New test.
+ * gcc.target/arm/movdi_movt.c: New test.
+
2017-05-22 Pierre-Marie de Rodat <derodat@adacore.com>
* gnat.dg/specs/not_null1.ads: New test.
--- /dev/null
+/* { dg-do compile { target { arm_cortex_m && { arm_thumb2_ok || arm_thumb1_movt_ok } } } } */
+/* { dg-options "-O2 -mslow-flash-data" } */
+
+unsigned long long
+movdi_1 (int a)
+{
+ return 0xF0F00000LLU;
+}
+
+unsigned long long
+movdi_2 (int a)
+{
+ return 0xF0F0000000000000LLU;
+}
+
+/* Accept r1 because big endian targets put the low bits in the highest
+ numbered register of a pair. */
+/* { dg-final { scan-assembler-times "movt\tr\[01\], 61680" 2 } } */
--- /dev/null
+/* { dg-do compile { target { arm_cortex_m && { arm_thumb2_ok || arm_thumb1_movt_ok } } } } */
+/* { dg-options "-O2 -mslow-flash-data" } */
+
+unsigned
+movsi (void)
+{
+ return 0xF0F00000U;
+}
+
+/* { dg-final { scan-assembler-times "movt\tr0, 61680" 1 } } */