insn-flags.h 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450
  1. /* Generated automatically by the program `genflags'
  2. from the machine description file `md'. */
  3. #ifndef GCC_INSN_FLAGS_H
  4. #define GCC_INSN_FLAGS_H
  5. #define HAVE_addsf3 (TARGET_HARD_FLOAT)
  6. #define HAVE_adddf3 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  7. #define HAVE_addsi3 1
  8. #define HAVE_adddi3 (TARGET_64BIT)
  9. #define HAVE_subsf3 (TARGET_HARD_FLOAT)
  10. #define HAVE_subdf3 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  11. #define HAVE_subdi3 (TARGET_64BIT)
  12. #define HAVE_subsi3 1
  13. #define HAVE_negdi2 (TARGET_64BIT)
  14. #define HAVE_negsi2 1
  15. #define HAVE_mulsf3 (TARGET_HARD_FLOAT)
  16. #define HAVE_muldf3 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  17. #define HAVE_mulsi3 (TARGET_MUL)
  18. #define HAVE_muldi3 (TARGET_MUL && TARGET_64BIT)
  19. #define HAVE_muldi3_highpart (TARGET_MUL && TARGET_64BIT)
  20. #define HAVE_umuldi3_highpart (TARGET_MUL && TARGET_64BIT)
  21. #define HAVE_usmuldi3_highpart (TARGET_MUL && TARGET_64BIT)
  22. #define HAVE_mulsi3_highpart (TARGET_MUL && !TARGET_64BIT)
  23. #define HAVE_umulsi3_highpart (TARGET_MUL && !TARGET_64BIT)
  24. #define HAVE_usmulsi3_highpart (TARGET_MUL && !TARGET_64BIT)
  25. #define HAVE_divsi3 (TARGET_DIV)
  26. #define HAVE_udivsi3 (TARGET_DIV)
  27. #define HAVE_modsi3 (TARGET_DIV)
  28. #define HAVE_umodsi3 (TARGET_DIV)
  29. #define HAVE_divdi3 (TARGET_DIV && TARGET_64BIT)
  30. #define HAVE_udivdi3 (TARGET_DIV && TARGET_64BIT)
  31. #define HAVE_moddi3 (TARGET_DIV && TARGET_64BIT)
  32. #define HAVE_umoddi3 (TARGET_DIV && TARGET_64BIT)
  33. #define HAVE_divsf3 ((TARGET_HARD_FLOAT && TARGET_FDIV) && (TARGET_HARD_FLOAT))
  34. #define HAVE_divdf3 ((TARGET_HARD_FLOAT && TARGET_FDIV) && (TARGET_DOUBLE_FLOAT))
  35. #define HAVE_sqrtsf2 ((TARGET_HARD_FLOAT && TARGET_FDIV) && (TARGET_HARD_FLOAT))
  36. #define HAVE_sqrtdf2 ((TARGET_HARD_FLOAT && TARGET_FDIV) && (TARGET_DOUBLE_FLOAT))
  37. #define HAVE_fmasf4 (TARGET_HARD_FLOAT)
  38. #define HAVE_fmadf4 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  39. #define HAVE_fmssf4 (TARGET_HARD_FLOAT)
  40. #define HAVE_fmsdf4 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  41. #define HAVE_fnmssf4 (TARGET_HARD_FLOAT)
  42. #define HAVE_fnmsdf4 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  43. #define HAVE_fnmasf4 (TARGET_HARD_FLOAT)
  44. #define HAVE_fnmadf4 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  45. #define HAVE_abssf2 (TARGET_HARD_FLOAT)
  46. #define HAVE_absdf2 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  47. #define HAVE_copysignsf3 (TARGET_HARD_FLOAT)
  48. #define HAVE_copysigndf3 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  49. #define HAVE_negsf2 (TARGET_HARD_FLOAT)
  50. #define HAVE_negdf2 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  51. #define HAVE_sminsf3 (TARGET_HARD_FLOAT)
  52. #define HAVE_smindf3 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  53. #define HAVE_smaxsf3 (TARGET_HARD_FLOAT)
  54. #define HAVE_smaxdf3 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  55. #define HAVE_andsi3 (!TARGET_64BIT)
  56. #define HAVE_iorsi3 (!TARGET_64BIT)
  57. #define HAVE_xorsi3 (!TARGET_64BIT)
  58. #define HAVE_anddi3 (TARGET_64BIT)
  59. #define HAVE_iordi3 (TARGET_64BIT)
  60. #define HAVE_xordi3 (TARGET_64BIT)
  61. #define HAVE_one_cmplsi2 (!TARGET_64BIT)
  62. #define HAVE_one_cmpldi2 (TARGET_64BIT)
  63. #define HAVE_truncdfsf2 (TARGET_DOUBLE_FLOAT)
  64. #define HAVE_zero_extendsidi2 (TARGET_64BIT)
  65. #define HAVE_zero_extendhisi2 1
  66. #define HAVE_zero_extendhidi2 (TARGET_64BIT)
  67. #define HAVE_zero_extendqihi2 1
  68. #define HAVE_zero_extendqisi2 1
  69. #define HAVE_zero_extendqidi2 (TARGET_64BIT)
  70. #define HAVE_extendsidi2 (TARGET_64BIT)
  71. #define HAVE_extendqihi2 1
  72. #define HAVE_extendqisi2 1
  73. #define HAVE_extendqidi2 (TARGET_64BIT)
  74. #define HAVE_extendhihi2 1
  75. #define HAVE_extendhisi2 1
  76. #define HAVE_extendhidi2 (TARGET_64BIT)
  77. #define HAVE_extendsfdf2 (TARGET_DOUBLE_FLOAT)
  78. #define HAVE_fix_truncsfsi2 (TARGET_HARD_FLOAT)
  79. #define HAVE_fix_truncsfdi2 ((TARGET_HARD_FLOAT) && ((TARGET_64BIT) && (TARGET_HARD_FLOAT)))
  80. #define HAVE_fix_truncdfsi2 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  81. #define HAVE_fix_truncdfdi2 ((TARGET_HARD_FLOAT) && ((TARGET_64BIT) && (TARGET_DOUBLE_FLOAT)))
  82. #define HAVE_fixuns_truncsfsi2 (TARGET_HARD_FLOAT)
  83. #define HAVE_fixuns_truncsfdi2 ((TARGET_HARD_FLOAT) && ((TARGET_64BIT) && (TARGET_HARD_FLOAT)))
  84. #define HAVE_fixuns_truncdfsi2 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  85. #define HAVE_fixuns_truncdfdi2 ((TARGET_HARD_FLOAT) && ((TARGET_64BIT) && (TARGET_DOUBLE_FLOAT)))
  86. #define HAVE_floatsisf2 (TARGET_HARD_FLOAT)
  87. #define HAVE_floatdisf2 ((TARGET_HARD_FLOAT) && ((TARGET_HARD_FLOAT) && (TARGET_64BIT)))
  88. #define HAVE_floatsidf2 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  89. #define HAVE_floatdidf2 ((TARGET_HARD_FLOAT) && ((TARGET_DOUBLE_FLOAT) && (TARGET_64BIT)))
  90. #define HAVE_floatunssisf2 (TARGET_HARD_FLOAT)
  91. #define HAVE_floatunsdisf2 ((TARGET_HARD_FLOAT) && ((TARGET_HARD_FLOAT) && (TARGET_64BIT)))
  92. #define HAVE_floatunssidf2 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  93. #define HAVE_floatunsdidf2 ((TARGET_HARD_FLOAT) && ((TARGET_DOUBLE_FLOAT) && (TARGET_64BIT)))
  94. #define HAVE_lrintsfsi2 (TARGET_HARD_FLOAT)
  95. #define HAVE_lroundsfsi2 (TARGET_HARD_FLOAT)
  96. #define HAVE_lrintsfdi2 ((TARGET_HARD_FLOAT) && ((TARGET_64BIT) && (TARGET_HARD_FLOAT)))
  97. #define HAVE_lroundsfdi2 ((TARGET_HARD_FLOAT) && ((TARGET_64BIT) && (TARGET_HARD_FLOAT)))
  98. #define HAVE_lrintdfsi2 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  99. #define HAVE_lrounddfsi2 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  100. #define HAVE_lrintdfdi2 ((TARGET_HARD_FLOAT) && ((TARGET_64BIT) && (TARGET_DOUBLE_FLOAT)))
  101. #define HAVE_lrounddfdi2 ((TARGET_HARD_FLOAT) && ((TARGET_64BIT) && (TARGET_DOUBLE_FLOAT)))
  102. #define HAVE_got_loadsi (Pmode == SImode)
  103. #define HAVE_got_loaddi (Pmode == DImode)
  104. #define HAVE_tls_add_tp_lesi (Pmode == SImode)
  105. #define HAVE_tls_add_tp_ledi (Pmode == DImode)
  106. #define HAVE_got_load_tls_gdsi (Pmode == SImode)
  107. #define HAVE_got_load_tls_gddi (Pmode == DImode)
  108. #define HAVE_got_load_tls_iesi (Pmode == SImode)
  109. #define HAVE_got_load_tls_iedi (Pmode == DImode)
  110. #define HAVE_auipcsi (Pmode == SImode)
  111. #define HAVE_auipcdi (Pmode == DImode)
  112. #define HAVE_fence 1
  113. #define HAVE_fence_i 1
  114. #define HAVE_ashlsi3 1
  115. #define HAVE_ashrsi3 1
  116. #define HAVE_lshrsi3 1
  117. #define HAVE_ashldi3 (TARGET_64BIT)
  118. #define HAVE_ashrdi3 (TARGET_64BIT)
  119. #define HAVE_lshrdi3 (TARGET_64BIT)
  120. #define HAVE_jump 1
  121. #define HAVE_indirect_jumpsi (Pmode == SImode)
  122. #define HAVE_indirect_jumpdi (Pmode == DImode)
  123. #define HAVE_tablejumpsi 1
  124. #define HAVE_tablejumpdi (TARGET_64BIT)
  125. #define HAVE_blockage 1
  126. #define HAVE_simple_return 1
  127. #define HAVE_simple_return_internal 1
  128. #define HAVE_eh_set_lr_si (! TARGET_64BIT)
  129. #define HAVE_eh_set_lr_di (TARGET_64BIT)
  130. #define HAVE_eh_return_internal 1
  131. #define HAVE_sibcall_internal (SIBLING_CALL_P (insn))
  132. #define HAVE_sibcall_value_internal (SIBLING_CALL_P (insn))
  133. #define HAVE_call_internal 1
  134. #define HAVE_call_value_internal 1
  135. #define HAVE_nop 1
  136. #define HAVE_trap 1
  137. #define HAVE_gpr_save 1
  138. #define HAVE_gpr_restore 1
  139. #define HAVE_gpr_restore_return 1
  140. #define HAVE_riscv_frflags (TARGET_HARD_FLOAT)
  141. #define HAVE_riscv_fsflags (TARGET_HARD_FLOAT)
  142. #define HAVE_riscv_csr_read 1
  143. #define HAVE_riscv_csr_read_set_bits 1
  144. #define HAVE_riscv_csr_read_clear_bits 1
  145. #define HAVE_riscv_csr_read_write 1
  146. #define HAVE_riscv_csr_write 1
  147. #define HAVE_riscv_mret 1
  148. #define HAVE_riscv_sret 1
  149. #define HAVE_riscv_uret 1
  150. #define HAVE_stack_tiesi (!TARGET_64BIT)
  151. #define HAVE_stack_tiedi (TARGET_64BIT)
  152. #define HAVE_mem_thread_fence_1 1
  153. #define HAVE_atomic_storesi (TARGET_ATOMIC)
  154. #define HAVE_atomic_storedi ((TARGET_ATOMIC) && (TARGET_64BIT))
  155. #define HAVE_atomic_addsi (TARGET_ATOMIC)
  156. #define HAVE_atomic_orsi (TARGET_ATOMIC)
  157. #define HAVE_atomic_xorsi (TARGET_ATOMIC)
  158. #define HAVE_atomic_andsi (TARGET_ATOMIC)
  159. #define HAVE_atomic_adddi ((TARGET_ATOMIC) && (TARGET_64BIT))
  160. #define HAVE_atomic_ordi ((TARGET_ATOMIC) && (TARGET_64BIT))
  161. #define HAVE_atomic_xordi ((TARGET_ATOMIC) && (TARGET_64BIT))
  162. #define HAVE_atomic_anddi ((TARGET_ATOMIC) && (TARGET_64BIT))
  163. #define HAVE_atomic_fetch_addsi (TARGET_ATOMIC)
  164. #define HAVE_atomic_fetch_orsi (TARGET_ATOMIC)
  165. #define HAVE_atomic_fetch_xorsi (TARGET_ATOMIC)
  166. #define HAVE_atomic_fetch_andsi (TARGET_ATOMIC)
  167. #define HAVE_atomic_fetch_adddi ((TARGET_ATOMIC) && (TARGET_64BIT))
  168. #define HAVE_atomic_fetch_ordi ((TARGET_ATOMIC) && (TARGET_64BIT))
  169. #define HAVE_atomic_fetch_xordi ((TARGET_ATOMIC) && (TARGET_64BIT))
  170. #define HAVE_atomic_fetch_anddi ((TARGET_ATOMIC) && (TARGET_64BIT))
  171. #define HAVE_atomic_exchangesi (TARGET_ATOMIC)
  172. #define HAVE_atomic_exchangedi ((TARGET_ATOMIC) && (TARGET_64BIT))
  173. #define HAVE_atomic_cas_value_strongsi (TARGET_ATOMIC)
  174. #define HAVE_atomic_cas_value_strongdi ((TARGET_ATOMIC) && (TARGET_64BIT))
  175. #define HAVE_mulditi3 (TARGET_MUL && TARGET_64BIT)
  176. #define HAVE_umulditi3 (TARGET_MUL && TARGET_64BIT)
  177. #define HAVE_usmulditi3 (TARGET_MUL && TARGET_64BIT)
  178. #define HAVE_mulsidi3 (TARGET_MUL && !TARGET_64BIT)
  179. #define HAVE_umulsidi3 (TARGET_MUL && !TARGET_64BIT)
  180. #define HAVE_usmulsidi3 (TARGET_MUL && !TARGET_64BIT)
  181. #define HAVE_movdi 1
  182. #define HAVE_movsi 1
  183. #define HAVE_movhi 1
  184. #define HAVE_movqi 1
  185. #define HAVE_movsf 1
  186. #define HAVE_movdf 1
  187. #define HAVE_movmemsi 1
  188. #define HAVE_clear_cache 1
  189. #define HAVE_movsicc (TARGET_SFB_ALU)
  190. #define HAVE_movdicc ((TARGET_SFB_ALU) && (TARGET_64BIT))
  191. #define HAVE_condjump 1
  192. #define HAVE_cbranchqi4 (TARGET_64BIT)
  193. #define HAVE_cbranchsi4 1
  194. #define HAVE_cbranchdi4 (TARGET_64BIT)
  195. #define HAVE_cbranchsf4 (TARGET_HARD_FLOAT)
  196. #define HAVE_cbranchdf4 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  197. #define HAVE_cstoresi4 1
  198. #define HAVE_cstoredi4 (TARGET_64BIT)
  199. #define HAVE_cstoresf4 (TARGET_HARD_FLOAT)
  200. #define HAVE_cstoredf4 ((TARGET_HARD_FLOAT) && (TARGET_DOUBLE_FLOAT))
  201. #define HAVE_flt_quietsfsi4 ((TARGET_HARD_FLOAT) && ((((!TARGET_64BIT) && (TARGET_HARD_FLOAT)) && (TARGET_HARD_FLOAT)) && (!TARGET_64BIT)))
  202. #define HAVE_fle_quietsfsi4 ((TARGET_HARD_FLOAT) && ((((!TARGET_64BIT) && (TARGET_HARD_FLOAT)) && (TARGET_HARD_FLOAT)) && (!TARGET_64BIT)))
  203. #define HAVE_flt_quietsfdi4 ((TARGET_HARD_FLOAT) && ((((TARGET_64BIT) && (TARGET_HARD_FLOAT)) && (TARGET_HARD_FLOAT)) && (TARGET_64BIT)))
  204. #define HAVE_fle_quietsfdi4 ((TARGET_HARD_FLOAT) && ((((TARGET_64BIT) && (TARGET_HARD_FLOAT)) && (TARGET_HARD_FLOAT)) && (TARGET_64BIT)))
  205. #define HAVE_flt_quietdfsi4 ((TARGET_HARD_FLOAT) && ((((!TARGET_64BIT) && (TARGET_DOUBLE_FLOAT)) && (TARGET_DOUBLE_FLOAT)) && (!TARGET_64BIT)))
  206. #define HAVE_fle_quietdfsi4 ((TARGET_HARD_FLOAT) && ((((!TARGET_64BIT) && (TARGET_DOUBLE_FLOAT)) && (TARGET_DOUBLE_FLOAT)) && (!TARGET_64BIT)))
  207. #define HAVE_flt_quietdfdi4 ((TARGET_HARD_FLOAT) && ((((TARGET_64BIT) && (TARGET_DOUBLE_FLOAT)) && (TARGET_DOUBLE_FLOAT)) && (TARGET_64BIT)))
  208. #define HAVE_fle_quietdfdi4 ((TARGET_HARD_FLOAT) && ((((TARGET_64BIT) && (TARGET_DOUBLE_FLOAT)) && (TARGET_DOUBLE_FLOAT)) && (TARGET_64BIT)))
  209. #define HAVE_indirect_jump 1
  210. #define HAVE_tablejump 1
  211. #define HAVE_prologue 1
  212. #define HAVE_epilogue 1
  213. #define HAVE_sibcall_epilogue 1
  214. #define HAVE_return (riscv_can_use_return_insn ())
  215. #define HAVE_eh_return 1
  216. #define HAVE_sibcall 1
  217. #define HAVE_sibcall_value 1
  218. #define HAVE_call 1
  219. #define HAVE_call_value 1
  220. #define HAVE_untyped_call 1
  221. #define HAVE_restore_stack_nonlocal 1
  222. #define HAVE_mem_thread_fence 1
  223. #define HAVE_atomic_compare_and_swapsi (TARGET_ATOMIC)
  224. #define HAVE_atomic_compare_and_swapdi ((TARGET_ATOMIC) && (TARGET_64BIT))
  225. #define HAVE_atomic_test_and_set (TARGET_ATOMIC)
  226. extern rtx gen_addsf3 (rtx, rtx, rtx);
  227. extern rtx gen_adddf3 (rtx, rtx, rtx);
  228. extern rtx gen_addsi3 (rtx, rtx, rtx);
  229. extern rtx gen_adddi3 (rtx, rtx, rtx);
  230. extern rtx gen_subsf3 (rtx, rtx, rtx);
  231. extern rtx gen_subdf3 (rtx, rtx, rtx);
  232. extern rtx gen_subdi3 (rtx, rtx, rtx);
  233. extern rtx gen_subsi3 (rtx, rtx, rtx);
  234. extern rtx gen_negdi2 (rtx, rtx);
  235. extern rtx gen_negsi2 (rtx, rtx);
  236. extern rtx gen_mulsf3 (rtx, rtx, rtx);
  237. extern rtx gen_muldf3 (rtx, rtx, rtx);
  238. extern rtx gen_mulsi3 (rtx, rtx, rtx);
  239. extern rtx gen_muldi3 (rtx, rtx, rtx);
  240. extern rtx gen_muldi3_highpart (rtx, rtx, rtx);
  241. extern rtx gen_umuldi3_highpart (rtx, rtx, rtx);
  242. extern rtx gen_usmuldi3_highpart (rtx, rtx, rtx);
  243. extern rtx gen_mulsi3_highpart (rtx, rtx, rtx);
  244. extern rtx gen_umulsi3_highpart (rtx, rtx, rtx);
  245. extern rtx gen_usmulsi3_highpart (rtx, rtx, rtx);
  246. extern rtx gen_divsi3 (rtx, rtx, rtx);
  247. extern rtx gen_udivsi3 (rtx, rtx, rtx);
  248. extern rtx gen_modsi3 (rtx, rtx, rtx);
  249. extern rtx gen_umodsi3 (rtx, rtx, rtx);
  250. extern rtx gen_divdi3 (rtx, rtx, rtx);
  251. extern rtx gen_udivdi3 (rtx, rtx, rtx);
  252. extern rtx gen_moddi3 (rtx, rtx, rtx);
  253. extern rtx gen_umoddi3 (rtx, rtx, rtx);
  254. extern rtx gen_divsf3 (rtx, rtx, rtx);
  255. extern rtx gen_divdf3 (rtx, rtx, rtx);
  256. extern rtx gen_sqrtsf2 (rtx, rtx);
  257. extern rtx gen_sqrtdf2 (rtx, rtx);
  258. extern rtx gen_fmasf4 (rtx, rtx, rtx, rtx);
  259. extern rtx gen_fmadf4 (rtx, rtx, rtx, rtx);
  260. extern rtx gen_fmssf4 (rtx, rtx, rtx, rtx);
  261. extern rtx gen_fmsdf4 (rtx, rtx, rtx, rtx);
  262. extern rtx gen_fnmssf4 (rtx, rtx, rtx, rtx);
  263. extern rtx gen_fnmsdf4 (rtx, rtx, rtx, rtx);
  264. extern rtx gen_fnmasf4 (rtx, rtx, rtx, rtx);
  265. extern rtx gen_fnmadf4 (rtx, rtx, rtx, rtx);
  266. extern rtx gen_abssf2 (rtx, rtx);
  267. extern rtx gen_absdf2 (rtx, rtx);
  268. extern rtx gen_copysignsf3 (rtx, rtx, rtx);
  269. extern rtx gen_copysigndf3 (rtx, rtx, rtx);
  270. extern rtx gen_negsf2 (rtx, rtx);
  271. extern rtx gen_negdf2 (rtx, rtx);
  272. extern rtx gen_sminsf3 (rtx, rtx, rtx);
  273. extern rtx gen_smindf3 (rtx, rtx, rtx);
  274. extern rtx gen_smaxsf3 (rtx, rtx, rtx);
  275. extern rtx gen_smaxdf3 (rtx, rtx, rtx);
  276. extern rtx gen_andsi3 (rtx, rtx, rtx);
  277. extern rtx gen_iorsi3 (rtx, rtx, rtx);
  278. extern rtx gen_xorsi3 (rtx, rtx, rtx);
  279. extern rtx gen_anddi3 (rtx, rtx, rtx);
  280. extern rtx gen_iordi3 (rtx, rtx, rtx);
  281. extern rtx gen_xordi3 (rtx, rtx, rtx);
  282. extern rtx gen_one_cmplsi2 (rtx, rtx);
  283. extern rtx gen_one_cmpldi2 (rtx, rtx);
  284. extern rtx gen_truncdfsf2 (rtx, rtx);
  285. extern rtx gen_zero_extendsidi2 (rtx, rtx);
  286. extern rtx gen_zero_extendhisi2 (rtx, rtx);
  287. extern rtx gen_zero_extendhidi2 (rtx, rtx);
  288. extern rtx gen_zero_extendqihi2 (rtx, rtx);
  289. extern rtx gen_zero_extendqisi2 (rtx, rtx);
  290. extern rtx gen_zero_extendqidi2 (rtx, rtx);
  291. extern rtx gen_extendsidi2 (rtx, rtx);
  292. extern rtx gen_extendqihi2 (rtx, rtx);
  293. extern rtx gen_extendqisi2 (rtx, rtx);
  294. extern rtx gen_extendqidi2 (rtx, rtx);
  295. extern rtx gen_extendhihi2 (rtx, rtx);
  296. extern rtx gen_extendhisi2 (rtx, rtx);
  297. extern rtx gen_extendhidi2 (rtx, rtx);
  298. extern rtx gen_extendsfdf2 (rtx, rtx);
  299. extern rtx gen_fix_truncsfsi2 (rtx, rtx);
  300. extern rtx gen_fix_truncsfdi2 (rtx, rtx);
  301. extern rtx gen_fix_truncdfsi2 (rtx, rtx);
  302. extern rtx gen_fix_truncdfdi2 (rtx, rtx);
  303. extern rtx gen_fixuns_truncsfsi2 (rtx, rtx);
  304. extern rtx gen_fixuns_truncsfdi2 (rtx, rtx);
  305. extern rtx gen_fixuns_truncdfsi2 (rtx, rtx);
  306. extern rtx gen_fixuns_truncdfdi2 (rtx, rtx);
  307. extern rtx gen_floatsisf2 (rtx, rtx);
  308. extern rtx gen_floatdisf2 (rtx, rtx);
  309. extern rtx gen_floatsidf2 (rtx, rtx);
  310. extern rtx gen_floatdidf2 (rtx, rtx);
  311. extern rtx gen_floatunssisf2 (rtx, rtx);
  312. extern rtx gen_floatunsdisf2 (rtx, rtx);
  313. extern rtx gen_floatunssidf2 (rtx, rtx);
  314. extern rtx gen_floatunsdidf2 (rtx, rtx);
  315. extern rtx gen_lrintsfsi2 (rtx, rtx);
  316. extern rtx gen_lroundsfsi2 (rtx, rtx);
  317. extern rtx gen_lrintsfdi2 (rtx, rtx);
  318. extern rtx gen_lroundsfdi2 (rtx, rtx);
  319. extern rtx gen_lrintdfsi2 (rtx, rtx);
  320. extern rtx gen_lrounddfsi2 (rtx, rtx);
  321. extern rtx gen_lrintdfdi2 (rtx, rtx);
  322. extern rtx gen_lrounddfdi2 (rtx, rtx);
  323. extern rtx gen_got_loadsi (rtx, rtx);
  324. extern rtx gen_got_loaddi (rtx, rtx);
  325. extern rtx gen_tls_add_tp_lesi (rtx, rtx, rtx, rtx);
  326. extern rtx gen_tls_add_tp_ledi (rtx, rtx, rtx, rtx);
  327. extern rtx gen_got_load_tls_gdsi (rtx, rtx);
  328. extern rtx gen_got_load_tls_gddi (rtx, rtx);
  329. extern rtx gen_got_load_tls_iesi (rtx, rtx);
  330. extern rtx gen_got_load_tls_iedi (rtx, rtx);
  331. extern rtx gen_auipcsi (rtx, rtx, rtx);
  332. extern rtx gen_auipcdi (rtx, rtx, rtx);
  333. extern rtx gen_fence (void);
  334. extern rtx gen_fence_i (void);
  335. extern rtx gen_ashlsi3 (rtx, rtx, rtx);
  336. extern rtx gen_ashrsi3 (rtx, rtx, rtx);
  337. extern rtx gen_lshrsi3 (rtx, rtx, rtx);
  338. extern rtx gen_ashldi3 (rtx, rtx, rtx);
  339. extern rtx gen_ashrdi3 (rtx, rtx, rtx);
  340. extern rtx gen_lshrdi3 (rtx, rtx, rtx);
  341. extern rtx gen_jump (rtx);
  342. extern rtx gen_indirect_jumpsi (rtx);
  343. extern rtx gen_indirect_jumpdi (rtx);
  344. extern rtx gen_tablejumpsi (rtx, rtx);
  345. extern rtx gen_tablejumpdi (rtx, rtx);
  346. extern rtx gen_blockage (void);
  347. extern rtx gen_simple_return (void);
  348. extern rtx gen_simple_return_internal (rtx);
  349. extern rtx gen_eh_set_lr_si (rtx);
  350. extern rtx gen_eh_set_lr_di (rtx);
  351. extern rtx gen_eh_return_internal (void);
  352. extern rtx gen_sibcall_internal (rtx, rtx);
  353. extern rtx gen_sibcall_value_internal (rtx, rtx, rtx);
  354. extern rtx gen_call_internal (rtx, rtx);
  355. extern rtx gen_call_value_internal (rtx, rtx, rtx);
  356. extern rtx gen_nop (void);
  357. extern rtx gen_trap (void);
  358. extern rtx gen_gpr_save (rtx);
  359. extern rtx gen_gpr_restore (rtx);
  360. extern rtx gen_gpr_restore_return (rtx);
  361. extern rtx gen_riscv_frflags (rtx);
  362. extern rtx gen_riscv_fsflags (rtx);
  363. extern rtx gen_riscv_csr_read (rtx, rtx);
  364. extern rtx gen_riscv_csr_read_set_bits (rtx, rtx, rtx);
  365. extern rtx gen_riscv_csr_read_clear_bits (rtx, rtx, rtx);
  366. extern rtx gen_riscv_csr_read_write (rtx, rtx, rtx);
  367. extern rtx gen_riscv_csr_write (rtx, rtx);
  368. extern rtx gen_riscv_mret (void);
  369. extern rtx gen_riscv_sret (void);
  370. extern rtx gen_riscv_uret (void);
  371. extern rtx gen_stack_tiesi (rtx, rtx);
  372. extern rtx gen_stack_tiedi (rtx, rtx);
  373. extern rtx gen_mem_thread_fence_1 (rtx, rtx);
  374. extern rtx gen_atomic_storesi (rtx, rtx, rtx);
  375. extern rtx gen_atomic_storedi (rtx, rtx, rtx);
  376. extern rtx gen_atomic_addsi (rtx, rtx, rtx);
  377. extern rtx gen_atomic_orsi (rtx, rtx, rtx);
  378. extern rtx gen_atomic_xorsi (rtx, rtx, rtx);
  379. extern rtx gen_atomic_andsi (rtx, rtx, rtx);
  380. extern rtx gen_atomic_adddi (rtx, rtx, rtx);
  381. extern rtx gen_atomic_ordi (rtx, rtx, rtx);
  382. extern rtx gen_atomic_xordi (rtx, rtx, rtx);
  383. extern rtx gen_atomic_anddi (rtx, rtx, rtx);
  384. extern rtx gen_atomic_fetch_addsi (rtx, rtx, rtx, rtx);
  385. extern rtx gen_atomic_fetch_orsi (rtx, rtx, rtx, rtx);
  386. extern rtx gen_atomic_fetch_xorsi (rtx, rtx, rtx, rtx);
  387. extern rtx gen_atomic_fetch_andsi (rtx, rtx, rtx, rtx);
  388. extern rtx gen_atomic_fetch_adddi (rtx, rtx, rtx, rtx);
  389. extern rtx gen_atomic_fetch_ordi (rtx, rtx, rtx, rtx);
  390. extern rtx gen_atomic_fetch_xordi (rtx, rtx, rtx, rtx);
  391. extern rtx gen_atomic_fetch_anddi (rtx, rtx, rtx, rtx);
  392. extern rtx gen_atomic_exchangesi (rtx, rtx, rtx, rtx);
  393. extern rtx gen_atomic_exchangedi (rtx, rtx, rtx, rtx);
  394. extern rtx gen_atomic_cas_value_strongsi (rtx, rtx, rtx, rtx, rtx, rtx);
  395. extern rtx gen_atomic_cas_value_strongdi (rtx, rtx, rtx, rtx, rtx, rtx);
  396. extern rtx gen_mulditi3 (rtx, rtx, rtx);
  397. extern rtx gen_umulditi3 (rtx, rtx, rtx);
  398. extern rtx gen_usmulditi3 (rtx, rtx, rtx);
  399. extern rtx gen_mulsidi3 (rtx, rtx, rtx);
  400. extern rtx gen_umulsidi3 (rtx, rtx, rtx);
  401. extern rtx gen_usmulsidi3 (rtx, rtx, rtx);
  402. extern rtx gen_movdi (rtx, rtx);
  403. extern rtx gen_movsi (rtx, rtx);
  404. extern rtx gen_movhi (rtx, rtx);
  405. extern rtx gen_movqi (rtx, rtx);
  406. extern rtx gen_movsf (rtx, rtx);
  407. extern rtx gen_movdf (rtx, rtx);
  408. extern rtx gen_movmemsi (rtx, rtx, rtx, rtx);
  409. extern rtx gen_clear_cache (rtx, rtx);
  410. extern rtx gen_movsicc (rtx, rtx, rtx, rtx);
  411. extern rtx gen_movdicc (rtx, rtx, rtx, rtx);
  412. extern rtx gen_condjump (rtx, rtx);
  413. extern rtx gen_cbranchqi4 (rtx, rtx, rtx, rtx);
  414. extern rtx gen_cbranchsi4 (rtx, rtx, rtx, rtx);
  415. extern rtx gen_cbranchdi4 (rtx, rtx, rtx, rtx);
  416. extern rtx gen_cbranchsf4 (rtx, rtx, rtx, rtx);
  417. extern rtx gen_cbranchdf4 (rtx, rtx, rtx, rtx);
  418. extern rtx gen_cstoresi4 (rtx, rtx, rtx, rtx);
  419. extern rtx gen_cstoredi4 (rtx, rtx, rtx, rtx);
  420. extern rtx gen_cstoresf4 (rtx, rtx, rtx, rtx);
  421. extern rtx gen_cstoredf4 (rtx, rtx, rtx, rtx);
  422. extern rtx gen_flt_quietsfsi4 (rtx, rtx, rtx);
  423. extern rtx gen_fle_quietsfsi4 (rtx, rtx, rtx);
  424. extern rtx gen_flt_quietsfdi4 (rtx, rtx, rtx);
  425. extern rtx gen_fle_quietsfdi4 (rtx, rtx, rtx);
  426. extern rtx gen_flt_quietdfsi4 (rtx, rtx, rtx);
  427. extern rtx gen_fle_quietdfsi4 (rtx, rtx, rtx);
  428. extern rtx gen_flt_quietdfdi4 (rtx, rtx, rtx);
  429. extern rtx gen_fle_quietdfdi4 (rtx, rtx, rtx);
  430. extern rtx gen_indirect_jump (rtx);
  431. extern rtx gen_tablejump (rtx, rtx);
  432. extern rtx gen_prologue (void);
  433. extern rtx gen_epilogue (void);
  434. extern rtx gen_sibcall_epilogue (void);
  435. extern rtx gen_return (void);
  436. extern rtx gen_eh_return (rtx);
  437. extern rtx gen_sibcall (rtx, rtx, rtx, rtx);
  438. extern rtx gen_sibcall_value (rtx, rtx, rtx, rtx);
  439. extern rtx gen_call (rtx, rtx, rtx, rtx);
  440. extern rtx gen_call_value (rtx, rtx, rtx, rtx);
  441. extern rtx gen_untyped_call (rtx, rtx, rtx);
  442. extern rtx gen_restore_stack_nonlocal (rtx, rtx);
  443. extern rtx gen_mem_thread_fence (rtx);
  444. extern rtx gen_atomic_compare_and_swapsi (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  445. extern rtx gen_atomic_compare_and_swapdi (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  446. extern rtx gen_atomic_test_and_set (rtx, rtx, rtx);
  447. #endif /* GCC_INSN_FLAGS_H */