summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/compile/pr23435.c
diff options
context:
space:
mode:
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2005-11-22 20:42:54 +0000
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2005-11-22 20:42:54 +0000
commitc3c043d7905eab4ae941615341c762444354717c (patch)
treebc3ecaad2ce049c2bcd8af250ae3c5885e3de1a4 /gcc/testsuite/gcc.c-torture/compile/pr23435.c
parent8afb273fe61a041ad04b58c489d2f01d9f7b31e1 (diff)
downloadgcc-c3c043d7905eab4ae941615341c762444354717c.tar.gz
gcc/
PR target/23435 * m68k.md (zero_extendsidi2): Force operands[1] to a register if both operands[0] and operands[1] are memory. gcc/testsuite/ PR target/23435 * gcc.c-torture/compile/pr23435.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107373 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/pr23435.c')
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr23435.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr23435.c b/gcc/testsuite/gcc.c-torture/compile/pr23435.c
new file mode 100644
index 00000000000..fb41af1e847
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr23435.c
@@ -0,0 +1,11 @@
+/* PR target/23435.
+
+ On m68k-none-elf, this used to cause an unrecognized insn because
+ zero_extendsidi2 accepted operands that are both memory even though
+ such a pattern did not exist. */
+
+void
+foo (unsigned long *a, unsigned long long *p)
+{
+ *p = *a;
+}