On 1/25/2024 9:06 AM, Robin Dapp wrote:
Thanks, that looks better IMHO.
+;; Copyright (C) 2011-2024 Free Software Foundation, Inc.
+;; Contributed by Andrew Waterman (and...@sifive.com).
+;; Based on MIPS target for GNU compiler.
You might want to change that, as well as the date. While at
it you can also fix the broken date in my original file ;)
Completely forgot about this. I'll update it :)
+(define_insn_reservation "vec_load" 6
+ (and (eq_attr "is_inorder" "no")
+ (eq_attr "type" "vlde,vldm,vlds,vldux,vldox,vldff,vldr"))
+ "vxu_ooo_issue,vxu_ooo_alu")
I would rather ditch the is_inorder attribute for now and define
"low" latencies as well as reservations explicitly once we're
sure rather than falling back to scheduler defaults.
I think removing the is_inorder attribute should be ok. I added it
because I wanted to avoid having two matching insn reservations defined
since matching solely on the type attribute should also match on all
subsets as well (i.e. if eventually we add an insn reservation checking
for type "vlde" and tune "generic-ooo", any "vlde" insn would map to
both reservations)
For now I should just remove the is_inorder attribute. We will update
the latencies and add new reservations after we know what they should
be. Is that correct?
OK with those changes.
Regards
Robin