aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorYvan Roux <yvan.roux@linaro.org>2017-07-03 13:08:24 +0200
committerYvan Roux <yvan.roux@linaro.org>2017-07-04 08:16:15 +0000
commit5b4cc00c47d3eac2119acc3099cd746be490094e (patch)
tree3b2dcae0e1086cf8b9830d03ed20edc8f1a92240 /gcc
parent62810020c9fb7fdb03c18b46ccca4c9a0841eb82 (diff)
gcc/testsuite/
Backport from trunk 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. Change-Id: I57d45e31f2d9ddd202a89b19914c12e722514bc5
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.target/arm/movdi_movt.c18
-rw-r--r--gcc/testsuite/gcc.target/arm/movsi_movt.c10
2 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/arm/movdi_movt.c b/gcc/testsuite/gcc.target/arm/movdi_movt.c
new file mode 100644
index 00000000000..e2a28ccbd99
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/movdi_movt.c
@@ -0,0 +1,18 @@
+/* { 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 } } */
diff --git a/gcc/testsuite/gcc.target/arm/movsi_movt.c b/gcc/testsuite/gcc.target/arm/movsi_movt.c
new file mode 100644
index 00000000000..3cf46e2fd17
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/movsi_movt.c
@@ -0,0 +1,10 @@
+/* { 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 } } */