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 )