summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/arm-scd42-3.c
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2003-12-16 22:38:58 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2003-12-16 22:38:58 +0000
commit9d58bcbc4a21e1827732934225034ad3f4e8329c (patch)
tree1a2a553faf55d16bdd3d4e470832137ff3a4a0d6 /gcc/testsuite/gcc.dg/arm-scd42-3.c
parentfa556d00ed941cbcffebc6ac4c8656cffc56c34d (diff)
downloadgcc-9d58bcbc4a21e1827732934225034ad3f4e8329c.tar.gz
xscale testcases from James Lemke
* gcc.dg/arm-scd42-[123].c: New tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74712 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.dg/arm-scd42-3.c')
-rw-r--r--gcc/testsuite/gcc.dg/arm-scd42-3.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/arm-scd42-3.c b/gcc/testsuite/gcc.dg/arm-scd42-3.c
new file mode 100644
index 00000000000..80a4ba8dbf1
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/arm-scd42-3.c
@@ -0,0 +1,15 @@
+/* Verify that ldr is preferred on XScale for loading a 3 or 4 byte constant. */
+/* { dg-do compile { target xscale-*-* } } */
+/* { dg-options "-mcpu=xscale -O" } */
+
+unsigned load4(void) __attribute__ ((naked));
+unsigned load4(void)
+{
+ /* Best code would be:
+ ldr r0, =65809
+ mov pc, lr */
+
+ return 65809;
+}
+
+/* { dg-final { scan-assembler "ldr\[ ].*" } } */