Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/rl78/rl78.md @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 ;; Machine Description for Renesas RL78 processors | 1 ;; Machine Description for Renesas RL78 processors |
2 ;; Copyright (C) 2011-2017 Free Software Foundation, Inc. | 2 ;; Copyright (C) 2011-2018 Free Software Foundation, Inc. |
3 ;; Contributed by Red Hat. | 3 ;; Contributed by Red Hat. |
4 | 4 |
5 ;; This file is part of GCC. | 5 ;; This file is part of GCC. |
6 | 6 |
7 ;; GCC is free software; you can redistribute it and/or modify | 7 ;; GCC is free software; you can redistribute it and/or modify |
716 ; end of udivmodsi macro"; | 716 ; end of udivmodsi macro"; |
717 } | 717 } |
718 [(set_attr "valloc" "macax") | 718 [(set_attr "valloc" "macax") |
719 (set_attr "is_g13_muldiv_insn" "yes")] | 719 (set_attr "is_g13_muldiv_insn" "yes")] |
720 ) | 720 ) |
721 | |
722 (define_expand "movdi" | |
723 [(set (match_operand:DI 0 "nonimmediate_operand" "") | |
724 (match_operand:DI 1 "general_operand" ""))] | |
725 "" | |
726 "rl78_split_movdi(operands, DImode); | |
727 DONE;" | |
728 ) | |
729 | |
730 (define_expand "movdf" | |
731 [(set (match_operand:DF 0 "nonimmediate_operand" "") | |
732 (match_operand:DF 1 "general_operand" ""))] | |
733 "" | |
734 "rl78_split_movdi(operands, DFmode); | |
735 DONE;" | |
736 ) | |
737 | |
738 (define_expand "umindi3" | |
739 [(set (match_operand:DI 0 "nonimmediate_operand" "") | |
740 (umin:DI (match_operand:DI 1 "general_operand" "") | |
741 (match_operand:DI 2 "general_operand" ""))) | |
742 ] | |
743 "optimize_size" | |
744 "rl78_emit_libcall (\"__umindi3\", UMIN, DImode, DImode, 3, operands); | |
745 DONE;" | |
746 ) | |
747 | |
748 (define_expand "umaxdi3" | |
749 [(set (match_operand:DI 0 "nonimmediate_operand" "") | |
750 (umax:DI (match_operand:DI 1 "general_operand" "") | |
751 (match_operand:DI 2 "general_operand" ""))) | |
752 ] | |
753 "optimize_size" | |
754 "rl78_emit_libcall (\"__umaxdi3\", UMAX, DImode, DImode, 3, operands); | |
755 DONE;" | |
756 ) | |
757 | |
758 (define_expand "smindi3" | |
759 [(set (match_operand:DI 0 "nonimmediate_operand" "") | |
760 (smin:DI (match_operand:DI 1 "general_operand" "") | |
761 (match_operand:DI 2 "general_operand" ""))) | |
762 ] | |
763 "optimize_size" | |
764 "rl78_emit_libcall (\"__smindi3\", SMIN, DImode, DImode, 3, operands); | |
765 DONE;" | |
766 ) | |
767 | |
768 (define_expand "smaxdi3" | |
769 [(set (match_operand:DI 0 "nonimmediate_operand" "") | |
770 (smax:DI (match_operand:DI 1 "general_operand" "") | |
771 (match_operand:DI 2 "general_operand" ""))) | |
772 ] | |
773 "optimize_size" | |
774 "rl78_emit_libcall (\"__smaxdi3\", SMAX, DImode, DImode, 3, operands); | |
775 DONE;" | |
776 ) | |
777 | |
778 (define_expand "anddi3" | |
779 [(set (match_operand:DI 0 "nonimmediate_operand" "") | |
780 (and:DI (match_operand:DI 1 "general_operand" "") | |
781 (match_operand:DI 2 "general_operand" ""))) | |
782 ] | |
783 "optimize_size" | |
784 "rl78_emit_libcall (\"__anddi3\", AND, DImode, DImode, 3, operands); | |
785 DONE;" | |
786 ) |