diff options
Diffstat (limited to 'usr.bin/pcc/sparc64/order.c')
-rw-r--r-- | usr.bin/pcc/sparc64/order.c | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/usr.bin/pcc/sparc64/order.c b/usr.bin/pcc/sparc64/order.c new file mode 100644 index 00000000000..271620937b0 --- /dev/null +++ b/usr.bin/pcc/sparc64/order.c @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2008 David Crawshaw <david@zentus.com> + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "pass2.h" + +int +notoff(TWORD t, int r, CONSZ off, char *cp) +{ + return 0; +} + +/* + * Turn a UMUL-referenced node into OREG. + */ +void +offstar(NODE *p, int shape) +{ + if (x2debug) + printf("offstar(%p)\n", p); + + if (p->n_op == PLUS || p->n_op == MINUS) { + if (p->n_right->n_op == ICON) { + if (isreg(p->n_left) == 0) + (void)geninsn(p->n_left, INAREG); + /* Converted in ormake() */ + return; + } + } + (void)geninsn(p, INAREG); +} + +void +myormake(NODE *q) +{ +} + +int +shumul(NODE *p) +{ + return SOREG; +} + +int +setbin(NODE *p) +{ + return 0; +} + +int +setasg(NODE *p, int cookie) +{ + return 0; +} + +int +setuni(NODE *p, int cookie) +{ + return 0; +} + +struct rspecial * +nspecial(struct optab *q) +{ + return 0; /* XXX */ +} + +int +setorder(NODE *p) +{ + return 0; +} + +int * +livecall(NODE *p) +{ + static int ret[] = { O0, O1, O2, O3, O4, O5, O6, O7, -1 }; + return ret; +} + +int +acceptable(struct optab *op) +{ + return 1; +} |