|
76 | 76 | ARC64_UNSPEC_TLS_GD
|
77 | 77 | ARC64_UNSPEC_TLS_IE
|
78 | 78 | ARC64_UNSPEC_TLS_OFF
|
79 |
| - ARC64_UNSPEC_MEMBAR |
80 |
| - ARC64_UNSPEC_CASESI |
81 |
| - |
82 | 79 | ARC64_VUNSPEC_BLOCKAGE
|
| 80 | + |
83 | 81 | ARC64_VUNSPEC_LR
|
84 | 82 | ARC64_VUNSPEC_SR
|
85 | 83 | ARC64_VUNSPEC_FLAG
|
|
93 | 91 | ARC64_VUNSPEC_LL
|
94 | 92 | ARC64_VUNSPEC_SYNC
|
95 | 93 |
|
| 94 | + ARC64_UNSPEC_MEMBAR |
96 | 95 | ])
|
97 | 96 |
|
98 | 97 | (include "constraints.md")
|
@@ -290,17 +289,6 @@ udivl, umod, umodl, unknown, xbfu, xor, xorl"
|
290 | 289 | ]
|
291 | 290 | (const_int 8)))
|
292 | 291 |
|
293 |
| -;; Select various CPU features. |
294 |
| -(define_attr "cpu_facility" "std,cd" |
295 |
| - (const_string "std")) |
296 |
| - |
297 |
| -(define_attr "enabled" "no,yes" |
298 |
| - (cond [(and (eq_attr "cpu_facility" "cd") |
299 |
| - (not (match_test ("ARC64_HAS_CODE_DENSITY")))) |
300 |
| - (const_string "no") |
301 |
| - ] |
302 |
| - (const_string "yes"))) |
303 |
| - |
304 | 292 | ;; -------------------------------------------------------------------
|
305 | 293 | ;; Pipeline descriptions and scheduling
|
306 | 294 | ;; -------------------------------------------------------------------
|
@@ -925,64 +913,6 @@ udivl, umod, umodl, unknown, xbfu, xor, xorl"
|
925 | 913 | [(set_attr "type" "return")
|
926 | 914 | (set_attr "length" "4")])
|
927 | 915 |
|
928 |
| -; jump tables |
929 |
| -(define_expand "casesi" |
930 |
| - [(match_operand:SI 0 "register_operand" "") ; Index |
931 |
| - (match_operand 1 "const_int_operand" "") ; Lower bound |
932 |
| - (match_operand 2 "const_int_operand" "") ; Total range |
933 |
| - (match_operand 3 "" "") ; Table label |
934 |
| - (match_operand 4 "" "")] ; Out of range label |
935 |
| - "" |
936 |
| - { |
937 |
| - arc64_expand_casesi (operands); |
938 |
| - DONE; |
939 |
| - }) |
940 |
| - |
941 |
| -(define_insn "casesi_dispatch" |
942 |
| - [(set (pc) |
943 |
| - (unspec:DI [(match_operand:SI 0 "register_operand" "r,q,r") |
944 |
| - (label_ref (match_operand 1 "" "")) |
945 |
| - (const_int 0)] |
946 |
| - ARC64_UNSPEC_CASESI))] |
947 |
| - "" |
948 |
| - "@ |
949 |
| - bi\\t[%0] |
950 |
| - j_s\\t[%0] |
951 |
| - j\\t[%0]" |
952 |
| - [(set_attr "type" "jump") |
953 |
| - (set_attr "length" "4,2,4") |
954 |
| - (set_attr "cpu_facility" "cd,*,*")]) |
955 |
| - |
956 |
| -(define_insn "casesi_addaddr" |
957 |
| - [(set (match_operand:SI 0 "register_operand" "=r") |
958 |
| - (unspec:SI [(match_operand:SI 1 "register_operand" "r") |
959 |
| - (label_ref (match_operand 2 "" "")) |
960 |
| - (const_int 1)] |
961 |
| - ARC64_UNSPEC_CASESI))] |
962 |
| - "" |
963 |
| - "add2\\t%0,%l2,%1" |
964 |
| - [(set_attr "type" "add") |
965 |
| - (set_attr "length" "8")]) |
966 |
| - |
967 |
| -(define_insn "casesi_addaddrdi" |
968 |
| - [(set (match_operand:DI 0 "register_operand" "=r") |
969 |
| - (unspec:DI [(match_operand:SI 1 "register_operand" "r") |
970 |
| - (match_operand:DI 2 "register_operand" "r") |
971 |
| - (const_int 2)] |
972 |
| - ARC64_UNSPEC_CASESI))] |
973 |
| - "" |
974 |
| - "add2l\\t%0,%2,%1" |
975 |
| - [(set_attr "type" "addl") |
976 |
| - (set_attr "length" "4")]) |
977 |
| - |
978 |
| -(define_insn "casesi_dispatchdi" |
979 |
| - [(set (pc) (match_operand:DI 0 "register_operand" "q,r")) |
980 |
| - (use (label_ref (match_operand 1 "" "")))] |
981 |
| - "" |
982 |
| - "j%?\\t[%0]" |
983 |
| - [(set_attr "type" "jump") |
984 |
| - (set_attr "length" "2,4")]) |
985 |
| - |
986 | 916 |
|
987 | 917 | ;; -------------------------------------------------------------------
|
988 | 918 | ;; Sign/Zero extension
|
|
0 commit comments