c_addi16sp \
c_addi4spn \
c_addi \
- c_addiw \
c_addw \
+ c_and \
+ c_andi \
c_beqz \
c_bnez \
c_ebreak \
c_jr \
c_li \
c_lui \
+ c_lbu \
c_lw \
c_lwsp \
c_mv \
+ c_or \
+ c_sll \
c_slli \
+ c_srai \
+ c_srl \
+ c_srli \
+ c_sub \
+ c_subw \
+ c_xor \
csrrc \
csrrci \
csrrs \
mv $@.tmp $@
insn_list.h: $(src_dir)/riscv/riscv.mk.in
- echo $(riscv_insn_list) | sed 's/\s\+\|$$/\n/g' | sed '/^$$/d' | sed 's/\./_/g' | sed 's/\(.*\)/DEFINE_INSN(\1)/' > $@.tmp
+ for insn in $(foreach insn,$(riscv_insn_list),$(subst .,_,$(insn))) ; do \
+ printf 'DEFINE_INSN(%s)\n' "$${insn}" ; \
+ done > $@.tmp
mv $@.tmp $@
$(riscv_gen_srcs): %.cc: insns/%.h insn_template.cc