comparison gcc/config/mips/loongson2ef.md @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents f6334be47118
children 84e7813d76e9
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
1 ;; Pipeline model for ST Microelectronics Loongson-2E/2F cores. 1 ;; Pipeline model for ST Microelectronics Loongson-2E/2F cores.
2 2
3 ;; Copyright (C) 2008, 2010 Free Software Foundation, Inc. 3 ;; Copyright (C) 2008-2017 Free Software Foundation, Inc.
4 ;; Contributed by CodeSourcery. 4 ;; Contributed by CodeSourcery.
5 ;; 5 ;;
6 ;; GCC is free software; you can redistribute it and/or modify 6 ;; GCC is free software; you can redistribute it and/or modify
7 ;; it under the terms of the GNU General Public License as published by 7 ;; it under the terms of the GNU General Public License as published by
8 ;; the Free Software Foundation; either version 3, or (at your option) 8 ;; the Free Software Foundation; either version 3, or (at your option)
96 96
97 ;; The following 4 instructions each subscribe one of 97 ;; The following 4 instructions each subscribe one of
98 ;; ls2_[f]alu{1,2}_turn_enabled units according to this attribute. 98 ;; ls2_[f]alu{1,2}_turn_enabled units according to this attribute.
99 ;; These instructions are used in mips.c: sched_ls2_dfa_post_advance_cycle. 99 ;; These instructions are used in mips.c: sched_ls2_dfa_post_advance_cycle.
100 100
101 (define_attr "ls2_turn_type" "alu1,alu2,falu1,falu2,unknown" 101 (define_attr "ls2_turn_type" "alu1,alu2,falu1,falu2,unknown,atomic,syncloop"
102 (const_string "unknown")) 102 (const_string "unknown"))
103 103
104 ;; Subscribe ls2_alu1_turn_enabled. 104 ;; Subscribe ls2_alu1_turn_enabled.
105 (define_insn "ls2_alu1_turn_enabled_insn" 105 (define_insn "ls2_alu1_turn_enabled_insn"
106 [(unspec [(const_int 0)] UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)] 106 [(unspec [(const_int 0)] UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)]
152 (define_query_cpu_unit "ls2_mem" "ls2_mem") 152 (define_query_cpu_unit "ls2_mem" "ls2_mem")
153 153
154 ;; Reservation for integer instructions. 154 ;; Reservation for integer instructions.
155 (define_insn_reservation "ls2_alu" 2 155 (define_insn_reservation "ls2_alu" 2
156 (and (eq_attr "cpu" "loongson_2e,loongson_2f") 156 (and (eq_attr "cpu" "loongson_2e,loongson_2f")
157 (eq_attr "type" "arith,condmove,const,logical,mfhilo,move, 157 (eq_attr "type" "arith,condmove,const,logical,mfhi,mflo,move,
158 mthilo,nop,shift,signext,slt")) 158 mthi,mtlo,nop,shift,signext,slt"))
159 "ls2_alu") 159 "ls2_alu")
160 160
161 ;; Reservation for branch instructions. 161 ;; Reservation for branch instructions.
162 (define_insn_reservation "ls2_branch" 2 162 (define_insn_reservation "ls2_branch" 2
163 (and (eq_attr "cpu" "loongson_2e,loongson_2f") 163 (and (eq_attr "cpu" "loongson_2e,loongson_2f")